/* Styles généraux pour le corps */
body {
    font-family: Arial, sans-serif; /* Police principale */
    margin: 0; /* Supprime les marges par défaut */
    padding: 0; /* Supprime les espacements internes par défaut */
    display: flex; /* Active la disposition en flexbox */
    flex-direction: column; /* Colonne pour structurer les sections */
    height: 100%; /* Prend toute la hauteur disponible */
}

/* Styles pour l'élément HTML principal */
html {
    height: 100%; /* Assure une hauteur complète */
}

/* En-tête central avec des logos */
.central-header {
    background-color: #f4f4f4; /* Couleur de fond claire */
    padding: 20px 0; /* Espacement interne vertical */
    display: flex; /* Flexbox pour l'alignement des éléments */
    justify-content: space-between; /* Espace entre les logos gauche et droite */
    align-items: center; /* Centrage vertical des logos */
    position: relative; /* Nécessaire pour d'autres éléments positionnés */
}

/* Logo à gauche */
.central-header .left-logo {
    margin-left: 120px; /* Espacement à gauche */
    width: 15%; /* Largeur proportionnelle */
}

/* Logo à droite */
.central-header .right-logo {
    margin-right: 150px; /* Espacement à droite */
    width: 18%; /* Largeur proportionnelle */
}

/* Logo principal */
.large-logo {
    height: auto; /* Hauteur automatique pour respecter les proportions */
    width: 15%; /* Largeur proportionnelle */
}

/* Navigation principale */
.main-nav {
    background-color: #333; /* Couleur de fond sombre */
    text-align: center; /* Texte centré */
    padding: 10px 0; /* Espacement interne vertical */
}

/* Liste des éléments de navigation */
.main-nav ul {
    list-style-type: none; /* Supprime les puces des listes */
    margin: 0; /* Supprime les marges */
    padding: 0; /* Supprime les espacements internes */
    display: inline-block; /* Permet un centrage horizontal */
}

/* Élément individuel dans la navigation */
.main-nav ul li {
    display: inline; /* Affichage en ligne */
    margin: 0 15px; /* Espacement horizontal entre les éléments */
}

/* Liens de navigation */
.main-nav ul li a {
    text-decoration: none; /* Supprime le soulignement */
    color: white; /* Couleur blanche pour les liens */
    font-weight: bold; /* Texte en gras */
}

/* Styles pour les sous-menus */
.main-nav .submenu {
    display: none; /* Les sous-menus sont masqués par défaut */
    position: absolute; /* Positionnement relatif au parent */
    background-color: #444; /* Couleur de fond des sous-menus */
    list-style-type: none; /* Supprime les puces des listes */
    margin: 0; /* Supprime les marges */
    padding: 0; /* Supprime les espacements internes */
    z-index: 1000; /* Priorité d'affichage */
    border-radius: 5px; /* Coins arrondis */
    overflow: hidden; /* Cache tout débordement */
}

/* Liens des sous-menus */
.main-nav .submenu li a {
    text-decoration: none; /* Supprime le soulignement */
    color: white; /* Texte blanc */
    padding: 10px 20px; /* Espacement interne pour chaque lien */
    display: block; /* Les liens occupent toute la largeur */
    white-space: nowrap; /* Empêche le retour à la ligne */
}

/* Effet au survol des liens des sous-menus */
.main-nav .submenu li a:hover {
    background-color: #555; /* Change de couleur au survol */
}

/* Affichage des sous-menus au survol */
.main-nav .has-submenu:hover .submenu {
    display: block; /* Affiche les sous-menus */
}

/* Positionnement des sous-menus */
.main-nav .has-submenu {
    position: relative; /* Nécessaire pour positionner les sous-menus */
}

.main-nav .submenu {
    top: 100%; /* Positionne les sous-menus sous le parent */
    left: 0; /* Aligne les sous-menus à gauche */
}

/* Section principale */
main {
    padding: 20px; /* Espacement interne */
    text-align: center; /* Centre le contenu */
    flex: 1; /* Permet à la section principale de remplir l'espace restant */
}

/* Titre principal */
main h1 {
    text-align: center; /* Centre le titre */
    margin-top: 20px; /* Espacement supérieur */
    font-size: 28px; /* Taille de la police */
    color: #333; /* Couleur du texte */
}

/* Titre principal */
main h2 {
    text-align: center; /* Centre le titre */
    margin-top: 20px; /* Espacement supérieur */
    font-size: 31px; /* Taille de la police */
    color: #333; /* Couleur du texte */
}

/* Paragraphe dans la section principale */
main p {
    margin-bottom: 10px; /* Espacement inférieur */
    font-size: 18px; /* Taille de la police */
    color: #555; /* Couleur du texte */
}

/* Titre des offres */
.offers-title {
    font-size: 32px; /* Taille du titre */
    font-weight: bold;
    text-align: center; /* Centre le titre */
    margin-top: 30px; /* Marge au-dessus */
    color: #333; /* Couleur du titre */
}

