/*
Theme Name: Esprit du Désert
Theme URI: https://esprit-du-desert.com
Author: FullDo
Author URI: https://fulldo.fr
Description: Thème sur mesure pour Esprit du Désert — agence de voyage spécialiste du Sahara tunisien. Design éditorial chaleureux, types de contenu Circuits / Destinations / Expériences / Thématiques, optimisé SEO et performance.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: esprit-du-desert
*/

/* ============================================================
   SYSTÈME DE DESIGN — Esprit du Désert
   (Les variables, composants et utilitaires partagés par tous
    les templates. Identique aux maquettes validées.)
   ============================================================ */
:root{
  --cream:#FAF4EA;--cream-2:#F3E9D6;--linen:#EFE3CC;
  --ocre:#C8893F;--terra:#B5512E;--terra-d:#8F3E22;--gold:#B8893D;--green:#5E7257;
  --ink:#2A1E14;--ink-2:#6B5A48;--espresso:#33231A;--line:rgba(42,30,20,.14);
  --d:"Fraunces",Georgia,serif;--s:"Outfit",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--s);color:var(--ink);font-weight:300;line-height:1.62;background:var(--cream);overflow-x:hidden}
::selection{background:var(--terra);color:var(--cream)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(1240px,91vw);margin-inline:auto}
.d{font-family:var(--d)}.ital{font-style:italic}
svg.ic{width:28px;height:28px;display:block}
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;font-weight:500;color:var(--terra)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.7em;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:1.02em 1.8em;border-radius:40px;transition:.4s;cursor:pointer;white-space:nowrap}
.btn .arr{transition:.4s}.btn:hover .arr{transform:translateX(5px)}
.btn-fill{background:var(--terra);color:var(--cream)}.btn-fill:hover{background:var(--terra-d)}
.btn-dark{background:var(--espresso);color:var(--cream)}.btn-dark:hover{background:var(--terra)}
.btn-line{border:1px solid var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--cream)}
.btn-light{border:1px solid rgba(255,255,255,.7);color:#fff}.btn-light:hover{background:#fff;color:var(--ink)}
.btn-wa{background:#1ea65a;color:#fff}.btn-wa:hover{background:#15904c}

/* Reveal on scroll */
.rev{opacity:0;transform:translateY(28px);transition:.9s cubic-bezier(.16,1,.3,1)}
.rev.in{opacity:1;transform:none}
.rev.d1{transition-delay:.1s}.rev.d2{transition-delay:.2s}.rev.d3{transition-delay:.3s}

/* Header / nav */
header.site{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .35s ease,box-shadow .35s ease}
body.admin-bar header.site{top:32px}
@media(max-width:782px){body.admin-bar header.site{top:46px}}
.nav{display:flex;align-items:center;justify-content:space-between;padding:15px 0;gap:22px}
.logo{font-family:var(--d);font-size:1.35rem;display:flex;align-items:center;gap:.5em;color:#fff;transition:color .35s;white-space:nowrap;flex:0 0 auto;z-index:2}
.logo b{font-style:italic;font-weight:300}.logo svg{width:17px;height:17px;color:var(--gold)}
.primary-nav{margin-left:auto}
.menu{display:flex;align-items:center;gap:26px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;transition:color .35s;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu a{position:relative;display:inline-flex;align-items:center;gap:.45em;padding-bottom:3px;color:inherit;white-space:nowrap}
.menu>li>a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:.35s}
.menu>li>a:hover::after{width:100%}
.caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .3s}
.has-sub:hover .caret,.has-sub:focus-within .caret{transform:rotate(225deg);margin-top:2px}
.submenu{position:absolute;top:100%;left:-14px;min-width:212px;background:var(--cream);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 50px -28px rgba(42,30,20,.55);padding:8px;margin-top:12px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.28s cubic-bezier(.16,1,.3,1);list-style:none;z-index:5}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:none;margin-top:8px}
.submenu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.submenu li{margin:0}
.submenu a{display:block;padding:9px 14px;border-radius:8px;font-size:.72rem;letter-spacing:.1em;color:var(--ink);white-space:nowrap;transition:.2s}
.submenu a::after{display:none}
.submenu a:hover{background:var(--cream-2);color:var(--terra)}
.nav-cta{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,.7);color:#fff;padding:.7em 1.25em;border-radius:40px;transition:.35s;white-space:nowrap;flex:0 0 auto}
.nav-cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.menu-cta-mobile{display:none}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:transparent;border:0;cursor:pointer;padding:0;margin-left:auto;z-index:2}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}
header.site.scrolled{background:rgba(250,244,234,.9);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px);box-shadow:0 6px 30px -18px rgba(42,30,20,.5)}
header.site.scrolled .logo,header.site.scrolled .menu{color:var(--ink)}
header.site.scrolled .nav-cta{border-color:var(--terra);color:var(--terra)}
header.site.scrolled .nav-cta:hover{background:var(--terra);color:#fff}
header.site.scrolled .nav-toggle span{background:var(--ink)}
@media(max-width:960px){
.nav-toggle{display:flex}
.nav-cta{display:none}
.primary-nav{position:fixed;inset:0 0 0 auto;width:min(320px,84vw);background:var(--cream);box-shadow:-30px 0 60px -30px rgba(42,30,20,.6);transform:translateX(100%);transition:transform .38s cubic-bezier(.16,1,.3,1);padding:88px 26px 30px;overflow-y:auto;margin:0}
body.nav-open .primary-nav{transform:none}
body.nav-open{overflow:hidden}
.menu{flex-direction:column;align-items:stretch;gap:0;color:var(--ink)}
.menu a{color:var(--ink);padding:13px 4px;font-size:.82rem}
.menu>li{border-bottom:1px solid var(--line)}
.menu>li>a::after{display:none}
.caret{margin-left:auto}
.submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 8px 12px;margin:0;min-width:0}
.submenu a{padding:9px 4px;font-size:.76rem;color:#5b4a38}
.menu-cta-mobile{display:block;border-bottom:0!important;margin-top:16px}
.menu-cta-mobile a{background:var(--terra);color:#fff!important;text-align:center;border-radius:40px;padding:14px;justify-content:center}
body.nav-open .nav-toggle span{background:var(--ink)}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* Hero */
.hero{height:76svh;min-height:500px;position:relative;display:flex;align-items:flex-end;padding-bottom:5vh;color:#fff}
.hero .bg{position:absolute;inset:0;z-index:0}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero .bg video.hero-video{width:100%;height:100%;object-fit:cover;display:block}
.hero .bg .hero-video-fallback{display:none}
@media(max-width:760px){.hero .bg video.hero-video{display:none}.hero .bg .hero-video-fallback{display:block;width:100%;height:100%;object-fit:cover}}
@media(prefers-reduced-motion:reduce){.hero .bg video.hero-video{display:none}.hero .bg .hero-video-fallback{display:block;width:100%;height:100%;object-fit:cover}}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,30,15,.42),rgba(50,30,15,.06) 38%,rgba(35,20,10,.73))}
.hero .inner{position:relative;z-index:2;width:min(1240px,91vw);margin-inline:auto}
.hero.tall{height:100svh;min-height:620px}
.crumb{font-size:.76rem;color:rgba(255,255,255,.82);margin-bottom:14px}.crumb a:hover{color:#fff}
.hero h1{font-family:var(--d);font-weight:300;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.98;letter-spacing:-.02em}
.hero .tag{font-family:var(--d);font-style:italic;font-size:1.3rem;color:#ffdfa9;margin-top:8px}
.hero .facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:18px;font-size:.92rem;color:rgba(255,255,255,.92)}
.hero .facts b{font-family:var(--d);font-style:italic;color:#ffdfa9;font-weight:400}

/* Sections */
.sec{padding:9vh 0}.alt{background:var(--cream-2)}
.sectop{margin-bottom:42px}
.sectop h2{font-family:var(--d);font-weight:300;font-size:clamp(1.9rem,4vw,3rem);line-height:1.05}
.sectop h2 .ital{color:var(--terra)}
.sectop p{color:var(--ink-2);margin-top:10px;max-width:62ch}
.lead{font-family:var(--d);font-weight:300;font-size:clamp(1.3rem,2.3vw,1.7rem);line-height:1.45;margin-bottom:26px}
.lead .ital{color:var(--terra)}
.prose p{margin:0 0 16px;color:var(--ink-2)}

/* Key bar */
.keybar{background:var(--espresso);color:var(--cream)}
.keybar .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:22px 0}
.keybar .k .l{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,244,234,.6)}
.keybar .k .v{font-family:var(--d);font-size:1.15rem;margin-top:2px}
@media(max-width:620px){.keybar .wrap{grid-template-columns:1fr 1fr;gap:18px}}

/* Feature cards */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ft{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:26px;transition:.4s}
.ft:hover{transform:translateY(-4px);box-shadow:0 24px 50px -38px rgba(42,30,20,.6)}
.ft .ico{width:46px;height:46px;border-radius:12px;background:var(--linen);color:var(--terra);display:grid;place-items:center;margin-bottom:16px}
.ft h3{font-family:var(--d);font-weight:400;font-size:1.35rem;margin-bottom:6px}.ft p{font-size:.92rem;color:var(--ink-2)}
@media(max-width:780px){.feats{grid-template-columns:1fr}}

/* Cards grid (circuits/destinations) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--cream);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.4s}
.card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -36px rgba(42,30,20,.6)}
.card .ph{height:190px;position:relative}.card .ph img{width:100%;height:100%;object-fit:cover}
.card .ph .bd{position:absolute;top:14px;left:14px;background:var(--cream);color:var(--terra-d);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:6px 12px;border-radius:20px}
.card .b{padding:20px}
.card .b .meta{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.card .b h3{font-family:var(--d);font-weight:400;font-size:1.4rem;margin:4px 0 8px}
.card .b .pr{font-family:var(--d);font-style:italic;color:var(--terra)}
@media(max-width:820px){.cards{grid-template-columns:1fr}}

/* Two-col layout (single circuit) */
.layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}
@media(max-width:980px){.layout{grid-template-columns:1fr}}

