/* Wedding demos V4 - natural scroll + Road Too Asiamah-style background fades */
html.demo-v4{scroll-behavior:smooth}body.demo-v4{overflow-x:hidden!important;height:auto!important;min-height:100%!important}
.demo-v4-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:999;background:rgba(255,255,255,.12);pointer-events:none}.demo-v4-progress i{display:block;height:100%;width:100%;background:var(--t-accent,#C8A36A);transform-origin:left;transform:scaleX(0)}
body.demo-v4 .t-nav,body.demo-v4 .nav2{position:sticky!important;top:0!important;z-index:90!important}
body.demo-v4 main{overflow:visible!important;position:relative!important}
body.demo-v4 main>header,body.demo-v4 main>section,body.demo-v4 main>article,body.demo-v4 main>footer{position:relative!important;inset:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;height:auto!important;overflow:visible!important}
body.demo-v4 .demo-v3-controls,body.demo-v4 .demo-v3-guide,body.demo-v4 .demo-v3-guide-panel,body.demo-v4 .demo-v3-replay{display:none!important}
.demo-v4-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--wb-ease,cubic-bezier(.22,.61,.36,1)),transform .9s var(--wb-ease,cubic-bezier(.22,.61,.36,1))}.demo-v4-reveal.in{opacity:1;transform:none}
/* soft gradient bridges, no hard separators */
body.demo-theme-afro .sec--light{background:linear-gradient(180deg,var(--t-bg) 0,color-mix(in srgb,var(--t-surface) 0%,transparent) var(--bridge)),var(--t-surface)!important}
body.demo-theme-afro .sec--warm{background:linear-gradient(180deg,var(--t-surface) 0,color-mix(in srgb,var(--t-surface2) 0%,transparent) var(--bridge)),var(--t-surface2)!important}
body.demo-theme-destination .sec--sand{background:linear-gradient(180deg,var(--t-bg) 0,rgba(251,247,241,0) var(--bridge)),var(--t-surface)!important}
body.demo-theme-black .sec--soft{background:linear-gradient(180deg,var(--t-bg) 0,rgba(10,10,12,0) var(--bridge)),var(--t-surface)!important}
/* Minimal palette changes the whole canvas, not just text */
/* Image framing: protect faces more consistently */
body.demo-v4 img{object-position:center center}
body.demo-theme-minimal .hero__img img,body.demo-theme-editorial .cover__img img,body.demo-theme-black .hero__bg img{object-position:center 35%!important}
body.demo-theme-afro .hero img,body.demo-theme-destination .hero img{object-position:center 35%!important}
/* Contrast safeguards */
body.demo-theme-afro .sec--light,body.demo-theme-afro .sec--warm{color:var(--t-ink)!important}
body.demo-theme-afro .sec--light .p,body.demo-theme-afro .sec--warm .p{color:var(--t-ink-soft)!important}
body.demo-theme-black .sec--soft{color:var(--t-ink)!important}
body.demo-theme-destination .sec--sand{color:var(--t-ink)!important}
.demo-v4-font-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--t-line);font-size:13px;line-height:1.7;color:var(--t-ink-soft)}.demo-v4-font-note a{border-bottom:1px solid currentColor}
@media(max-width:800px){body.demo-v4 .t-nav,body.demo-v4 .nav2{top:0}body.demo-v4 main>section,body.demo-v4 main>article{min-height:auto}.demo-v4-reveal{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){html.demo-v4{scroll-behavior:auto}.demo-v4-reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ===== V4.1: transitions de couleur inspirées de Road Too Asiamah 26 ===== */
body.demo-v4 main>section,body.demo-v4 main>article{border:0!important;transition:background-color .7s var(--wb-ease,cubic-bezier(.22,.61,.36,1)),color .45s ease}
body.demo-v4 main>section::before,body.demo-v4 main>article::before{pointer-events:none}

/* Afro Chic : cacao -> sable -> cacao -> terre cuite, avec ponts de couleur souples */
body.demo-theme-afro{--afro-sand:#ead9c5;--afro-sand-ink:#2b1c17;--afro-sand-soft:#6f594e;--afro-terra:#8f412c;--afro-terra-soft:#f0d5c2}
body.demo-theme-afro .sec--light{
  background:linear-gradient(180deg,var(--t-bg) 0,rgba(34,25,19,0) var(--bridge)),var(--afro-sand)!important;
  color:var(--afro-sand-ink)!important
}
body.demo-theme-afro .sec--light .p,body.demo-theme-afro .sec--light .t-p,body.demo-theme-afro .sec--light .t-item span,body.demo-theme-afro .sec--light .t-label{color:var(--afro-sand-soft)!important}
body.demo-theme-afro .sec--light .eye,body.demo-theme-afro .sec--light .tl__h{color:#9a5537!important}
body.demo-theme-afro .sec--light + .sec{
  background:linear-gradient(180deg,var(--afro-sand) 0,rgba(234,217,197,0) var(--bridge)),var(--t-bg)!important
}
body.demo-theme-afro .sec--warm{
  background:linear-gradient(180deg,var(--t-bg) 0,rgba(34,25,19,0) var(--bridge)),radial-gradient(circle at 82% 20%,#aa5437 0,var(--afro-terra) 52%,#75311f 100%)!important;
  color:#fff6ec!important
}
body.demo-theme-afro .sec--warm .p,body.demo-theme-afro .sec--warm .t-p{color:var(--afro-terra-soft)!important}
body.demo-theme-afro .sec--warm + .sec{background:linear-gradient(180deg,#75311f 0,rgba(117,49,31,0) var(--bridge)),var(--t-bg)!important}
body.demo-theme-afro .sec--light .t-input,body.demo-theme-afro .sec--light .t-select,body.demo-theme-afro .sec--light .t-textarea{background:#f7ecdf!important;color:var(--afro-sand-ink)!important;border-color:rgba(43,28,23,.24)!important}
body.demo-theme-afro .sec--light .t-item{border-color:rgba(43,28,23,.2)!important;color:var(--afro-sand-ink)!important}

/* Destination : ivoire -> sable chaud -> ivoire, comme des pages d'un carnet */
body.demo-theme-destination .sec--sand{
  background:linear-gradient(180deg,var(--t-bg) 0,rgba(251,247,241,0) var(--bridge)),linear-gradient(135deg,#efe4d4 0,#e4d0b3 100%)!important;
  color:#3b322a!important
}
body.demo-theme-destination .sec--sand + .sec{background:linear-gradient(180deg,#e4d0b3 0,rgba(228,208,179,0) var(--bridge)),var(--t-bg)!important}

/* Black Tie : pas de coupure franche entre noir et charbon */
body.demo-theme-black .sec--soft{background:linear-gradient(180deg,#0a0a0c 0,rgba(10,10,12,0) var(--bridge)),#171719!important;color:#f4efe7!important}
body.demo-theme-black .sec--soft + .sec{background:linear-gradient(180deg,#171719 0,rgba(23,23,25,0) var(--bridge)),#0a0a0c!important}
body.demo-theme-black .sec--soft .t-p,body.demo-theme-black .sec--soft .p{color:#c9c0b5!important}

/* Minimal : le configurateur colore réellement tout le site */
body.demo-theme-minimal,body.demo-theme-minimal main,body.demo-theme-minimal .sec,body.demo-theme-minimal .cfg,body.demo-theme-minimal .foot,body.demo-theme-minimal .t-nav{transition:background-color .65s ease,color .45s ease,border-color .45s ease}

/* Photographies : pas de têtes coupées, cadrage ajusté par thème */
body.demo-v4 img{max-width:100%}
body.demo-theme-afro .hero__img img{object-position:50% 35%!important}
body.demo-theme-afro .round img{object-position:50% 24%!important}
body.demo-theme-botanical .bot-photo img{object-position:50% 35%!important}
body.demo-theme-destination .hero__ph img{object-position:50% 48%!important}
body.demo-theme-destination .duo img{object-position:50% 42%!important}
body.demo-theme-black .hero__bg img{object-position:50% 40%!important}
body.demo-theme-minimal .hero__img img{object-position:50% 38%!important}
body.demo-theme-editorial .cover__img img{object-position:50% 45%!important}

/* Navigation active, discrète, sans pastille */
body.demo-v4 .t-nav__links a.is-v4-active,body.demo-v4 .nav2 a.is-v4-active{color:var(--t-accent)!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}

/* V4.2 · contrastes contrôlés sur fonds clairs et colorés */
body.demo-theme-botanical .bot-nav button,body.demo-theme-botanical .bot-lang button{color:#5c6759!important}
body.demo-theme-botanical .bot-copy p,body.demo-theme-botanical .bot-intro p{color:#5c6759!important}
body.demo-theme-botanical .bot-timeline small{color:#5c6759!important}
body.demo-theme-afro .sec--light .t-place,body.demo-theme-afro .sec--light .t-item{background:rgba(255,255,255,.22)!important;border-color:rgba(43,28,23,.22)!important;color:var(--afro-sand-ink)!important}
body.demo-theme-afro .sec--light .t-place h4,body.demo-theme-afro .sec--light .t-place p,body.demo-theme-afro .sec--light .t-item strong,body.demo-theme-afro .sec--light .t-item span{color:var(--afro-sand-ink)!important}
body.demo-theme-afro .sec--light .t-place .t-p,body.demo-theme-afro .sec--light .t-item span{color:#675146!important}
