/* ------------------------------------------------------------------------
   `.header` : le bandeau du site, et rien d'autre.

   Le sélecteur est resté nu tant que styled-jsx hachait les noms de classes.
   Aplati, il attrape aussi les `<div class="header">` des modules — celui de
   `DashboardLayoutEtablissement` (l. 72), de `EtablissementDetail` et de
   `PartenaireDetail`. Le nom de l'établissement, posé dans ce div au milieu de
   sa bannière, héritait donc de `position: fixed; top: 0` : il était dessiné
   tout en haut de la fenêtre, en blanc sur le bandeau blanc du site — invisible.
   La bannière paraissait n'avoir pas de titre.

   Les règles du bandeau du site visent donc l'élément `<header>` lui-même
   (`templates/header.php` : `<header class="header" role="banner">`), le seul
   de la page. C'est le pendant du `div.header` déjà posé dans les feuilles de
   module pour le sens inverse.
   ------------------------------------------------------------------------ */

/* Extrait de NEXJTS/components/header.js — blocs <style jsx> (l. 1524-2344)
   et <style jsx global> (l. 2349-2413). Contenu repris tel quel : les
   classes, autrefois hachées par styled-jsx, sont désormais littérales. */

        header.header {
          width: 100%;
          position: fixed;
          z-index: 1000;
          background-color: #ffffff;
          border-bottom: 1px solid rgba(0, 0, 0, 0.05);
          height: 80px;
          left: 0;
          right: 0;
        }

        header.header::after {
          content: '';
          position: absolute;
          bottom: -1px;
          left: 0;
          width: 100%;
          height: 1px;
          background: linear-gradient(to right, transparent, rgba(184, 134, 11, 0.2), transparent);
        }

        .talentshotels-hotel-mode header.header::after,
        .talentshotels-cabinet-mode header.header::after {
          background: linear-gradient(to right, transparent, rgba(19, 32, 50, 0.2), transparent);
        }
        
        .nav-container {
          max-width: 1400px;
          margin: 0 auto;
          padding: 0 2rem;
          display: flex;
          align-items: center;
          height: 80px;
          width: 99%;
        }
        
        .logo-container {
          margin-right: 1rem;
          display: flex;
          align-items: center;
          text-decoration: none;
        }
        
        .flex-spacer {
          flex: 1;
        }
        
        .nav-links {
          display: flex;
          align-items: center;
          gap: 2.5rem;
          margin-left: 3rem;
        }
        
        .nav-link {
          color: var(--text-dark, #333);
          text-decoration: none;
          text-transform: uppercase;
          letter-spacing: 1px;
          font-size: 0.75rem;
          position: relative;
          padding: 0.5rem 0;
          transition: color 0.3s ease;
          font-weight: 400;
        }
        
        .nav-link:hover {
          color: var(--gold, #B8860B);
        }

        .talentshotels-hotel-mode .nav-link:hover,
        .talentshotels-cabinet-mode .nav-link:hover {
          color: var(--purple, #132032);
        }
        
        .user-type-container {
          display: flex;
          align-items: center;
          margin-right: 1.2rem;
        }

        .user-type-text {
          font-size: 0.75rem;
          font-weight: 400;
          color: #333;
          white-space: nowrap;
          letter-spacing: 0.5px;
          text-transform: uppercase;
          font-family: 'Cormorant Garamond', serif;
          margin-right: 8px;
        }

        .user-type-switch {
          display: flex;
          position: relative;
          border-radius: 50px;
          overflow: hidden;
          width: 255px;
          height: 30px;
          background: rgba(0, 0, 0, 0.03);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        .user-type-button {
          flex: 1;
          padding: 0;
          text-align: center;
          background: transparent;
          border: none;
          cursor: pointer;
          font-weight: 400;
          color: #333;
          position: relative;
          z-index: 2;
          transition: color 0.3s ease;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 0.75rem;
          font-family: inherit;
        }

        .user-type-button.active {
          color: white;
        }

        .user-type-slider {
          position: absolute;
          top: 0;
          left: 0;
          width: 33.33%;
          height: 100%;
          border-radius: 50px;
          transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55), background-color 0.5s ease;
          z-index: 1;
          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
        }
        
        .auth-buttons {
          display: flex;
          align-items: center;
          gap: 1rem;
        } 
        
        .login-button, .signup-button {
          padding: 0.6rem 1.2rem;
          border-radius: 0.35rem;
          text-decoration: none;
          font-weight: 500;
          white-space: nowrap;
          transition: all 0.3s ease;
          text-align: center;
          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
          font-size: 0.8rem;
          letter-spacing: 0.3px;
          background: none;
          border: none;
          cursor: pointer;
        }
        
        .login-button {
          color: var(--text-dark, #333);
          border: 1px solid #e8e8e8;
          background: #ffffff;
        }
        
        .login-button:hover {
          transform: translateY(-2px);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
          border-color: #ddd;
        }
        
        .signup-button {
          color: white;
        }
        
        .signup-button:hover {
          transform: translateY(-2px);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }
        
        .gold-gradient {
          background: linear-gradient(135deg, #B8860B, #DAA520);
          box-shadow: 0 2px 8px rgba(184, 134, 11, 0.15);
        }
        
        .purple-gradient {
          background: linear-gradient(135deg, #132032, #2B4566);
          box-shadow: 0 2px 8px rgba(19, 32, 50, 0.15);
        }
        
        .notifications-dropdown {
          max-height: 400px;
          overflow-y: auto;
          scrollbar-width: thin;
          scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
        }
        
        .notifications-dropdown::-webkit-scrollbar {
          width: 6px;
        }
        
        .notifications-dropdown::-webkit-scrollbar-track {
          background: transparent;
        }
        
        .notifications-dropdown::-webkit-scrollbar-thumb {
          background-color: rgba(0, 0, 0, 0.2);
          border-radius: 20px;
        }
        
        .notification-item {
          transition: background-color 0.2s ease;
        }
        
        .notification-item:hover {
          background-color: rgba(249, 249, 246, 0.8) !important;
        }
        
        .notification-unread-dot {
          width: 8px;
          height: 8px;
          border-radius: 50%;
          display: inline-block;
        }
        
        .mobile-menu {
          display: none;
          position: fixed;
          top: 80px;
          left: 0;
          width: 100%;
          height: calc(100vh - 80px);
          background-color: rgba(252, 251, 247, 0.98);
          backdrop-filter: blur(10px);
          z-index: 999;
          overflow-y: auto;
          transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
          padding: 0;
          box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
          font-family: 'Cormorant Garamond', serif;
        }
        
        .mobile-menu.active {
          display: block;
          animation: luxuryFadeIn 0.5s ease-out;
        }
        
        @keyframes luxuryFadeIn {
          0% {
            opacity: 0;
            transform: translateY(-10px);
          }
          100% {
            opacity: 1;
            transform: translateY(0);
          }
        }

        .mobile-candidate-mode {
          background-color: rgba(252, 251, 247, 0.98);
          background-image: linear-gradient(to bottom right, rgba(254, 252, 245, 0.97), rgba(255, 253, 240, 0.97));
          box-shadow: 0 10px 25px rgba(184, 134, 11, 0.08);
        }
        
        .mobile-hotel-mode {
          background-color: rgba(250, 248, 252, 0.98);
          background-image: linear-gradient(to bottom right, rgba(250, 248, 252, 0.97), rgba(245, 242, 247, 0.97));
          box-shadow: 0 10px 25px rgba(19, 32, 50, 0.08);
        }
        
        .mobile-menu::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 1px;
          background: linear-gradient(to right, transparent, rgba(184, 134, 11, 0.2), transparent);
          transition: background 0.3s ease;
        }

        .mobile-hotel-mode::before {
          background: linear-gradient(to right, transparent, rgba(19, 32, 50, 0.2), transparent);
        }
        
        .mobile-menu-header {
          padding: 1.5rem 2rem;
          display: flex;
          align-items: center;
          justify-content: space-between;
          border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        }
        
        .mobile-menu-title {
          font-family: 'Cormorant Garamond', serif;
          font-size: 1.4rem;
          font-weight: 500;
          color: #121212;
          letter-spacing: 0.5px;
          margin: 0;
        }

        .gold-text {
          color: #B8860B !important;
        }
        
        .purple-text {
          color: #132032 !important;
        }

        .gold-bg {
          background-color: #B8860B !important;
        }
        
        .purple-bg {
          background-color: #132032 !important;
        }
        
        .mobile-section {
          padding: 1.5rem 2rem;
          border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        }
        
        .mobile-section-title {
          font-family: 'Cormorant Garamond', serif;
          font-size: 1.2rem;
          font-weight: 500;
          color: #333;
          margin: 0 0 1rem 0;
        }
        
        .mobile-choice-container {
          display: flex;
          gap: 1.5rem;
          flex-wrap: wrap;
        }

        .lang-container {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
          gap: 1rem;
        }

        .theme-switcher {
          position: relative;
          padding: 0.3rem 0;
        }
        
        .mobile-choice-btn {
          background: transparent;
          border: none;
          font-family: 'Cormorant Garamond', serif;
          font-size: 1.1rem;
          color: #333;
          padding: 0.5rem 0.8rem;
          position: relative;
          cursor: pointer;
          border-radius: 6px;
          transition: all 0.3s ease;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 0.5rem;
        }

        .mobile-choice-btn.selected {
          font-weight: 500;
        }
        
        .gold-outline {
          border: 1px solid #B8860B !important;
          color: #B8860B !important;
        }
        
        .purple-outline {
          border: 1px solid #132032 !important;
          color: #132032 !important;
        }

        .gradient-border-gold {
          border: 2px solid transparent;
          background-image: linear-gradient(white, white), linear-gradient(135deg, #B8860B, #DAA520);
          background-origin: border-box;
          background-clip: padding-box, border-box;
          color: #B8860B !important;
        }
        
        .gradient-border-purple {
          border: 2px solid transparent;
          background-image: linear-gradient(white, white), linear-gradient(135deg, #132032, #2B4566);
          background-origin: border-box;
          background-clip: padding-box, border-box;
          color: #132032 !important;
        }

        .choice-indicator {
          height: 3px;
          width: 30px;
          border-radius: 2px;
          margin-top: 4px;
        }

        .choice-text {
          display: inline-block;
        }
        
        .mobile-nav-wrapper {
          padding: 1.5rem 2rem;
          border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        }
        
        .mobile-nav-section {
          margin-bottom: 2rem;
        }
        
        .mobile-nav-section:last-child {
          margin-bottom: 0;
        }
        
        .mobile-nav-links {
          display: flex;
          flex-direction: column;
          gap: 0.8rem;
        }
        
        .mobile-nav-link {
          color: #333;
          text-decoration: none;
          font-size: 1.1rem;
          font-family: 'Cormorant Garamond', serif;
          padding: 0.5rem 0;
          transition: all 0.3s ease;
          position: relative;
          display: block;
          background: none;
          border: none;
          cursor: pointer;
          text-align: left;
          width: 100%;
        }

        .mobile-nav-link:after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 0;
          height: 1px;
          transition: width 0.4s ease;
        }
        
        .mobile-candidate-mode .mobile-nav-link:hover, 
        .mobile-candidate-mode .mobile-nav-link:active {
          color: #B8860B;
        }
        
        .mobile-hotel-mode .mobile-nav-link:hover,
        .mobile-hotel-mode .mobile-nav-link:active {
          color: #132032;
        }

        .mobile-candidate-mode .mobile-nav-link:after {
          background-color: #B8860B;
        }
        
        .mobile-hotel-mode .mobile-nav-link:after {
          background-color: #132032;
        }

        .mobile-candidate-mode .mobile-nav-link:hover:after,
        .mobile-candidate-mode .mobile-nav-link:active:after,
        .mobile-hotel-mode .mobile-nav-link:hover:after,
        .mobile-hotel-mode .mobile-nav-link:active:after {
          width: 30px;
        }
        
        .mobile-button-section {
          padding: 1.5rem 2rem 2.5rem;
          display: flex;
          flex-direction: column;
          gap: 1rem;
        }
        
        .mobile-btn {
          display: block;
          width: 100%;
          padding: 1rem;
          border-radius: 0.35rem;
          text-align: center;
          font-family: 'Cormorant Garamond', serif;
          font-size: 1.1rem;
          font-weight: 500;
          letter-spacing: 0.3px;
          transition: all 0.3s ease;
          cursor: pointer;
          text-decoration: none;
          background: none;
          border: none;
        }
        
        .mobile-btn-outline {
          background: transparent;
          border: 1px solid;
        }
        
        .mobile-btn-filled {
          border: none;
          color: white;
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        .gold-gradient-btn {
          background: linear-gradient(135deg, #B8860B, #DAA520);
          box-shadow: 0 4px 12px rgba(184, 134, 11, 0.15);
        }
        
        .purple-gradient-btn {
          background: linear-gradient(135deg, #132032, #2B4566);
          box-shadow: 0 4px 12px rgba(19, 32, 50, 0.15);
        }
        
        .mobile-btn:hover {
          transform: translateY(-2px);
        }

        .mobile-btn-outline:hover {
          box-shadow: 0 6px 15px rgba(0, 0, 0, 0.05);
        }

        .gold-gradient-btn:hover {
          box-shadow: 0 6px 15px rgba(184, 134, 11, 0.2);
        }
        
        .purple-gradient-btn:hover {
          box-shadow: 0 6px 15px rgba(19, 32, 50, 0.2);
        }
        
        .menu-toggle {
          display: none;
          background: none;
          border: none;
          cursor: pointer;
          padding: 0.5rem;
          margin-left: 1rem;
          z-index: 1001;
        }
        
        .hamburger-icon {
          width: 24px;
          height: 18px;
          position: relative;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          transition: transform 0.3s ease;
        }
        
        .burger-line {
          width: 100%;
          height: 2px;
          background-color: #333;
          transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
          border-radius: 5px;
        }
        
        .hamburger-icon.open .burger-line:first-child {
          transform: rotate(45deg) translate(5px, 5px);
          width: 100%;
        }
        
        .hamburger-icon.open .burger-line:nth-child(2) {
          opacity: 0;
          transform: translateX(-10px);
        }
        
        .hamburger-icon.open .burger-line:last-child {
          transform: rotate(-45deg) translate(5px, -5px);
          width: 100%;
        }
        
        .lang-selector {
          position: relative;
          margin-right: 1.2rem;
        }
        
        .lang-toggle {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 0.3rem;
          background: none;
          border: 1px solid rgba(0, 0, 0, 0.1);
          padding: 0.4rem 0.6rem;
          cursor: pointer;
          border-radius: 0.3rem;
          transition: all 0.2s ease;
          font-size: 0.75rem;
          letter-spacing: 0.5px;
        }
        
        .lang-toggle:hover {
          background: rgba(0, 0, 0, 0.03);
        }
        
        .lang-code {
          font-weight: 500;
          color: #333;
        }
        
        .lang-dropdown {
          position: absolute;
          top: calc(100% + 0.5rem);
          right: 0;
          background: white;
          min-width: 160px;
          max-height: 300px;
          overflow-y: auto;
          border-radius: 0.4rem;
          box-shadow: 0 6px 16px rgba(0,0,0,0.08);
          padding: 0.4rem 0;
          z-index: 1000;
          animation: dropdownFadeIn 0.3s ease;
          border: 1px solid rgba(0,0,0,0.05);
        }
        
        .lang-option {
          display: flex;
          align-items: center;
          gap: 0.6rem;
          padding: 0.6rem 0.8rem;
          width: 100%;
          border: none;
          background: none;
          cursor: pointer;
          transition: all 0.2s ease;
          font-size: 0.8rem;
          color: #333;
          text-align: left;
        }
        
        .lang-option:hover {
          background: rgba(249, 249, 246, 0.5);
        }
        
        .lang-option.selected {
          background: rgba(0, 0, 0, 0.03);
          font-weight: 500;
        }
        
        .lang-label {
          font-weight: 400;
        }
        
        .search-dropdown-container {
          position: relative;
        }
        
        .search-dropdown-toggle {
          display: flex;
          align-items: center;
          gap: 0.35rem;
          background: none;
          border: none;
          cursor: pointer;
          color: #333;
          text-transform: uppercase;
          letter-spacing: 1px;
          font-size: 0.75rem;
          padding: 0.5rem 0;
          font-weight: 400;
          font-family: inherit;
          white-space: nowrap;
        }
        
        .search-dropdown-toggle:hover {
          color: var(--gold, #B8860B);
        }

        .talentshotels-hotel-mode .search-dropdown-toggle:hover,
        .talentshotels-cabinet-mode .search-dropdown-toggle:hover {
          color: var(--purple, #132032);
        }
        
        .dropdown-arrow {
          font-size: 0.6rem;
          transition: transform 0.3s ease;
          display: inline-block;
          margin-top: 1px;
        }
        
        .dropdown-arrow.open {
          transform: rotate(180deg);
        }
        
        .search-dropdown {
          position: absolute;
          top: 100%;
          left: 0;
          background: white;
          min-width: 200px;
          border-radius: 0.35rem;
          box-shadow: 0 6px 16px rgba(0,0,0,0.08);
          z-index: 100;
          padding: 0.35rem 0;
          margin-top: 0.5rem;
          animation: dropdownFadeIn 0.3s ease;
          border: 1px solid rgba(0,0,0,0.05);
        }
        
        .search-dropdown-item {
          display: block;
          width: 100%;
          padding: 0.7rem 1rem;
          color: #333;
          background: none;
          border: none;
          cursor: pointer;
          text-align: left;
          transition: all 0.2s ease;
          white-space: nowrap;
          font-size: 0.8rem;
          letter-spacing: 0.3px;
        }
        
        .search-dropdown-item:hover {
          background: rgba(249, 249, 246, 0.5);
          color: var(--gold, #B8860B);
        }

        .talentshotels-hotel-mode .search-dropdown-item:hover,
        .talentshotels-cabinet-mode .search-dropdown-item:hover {
          color: var(--purple, #132032);
        }
        
        @keyframes dropdownFadeIn {
          from {
            opacity: 0;
            transform: translateY(-6px);
          }
          to {
            opacity: 1;
            transform: translateY(0);
          }
        }

        @media screen and (max-width: 1024px) {
          .nav-links {
            gap: 1.5rem;
          }
          
          .auth-buttons {
            gap: 0.5rem;
          }
          
          .login-button, .signup-button {
            padding: 0.6rem 1rem;
            font-size: 0.75rem;
          }
        }

        @media screen and (max-width: 1290px) {
          .nav-container {
            padding: 0.5rem 1rem;
            height: 80px;
          }
          
          .user-type-container, .auth-buttons .guest-buttons, .nav-links, .lang-selector {
            display: none;
          }
          
          .auth-buttons {
            gap: 0.5rem;
          }
          
          .menu-toggle {
            display: block;
            margin-left: auto;
          }
          
          .mobile-menu-header {
            position: relative;
            overflow: hidden;
          }
         
          .mobile-menu-header:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 10%;
            width: 80%;
            height: 1px;
            background: linear-gradient(to right, transparent, currentColor, transparent);
            opacity: 0.2;
          }

          .mobile-section {
            position: relative;
          }

          .mobile-candidate-mode .mobile-section:after {
            background: linear-gradient(to right, transparent, rgba(184, 134, 11, 0.15), transparent);
          }
          
          .mobile-hotel-mode .mobile-section:after {
            background: linear-gradient(to right, transparent, rgba(19, 32, 50, 0.15), transparent);
          }
          
          .burger-aligne {
            display: contents;
          }

          /* `display: contents` annule le padding du conteneur : le cercle du
             logo touchait le bord gauche de l'écran (audit D19, 25/10/2026). */
          header.header {
            padding: 0 12px;
            box-sizing: border-box;
          }
        }

        @keyframes fadeColorTransition {
          0% { opacity: 0.8; }
          100% { opacity: 1; }
        }

        .mobile-menu.active {
          animation: fadeColorTransition 0.5s ease-in-out;
        }

/* --- bloc global --- */

        body {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          letter-spacing: 0.2px;
        }

        h1, h2, h3, h4, h5, h6 {
          font-family: 'Cormorant Garamond', serif;
          font-weight: 400;
        }

        .talentshotels-candidate-mode .theme-color {
          color: #B8860B !important;
        }
        
        .talentshotels-hotel-mode .theme-color,
        .talentshotels-cabinet-mode .theme-color {
          color: #132032 !important;
        }
        
        .talentshotels-candidate-mode .theme-bg {
          background-color: #B8860B !important;
        }
        
        .talentshotels-hotel-mode .theme-bg,
        .talentshotels-cabinet-mode .theme-bg {
          background-color: #132032 !important;
        }
        
        .talentshotels-candidate-mode .theme-border {
          border-color: #B8860B !important;
        }
        
        .talentshotels-hotel-mode .theme-border,
        .talentshotels-cabinet-mode .theme-border {
          border-color: #132032 !important;
        }
        
        .talentshotels-candidate-mode .theme-gradient {
          background: linear-gradient(135deg, #B8860B, #DAA520) !important;
        }
        
        .talentshotels-hotel-mode .theme-gradient,
        .talentshotels-cabinet-mode .theme-gradient {
          background: linear-gradient(135deg, #132032, #2B4566) !important;
        }
        
        .talentshotels-candidate-mode .hotel-only,
        .talentshotels-candidate-mode .cabinet-only {
          display: none !important;
        }
        
        .talentshotels-hotel-mode .candidate-only {
          display: none !important;
        }

        .talentshotels-cabinet-mode .candidate-only {
          display: none !important;
        }

        header.header, .mobile-menu, .mobile-btn, .mobile-choice-btn, .mobile-nav-link,
        .mobile-section-title, .dropdown-arrow, .burger-line, .choice-indicator,
        .mobile-menu::before, header.header::after {
          transition: all 0.3s ease-in-out;
        }

/* --- Le logo A -------------------------------------------------------------
   **LE CONTRASTE SE MONTE À L'AFFICHAGE, PAS DANS LE FICHIER.** Le logo reste
   celui du fournisseur — même version, mêmes couleurs. Au-delà de
   contrast(1.5) saturate(1.3), l'or vire à l'orange. */
/* !! **LE LOGO NE SE LAISSE PAS COMPRIMER.** `.nav-container` est une boîte
   flex de 1400 px au plus. À 1440 px la navigation complète s'affiche et
   réclame de la place : sans ceci, elle la prend sur le logo. */
.logo-container { flex-shrink: 0; }

.logo-container img {
  flex-shrink: 0;

  /* !! **LARGEUR EN DUR, PAS `auto`.** Relevé au navigateur à 1440 px : le
     conteneur du logo tombait à 170 px et l'image le suivait, soit **170 × 52
     au lieu de 263 × 52** — le dessin aplati de moitié. Ni `flex-shrink: 0`
     ni `max-width: none` n'y suffisaient. Avec la largeur posée, plus rien ne
     peut la reprendre. 263 = 52 × 1935/382, le rapport exact du fichier. */
  width: 263px;
  min-width: 263px;
  max-width: 263px;
  height: 52px;
  min-height: 52px;

  /* !! **SANS CECI, L'IMAGE EST ÉCRASÉE EN LARGEUR.** `critique.css:41` pose
     `img,picture,video,canvas,svg{display:block;max-width:100%}`. Au-dessus de
     1290 px la navigation complète s'affiche, le conteneur du logo se resserre,
     et la largeur est plafonnée : relevé au navigateur, l'image sortait en
     **170 × 68** au lieu de 344 × 68 — le dessin aplati de moitié.
     Ce n'est pas un réglage de disposition : c'est empêcher une déformation. */
  max-width: none;

  /* Le contraste se monte à l'affichage ; le fichier du fournisseur n'est pas
     touché. Au-delà de contrast(1.5) saturate(1.3), l'or vire à l'orange. */
  /* !! **UN FILTRE NE PEUT PAS GRAND-CHOSE SUR CE DESSIN, ET C'EST MESURÉ.**
     Comparaison pixel à pixel, avec et sans `contrast(1.45) saturate(1.3)
     brightness(0.93)`, sur le logo à 52 px :
         pixels modifiés de plus de 2/255 : **3,6 %**
         écart moyen : **0,47 / 255**
     La raison tient au dessin : 91 % de la boîte est blanche, et l'encre est
     déjà à #141414 — le contraste ne déplace ni l'un ni l'autre. Seuls l'or et
     l'arc gris bougent, et ils comptent pour une poignée de pixels.
     Le réglage est laissé à 1,3/1,2, mais il ne fait presque rien non plus. */
  filter: contrast(1.3) saturate(1.2);
}

/* **CONNECTÉ, À 375 PX, LE MENU SORTAIT DE L'ÉCRAN** (audit D37, 25/10/2026) :
   logo 263 px + bouton du compte + menu dépassaient la largeur. Le logo
   rétrécit sous 420 px ; le bouton du compte garde sa place, car le menu
   mobile n'offre pas d'accès au compte. */
@media (max-width: 420px) {
  header.header .logo-container img { width: 170px; min-width: 0; height: auto; }
  header.header .logo-container { margin-right: 8px; }
  header.header .user-menu-toggle { max-width: 110px; overflow: hidden; }
}
