/* ==========================================================================
   NexKit — identité « minimal premium » (chargée partout)
   1. Polices  2. Jetons  3. Base  4. Boutons  5. En-tête  6. Tiroir
   7. Pied de page  8. Accueil  9. Mouvement
   ========================================================================== */

/* 1. Polices (hébergées avec le thème) */
@font-face { font-family: "Space Grotesk"; src: url("../fonts/space-grotesk-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

/* 2. Jetons */
:root {
  --nk-encre: #111111;
  --nk-papier: #ffffff;
  --nk-pierre: #f2f2f0;
  --nk-trait: #e4e4e0;
  --nk-gris: #5c5c5c;
  --nk-vert: #087a4e;          /* texte : 5,4:1 sur blanc */
  --nk-vert-vif: #0a8f5b;      /* aplats décoratifs uniquement */
  --nk-erreur: #c0362c;

  --nk-police-titre: "Space Grotesk", "Inter", system-ui, sans-serif;
  --nk-police-texte: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --nk-texte: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  --nk-titre-geant: clamp(2.6rem, 1.2rem + 6vw, 6.25rem);
  --nk-titre-1: clamp(2.4rem, 1.4rem + 4.4vw, 5rem);
  --nk-titre-2: clamp(1.75rem, 1.2rem + 2.2vw, 3rem);
  --nk-titre-3: clamp(1.15rem, 1.05rem + 0.4vw, 1.375rem);

  --nk-largeur: 1240px;
  --nk-gouttiere: max(20px, calc((100% - var(--nk-largeur)) / 2));
  --nk-section: clamp(4rem, 2.6rem + 6vw, 8.5rem);
  --nk-rayon: 2px;

  --nk-rapide: 160ms;
  --nk-normal: 320ms;
  --nk-sortie: cubic-bezier(0.16, 1, 0.3, 1);

  /* Palette Kadence alignée sur l'identité NexKit */
  --global-palette1: var(--nk-encre);
  --global-palette2: var(--nk-vert);
  --global-palette3: var(--nk-encre);
  --global-palette4: #2b2b2b;
  --global-palette5: var(--nk-gris);
  --global-palette6: #8a8a86;
  --global-palette7: var(--nk-trait);
  --global-palette8: var(--nk-pierre);
  --global-palette9: var(--nk-papier);
  --global-palette-btn-bg: var(--nk-encre);
  --global-palette-btn-bg-hover: #000;
  --global-palette-btn: var(--nk-papier);
  --global-palette-btn-hover: var(--nk-papier);
  --global-body-font-family: var(--nk-police-texte);
  --global-heading-font-family: var(--nk-police-titre);
  --global-content-width: var(--nk-largeur);
}

/* 3. Base */
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--nk-papier);
  color: var(--nk-encre);
  font-family: var(--nk-police-texte);
  font-size: var(--nk-texte);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .nk-logo {
  font-family: var(--nk-police-titre);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--nk-encre);
}
h1 { line-height: 1; }
h2 { line-height: 1.05; }
h3 { line-height: 1.2; font-size: var(--nk-titre-3); }
a { color: var(--nk-encre); text-underline-offset: 0.2em; text-decoration-thickness: 1px; transition: color var(--nk-rapide); }
a:hover { color: var(--nk-vert); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--nk-encre);
  outline-offset: 2px;
  border-radius: var(--nk-rayon);
}
::selection { background: var(--nk-encre); color: var(--nk-papier); }
/* Le focus clavier ne doit jamais finir sous l'en-tête collant (WCAG 2.4.11). */
html { scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px); }
/* Anneau de focus visible sur les sections sombres. */
.nk-digital :focus-visible, .nk-bandeau-noir :focus-visible, .nk-bandeau :focus-visible { outline-color: var(--nk-papier); }
/* Kadence colore tout « button:hover/focus » en noir : nos boutons d'icône restent transparents. */
.nk-entete .nk-burger:is(:hover, :focus, :active),
.nk-tiroir .nk-tiroir__fermer:is(:hover, :focus, :active) { background: none; color: var(--nk-encre); box-shadow: none; }
.nk-masque {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.nk-icone { flex: none; }
.nk-surtitre {
  font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--nk-vert); margin: 0 0 1rem;
}
.nk-chapo { font-size: clamp(1.05rem, 1rem + 0.35vw, 1.25rem); color: var(--nk-gris); max-width: 36em; }

