/* CGN France — styles communs à toutes les pages : polices, navigation, pied de page */
  @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('./assets/fonts/inter-400.woff2') format('woff2'); }
  @font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('./assets/fonts/inter-500.woff2') format('woff2'); }
  @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('./assets/fonts/inter-600.woff2') format('woff2'); }
  @font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('./assets/fonts/inter-700.woff2') format('woff2'); }
  @font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; font-display: swap; src: url('./assets/fonts/inter-800.woff2') format('woff2'); }
  @font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 400; font-display: swap; src: url('./assets/fonts/inter-tight-400.woff2') format('woff2'); }
  @font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 600; font-display: swap; src: url('./assets/fonts/inter-tight-600.woff2') format('woff2'); }
  @font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 700; font-display: swap; src: url('./assets/fonts/inter-tight-700.woff2') format('woff2'); }
  @font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 800; font-display: swap; src: url('./assets/fonts/inter-tight-800.woff2') format('woff2'); }

  .cgn-nav a { text-decoration: none; }
  .cgn-nav .nav-mobile-panel { display: none; }
  .cgn-nav .nav-actions-desktop a { white-space: nowrap; }
  @media (max-width: 1100px) {
    .cgn-nav .nav-links { gap: 22px !important; }
  }
  @media (max-width: 1000px) {
    .cgn-nav .nav-links, .cgn-nav .nav-actions-desktop { display: none !important; }
    .cgn-nav .nav-mobile-toggle { display: inline-flex !important; }
  }
  @media (max-width: 700px) {
    .cgn-nav .nav-inner { height: 64px !important; padding: 0 20px !important; }
    .cgn-nav .nav-inner img { height: 40px !important; }
    .nav-spacer { height: 64px !important; }
  }
  /* Fond translucide + flou une fois la page défilée */
  .cgn-nav > nav { transition: background-color 0.3s ease, box-shadow 0.3s ease; }
  .cgn-nav[data-scrolled="1"] { background: transparent !important; }
  .cgn-nav[data-scrolled="1"] > nav {
    background-color: rgba(255,255,255,0.72) !important;
    background-image: none !important;
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    backdrop-filter: saturate(180%) blur(18px);
    box-shadow: 0 1px 0 rgba(0,0,0,0.06), 0 10px 30px rgba(0,0,0,0.05);
  }
  /* Soulignement animé des liens */
  .cgn-nav .nav-link { position: relative; padding-bottom: 5px; }
  .cgn-nav .nav-link::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
    background: #007dd9; border-radius: 2px;
    transform: scaleX(0); transform-origin: left center;
    transition: transform 0.32s cubic-bezier(.16,1,.3,1);
  }
  .cgn-nav .nav-link:hover { opacity: 1; }
  .cgn-nav .nav-link:hover::after, .cgn-nav .nav-link.is-current::after { transform: scaleX(1); }
  .cgn-nav .nav-link.is-current { color: #007dd9 !important; }
  .cgn-nav .nav-mobile-panel a.is-current { color: #007dd9 !important; }
  .cgn-btn-2:hover { background:#007dd9 !important; color:#fff !important; }
  .cgn-btn-1:hover { opacity:0.85; }

  .cgn-footer a { text-decoration: none; color: #6e6e73; transition: color 0.2s ease; }
  .cgn-footer a:hover { color: #007dd9; }
  @media (max-width: 1100px) {
    .cgn-footer .footer-grid { grid-template-columns: 1fr 1fr 1fr !important; gap: 32px !important; }
  }
  @media (max-width: 700px) {
    .cgn-footer { padding: 64px 24px 32px !important; }
    .cgn-footer .footer-grid { grid-template-columns: 1fr !important; }
  }

  [data-u].is-hidden { display: none !important; }
  [hidden] { display: none !important; }