/* Conteneur des deux textes */
.offers-container {
    display: flex; /* Disposition en flexbox */
    justify-content: space-between; /* Espace entre les deux textes */
    padding: 0 100px; /* Marge extérieure de 100px de chaque côté */
    margin-top: 30px; /* Marge au-dessus */
    gap: 20px; /* Espacement entre les deux blocs de texte */
    flex-direction: row; /* Disposition en ligne pour les textes */
}

/* Conteneur des textes */
.offer-text {
    flex: 1; /* Les deux textes prennent la même largeur */
    padding: 20px; /* Espacement interne */
    background-color: #f9f9f9; /* Fond clair */
    border-radius: 8px; /* Coins arrondis */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Ombre subtile */
}

/* Texte à gauche */
.left-text {
    text-align: left; /* Alignement du texte à gauche */
}

/* Texte à droite */
.right-text {
    text-align: left; /* Alignement du texte à gauche */
}

/* Styles spécifiques à la page "Secteurs d'activités" */
.sectors-container {
    display: grid; /* Utilisation de la grille pour une meilleure disposition */
    grid-template-columns: repeat(2, 1fr); /* Deux colonnes de largeur égale */
    gap: 20px; /* Espacement entre les éléments */
    justify-content: center; /* Centre le contenu horizontalement */
    padding: 20px;
}

.sector {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    text-align: justify;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.sector img {
    width: 100%;
    height: auto;
    border-radius: 8px 8px 0 0;
    margin-bottom: 15px;
}

.sector h2 {
    font-size: 22px;
    color: #333;
    margin-bottom: 10px;
	text-align: center; /* Centre le titre */
}

.sector p {
    font-size: 16px;
    color: #555;
    margin-bottom: 15px;
	text-align: justify;
}

.sector .btn {
    display: inline-block;
    background-color: #333;
    color: #fff;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s;
}

.sector .btn:hover {
    background-color: #555;
}

/* Pied de page */
footer {
    background-color: #f4f4f4;
    padding: 10px 20px;
    text-align: left;
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

footer .footer-text {
    font-size: 14px;
    color: #333;
}

footer .footer-links {
    font-size: 14px;
}

footer .footer-links a {
    text-decoration: none;
    color: #333;
    margin-left: 10px;
}

footer .footer-links a:hover {
    text-decoration: underline;
}

/* Conteneur principal de la bannière */
.banner-container {
    position: relative;
    width: 100%;
    height: 420px; /* Hauteur fixe */
    overflow: hidden; /* Cache les débordements */
}

/* Conteneur des images (flexible) */
.banner {
    display: flex;
    width: 50%;
    height: 100%; /* Adapte la hauteur au conteneur */
    animation: none; /*slide 15s linear infinite; /* slide pour slider 40s infinite; none pour arreter /* Animation active */
}

/* Chaque élément de la bannière */
.banner-item {
    flex: 0 0 100%; /* Chaque élément prend 100% de largeur */
    height: 100%;
    overflow: hidden; /* Cache les débordements */
}

/* Images des bannières */
.banner-item img {
    width: 100%; /* S'étend sur toute la largeur */
    height: 100%; /* S'étend sur toute la hauteur */
    object-fit: cover; /* Remplit l'espace tout en respectant les proportions */
}

/* Superposition de texte sur la bannière */
.banner-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 24px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.5);
    padding: 10px 20px;
    border-radius: 8px;
    text-align: center;
}

/* Pause de l'animation au survol */
.banner-container:hover .banner {
    animation-play-state: none; /* Met l'animation en pause avec la souris */
}

/* Titre des offres */
.offers-title {
    font-size: 32px; /* Taille du titre */
    font-weight: bold;
    text-align: center; /* Centre le titre */
    margin-top: 30px; /* Marge au-dessus */
    color: #333; /* Couleur du titre */
}

/* Conteneur des deux textes */
.offers-container {
    display: flex; /* Disposition en flexbox */
    justify-content: space-between; /* Espace entre les deux textes */
    padding: 0 100px; /* Marge extérieure de 100px de chaque côté */
    margin-top: 30px; /* Marge au-dessus */
    gap: 20px; /* Espacement entre les deux blocs de texte */
}

/* Conteneur des textes */
.offer-text {
    flex: 1; /* Les deux textes prennent la même largeur */
    padding: 20px; /* Espacement interne */
    background-color: #f9f9f9; /* Fond clair */
    border-radius: 8px; /* Coins arrondis */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Ombre subtile */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Texte à gauche */
.left-text {
    text-align: left; /* Alignement du texte à gauche */
}

/* Texte à droite */
.right-text {
    text-align: left; /* Alignement du texte à gauche */
}

/* Animation de défilement */
@keyframes slide {
    0% { transform: translateX(0); }
    33% { transform: translateX(-100%); }
    66% { transform: translateX(-200%); }
    100% { transform: translateX(-300%); }
}

/* Styles pour les écrans de petite taille */
@media (max-width: 768px) {
    .banner-container {
        height: 250px;
    }

    .banner-overlay {
        font-size: 18px;
        padding: 8px 15px;
    }
}