/* 4. Boutons (blocs WordPress, WooCommerce et thème) */
.nk-bouton,
.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
  min-height: 52px; padding: 0.9em 1.6em;
  background: var(--nk-encre); color: var(--nk-papier);
  border: 1px solid var(--nk-encre); border-radius: var(--nk-rayon);
  font-family: var(--nk-police-texte); font-size: 0.95rem; font-weight: 600; letter-spacing: 0.01em;
  text-decoration: none; box-shadow: none;
  transition: background var(--nk-rapide), color var(--nk-rapide), transform var(--nk-rapide);
}
.nk-bouton:hover,
.wp-block-button .wp-block-button__link:hover { background: #000; color: var(--nk-papier); }
.nk-bouton:active,
.wp-block-button .wp-block-button__link:active { transform: translateY(1px); }
.nk-bouton--contour,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent; color: var(--nk-encre); border-color: var(--nk-encre);
}
.nk-bouton--contour:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--nk-encre); color: var(--nk-papier); }
.nk-lien-fleche { display: inline-flex; align-items: center; gap: 0.4em; font-weight: 600; text-decoration: none; }
.nk-lien-fleche .nk-icone { transition: transform var(--nk-rapide) var(--nk-sortie); }
.nk-lien-fleche:hover .nk-icone { transform: translateX(4px); }

/* 5. En-tête */
.nk-bandeau { background: var(--nk-encre); color: var(--nk-papier); }
.nk-bandeau p {
  margin: 0; padding: 0.55rem var(--nk-gouttiere); text-align: center;
  font-size: 0.78rem; letter-spacing: 0.02em; line-height: 1.4;
}
.nk-entete {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--nk-trait);
}
.admin-bar .nk-entete { top: var(--wp-admin--admin-bar--height, 32px); }
.nk-entete__inner {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem;
  min-height: 72px; padding: 0 var(--nk-gouttiere);
}
.nk-logo {
  display: inline-flex; align-items: flex-end; gap: 4px;
  font-size: 1.5rem; line-height: 1; letter-spacing: -0.04em; text-decoration: none; color: var(--nk-encre);
}
.nk-logo:hover { color: var(--nk-encre); }
.nk-logo__point { width: 0.32em; height: 0.32em; background: var(--nk-vert-vif); margin-bottom: 0.1em; }
.nk-nav__liste { display: flex; justify-content: center; gap: 2.2rem; margin: 0; padding: 0; list-style: none; }
.nk-nav__liste a {
  position: relative; display: inline-block; padding: 0.5rem 0;
  font-size: 0.95rem; font-weight: 600; text-decoration: none; color: var(--nk-encre);
}
.nk-nav__liste a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0.2rem; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: right; transition: transform var(--nk-normal) var(--nk-sortie);
}
.nk-nav__liste a:hover::after,
.nk-nav__liste .current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
.nk-burger, .nk-tiroir__fermer {
  display: none; align-items: center; justify-content: center; width: 44px; height: 44px;
  margin: 0; padding: 0; background: none; border: 0; color: var(--nk-encre); cursor: pointer;
}
.nk-panier {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; color: var(--nk-encre); text-decoration: none;
}
.nk-panier__compte {
  position: absolute; top: 4px; right: 0; min-width: 18px; height: 18px; padding: 0 5px;
  background: var(--nk-vert-vif); color: #fff; border-radius: 9px;
  font-size: 0.68rem; font-weight: 600; line-height: 18px; text-align: center;
  transition: transform var(--nk-normal) var(--nk-sortie);
}
.nk-panier__compte.is-vide { transform: scale(0); }

/* 6. Tiroir mobile */
.nk-tiroir { position: fixed; inset: 0; z-index: 100; }
.nk-tiroir__voile {
  position: absolute; inset: 0; background: rgba(17, 17, 17, 0.45);
  opacity: 0; transition: opacity var(--nk-normal);
}
.nk-tiroir__panneau {
  position: absolute; inset: 0 auto 0 0; width: min(88vw, 380px); overflow-y: auto;
  display: flex; flex-direction: column; gap: 1.5rem; padding: 1rem 1.5rem 2rem;
  background: var(--nk-papier); transform: translateX(-100%);
  transition: transform var(--nk-normal) var(--nk-sortie);
}
.nk-tiroir.is-ouvert .nk-tiroir__voile { opacity: 1; }
.nk-tiroir.is-ouvert .nk-tiroir__panneau { transform: none; }
.nk-tiroir__haut { display: flex; align-items: center; justify-content: space-between; }
.nk-tiroir__fermer { display: inline-flex; }
.nk-tiroir__liste { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--nk-trait); }
.nk-tiroir__liste a {
  display: block; padding: 1.1rem 0; border-bottom: 1px solid var(--nk-trait);
  font-family: var(--nk-police-titre); font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; text-decoration: none;
}
.nk-tiroir__note { margin: 0; font-size: 0.85rem; color: var(--nk-gris); }
html.nk-tiroir-ouvert { overflow: hidden; }

