/* =====================================================================
 * Normandie Séminaire : couche Accessibilité + UX (WCAG 2.2 AA)
 * Chargée en dernier (link dans header.php, après wp_head) : elle
 * complète redesign-maritime.css sans toucher à l'identité visuelle.
 * Tokens : --ink #0E1F2C, --paper #F4ECD8, --cream #FBF6E9, --accent #C75327.
 *
 * Sommaire
 *  1. Tokens dérivés (contraste)
 *  2. Utilitaires (sr-only)
 *  3. Skip link + focus visible
 *  4. Contraste texte accent / or
 *  5. Boutons accent (texte blanc/crème >= 4.5:1)
 *  6. Tailles de police planchers (mobile first)
 *  7. Cibles tactiles (>= 24px, 44px pour les actions clés)
 *  8. Navigation : burger, tiroir mobile, mega menu
 *  9. Contact rapide sticky (mobile) + réserve de contenu
 * 10. Formulaires : états, erreurs, succès
 * 11. Mouvement réduit
 * 12. Tableaux, FAQ, carte, divers
 * 13. Pied de page
 * ===================================================================== */

/* 1. Tokens dérivés ---------------------------------------------------- */
:root {
  /* Terracotta "texte" : même teinte, un cran plus profonde.
     #A4421E = 5.28:1 sur --paper, 4.93:1 sur --bg, 5.76:1 sur --cream. */
  --a11y-accent-text: #A4421E;
  /* Fond de bouton terracotta : blanc 5.16:1, crème 4.78:1 (au lieu de 4.47 / 4.14). */
  --a11y-accent-btn: #B74C24;
  /* Or "texte" : 5.36:1 sur --paper (au lieu de 3.81). */
  --a11y-gold-text: #7A5B0C;
  --a11y-focus: #C75327;
  --a11y-focus-halo: #FBF6E9;
  --a11y-error: #9F2A1D;
}
[data-palette="dusk"] {
  --a11y-accent-text: #F08A5A;
  --a11y-gold-text: #F4B854;
  --a11y-focus: #F4B854;
  --a11y-focus-halo: #14100D;
}