/* Day-by-day timeline */
.tline{position:relative;margin-top:10px}
.tline::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--ocre),var(--linen))}
.dayblock{position:relative;padding-left:70px;margin-bottom:38px}
.dayblock .dot{position:absolute;left:10px;top:2px;width:28px;height:28px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;font-family:var(--d);font-style:italic;font-size:.85rem;z-index:2;box-shadow:0 0 0 5px var(--cream)}
.dayblock .card{border-radius:10px;overflow:hidden}
.dayblock .ph{height:200px}.dayblock .ph img{width:100%;height:100%;object-fit:cover}
.dayblock .ct{padding:22px 24px}
.dayblock .dno{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.dayblock h3{font-family:var(--d);font-weight:400;font-size:1.5rem;margin:3px 0 8px}
.dayblock p{color:var(--ink-2);font-size:.95rem}
.dayblock .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.dayblock .tg{font-size:.74rem;background:var(--linen);border-radius:20px;padding:5px 12px;color:var(--ink)}
.dayblock .tg.meal{background:#e9efe2;color:var(--green)}

/* Inc/exc */
.incexc{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.incexc .col{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:24px}
.incexc h4{font-family:var(--d);font-size:1.2rem;margin-bottom:14px}
.incexc ul{list-style:none;display:grid;gap:10px}
.incexc li{display:flex;gap:10px;font-size:.92rem;align-items:flex-start}
.incexc .yes li::before{content:"✓";color:var(--green);font-weight:600}
.incexc .no li::before{content:"–";color:var(--terra);font-weight:600}
@media(max-width:620px){.incexc{grid-template-columns:1fr}}

/* Gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:12px}
.gal a,.gal figure{border-radius:8px;overflow:hidden;margin:0}
.gal img{width:100%;height:100%;object-fit:cover;transition:1s cubic-bezier(.16,1,.3,1)}
.gal a:hover img,.gal figure:hover img{transform:scale(1.07)}
.gal .w2{grid-column:span 2}.gal .h2{grid-row:span 2}
@media(max-width:620px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:130px}}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 4px;display:flex;justify-content:space-between;gap:20px;font-family:var(--d);font-size:1.2rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--terra);font-size:1.4rem;transition:.3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 4px 22px;color:var(--ink-2);max-width:74ch}

/* Booking card */
.book{position:sticky;top:90px;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 30px 60px -44px rgba(42,30,20,.7)}
.book .from{font-size:.8rem;color:var(--ink-2)}
.book .price{font-family:var(--d);font-size:2.2rem;color:var(--terra);line-height:1}
.book .price small{font-size:.9rem;color:var(--ink-2);font-style:italic}
.book .rate{display:flex;align-items:center;gap:8px;margin:12px 0 18px;font-size:.86rem;color:var(--ink-2)}
.book .rate .st{color:var(--gold);letter-spacing:1px}
.book .btns{display:grid;gap:9px;margin-top:14px}
.book .reassure{margin-top:16px;display:grid;gap:8px;font-size:.82rem;color:var(--ink-2)}
.book .reassure div{display:flex;gap:8px}.book .reassure .i{color:var(--green)}
.book .reassure .i svg{width:16px;height:16px;display:block}
.book .note{font-size:.74rem;color:var(--ink-2);margin-top:12px;border-top:1px solid var(--line);padding-top:12px}

/* CTA band */
.cta{position:relative;color:#fff;text-align:center;padding:16vh 0}
.cta .bg{position:absolute;inset:0;z-index:0}.cta .bg img{width:100%;height:100%;object-fit:cover}
.cta .bg::after{content:"";position:absolute;inset:0;background:rgba(40,24,12,.53)}
.cta .wrap{position:relative;z-index:2}
.cta h2{font-family:var(--d);font-weight:300;font-size:clamp(2rem,4.6vw,3.4rem);max-width:22ch;margin:0 auto 14px}
.cta p{max-width:48ch;margin:0 auto 28px;color:rgba(255,255,255,.9)}
.cta .btns{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}

/* Mobile booking bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--cream);border-top:1px solid var(--line);padding:12px 16px;display:none;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -10px 30px -20px rgba(0,0,0,.4)}
.mbar .p{font-family:var(--d);color:var(--terra);font-size:1.2rem}.mbar .p small{color:var(--ink-2);font-size:.7rem;display:block}
@media(max-width:980px){.mbar{display:flex}.book{display:none}}

/* Footer */
footer.site{background:var(--espresso);color:rgba(250,244,234,.72);padding:8vh 0 34px}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:46px}
.fg h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:500}
.fg ul{list-style:none;display:grid;gap:10px}.fg a:hover{color:var(--cream)}
.flogo{font-family:var(--d);font-size:1.6rem;color:var(--cream);margin-bottom:14px}
.flogo b{font-style:italic;font-weight:300;color:var(--gold)}
/* Trust bar */
.trustbar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:26px 0}
.trustbar .ti{padding:4px 22px;border-left:1px solid rgba(250,244,234,.16)}
.trustbar .ti:first-child{border-left:0;padding-left:0}
.trustbar .ti b{display:block;font-size:1.15rem;color:#ffdfa9;font-weight:400}
.trustbar .ti span{font-size:.82rem;color:rgba(250,244,234,.7)}
@media(max-width:820px){.trustbar{grid-template-columns:1fr 1fr;gap:18px}.trustbar .ti{border-left:0;padding:4px 0}}

/* Avis / temoignages */
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.avis{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:26px;margin:0;display:flex;flex-direction:column;gap:12px}
.avis .stars{color:var(--gold);letter-spacing:2px;font-size:1rem}
.avis blockquote{margin:0;font-family:var(--d);font-weight:300;font-size:1.08rem;line-height:1.5;color:var(--ink)}
.avis figcaption{margin-top:auto}.avis figcaption b{display:block;font-size:1.02rem}.avis figcaption span{font-size:.82rem;color:var(--ink-2)}
@media(max-width:820px){.avis-grid{grid-template-columns:1fr}}

/* Bouton impression / PDF */
.btn-print{border:1px solid var(--line);color:var(--ink);background:var(--cream);width:100%;justify-content:center}
.btn-print:hover{background:var(--cream-2)}

/* Impression : programme brandé (PDF via navigateur) */
.print-only{display:none}
@media print{
	@page{margin:14mm 13mm 16mm}
	*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
	header.site,footer.site,.mbar,.book,.subnav,.hero,.cta,.trustbar,#wpadminbar,.filters,.archfilter,.avis-grid,.btn,.gal,.faq,.keybar,.reassure,.no-print{display:none!important}
	.print-only{display:block!important}
	.rev{opacity:1!important;transform:none!important}
	body{background:#fff!important;color:#2A1E14!important;font-family:"Outfit",Arial,sans-serif;font-size:10.5pt;line-height:1.4}
	.sec{padding:0!important}
	.layout{display:block!important}
	.content,aside{width:100%!important;display:block!important}
	a[href]:after{content:""!important}
	.print-head{border-bottom:2px solid #B5512E;padding-bottom:9px;margin-bottom:14px}
	.print-head .ph-top{display:flex;justify-content:space-between;align-items:baseline}
	.print-head .ph-brand{font-family:"Fraunces",Georgia,serif;font-size:15pt;color:#2A1E14}
	.print-head .ph-brand b{font-style:italic;font-weight:400;color:#B5512E}
	.print-head .ph-brand svg{width:12px;height:12px;color:#B8893D;vertical-align:middle}
	.print-head .ph-lic{font-size:7.5pt;letter-spacing:.05em;color:#6B5A48;text-transform:uppercase}
	.print-head .ph-title{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:21pt;color:#2A1E14;margin:11px 0 3px;line-height:1.05}
	.print-head .ph-facts{font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:10pt;color:#B5512E}
	.lead{font-size:10.5pt!important;color:#2A1E14!important;margin:0 0 10px!important}
	.content>.rev[style*="border-left"]{border:0!important;border-left:2px solid #B5512E!important;background:#F5EEDF!important;padding:8px 12px!important;border-radius:0!important;margin:0 0 12px!important}
	.content>.rev[style*="border-left"] p{font-size:10pt!important;color:#2A1E14!important}
	.prose{margin-top:10px!important}.prose p{font-size:10pt;margin:0 0 6px}
	h2.sectop{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:14pt!important;color:#2A1E14!important;margin:16px 0 7px!important;padding-bottom:3px;border-bottom:1px solid #EFE3CC;break-after:avoid}
	h2.sectop .ital{color:#B5512E!important;font-style:italic}
	.tline::before{display:none!important}
	.dayblock{position:static!important;padding:0!important;margin:0 0 7px!important;break-inside:avoid}
	.dayblock .dot{position:static!important;display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;background:none!important;color:#B5512E!important;box-shadow:none!important;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:11pt;margin:0 6px 0 0;padding:0!important}
	.dayblock .card{border:0!important;box-shadow:none!important;background:none!important;border-radius:0!important;display:block!important}
	.dayblock .ph{display:none!important}
	.dayblock .ct{padding:0!important;display:inline}
	.dayblock .dno{font-size:7.5pt;letter-spacing:.1em;text-transform:uppercase;color:#B5512E;margin-bottom:1px}
	.dayblock h3{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:11.5pt;margin:0;display:inline}
	.dayblock p{font-size:9.7pt;color:#3a2e22;margin:2px 0 0}
	.dayblock .tags{margin-top:3px}
	.dayblock .tg{font-size:8pt;background:#F3E9D6!important;border-radius:10px;padding:1px 8px;color:#2A1E14;margin-right:4px}
	.dayblock .tg.meal{background:#e9efe2!important;color:#5E7257}
	.incexc{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;break-inside:avoid}
	.incexc .col{border:1px solid #EFE3CC!important;border-radius:5px;padding:9px 12px!important}
	.incexc h4{font-family:"Fraunces",Georgia,serif;font-size:10.5pt;margin-bottom:5px}
	.incexc li{font-size:9.3pt;margin:2px 0}
	.ptable{width:100%!important;max-width:100%!important}
	.ptable th{font-size:9.5pt!important;border-bottom:1.5px solid #B5512E!important;padding:6px 10px!important}
	.ptable td{font-size:9.7pt!important;padding:5px 10px!important;border-bottom:1px solid #EFE3CC!important}
	.ptable td:last-child{color:#B5512E!important}
	.print-foot{margin-top:16px;border-top:1px solid #EFE3CC;padding-top:8px;break-inside:avoid}
	.print-foot .pf-line{font-size:8.5pt;color:#3a2e22;margin:1px 0}
	.print-foot .pf-line b{color:#2A1E14}
	.print-foot .pf-note{font-size:8pt;font-style:italic;color:#6B5A48;margin-top:4px}
}

/* Sous-navigation sticky des fiches */
.subnav{position:sticky;top:58px;z-index:45;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 6px 20px -18px rgba(42,30,20,.5)}
.subnav .wrap{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{padding:15px 16px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;border-bottom:2px solid transparent;transition:.25s}
.subnav a:hover{color:var(--terra);border-bottom-color:var(--terra)}
.subnav .sn-cta{margin-left:auto;color:var(--terra);font-weight:500}
#s-prog,#s-tarifs,#s-inclus,#s-galerie,#s-faq{scroll-margin-top:120px}
@media(max-width:640px){.subnav .sn-cta{display:none}}

/* Banniere de contexte du configurateur */
.ctx-banner{background:var(--cream-2);border:1px solid var(--line);border-left:3px solid var(--terra);border-radius:12px;padding:20px 24px;margin:0 0 22px}
.ctx-banner .eyebrow{color:var(--terra)}
.ctx-banner b{display:block;font-size:1.4rem;margin:4px 0 6px;color:var(--ink)}
.ctx-banner p{color:var(--ink-2);font-size:.92rem;margin:0}

/* Chercheur « Trouvez votre voyage » (hero accueil) */
.finder{margin-top:30px;max-width:min(760px,100%);background:rgba(35,22,12,.30);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:18px 20px}
.finder-label{display:block;font-family:var(--d);font-style:italic;font-size:1.15rem;color:#ffdfa9;margin-bottom:14px}
.finder-fields{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.finder .ff{display:flex;flex-direction:column;gap:7px;flex:1 1 190px}
.finder label{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.finder select{appearance:none;-webkit-appearance:none;background-color:rgba(255,255,255,.96);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%232A1E14' stroke-width='1.6'><path d='M1 1.5 6 6.5 11 1.5'/></svg>");background-repeat:no-repeat;background-position:right 14px center;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:13px 38px 13px 15px;font-family:var(--s);font-size:.94rem;color:var(--ink);cursor:pointer;width:100%;transition:.25s}
.finder select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,61,.3)}
.finder button{flex:0 0 auto}
@media(max-width:640px){.finder-fields{flex-direction:column;align-items:stretch}.finder button{width:100%;justify-content:center}}

/* Filtres d'archives (recherche instantanée + puces de catégorie) */
.archfilter{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-end;margin-bottom:36px;border-bottom:1px solid var(--line);padding-bottom:22px}
.arch-search{width:min(320px,100%);border:1px solid var(--line);background:var(--cream);border-radius:30px;padding:11px 18px;font-family:var(--s);font-size:.9rem;color:var(--ink);transition:.25s}
.arch-search:focus{outline:none;border-color:var(--ocre);box-shadow:0 0 0 3px rgba(184,137,61,.18)}
.chipf{border:1px solid var(--line);background:var(--cream);border-radius:30px;padding:8px 15px;font-size:.82rem;font-family:var(--s);cursor:pointer;transition:.25s;color:var(--ink)}
.chipf:hover{border-color:var(--ocre)}
.chipf.on{background:var(--terra);border-color:var(--terra);color:#fff}
.citem{transition:.3s}
