/* DolceRoutes — Menu A « Ligne éditoriale » — 1.0.0
 * Dérivé de A de la série hybride validée le 21 septembre 2026.
 * Charger APRÈS style.css. Aucun CSS des propositions B/C ni de la maquette accueil.
 * .site-nav conservée uniquement pour les mesures des modules existants.
 */
:root {--nh-paper:#F9F4ED;--nh-white:#FFFDF9;--nh-rule:#D9CFC4;--nh-ink:#1C1510;--nh-muted:#6B5A4D;--nh-terra:#8C3A10;--nh-sans:"DM Sans",Lato,Arial,sans-serif;--nh-serif:"Playfair Display","Noto Serif",Georgia,serif;--nh-height:78px;--nh-admin:0px;}
html {scroll-padding-top:calc(var(--nh-height) + var(--nh-admin) + 18px);}
.nh-header, .nh-dialog {font:400 14px/1.5 var(--nh-sans);color:var(--nh-ink);}
.nh-header *, .nh-header *::before, .nh-header *::after, .nh-dialog *, .nh-dialog *::before, .nh-dialog *::after {box-sizing:border-box;}
.nh-header ul, .nh-dialog ul {margin:0;padding:0;list-style:none;}
.nh-header a, .nh-dialog a {color:inherit;text-decoration:none;}
.nh-header button, .nh-dialog button, .nh-dialog input {font:inherit;}
.nh-header button, .nh-dialog button {cursor:pointer;border:0;background:none;color:inherit;}
.nh-header :is(button,a):focus-visible, .nh-dialog :is(button,a,summary,input):focus-visible {outline:2px solid var(--nh-terra);outline-offset:4px;}
.nh-header [hidden], .nh-dialog [hidden] {display:none!important;}
.nh-icon {width:20px;height:20px;display:block;flex-shrink:0;}
.nh-skip {position:fixed;top:-100px;left:18px;z-index:1001;background:var(--nh-ink);color:white;padding:12px 18px;font:14px var(--nh-sans);}
.nh-skip:focus {top:5px;}
.nh-header {position:sticky;top:var(--nh-admin);z-index:210;background:var(--nh-white);border-bottom:1px solid var(--nh-rule);}
.nh-bar {position:relative;display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;column-gap:20px;max-width:1440px;padding:0 4%;min-height:77px;margin:auto;}
.nh-brand, .nh-dialog-brand {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;white-space:nowrap;width:max-content;position:relative;min-height:56px;}
.nh-wordmark {font:700 29px/1.12 var(--nh-serif);letter-spacing:-1.2px;white-space:nowrap;}
.nh-wordmark em {font-weight:500;color:#A14A22;font-style:italic;}
.nh-brand small, .nh-dialog-brand small {font:400 10px/1.4 var(--nh-sans);color:var(--nh-muted);letter-spacing:.015em;margin-top:5px;display:block;}
.nh-brand:hover .nh-wordmark {text-decoration:underline;text-decoration-color:var(--nh-rule);text-underline-offset:5px;text-decoration-thickness:1px;}
.nh-nav {justify-self:center;min-width:0;}
.nh-links {display:flex;align-items:center;gap:0;}
.nh-links>li {position:static;}
.nh-navlink {display:flex;position:relative;align-items:center;gap:7px;min-height:46px;padding:0 11px;font-size:14px!important;font-weight:500!important;white-space:nowrap;}
.nh-navlink::after {content:"";position:absolute;left:11px;right:11px;height:1px;bottom:4px;transform:scaleX(0);transform-origin:left;background:var(--nh-terra);}
.nh-navlink:is(:hover,[aria-expanded=true],:is([aria-current],[data-nav-active="true"])) {color:var(--nh-terra);}
.nh-navlink:is(:hover,[aria-expanded=true],:is([aria-current],[data-nav-active="true"]))::after {transform:scaleX(1);}
.nh-chevron {display:block;flex:none;width:5px;height:5px;border-bottom:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;}
[aria-expanded=true]>.nh-chevron {transform:rotate(225deg);margin-top:3px;}
.nh-actions {display:flex;align-items:center;gap:15px;}
.nh-search-open {min-width:44px;min-height:44px;display:grid;place-items:center;padding:0;}
.nh-saved {display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #BDAF9F;padding:0 12px;white-space:nowrap;font-size:12px;font-weight:500;}
.nh-saved .nh-icon {width:16px;height:16px;}
.nh-saved:hover {border-color:var(--nh-terra);background:#F3EDE3;}
.nh-menu-open {display:none;align-items:center;gap:7px;min-height:44px;padding:0 2px;}
.nh-regions {position:absolute;left:4%;right:4%;top:100%;display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;padding:29px 32px 25px;background:var(--nh-white);border:1px solid var(--nh-rule);border-top:2px solid var(--nh-terra);max-height:calc(100dvh - var(--nh-height) - var(--nh-admin) - 16px);overflow:auto;overscroll-behavior:contain;}
.nh-kicker {font:500 10px/1.5 var(--nh-sans);text-transform:uppercase;letter-spacing:.13em;color:var(--nh-terra);margin:0;}
.nh-region-intro {border-right:1px solid var(--nh-rule);padding-right:28px;}
.nh-panel-title {font:500 29px/1.23 var(--nh-serif);letter-spacing:-.025em;margin:11px 0 14px;}
.nh-panel-title em {font-weight:400;}
.nh-panel-note {font:400 12px/1.65 var(--nh-sans);color:var(--nh-muted);margin:0;}
.nh-region-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;}
.nh-region-grid a {display:block;min-height:47px;padding:11px 0;border-bottom:1px solid var(--nh-rule);font:500 20px/1.3 var(--nh-serif);}
.nh-region-grid a:hover {color:var(--nh-terra);text-decoration:underline;text-underline-offset:4px;}
.nh-directory-foot {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px;}
.nh-index-link {color:var(--nh-terra)!important;text-decoration:underline!important;text-underline-offset:4px;font:500 12px/1.5 var(--nh-sans);}
.nh-directory-foot>span {font:400 11px/1.5 var(--nh-sans);color:var(--nh-muted);}
.nh-header {border-bottom-color:#C5B4A2;}
.nh-dialog {padding:0;margin:auto;border:1px solid var(--nh-rule);max-width:100vw;max-height:100dvh;overflow:auto;overscroll-behavior:contain;background:var(--nh-white);}
.nh-dialog::backdrop {background:rgba(28,21,16,.34);}
.nh-dialog-head {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 23px;border-bottom:1px solid var(--nh-rule);position:sticky;top:0;background:inherit;z-index:2;}
.nh-dialog-brand .nh-wordmark {font-size:27px;}
.nh-dialog-brand small {font-size:9px;}
.nh-close {display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;flex:none;}
.nh-mobile {width:min(460px,100vw);height:100dvh;margin:0 0 0 auto;}
.nh-mobile-content {padding:20px 25px calc(28px + env(safe-area-inset-bottom));}
.nh-mobile-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;}
.nh-mobile-home {font:500 12px var(--nh-sans);text-decoration:underline!important;text-underline-offset:4px;}
.nh-mobile-search {display:flex;align-items:center;gap:12px;min-height:46px;width:100%;text-align:left;border:1px solid var(--nh-rule)!important;padding:12px!important;background:var(--nh-paper)!important;color:var(--nh-muted)!important;font-size:13px!important;margin-bottom:16px;}
.nh-mobile-link, .nh-mobile-nav summary {font:500 22px/1.3 var(--nh-serif);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:13px 0;border-bottom:1px solid var(--nh-rule);list-style:none;cursor:pointer;}
.nh-mobile-nav summary::-webkit-details-marker {display:none;}
.nh-mobile-nav :is(a:hover,a:is([aria-current],[data-nav-active="true"]),details[open]>summary) {color:var(--nh-terra);}
.nh-mobile-nav a:is([aria-current],[data-nav-active="true"]) {text-decoration:underline;text-underline-offset:4px;}
.nh-plus {display:block;width:14px;height:14px;position:relative;flex:none;color:var(--nh-terra);}
.nh-plus::before, .nh-plus::after {content:"";position:absolute;width:14px;height:1px;left:0;top:6px;background:currentColor;}
.nh-plus::after {transform:rotate(90deg);}
.nh-mobile-nav details[open] .nh-plus::after {display:none;}
.nh-mobile-region-list {padding:15px 0 19px;border-bottom:1px solid var(--nh-rule);}
.nh-region-note {font:italic 14px/1.4 var(--nh-serif);color:var(--nh-muted);margin:0 0 10px;}
.nh-mobile-region-list ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 21px;}
.nh-mobile-region-list li a {display:flex;align-items:center;min-height:44px;padding:10px 0;font:400 14px/1.4 var(--nh-sans);}
.nh-mobile-region-list .nh-index-link {display:inline-block;margin-top:12px;}
.nh-mobile-saved {display:flex;align-items:center;gap:15px;margin-top:24px;padding:16px;background:var(--nh-paper);border:1px solid var(--nh-rule);}
.nh-mobile-saved strong {font:500 14px/1.4 var(--nh-sans);display:block;}
.nh-mobile-saved small {font:400 11px/1.4 var(--nh-sans);color:var(--nh-muted);margin-top:4px;display:block;}
.nh-search {width:min(650px,calc(100vw - 32px));margin:calc(var(--nh-height) + var(--nh-admin) + 20px) auto auto;}
.nh-search-body {padding:28px 32px 32px;}
.nh-search-body h2 {font:500 36px/1.18 var(--nh-serif);letter-spacing:-.025em;margin:0 0 24px;}
.nh-search-body h2 em {font-weight:400;color:var(--nh-terra);}
.nh-search-body label {display:block;font-size:12px;margin-bottom:9px;}
.nh-search-field {display:flex;min-width:0;border:1px solid #AC9884;}
.nh-search-field input {border:0;border-radius:0;min-width:0;width:100%;flex:1;padding:14px;background:none;font-size:16px;color:var(--nh-ink);}
.nh-search-field button {padding:12px 18px;background:var(--nh-ink);color:var(--nh-white);font-size:12px;}
.nh-search-body>p {font-size:11px;color:var(--nh-muted);margin:12px 0 22px;}
.nh-search-links {display:flex;gap:22px;flex-wrap:wrap;}
.nh-search-links a {font-size:12px;color:var(--nh-terra);text-decoration:underline;text-underline-offset:4px;}
@media (min-width:1081px) and (max-width:1230px) {
.nh-bar {grid-template-columns:200px minmax(0,1fr) auto;gap:12px;padding:0 3%;}
.nh-wordmark {font-size:27px;}
.nh-navlink {font-size:13px!important;padding:0 8px;}
.nh-navlink::after {left:8px;right:8px;}
.nh-actions {gap:7px;}
.nh-saved {padding:0 9px;font-size:11px;}
}
@media (max-width:1080px) {
.nh-bar {grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:69px;padding:0 22px;}
.nh-brand {grid-column:1;grid-row:1;align-items:flex-start;}
.nh-wordmark {font-size:27px;}
.nh-nav {display:none;}
.nh-actions {grid-column:2;grid-row:1;gap:12px;display:flex;}
.nh-menu-open {display:flex;}
.nh-saved {border:0;padding:0;min-width:44px;min-height:44px;justify-content:center;}
.nh-saved > .nh-saved-label {display:none;}
.nh-saved .nh-icon {width:20px;height:20px;}
}
@media (max-width:520px) {
.nh-bar {padding:0 16px;min-height:65px;gap:6px;}
.nh-brand {min-height:50px;}
.nh-wordmark {font-size:25px;}
.nh-brand small {font-size:9px;letter-spacing:0;margin-top:4px;}
.nh-actions {gap:5px;}
.nh-saved {display:none;}
.nh-search-open {min-width:40px;}
.nh-menu-open {gap:6px;font-size:12px!important;}
.nh-dialog-head {padding:11px 19px;}
.nh-mobile-content {padding:19px 21px calc(24px + env(safe-area-inset-bottom));}
.nh-dialog-brand .nh-wordmark {font-size:25px;}
.nh-search {width:calc(100vw - 24px);margin:18px auto auto;}
.nh-search-body {padding:23px 20px;}
.nh-search-body h2 {font-size:29px;}
.nh-search-field {display:block;}
.nh-search-field button {width:100%;min-height:44px;}
.nh-mobile-region-list li a {font-size:13px;}
}
@media (max-width:360px) {
.nh-bar {padding:0 12px;gap:3px;}
.nh-wordmark {font-size:23px;}
.nh-brand small {font-size:9px;}
.nh-actions {gap:2px;}
.nh-menu-open {font-size:11px!important;gap:5px;}
.nh-mobile-content {padding-left:18px;padding-right:18px;}
.nh-mobile-region-list ul {gap:0 14px;}
}
@media (max-height:500px) and (min-width:1081px) {
.nh-regions {padding-top:16px;padding-bottom:16px;}
.nh-region-grid a {min-height:42px;padding:8px 0;}
}
@media (prefers-reduced-motion:reduce) {
html {scroll-behavior:auto;}
.nh-header *, .nh-dialog * {transition:none!important;}
}
@media (forced-colors:active) {
.nh-header, .nh-dialog, .nh-regions {border:1px solid CanvasText;}
.nh-header .nh-brand {background:Canvas;color:CanvasText;}
.nh-header .nh-brand .nh-wordmark em, .nh-header .nh-brand small {color:CanvasText;}
.nh-navlink::after, .nh-plus::before, .nh-plus::after {background:CanvasText;}
}
@media print {
.nh-header, .nh-dialog, .nh-skip {display:none!important;}
}
/* Intégration du bandeau dans le thème existant. */
#nh-header {
  --dr-navigation-module: 1;
  margin: 0; padding: 0; width: 100%; max-width: none;
  position: sticky; top: var(--nh-admin); z-index: 210;
  background: var(--nh-white); border: 0; border-bottom: 1px solid #C5B4A2;
  box-shadow: none; overflow: visible;
}
#nh-header, .nh-dialog, .nh-fallback {box-sizing: border-box;}
#nh-header .nh-bar {width:100%;}
#nh-header .nh-navlink, .nh-dialog button {text-transform:none;letter-spacing:normal;}
#nh-header .nh-links > li {margin:0;padding:0;list-style:none;}
#nh-header .nh-disclosure {position:static;}
#nh-header summary.nh-region-trigger {list-style:none;cursor:pointer;}
#nh-header summary.nh-region-trigger::-webkit-details-marker {display:none;}
#nh-header summary.nh-region-trigger::marker {content:'';}
#nh-header .nh-disclosure[open] > summary {color:var(--nh-terra);}
#nh-header .nh-disclosure[open] > summary::after {transform:scaleX(1);}
#nh-header .nh-disclosure[open] > summary .nh-chevron {transform:rotate(225deg);margin-top:3px;}
#nh-header .nh-region-grid li {min-width:0;}
#nh-header .nh-region-grid a, .nh-dialog .nh-mobile-region-list a {overflow-wrap:anywhere;}
#nh-header .nh-region-grid a[aria-current] {color:var(--nh-terra);text-decoration:underline;}
#nh-header .nh-icon, .nh-dialog .nh-icon {fill:none;overflow:visible;}
.nh-dialog p, .nh-dialog h2 {padding:0;}
.nh-dialog .nh-kicker {margin:0;font:500 10px/1.5 var(--nh-sans);letter-spacing:.13em;text-transform:uppercase;}
.nh-dialog:not([open]) {display:none;}
.nh-dialog[open] {display:block;}
.nh-dialog .nh-mobile-nav details {margin:0;padding:0;border:0;}
.nh-dialog .nh-mobile-nav summary {margin:0;}
.nh-dialog .nh-search-field input {box-shadow:none;}
.nh-dialog .nh-search-field button {border-radius:0;}
.nh-dialog .nh-mobile-region-list ul {list-style:none;}
.nh-dialog .nh-mobile-region-list li {margin:0;min-width:0;}
body.admin-bar {--nh-admin:32px;}
@media(max-width:782px) {body.admin-bar {--nh-admin:46px;}}
@media(max-width:600px) {body.admin-bar {--nh-admin:0px;}}
@media(max-width:1080px) {:root {--nh-height:70px;}}
@media(max-width:520px) {:root {--nh-height:66px;}}
/* Le badge réutilise l'ID attendu par les pages Mes voyages et itinéraire.
   Position absolue : l'apparition du nombre ne décale pas la navigation. */
#nh-header .nh-saved, .nh-dialog .nh-mobile-saved {position:relative;}
#nh-header .nh-saved .dr-favoris-count,
.nh-dialog .nh-mobile-saved .nh-favoris-count {
  position:absolute;top:-6px;right:-6px;min-width:18px;padding:2px 4px;
  border:1px solid var(--nh-rule);border-radius:10px;
  background:var(--nh-white);color:var(--nh-terra);text-align:center;
  font:600 10px/1.2 var(--nh-sans);font-variant-numeric:tabular-nums;
}
/* Repli natif : les liens de recherche/menu restent utilisables sans script.
   Ce bloc ne s'affiche qu'après avoir suivi son lien d'ancre. */
.nh-fallback {display:none;max-width:900px;margin:auto;padding:24px;
 background:var(--nh-white);border-bottom:1px solid var(--nh-rule);color:var(--nh-ink);
 font:400 14px/1.6 var(--nh-sans);scroll-margin-top:calc(var(--nh-height) + 20px);}
.nh-fallback:target {display:block;}
.nh-fallback h2 {font:500 25px/1.3 var(--nh-serif);margin:0 0 18px;}
.nh-fallback nav {display:flex;gap:16px;flex-wrap:wrap;margin:16px 0;}
.nh-fallback a {color:var(--nh-terra);text-decoration:underline;}
.nh-fallback summary {cursor:pointer;padding:12px 0;}
.nh-fallback ul {list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;padding:0;margin:12px 0;}
.nh-fallback li a {display:block;padding:10px 0;overflow-wrap:anywhere;}
.nh-fallback label {display:block;margin-bottom:8px;}
.nh-fallback form {margin:18px 0;}
.nh-fallback form div {display:flex;gap:8px;}
.nh-fallback input {width:100%;min-width:0;padding:12px;font:16px var(--nh-sans);border:1px solid var(--nh-rule);}
.nh-fallback button {font:14px var(--nh-sans);background:var(--nh-ink);color:var(--nh-white);padding:10px 14px;border:0;}
.nh-fallback :is(a,input,button,summary):focus-visible {outline:2px solid var(--nh-terra);outline-offset:3px;}
@media(max-width:520px) {.nh-fallback ul {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media print {.nh-fallback {display:none!important;}}