/* 7. Pied de page */
.nk-pied { background: var(--nk-encre); color: #cfcfcb; margin-top: 0; }
.nk-pied a { color: #cfcfcb; text-decoration: none; }
.nk-pied a:hover { color: var(--nk-papier); }
.nk-pied :focus-visible { outline-color: var(--nk-papier); }
.nk-pied__inner {
  display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 3rem;
  padding: clamp(3.5rem, 2rem + 5vw, 6rem) var(--nk-gouttiere) 3rem;
}
.nk-pied .nk-logo { color: var(--nk-papier); font-size: 1.9rem; }
.nk-pied__marque p { max-width: 26em; margin: 1.2rem 0 1.5rem; font-size: 0.95rem; }
.nk-pied__marque .nk-lien-fleche { color: var(--nk-papier); }
.nk-pied__titre {
  margin: 0 0 1rem; color: var(--nk-papier); font-family: var(--nk-police-texte);
  font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
}
.nk-pied ul { margin: 0; padding: 0; list-style: none; }
.nk-pied__colonne li { margin: 0 0 0.7rem; font-size: 0.95rem; }
.nk-pied__bas {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.5rem var(--nk-gouttiere); border-top: 1px solid #2a2a2a; font-size: 0.85rem;
}
.nk-pied__bas p { margin: 0; }
.nk-pastilles { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.nk-pastilles li {
  padding: 0.3rem 0.65rem; border: 1px solid #3a3a3a; border-radius: var(--nk-rayon);
  color: var(--nk-papier); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.02em;
}

/* 8. Accueil — page en blocs, sections pleine largeur */
.home .content-container.site-container,
.home .entry-content-wrap { padding: 0; max-width: none; }
/* Kadence force « .entry-content .alignfull » à 100vw sans marge intérieure : on reprend la main. */
.entry-content > .wp-block-group.alignfull:is(.nk-heros, .nk-section) {
  width: 100%; max-width: none; margin: 0;
  padding-left: var(--nk-gouttiere); padding-right: var(--nk-gouttiere);
}
html, body { overflow-x: clip; }
.home .entry-content { margin: 0; }
.nk-section { padding: var(--nk-section) var(--nk-gouttiere); }
.nk-section + .nk-section:not(.nk-bandeau-noir):not(.nk-appel):not(.nk-digital) { border-top: 1px solid var(--nk-trait); }
.nk-titre-section { font-size: var(--nk-titre-2); max-width: 18em; margin: 0 0 clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.nk-titre-geant { font-size: var(--nk-titre-geant); line-height: 0.98; letter-spacing: -0.04em; margin: 0 0 1.5rem; }
.nk-titre-geant em, .nk-titre-heros em { font-style: normal; color: var(--nk-gris); }

/* Héros */
.nk-heros {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center;
  gap: clamp(2rem, 1rem + 4vw, 5rem);
  padding: clamp(2.5rem, 1rem + 5vw, 6rem) var(--nk-gouttiere) clamp(3rem, 1.5rem + 5vw, 7rem);
}
/* Sélecteur renforcé : Kadence ajoute 90 px au-dessus des H1 du contenu. */
.entry-content .nk-heros .nk-titre-heros { font-size: clamp(2.3rem, 1.5rem + 2.6vw, 3.75rem); line-height: 1.02; letter-spacing: -0.04em; margin: 0 0 1.25rem; text-wrap: balance; }
/* Prix réel et livraison offerte, juste au-dessus des boutons */
.nk-heros__offre { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 1rem; margin: 0 0 1.25rem; }
.nk-heros__offre .nk-prix { font-family: var(--nk-police-titre); font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem); font-weight: 700; color: var(--nk-vert); }
.nk-heros__offre .nk-annonce-livraison { padding-left: 1rem; border-left: 1px solid var(--nk-trait); font-size: 0.95rem; font-weight: 600; color: var(--nk-encre); }
.nk-heros .nk-chapo { margin: 0 0 2rem; }
.nk-actions { gap: 0.75rem; margin-bottom: 2rem; }
.nk-coches { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.entry-content ul.nk-coches { padding-left: 0; margin-left: 0; }
.nk-coches li { position: relative; padding-left: 1.5rem; font-size: 0.9rem; color: var(--nk-gris); }
.nk-coches li::before {
  content: ""; position: absolute; left: 0; top: 0.35em; width: 0.9rem; height: 0.5rem;
  border-left: 2px solid var(--nk-vert); border-bottom: 2px solid var(--nk-vert); transform: rotate(-45deg);
}
.nk-heros__visuel, .nk-duo__visuel, .nk-digital__visuel { margin: 0; overflow: hidden; background: var(--nk-pierre); }
.nk-heros__visuel img, .nk-duo__visuel img, .nk-digital__visuel img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover;
  transition: transform 1.2s var(--nk-sortie);
}
.nk-heros__visuel:hover img, .nk-duo__visuel:hover img { transform: scale(1.03); }
.nk-heros__visuel { position: relative; }
.nk-heros__visuel img { object-position: 50% 45%; }
.nk-heros__visuel figcaption {
  position: absolute; left: 1.25rem; bottom: 1.25rem; padding: 0.35rem 0.7rem;
  background: rgba(17, 17, 17, 0.78); color: var(--nk-papier); font-size: 0.75rem; font-weight: 600;
}
.nk-heros__visuel:not(.nk-photo)::after {
  content: "Moustikad"; position: absolute; left: 1.25rem; bottom: 1.25rem;
  padding: 0.35rem 0.7rem; background: var(--nk-papier); font-size: 0.78rem; font-weight: 600;
}

/* Grilles 3 colonnes */
.nk-grille-3.wp-block-columns { gap: clamp(1.5rem, 1rem + 2vw, 3rem); margin: 0; }
.nk-numero {
  margin: 0 0 1.5rem; font-family: var(--nk-police-titre); font-weight: 700; font-size: 0.95rem; color: var(--nk-vert);
}
.nk-carte-texte { padding-top: 1.5rem; border-top: 2px solid var(--nk-encre); }
.nk-carte-texte h3, .nk-etape h3 { margin: 0 0 0.6rem; }
.nk-carte-texte p:last-child, .nk-etape p:last-child { color: var(--nk-gris); margin: 0; }

/* Bandeau noir */
.nk-bandeau-noir { background: var(--nk-encre); color: #cfcfcb; }
.nk-bandeau-noir .nk-titre-geant { color: var(--nk-papier); max-width: 14em; }
.nk-bandeau-noir .nk-titre-geant em { color: #8f8f8a; }
.nk-bandeau-noir .nk-surtitre { color: #5fd3a2; }
.nk-bandeau-noir p:last-child { max-width: 34em; margin: 0; font-size: 1.1rem; }

/* Tailles */
.nk-tailles .nk-titre-section { margin-bottom: 1rem; }
.nk-tailles .nk-chapo { margin: 0 0 clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.nk-carte-taille {
  position: relative; padding: clamp(1.75rem, 1rem + 2vw, 2.75rem); background: var(--nk-pierre);
  transition: background var(--nk-normal), transform var(--nk-normal) var(--nk-sortie);
}
.nk-carte-taille:hover { background: #e9e9e5; transform: translateY(-4px); }
.nk-taille {
  margin: 0 0 2.5rem; font-family: var(--nk-police-titre); font-weight: 700;
  font-size: clamp(3.5rem, 2.5rem + 4vw, 6rem); line-height: 0.9; letter-spacing: -0.05em;
}
.nk-taille span { display: block; margin-top: 0.5rem; font-family: var(--nk-police-texte); font-size: 0.95rem; font-weight: 600; letter-spacing: 0; color: var(--nk-gris); }
.nk-carte-taille a { font-weight: 600; text-decoration: none; }
.nk-carte-taille a::after { content: ""; position: absolute; inset: 0; }
.nk-carte-taille a::before { content: "→ "; color: var(--nk-vert); }

/* Étapes */
.nk-etapes { background: var(--nk-pierre); }
.nk-etapes.nk-section { border-top: 0; }
.nk-etape .nk-numero {
  display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem;
  border: 1px solid var(--nk-encre); border-radius: 50%; color: var(--nk-encre); font-size: 1.1rem;
}

/* Duo image + texte */
.nk-duo, .nk-digital {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center;
  gap: clamp(2rem, 1rem + 5vw, 6rem);
}
.nk-duo__texte .nk-titre-section, .nk-digital__texte .nk-titre-section { margin-bottom: 1.25rem; }
.nk-duo__texte p, .nk-digital__texte p { color: var(--nk-gris); max-width: 32em; }
.nk-duo__texte .wp-block-buttons, .nk-digital__texte .wp-block-buttons { margin-top: 2rem; }
.nk-digital { background: var(--nk-encre); color: #cfcfcb; }
.nk-digital .nk-titre-section { color: var(--nk-papier); }
.nk-digital .nk-surtitre { color: #5fd3a2; }
.nk-digital__texte p { color: #cfcfcb; }
.nk-digital .wp-block-button .wp-block-button__link { background: var(--nk-papier); color: var(--nk-encre); border-color: var(--nk-papier); }
.nk-digital .wp-block-button .wp-block-button__link:hover { background: var(--nk-pierre); }
.nk-digital__visuel { background: #1d1d1d; }

/* FAQ */
.nk-faq { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); column-gap: clamp(2rem, 1rem + 5vw, 6rem); align-items: start; }
.nk-faq > .nk-titre-section { grid-row: span 6; position: sticky; top: 110px; }
.nk-faq .wp-block-details { border-top: 1px solid var(--nk-trait); margin: 0; }
.nk-faq .wp-block-details:last-of-type { border-bottom: 1px solid var(--nk-trait); }
.nk-faq summary {
  position: relative; list-style: none; cursor: pointer; padding: 1.4rem 3rem 1.4rem 0;
  font-family: var(--nk-police-titre); font-size: 1.15rem; font-weight: 700; letter-spacing: -0.015em;
}
.nk-faq summary::-webkit-details-marker { display: none; }
.nk-faq summary::after {
  content: ""; position: absolute; right: 0.5rem; top: 50%; width: 12px; height: 12px;
  border-right: 2px solid var(--nk-encre); border-bottom: 2px solid var(--nk-encre);
  transform: translateY(-75%) rotate(45deg); transition: transform var(--nk-normal) var(--nk-sortie);
}
.nk-faq details[open] summary::after { transform: translateY(-25%) rotate(-135deg); }
.nk-faq details p { margin: 0 0 1.5rem; color: var(--nk-gris); max-width: 40em; }
.nk-lien-suite { grid-column: 2; margin: 2rem 0 0; }
.nk-lien-suite a { font-weight: 600; }

/* Appel final */
.nk-appel { text-align: center; }
.nk-appel .nk-titre-geant { max-width: 12em; margin-inline: auto; margin-bottom: 2.5rem; }
.nk-appel .wp-block-buttons { justify-content: center; }

/* 9. Mouvement (désactivé si l'utilisateur le demande) */
.nk-js-apparitions .nk-apparition { opacity: 0; transform: translateY(24px); transition: opacity 0.8s var(--nk-sortie), transform 0.8s var(--nk-sortie); }
.nk-js-apparitions .nk-apparition.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .nk-js-apparitions .nk-apparition { opacity: 1; transform: none; }
}

/* Mobile et tablette */
@media (max-width: 960px) {
  .nk-entete__inner { grid-template-columns: 44px 1fr 44px; gap: 0.5rem; min-height: 60px; }
  .nk-burger { display: inline-flex; }
  .nk-entete .nk-logo { justify-self: center; font-size: 1.35rem; }
  .nk-nav { display: none; }
  .nk-pied__inner { grid-template-columns: 1fr 1fr; gap: 2.5rem 2rem; }
  .nk-pied__marque { grid-column: 1 / -1; }
  .nk-faq { grid-template-columns: 1fr; }
  .nk-faq > .nk-titre-section { position: static; grid-row: auto; }
  .nk-lien-suite { grid-column: 1; }
}
@media (max-width: 781px) {
  .nk-heros, .nk-duo, .nk-digital { grid-template-columns: 1fr; }
  .nk-heros__visuel { order: -1; margin-inline: calc(-1 * var(--nk-gouttiere)); }
  .nk-heros__visuel img { aspect-ratio: 1 / 1; object-position: 50% 55%; }
  .nk-heros__visuel figcaption { left: var(--nk-gouttiere); bottom: 0.75rem; }
  .nk-heros__offre .nk-annonce-livraison { padding-left: 0; border-left: 0; }
  .nk-heros { padding-top: 0; }
  .nk-actions .wp-block-button { flex: 1 1 100%; }
  .nk-actions .wp-block-button__link { width: 100%; }
  .nk-digital__visuel { order: -1; }
  .nk-digital__visuel img, .nk-duo__visuel img { aspect-ratio: 16 / 11; }
  .nk-bandeau p { font-size: 0.72rem; }
}
@media (max-width: 480px) {
  .nk-pied__inner { grid-template-columns: 1fr; }
  .nk-pied__bas { flex-direction: column; align-items: flex-start; }
}
