/* Style pour le header */ .contact { top: 0; position: fixed; width: 100%; display: flex; flex-wrap: wrap; row-gap: 10px; column-gap: 0.7rem; justify-content: center; align-items: center; background-color: #CC4331; padding: 1rem 1rem; color: #F9E7DB; z-index: 100; font-size: 11px; } .header { background-color: #F9E7DB; position: fixed; width: 100%; z-index: 3; align-items: center; display: block; } .header ul { margin: 0; padding: 0; list-style: none; } .header li { display: block; padding: 0.5rem; border-right: 1px solid #F9E7DB; text-decoration: none; } .header li a { position: relative; text-decoration: none; color: inherit; padding-bottom: 4px; /* pour éviter que la ligne touche le texte */ } .header li a::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0%; height: 2px; background-color: #CC4331; transition: width 0.3s ease; } .header li a:hover::after { width: 100%; } .header li a:hover, .header .menu-btn:hover { background-color: #F9E7DB; } .header .logo { max-width: 380px; text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; } .header .logo img { display: inline-block; max-height: 40px; padding: 8px 4px 8px 12px; vertical-align: middle; } .header nav { margin-left: auto; } /* menu caché par défaut*/ nav .menu { list-style: none; padding: 0; margin: 0; display: none; gap: 1rem; } nav .menu li { position: relative; white-space: nowrap; } /* Sous-menu caché par défaut */ /* Cacher le sous-menu par défaut */ .dropdown { position: relative; } .dropdown .submenu { position: absolute; top: 100%; /* place le sous-menu juste sous le bouton "Autre" */ left: 0; /* aligne à gauche du bouton "Autre" */ transform: translateX(-100%); /* décale le menu vers la gauche du bouton */ background-color: white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); z-index: 10; display: none; padding: 0; list-style: none; } /* Afficher le sous-menu si l’input est coché */ .toggle-submenu:checked + label + .submenu { display: block; } /* Style du label 'Autre' */ .dropdown label { cursor: pointer; padding: 0.5rem; display: inline-block; color: #333; background-color: transparent; } /* Style des items du sous-menu */ .submenu li a { display: block; padding: 0.5rem; text-decoration: none; color: #333; } .submenu li a:hover { background-color: #f2f2f2; } /* Grand écran : menu complet */ @media (min-width: 1500px) { #menuXL { display: flex; } } /* Moyen écran */ @media (max-width: 1499px) and (min-width: 1300px) { #menuL { display: flex; } } /* Petit écran */ @media (max-width: 1299px) and (min-width: 1099px) { #menuM { display: flex; } } /* Mobile (burger menu géré ailleurs) */ @media (max-width: 1100px) and (min-width: 700px){ #menuS { display: flex; } } /* Cacher la case à cocher */ .toggle-submenu { display: none; } /* Afficher le sous-menu si activé */ .toggle-submenu:checked + label + .submenu { display: block; } /* Styles généraux */ .dropdown { position: relative; } .dropdown label { cursor: pointer; display: block; padding: 0.5rem; } /* Pour que le sous-menu ne s'affiche que sous 'Autre' */ .dropdown .submenu li { padding: 0.5rem; } /* menu */ .header .menu { clear: both; max-height: 0; transition: max-height .2s ease-out; } /* menu icon */ .header .menu-icon { cursor: pointer; display: inline-block; float: right; padding: 28px 20px; position: relative; user-select: none; } .header .menu-icon .navicon { background: #333; display: block; height: 2px; position: relative; transition: background .2s ease-out; width: 18px; } .header .menu-icon .navicon:before, .header .menu-icon .navicon:after { background: #333; content: ''; display: block; height: 100%; position: absolute; transition: all .2s ease-out; width: 100%; } .header .menu-icon .navicon:before { top: 5px; } .header .menu-icon .navicon:after { top: -5px; } /* menu btn */ .header .menu-btn { display: none; } .header .menu-btn:checked~nav .menu { max-height: 240px; } .header .menu-btn:checked~.menu-icon .navicon { background: transparent; } .header .menu-btn:checked~.menu-icon .navicon:before { transform: rotate(-45deg); } .header .menu-btn:checked~.menu-icon .navicon:after { transform: rotate(45deg); } .header .menu-btn:checked~.menu-icon:not(.steps) .navicon:before, .header .menu-btn:checked~.menu-icon:not(.steps) .navicon:after { top: 0; } /* Styles pour les écrans plus grand (hors téléphones) */ @media (min-width: 48em) { .header { display: flex; } .header li { float: left; } .header li a { padding: 0.5rem; } .header .menu { clear: none; float: right; max-height: none; } .header .menu-icon { display: none; } }