/* ===== CHARTE MAQUETTES 2026 — vert profond · crème · or · serif ===== */
@font-face{font-family:'Playfair Display';src:url('fonts/playfair.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root{
  --display:'Playfair Display',Georgia,serif;
  --encre:#103528;
  --encre-60:rgba(16,53,40,.62);
  --ambre:#B3873A;
  --ambre-fonce:#8a6420;
  --fond:#F8F5EE;
  --creme:#F8F5EE;
  --sable:#EFE9DC;
  --blanc:#FFFFFF;
  --ligne:rgba(16,53,40,.13);
}
h1,h2{letter-spacing:.2px}
/* ===== NVK — socle commun de navigation (refonte 2026) ===== */
.nav-fam{position:relative;display:inline-block}
.nav-fam>a{display:inline-block;padding:10px 11px;color:inherit;text-decoration:none;font-weight:600;font-size:14px;border-radius:10px}
nav:not(.scrolled) .nav-fam>a:hover{background:rgba(255,255,255,.14)}
nav.scrolled .nav-fam>a:hover{background:var(--sable,#F1EADD)}
.nav-fam .sm{position:absolute;top:100%;left:0;background:#fff;border:1px solid rgba(16,53,40,.12);border-radius:14px;box-shadow:0 18px 40px rgba(16,53,40,.14);padding:10px;display:none;min-width:230px;z-index:60}
.nav-fam:hover .sm,.nav-fam:focus-within .sm{display:grid;gap:2px}
.nav-fam .sm a{display:block;padding:9px 12px;border-radius:9px;color:#103528;text-decoration:none;font-size:13.5px;font-weight:500;white-space:nowrap}
.nav-fam .sm a:hover{background:var(--sable,#F1EADD);color:#8a5a1f}
.nav-cta-or{background:var(--ambre,#B3873A);color:#103528!important;font-weight:700;border-radius:999px;padding:11px 18px!important;font-size:13.5px!important;box-shadow:0 6px 18px rgba(180,118,42,.35)}
.nav-cta-or:hover{background:#c8873a!important}
@media(max-width:1120px){.nav-fam{display:none}}
@media(max-width:900px){.nav-cta-or{padding:9px 13px!important;font-size:11px!important}}
@media(max-width:760px){.nav-cta-or{display:none}}
.tabbar{display:none}
@media(max-width:820px){
  body{padding-bottom:66px}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:#103528;border-top:1px solid rgba(255,255,255,.12);padding:7px 4px calc(7px + env(safe-area-inset-bottom))}
  .tabbar a{display:grid;justify-items:center;gap:3px;text-decoration:none;color:#9fb0c4;font-size:10.5px;font-weight:600}
  .tabbar a.on{color:#E9B24A}
  .tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .nz-fab{bottom:84px!important}
}
/* neutralise le style majuscules des pages intérieures sur les familles */
.nav-links .nav-fam>a{font-family:var(--body,inherit);font-size:14px;letter-spacing:0;text-transform:none;opacity:1}
.nav-links .nav-fam .sm a{font-family:var(--body,inherit);font-size:13.5px;letter-spacing:0;text-transform:none;opacity:1}
.vie .bg{background-size:cover;background-position:center}
/* ═══ pliages mobile des composants récents ═══ */
@media(max-width:820px){
  footer>div:first-child{grid-template-columns:1fr!important;gap:26px!important;padding:36px 20px 20px!important}
  .bloc-contact{grid-template-columns:1fr!important}
  .bloc-contact>div:last-child{min-width:0!important}
  footer>div:last-child>div{flex-direction:column!important;gap:8px!important}
}
@media(max-width:600px){
  .conc-txt h2{font-size:1.35rem}
  .hero-ctas .hc{padding:12px 18px;font-size:11px}
}

/* resserrage V2 : on défile moins */
section{padding-top:clamp(28px,4.2vw,48px)!important;padding-bottom:clamp(28px,4.2vw,48px)!important}
.sec-head{margin-bottom:clamp(12px,1.8vw,20px)!important}
.sec-head .lead{margin-top:6px!important}

/* cartes découverte (héritées de Visiter) */
.grid-vie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:960px){.grid-vie{grid-template-columns:repeat(2,1fr)}}
.vie{position:relative;border-radius:18px;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff;text-decoration:none;box-shadow:0 6px 24px rgba(16,53,40,.10);transition:transform .45s,box-shadow .45s}
.vie:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(16,53,40,.18)}
.vie .bg{position:absolute;inset:0}
.vie .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,53,40,.05) 35%,rgba(16,53,40,.82) 100%)}
.vie h4{position:relative;font-family:var(--display);font-size:20px;margin-bottom:4px}
.vie p{position:relative;font-size:13.5px;color:rgba(255,255,255,.88);line-height:1.5}

/* ═══ FILET DE SÉCURITÉ : si le script d'animation meurt, le contenu apparaît quand même ═══ */
.reveal{animation:nz-filet .3s ease 1.6s forwards}
@keyframes nz-filet{to{opacity:1;transform:none}}
/* ═══ barre basse : indéboulonnable ═══ */
@media(max-width:820px){.tabbar{position:fixed!important;bottom:0!important;top:auto!important}}

/* ═══ bandeau : toujours visible et lisible en défilant, sur toutes les pages ═══ */
nav.scrolled{background:rgba(250,247,240,.93)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--encre,#103528)!important;border-bottom:1px solid var(--ligne,rgba(16,53,40,.13));box-shadow:0 6px 24px rgba(16,53,40,.08)}
/* ═══ mobile : Mon espace toujours visible dans le bandeau ═══ */
@media(max-width:760px){.nav-links a.mn-keep{display:inline-block!important;font-size:11px!important;padding:8px 12px!important;border:1px solid currentColor;border-radius:999px;opacity:.95}}
/* ═══ menu ☰ universel des pages intérieures (sans JavaScript) ═══ */
.mn-mob{display:none;position:relative}
@media(max-width:1120px){.mn-mob{display:block}}
.mn-mob summary{list-style:none;cursor:pointer;font-size:13px;font-weight:800;padding:9px 14px;border:1.5px solid currentColor;border-radius:999px;user-select:none}
.mn-mob summary::-webkit-details-marker{display:none}
.mn-mob[open] summary{background:var(--encre,#103528);color:#fff;border-color:var(--encre,#103528)}
.mn-mob .p{position:absolute;right:0;top:calc(100% + 10px);background:#fff;color:var(--encre,#103528);border:1px solid var(--ligne,rgba(16,53,40,.13));border-radius:16px;box-shadow:0 22px 50px rgba(16,53,40,.2);padding:10px;display:grid;gap:2px;min-width:230px;z-index:200}
.mn-mob .p a{display:block;padding:11px 13px;border-radius:10px;text-decoration:none;color:inherit;font-size:14px;font-weight:600}
.mn-mob .p a:active,.mn-mob .p a:hover{background:var(--sable,#EFE9DC)}

/* ═══ centrage universel des têtes de section ═══ */
.sec-head{text-align:center!important;margin-left:auto!important;margin-right:auto!important;max-width:820px}
.sec-head h2,.sec-head .lead,.sec-head .eyebrow,.sec-head p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.resa h3,.resa .st{text-align:center}
.duo h3,.duo p,.duo .eyebrow{text-align:center}
body{overflow-wrap:break-word}
/* ═══ la carte planifier : à l'échelle sur mobile ═══ */
@media(max-width:900px){
  .plani{margin:-26px 12px 0!important;padding:14px 12px!important}
  .plani-grid{gap:8px!important}
  .plani-grid a{padding:10px 9px!important;gap:8px!important}
  .plani-grid .pi{width:32px!important;height:32px!important}
  .plani-grid b{font-size:12px!important}
  .plani-grid span span{font-size:9.5px!important}
}

/* barre basse : libellés longs bien calés */
@media(max-width:820px){.tabbar a{font-size:9.5px;line-height:1.2;text-align:center;padding:0 2px}}