/* 2. Utilitaires -------------------------------------------------------- */
.ns-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 3. Skip link + focus visible ---------------------------------------- */
body.ns-redesign .skip-link {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 10000 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  background: var(--ink) !important;
  color: var(--cream) !important;
  font-family: var(--sans, "Poppins", system-ui, sans-serif) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: 0 10px 30px -10px rgba(14, 31, 44, 0.6) !important;
  transform: translateY(-200%);
  opacity: 0;
  transition: transform 0.15s ease, opacity 0.15s ease;
}
body.ns-redesign .skip-link:focus,
body.ns-redesign .skip-link:focus-visible {
  transform: none;
  opacity: 1;
  outline: 3px solid var(--accent-2, #E8A33D) !important;
  outline-offset: 2px !important;
}
#main-content:focus { outline: none; }

/* Focus visible : anneau terracotta + halo crème, lisible sur photo, sur ink et sur papier. */
body.ns-redesign a:focus-visible,
body.ns-redesign button:focus-visible,
body.ns-redesign input:focus-visible,
body.ns-redesign textarea:focus-visible,
body.ns-redesign select:focus-visible,
body.ns-redesign summary:focus-visible,
body.ns-redesign [tabindex]:focus-visible,
body.ns-redesign .nav-brand:focus-visible,
body.ns-redesign .ns-burger:focus-visible,
body.ns-redesign .ns-mobile-close:focus-visible,
body.ns-redesign .cta-pill:focus-visible,
body.ns-redesign .btn:focus-visible,
body.ns-redesign .format-card:focus-visible,
body.ns-redesign .method-card:focus-visible,
body.ns-redesign .art-card:focus-visible,
body.ns-redesign .ns-city-card:focus-visible,
body.ns-redesign .leaflet-marker-icon:focus-visible,
body.ns-redesign .leaflet-control a:focus-visible {
  outline: 3px solid var(--a11y-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px var(--a11y-focus-halo) !important;
  border-radius: 6px;
}
body.ns-redesign .cta-pill:focus-visible,
body.ns-redesign .nav-cta:focus-visible,
body.ns-redesign .ns-quick-contact a:focus-visible,
body.ns-redesign .ns-burger:focus-visible,
body.ns-redesign .ns-mobile-close:focus-visible { border-radius: 999px; }
body.ns-redesign .field input:focus-visible,
body.ns-redesign .field textarea:focus-visible,
body.ns-redesign .field select:focus-visible {
  outline-offset: 2px !important;
  box-shadow: none !important;
  border-bottom-color: var(--a11y-accent-text) !important;
}
/* On ne masque jamais l'anneau de focus clavier (annulation de l'outline:none du logo). */
body.ns-redesign .nav-brand:focus { outline: none; }

/* 4. Contraste texte accent / or (petits caractères) ------------------- */
body.ns-redesign .eyebrow,
body.ns-redesign .kicker,
body.ns-redesign .further-card .kicker,
body.ns-redesign .format-card__tag,
body.ns-redesign .arrow-link,
body.ns-redesign .card-link,
body.ns-redesign .chip-link,
body.ns-redesign .city-hero__kicker,
body.ns-redesign .city-pratique__label,
body.ns-redesign .cta-note,
body.ns-redesign .form-extra > summary,
body.ns-redesign .toc-sticky .eyebrow,
body.ns-redesign .article-prose a,
body.ns-redesign .ns-prose a,
body.ns-redesign .entry-content a,
body.ns-redesign .city-section a:not(.btn):not(.cta-pill):not(.method-card),
body.ns-redesign .city-tarifs__lead a,
body.ns-redesign .city-hook a,
body.ns-redesign .faq-item__answer a,
body.ns-redesign .nl-rgpd a,
body.ns-redesign .form-rgpd a,
body.ns-redesign .ns-footer-form__phone a,
body.ns-redesign .qpm-related__go {
  color: var(--a11y-accent-text);
}
body.ns-redesign .article-prose a:hover,
body.ns-redesign .ns-prose a:hover,
body.ns-redesign .city-section a:not(.btn):not(.cta-pill):not(.method-card):hover { color: var(--ink); }
/* Or des tarifs : la règle existante force #97710f !important. On la remplace par un or plus profond,
   sauf sur la carte sombre (accent-2 inline sur fond ink, déjà conforme). */
body.ns-redesign .further-card .kicker:not([style*="accent-2"]),
body.ns-redesign .pricing-grid .kicker:not([style*="accent-2"]) { color: var(--a11y-gold-text) !important; }
body.ns-redesign .further-card .kicker[style*="var(--accent)"] { color: var(--a11y-accent-text) !important; }
/* Liens texte : un indice non chromatique (soulignement fin) en plus de la couleur. */
body.ns-redesign .article-prose p a,
body.ns-redesign .ns-prose p a,
body.ns-redesign .entry-content p a,
body.ns-redesign .city-section p a,
body.ns-redesign .faq-item__answer a,
body.ns-redesign .city-tarifs__lead a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: color-mix(in oklab, var(--a11y-accent-text) 55%, transparent);
}

/* 5. Boutons accent --------------------------------------------------- */
body.ns-redesign .btn-accent,
body.ns-redesign .btn.btn-accent,
body.ns-redesign .nav-cta,
body.ns-redesign .ns-quick-contact .ns-sticky-mobile-cta,
body.ns-redesign .footer-partner a,
body.ns-redesign .ns-cta-band .btn-accent {
  background: var(--a11y-accent-btn) !important;
  border-color: var(--a11y-accent-btn) !important;
  color: #fff !important;
}
body.ns-redesign .cta-pill:hover,
body.ns-redesign .ns-quick-contact__tel:hover,
body.ns-redesign .nav-cta:hover,
body.ns-redesign .btn-accent:hover,
body.ns-redesign .ns-quick-contact .ns-sticky-mobile-cta:hover {
  background: color-mix(in oklab, var(--a11y-accent-btn) 88%, #000) !important;
  border-color: color-mix(in oklab, var(--a11y-accent-btn) 88%, #000) !important;
  color: #fff !important;
}

/* 6. Planchers de taille de police ------------------------------------- */
/* Desktop : plus rien sous 11px. */
body.ns-redesign .kicker,
body.ns-redesign .arrow-link,
body.ns-redesign .further-card__ribbon,
body.ns-redesign .pulse,
body.ns-redesign .badge,
body.ns-redesign .hero-meta__loc,
body.ns-redesign .hero-scroll,
body.ns-redesign .tag-mini,
body.ns-redesign .unit { font-size: max(11px, 1em) !important; }
body.ns-redesign .hero-meta__loc { font-size: 11px !important; }
body.ns-redesign .kicker,
body.ns-redesign .arrow-link,
body.ns-redesign .further-card__ribbon,
body.ns-redesign .pulse,
body.ns-redesign .badge,
body.ns-redesign .hero-scroll { font-size: 11px !important; }

/* Mobile et tablette : 12px minimum pour les libellés mono, 13px pour les notes, 16px pour le texte courant. */
@media (max-width: 880px) {
  body.ns-redesign .eyebrow,
  body.ns-redesign .kicker,
  body.ns-redesign .field label,
  body.ns-redesign .field__label,
  body.ns-redesign .format-card__tag,
  body.ns-redesign .cat-pill,
  body.ns-redesign .arrow-link,
  body.ns-redesign .card-link,
  body.ns-redesign .chip-link,
  body.ns-redesign .proc-step .when,
  body.ns-redesign .hero-foot__note,
  body.ns-redesign .hero-foot__stat-label,
  body.ns-redesign .hero-meta,
  body.ns-redesign .hero-meta__loc,
  body.ns-redesign .hero-breadcrumb,
  body.ns-redesign .city-hero__kicker,
  body.ns-redesign .city-hero__chip,
  body.ns-redesign .city-hero__cta-note,
  body.ns-redesign .city-pratique__label,
  body.ns-redesign .method-card__num,
  body.ns-redesign .tag-mini,
  body.ns-redesign .unit,
  body.ns-redesign .byline-by,
  body.ns-redesign .byline-role,
  body.ns-redesign .cta-note,
  body.ns-redesign .mono,
  body.ns-redesign .stat .lbl,
  body.ns-redesign .h-track-card .meta,
  body.ns-redesign .further-card__ribbon,
  body.ns-redesign .pulse,
  body.ns-redesign .badge,
  body.ns-redesign .ns-footer__title,
  body.ns-redesign .ns-footer h5,
  body.ns-redesign .article-share button,
  body.ns-redesign .form-extra > summary { font-size: 12px !important; letter-spacing: 0.1em !important; }

  body.ns-redesign .form-rgpd,
  body.ns-redesign .nl-rgpd,
  body.ns-redesign .ns-footer-form__note,
  body.ns-redesign .ns-page-contact .form-card > p:last-child,
  body.ns-redesign .qpm-related__go,
  body.ns-redesign .ns-footer .copy,
  body.ns-redesign .leaflet-control-attribution { font-size: 13px !important; line-height: 1.5 !important; }

  body.ns-redesign .hero-foot p,
  body.ns-redesign .proc-step p,
  body.ns-redesign .further-card p:not([style*="mono"]),
  body.ns-redesign .method-card p,
  body.ns-redesign .format-card p,
  body.ns-redesign .split li,
  body.ns-redesign .faq-item__answer,
  body.ns-redesign .faq-item__answer p,
  body.ns-redesign .faq-item__answer li,
  body.ns-redesign .ns-footer-form__lead,
  body.ns-redesign .ns-footer-form__bullets li,
  body.ns-redesign .ns-footer-form__phone,
  body.ns-redesign .city-section p,
  body.ns-redesign .city-section li,
  body.ns-redesign .article-prose p,
  body.ns-redesign .article-prose li,
  body.ns-redesign .ns-prose p,
  body.ns-redesign .ns-prose li { font-size: 16px !important; line-height: 1.6 !important; }

  body.ns-redesign .ns-footer p,
  body.ns-redesign .ns-footer ul a,
  body.ns-redesign .footer-tagline { font-size: 15px !important; }
}

/* 7. Cibles tactiles --------------------------------------------------- */
body.ns-redesign .ns-footer ul li { margin: 0; }
body.ns-redesign .ns-footer ul a,
body.ns-redesign .ns-footer .copy a,
body.ns-redesign .hero-breadcrumb a,
body.ns-redesign .city-section li a,
body.ns-redesign .ns-explore-link,
body.ns-redesign .toc-sticky ol li a,
body.ns-redesign .nl-rgpd a,
body.ns-redesign .form-rgpd a,
body.ns-redesign .leaflet-control-attribution a {
  display: inline-block;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-top: -3px;
  margin-bottom: -3px;
  min-height: 24px;
  box-sizing: border-box;
}
body.ns-redesign .ns-footer-form__phone a,
body.ns-redesign .ns-page-contact aside a {
  display: inline-block;
  padding: 6px 0;
}
/* Icône email du header : 15px rendus, 36px de cible. */
body.ns-redesign .ns-nav .nav-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 10px;
  margin: -10px -4px;
  border-radius: 999px;
}
body.ns-redesign .ns-nav .nav-tel { padding: 8px 0; display: inline-flex; align-items: center; min-height: 36px; }
body.ns-redesign .ns-nav .nav-linkedin { min-width: 36px; min-height: 36px; }
body.ns-redesign .ns-burger,
body.ns-redesign .ns-mobile-close { min-width: 44px; min-height: 44px; }
body.ns-redesign .hero-scroll { padding: 10px 14px; min-width: 44px; min-height: 44px; justify-content: flex-end; }
body.ns-redesign .article-share button { min-height: 44px; padding: 10px 14px; }
body.ns-redesign .ns-pagination .page-numbers,
body.ns-redesign .pagination .page-numbers,
body.ns-redesign .nav-links .page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
body.ns-redesign .leaflet-control-attribution { padding: 4px 8px; }
body.ns-redesign .leaflet-bar a { width: 32px; height: 32px; line-height: 32px; }

/* 8. Navigation --------------------------------------------------------- */
/* Tiroir mobile : inerte quand fermé (JS header.php) + jamais sous la barre sticky. */
body.ns-redesign .ns-mobile-drawer[inert] { visibility: hidden; }
body.ns-redesign .ns-mobile-drawer.is-open { visibility: visible; }
body.ns-redesign .ns-mobile-drawer { z-index: 300; }
body.ns-drawer-open .ns-quick-contact { display: none !important; }
body.ns-redesign .ns-mobile-nav .ns-mobile-menu a { min-height: 48px; }
body.ns-redesign .ns-mobile-drawer__inner { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
/* Mega menu (menu de secours) : liens lisibles au clavier. */
body.ns-redesign .ns-megamenu a:focus-visible { background: color-mix(in oklab, var(--accent) 10%, transparent); }
/* Sous-menus desktop : restent ouverts au focus clavier. */
body.ns-redesign .ns-nav .nav-links li.menu-item-has-children:focus-within > .sub-menu { display: flex; }

/* 9. Contact rapide sticky ---------------------------------------------- */
/* Invisible = non focalisable (sinon le clavier tombe sur des liens hors écran). */
body.ns-redesign .ns-quick-contact:not(.is-visible) { visibility: hidden; }
body.ns-redesign .ns-quick-contact.is-visible { visibility: visible; }
body.ns-redesign .ns-quick-contact__tel { min-width: 52px; min-height: 48px; }
body.ns-redesign .ns-quick-contact .ns-sticky-mobile-cta { min-height: 48px; }
/* Réserve en bas de page pour que la barre ne couvre jamais le dernier bloc (toute la plage mobile/tablette). */
@media (max-width: 879px) {
  body.ns-redesign { padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
  html { scroll-padding-bottom: 96px; }
}
@media (max-width: 879px) {
  body.ns-redesign .ns-quick-contact { bottom: calc(12px + env(safe-area-inset-bottom)); }
}

/* 10. Formulaires -------------------------------------------------------- */
body.ns-redesign .field input[aria-invalid="true"],
body.ns-redesign .field textarea[aria-invalid="true"],
body.ns-redesign .field select[aria-invalid="true"],
body.ns-redesign .field input:user-invalid,
body.ns-redesign .field textarea:user-invalid {
  border-bottom: 2px solid var(--a11y-error) !important;
}
body.ns-redesign .ns-form-error {
  margin: 12px 0 0;
  padding: 10px 14px;
  border-left: 3px solid var(--a11y-error);
  background: color-mix(in oklab, var(--a11y-error) 8%, var(--cream));
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
}
body.ns-redesign .ns-form-error:empty { display: none; }
body.ns-redesign .ns-footer-form__success:focus,
body.ns-redesign #ns-page-contact-success:focus { outline: none; }
body.ns-redesign .field__label .ns-req { color: var(--a11y-accent-text); font-weight: 700; }
/* Zoom iOS : jamais de champ sous 16px. */
body.ns-redesign .field input,
body.ns-redesign .field select,
body.ns-redesign .field textarea,
body.ns-redesign .nl-field input,
body.ns-redesign input[type="search"] { font-size: 16px !important; min-height: 44px; }
body.ns-redesign .field textarea { min-height: 96px; }
body.ns-redesign .field select {
  background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
  background-position: calc(100% - 14px) 50%, calc(100% - 9px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 28px;
  appearance: none;
  -webkit-appearance: none;
}
/* Puces de réassurance du formulaire footer (remplacent le tiret cadratin). */
body.ns-redesign .ns-footer-form__bullets li { position: relative; padding-left: 18px; }
body.ns-redesign .ns-footer-form__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 8px;
  height: 2px;
  background: var(--a11y-accent-text);
}

/* 11. Mouvement réduit --------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.ns-redesign .cursor-dot,
  body.ns-redesign #ns-loader { display: none !important; }
  body.ns-redesign .hero-video { display: none !important; }
  body.ns-redesign .hero-sun,
  body.ns-redesign .hero-photo,
  body.ns-redesign [data-parallax],
  body.ns-redesign [data-tilt],
  body.ns-redesign .ns-manifesto-bignum { transform: none !important; }
  body.ns-redesign .split-text .word .inner { transition: none !important; transform: none !important; opacity: 1 !important; }
  body.ns-redesign .reveal-stagger > .tag { transform: none !important; opacity: 1 !important; }
  body.ns-redesign .ns-cta-band,
  body.ns-redesign .ns-cta-band * { transition: none !important; animation: none !important; }
  body.ns-redesign .ns-loader__pulse::before,
  body.ns-redesign .ns-loader__progress-bar > span { animation: none !important; }
  body.ns-redesign .ns-quick-contact { transition: none !important; }
  body.ns-redesign .skip-link { transition: none !important; }
}
/* Bouton pause de la vidéo du hero (injecté par footer.php si une vidéo autoplay est présente). */
body.ns-redesign .ns-video-toggle {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--ink) 25%, transparent);
  background: color-mix(in oklab, var(--cream) 88%, transparent);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  backdrop-filter: blur(8px);
}
body.ns-redesign .ns-video-toggle:hover { background: var(--cream); }
@media (max-width: 768px) { body.ns-redesign .ns-video-toggle { display: none; } }

/* 12. Tableaux, FAQ, carte, divers ---------------------------------------- */
body.ns-redesign .cb-table,
body.ns-redesign .wp-block-table,
body.ns-redesign .ns-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
body.ns-redesign .cb-table:focus-visible,
body.ns-redesign .wp-block-table:focus-visible { outline: 3px solid var(--a11y-focus); outline-offset: 2px; }
body.ns-redesign table th { text-align: left; }
body.ns-redesign table th,
body.ns-redesign table td { min-width: 96px; }
body.ns-redesign details summary { cursor: pointer; min-height: 44px; }
body.ns-redesign details summary::-webkit-details-marker { display: none; }
body.ns-redesign #ns-osm-lieux-map:focus-within { outline: 2px solid var(--a11y-focus); }
body.ns-redesign .leaflet-container { font-family: var(--sans); }
/* Aucun défilement horizontal parasite. */
body.ns-redesign { overflow-x: clip; }
/* Longueur de ligne confortable pour le texte courant. */
body.ns-redesign .ns-prose,
body.ns-redesign .article-prose,
body.ns-redesign .entry-content { max-width: 72ch; }
/* Liens "nouvelle fenêtre" : indice visuel discret + texte sr (footer.php). */
body.ns-redesign a[target="_blank"] .ns-ext-hint { font-size: 0.8em; opacity: 0.75; margin-left: 0.25em; }
/* Fil d'Ariane sur fond clair (pages ville) : texte encre, pas crème. */
body.ns-redesign .ns-breadcrumb--light,
body.ns-redesign .ns-breadcrumb--light a { color: var(--ink-soft); }
body.ns-redesign .ns-breadcrumb--light [aria-current] { color: var(--a11y-accent-text); }
body.ns-redesign .city-hero .hero-breadcrumb { margin-bottom: 18px; }
body.ns-redesign .city-hero .hero-breadcrumb,
body.ns-redesign .city-hero .hero-breadcrumb a { color: var(--ink-soft); }
body.ns-redesign .city-hero .hero-breadcrumb [aria-current] { color: var(--a11y-accent-text); }
/* Breadcrumb article (fond papier) */
body.ns-redesign .article-head .hero-breadcrumb,
body.ns-redesign .article-head .hero-breadcrumb a { color: var(--ink-soft); margin-bottom: 14px; }
body.ns-redesign .article-head .hero-breadcrumb [aria-current] { color: var(--a11y-accent-text); }

/* 13. Pied de page -------------------------------------------------------- */
/* Les titres de colonnes passent de h5 à h2 (ordre des titres) : même rendu qu'avant. */
body.ns-redesign .ns-footer .ns-footer__title {
  font-family: var(--sans) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.7;
  color: color-mix(in oklab, var(--accent-2) 70%, var(--cream));
  margin: 0 0 16px;
  line-height: 1.4;
}
body.ns-redesign .ns-footer address { font-style: normal; }
body.ns-redesign .ns-footer address a { color: inherit; text-decoration: none; display: inline-block; padding: 4px 0; }
body.ns-redesign .ns-footer address a:hover { color: var(--accent-2); }

/* 14. Compléments issus de la vérification live -------------------------- */
/* Carte tarif sombre : la règle existante force l'or #97710f en !important, meme sur fond ink (3.7:1).
   On remet l'or clair (accent-2) sur la carte sombre : 7.8:1. */
body.ns-redesign .further-card .kicker[style*="accent-2"],
body.ns-redesign .further-card[style*="--ink"] .kicker { color: var(--accent-2) !important; }
/* Sous-titres mono inline des cartes tarifs ("1 journée", "2 jours résidentiels") : 11px inline -> 12px sur mobile. */
@media (max-width: 880px) {
  body.ns-redesign .further-card p[style*="font-size:11px"],
  body.ns-redesign .pricing-grid p[style*="font-size:11px"] { font-size: 12px !important; letter-spacing: 0.1em !important; }
}
/* Fil d'Ariane sur photo (pages ville) : pastille crème translucide comme le kicker, lisible sur toute image. */
body.ns-redesign .city-hero .hero-breadcrumb {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--cream) 82%, transparent);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
