/* Sous-menu de l'Atelier du vin (1er octobre 2026). Copie des règles de la maquette,
   préfixées pour l'accueil et les pages 2026 (body.nsa-accueil) et pour les autres
   pages (body.nsa-site). Fichier séparé : accueil.css et site.css sont servis sans
   ?ver= et gardés une semaine par le CDN, une règle nouvelle n'y arriverait pas. */
/* Sous-menu de l'Atelier du vin (1er octobre 2026) : les outils rangés en
   quatre colonnes, au survol ou au clavier (focus), centrés sous le menu. */
body.nsa-accueil .nav { position: relative; }
body.nsa-accueil .nav .nav__sous {
  position: absolute;
  top: calc(100% + .75rem);
  left: 50%;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 2.5rem;
  padding: 1.75rem 2.25rem 1.5rem;
  background: var(--fond);
  border: 1px solid var(--filet);
  border-top: 2px solid var(--cuivre);
  box-shadow: 0 26px 40px -30px rgba(58, 29, 18, .5);
  opacity: 0;
  visibility: hidden;
  translate: -50% 6px;
  transition: opacity 220ms var(--ease), translate 220ms var(--ease), visibility 0s 220ms;
}
body.nsa-accueil .nav .nav__sous::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: calc(.75rem + 2px); }
body.nsa-accueil .nav .nav__atelier:hover > .nav__sous, body.nsa-accueil .nav .nav__atelier:focus-within > .nav__sous { opacity: 1; visibility: visible; translate: -50% 0; transition-delay: 0s; }
body.nsa-accueil .nav .nav__sous ul { display: block; }
body.nsa-accueil .nav .nav__titre { margin: 0 0 .5rem; font-family: var(--sans); font-size: .625rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cuivre-texte); }
body.nsa-accueil .nav .nav__sous a { display: inline-block; padding: .4rem 0; font-family: var(--titre); font-size: 1.0625rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--encre); }
body.nsa-accueil .nav .nav__sous a::after { bottom: .3rem; right: 0; }
body.nsa-accueil .nav .nav__sous a:hover, body.nsa-accueil .nav .nav__sous a[aria-current="page"] { color: var(--rouge); }
body.nsa-accueil .nav a[aria-current="true"] { color: var(--rouge); }
body.nsa-accueil .nav a[aria-current="true"]::after { transform: scaleX(1); transform-origin: left; }
body.nsa-accueil .menu[open] { overflow-y: auto; }
body.nsa-accueil .menu .menu__atelier { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
body.nsa-accueil .menu__deplier { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; color: var(--encre); }
body.nsa-accueil .menu__deplier::before { content: ""; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; rotate: 45deg; translate: 0 -3px; transition: rotate 250ms var(--ease), translate 250ms var(--ease); }
body.nsa-accueil .menu__deplier[aria-expanded="true"]::before { rotate: 225deg; translate: 0 2px; }
body.nsa-accueil .menu .menu__outils { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; margin: 0 0 1rem; }
body.nsa-accueil .menu .menu__outils[hidden] { display: none; }
body.nsa-accueil .menu .menu__outils li + li { border-top: 0; }
body.nsa-accueil .menu .menu__outils a { padding: .5rem 0; font-size: 1.0625rem; line-height: 1.3; }
body.nsa-accueil .header.is-sur-hero:not(.is-scrolled) .nav .nav__sous a { color: var(--encre); }
body.nsa-accueil .header.is-sur-hero:not(.is-scrolled) .nav .nav__sous a:hover { color: var(--rouge); }
body.nsa-site nav.nav { position: relative; }
body.nsa-site nav.nav .nav__sous {
  position: absolute;
  top: calc(100% + .75rem);
  left: 50%;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 2.5rem;
  padding: 1.75rem 2.25rem 1.5rem;
  background: var(--fond);
  border: 1px solid var(--filet);
  border-top: 2px solid var(--cuivre);
  box-shadow: 0 26px 40px -30px rgba(58, 29, 18, .5);
  opacity: 0;
  visibility: hidden;
  translate: -50% 6px;
  transition: opacity 220ms var(--ease), translate 220ms var(--ease), visibility 0s 220ms;
}
body.nsa-site nav.nav .nav__sous::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: calc(.75rem + 2px); }
body.nsa-site nav.nav .nav__atelier:hover > .nav__sous, body.nsa-site nav.nav .nav__atelier:focus-within > .nav__sous { opacity: 1; visibility: visible; translate: -50% 0; transition-delay: 0s; }
body.nsa-site nav.nav .nav__sous ul { display: block; }
body.nsa-site nav.nav .nav__titre { margin: 0 0 .5rem; font-family: var(--sans); font-size: .625rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cuivre-texte); }
body.nsa-site nav.nav .nav__sous a { display: inline-block; padding: .4rem 0; font-family: var(--titre); font-size: 1.0625rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--encre); }
body.nsa-site nav.nav .nav__sous a::after { bottom: .3rem; right: 0; }
body.nsa-site nav.nav .nav__sous a:hover, body.nsa-site nav.nav .nav__sous a[aria-current="page"] { color: var(--rouge); }
body.nsa-site nav.nav a[aria-current="true"] { color: var(--rouge); }
body.nsa-site nav.nav a[aria-current="true"]::after { transform: scaleX(1); transform-origin: left; }
body.nsa-site dialog.menu[open] { overflow-y: auto; }
body.nsa-site dialog.menu .menu__atelier { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
body.nsa-site .menu__deplier { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; color: var(--encre); }
body.nsa-site .menu__deplier::before { content: ""; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; rotate: 45deg; translate: 0 -3px; transition: rotate 250ms var(--ease), translate 250ms var(--ease); }
body.nsa-site .menu__deplier[aria-expanded="true"]::before { rotate: 225deg; translate: 0 2px; }
body.nsa-site dialog.menu .menu__outils { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; margin: 0 0 1rem; }
body.nsa-site dialog.menu .menu__outils[hidden] { display: none; }
body.nsa-site dialog.menu .menu__outils li + li { border-top: 0; }
body.nsa-site dialog.menu .menu__outils a { padding: .5rem 0; font-size: 1.0625rem; line-height: 1.3; }

/* Huit onglets entre 1181 et 1279 px : 1,1rem d'écart débordait encore en allemand
   et en portugais (barre de défilement comptée). */
@media (min-width: 1181px) and (max-width: 1279px) {
  body.nsa-accueil .nav > ul { gap: .75rem; }
  body.nsa-site nav.nav > ul { gap: .75rem; }
}
