/*
 * Centurions — compléments à maquette.css (feuille compilée de la maquette, à ne pas modifier) :
 * polices auto-hébergées, valeurs de la maquette absentes de la feuille publiée, panneaux, WordPress.
 */

/* ---------------------------------------------------------------- Polices */
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url(../fonts/open-sans-latin.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/poppins-300-latin.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/poppins-400-latin.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/poppins-500-latin.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/poppins-600-latin.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/poppins-700-latin.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/poppins-800-latin.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 900; font-display: swap; src: url(../fonts/poppins-900-latin.woff2) format("woff2"); }

body { font-family: var(--font-body); color: var(--foreground); background: var(--background); }
h1, h2, h3 { font-family: var(--font-display); }

/* Un élément masqué par [hidden] le reste, même si une classe de la maquette pose display:flex. */
[hidden] { display: none !important; }

.nv-evitement { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--primary); color: var(--primary-foreground); padding: .5rem 1rem; }
.nv-evitement:focus { left: 1rem; top: 1rem; }

/* ---------------------------------------------------------------- En-tête (hauteur et logo réduits au défilement) */
.nv-entete { height: 4rem; }
.nv-logo { height: 58px; }
.est-defile .nv-entete { height: 3.5rem; }
.est-defile .nv-logo { height: 48px; }
@media (min-width: 1024px) {
  .nv-entete { height: 5rem; }
  .nv-logo { height: 62px; }
  .est-defile .nv-entete { height: 4rem; }
  .est-defile .nv-logo { height: 53px; }
}
.tracking-\[0\.2em\] { letter-spacing: .2em; }
.tracking-\[0\.15em\] { letter-spacing: .15em; }
.admin-bar [data-entete] { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar [data-entete] { top: 0; } }

/* ---------------------------------------------------------------- Menu mobile plein écran */
.nv-menu-mobile { animation: nv-apparition .2s ease-out; }
.nv-menu-mobile [aria-expanded="true"] { color: var(--primary); }
.nv-menu-mobile [aria-expanded="true"] svg { transform: rotate(180deg); }
@keyframes nv-apparition { from { opacity: 0; } to { opacity: 1; } }
body.menu-ouvert { overflow: hidden; }

/* ---------------------------------------------------------------- Barre mobile Boutique / Billetterie */
.nv-barre-mobile { padding-bottom: max(.5rem, env(safe-area-inset-bottom)); }
@media (max-width: 1023px) {
  body.avec-barre-mobile { padding-bottom: calc(4rem + env(safe-area-inset-bottom)); }
}

/* ---------------------------------------------------------------- Pied de page */
@media (min-width: 768px) {
  .nv-pied-grille { grid-template-columns: 1.3fr 1fr 1fr 1.4fr; }
}
/* Sous 768 px, tout est centré (règle de l'agence). */
@media (max-width: 767px) {
  .nv-pied-grille nav, .nv-pied-grille > div { text-align: center; }
  .nv-pied-grille a.flex { justify-content: center; }
  .nv-pied-grille .grid { text-align: left; }
}

/* ---------------------------------------------------------------- Contenu éditorial (pages sans gabarit) */
.nv-prose { max-width: 72ch; line-height: 1.7; color: var(--foreground); }
.nv-prose > * + * { margin-top: 1em; }
.nv-prose h2 { font-size: 1.5rem; font-weight: 800; text-transform: uppercase; margin-top: 2em; }
.nv-prose h3 { font-size: 1.2rem; font-weight: 700; margin-top: 1.5em; }
.nv-prose a { color: var(--primary); text-decoration: underline; }
.nv-prose ul { list-style: disc; padding-left: 1.25rem; }
.nv-prose ol { list-style: decimal; padding-left: 1.25rem; }
