:root{--v5-ease:cubic-bezier(.22,.61,.36,1)}
/* ========================================================================
   WEBENA V5 · FINITION WOW
   Natural scroll, Road Too Asiamah-style color bridges, stronger photography
   and theme-specific motion without SaaS/AI visual clichés.
   ======================================================================== */

html{scroll-behavior:smooth}

/* ----------------------------- shared progress --------------------------- */
.v4-scroll-progress,.demo-v4-progress{height:3px!important;background:rgba(31,31,31,.055)!important;backdrop-filter:blur(3px)}
.v4-scroll-progress>i,.demo-v4-progress i{box-shadow:0 0 14px color-mix(in srgb,var(--t-accent,#C8A36A) 38%,transparent)}

/* ------------------------------ demos ----------------------------------- */


body.demo-v4 .t-nav,body.demo-v4 .nav2{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body.demo-v4 .t-nav__links a,body.demo-v4 .nav2 a{transition:color .25s ease,opacity .25s ease,text-decoration-color .25s ease}

/* More cinematic scroll reveals. */
body.demo-v4 .demo-v4-reveal{opacity:0;transform:translateY(38px);transition:opacity 1s var(--v5-ease),transform 1s var(--v5-ease)}
body.demo-v4 .demo-v4-reveal.in{opacity:1;transform:none}
body.demo-v4 img{transition:transform 1.5s var(--v5-ease),filter .8s ease}
body.demo-v4 .demo-v4-reveal img{transform:scale(1.025)}
body.demo-v4 .demo-v4-reveal.in img{transform:scale(1)}

/* Road-like transitions: long bridges, no separator line. */
body.demo-theme-botanical .bot-location{background:linear-gradient(180deg,#F4F0E8 0,rgba(244,240,232,.82) 18%,rgba(244,240,232,0) var(--v5-bridge)),linear-gradient(145deg,#DCE5D7,#C9D7C1)!important}
body.demo-theme-botanical .bot-gallery{background:linear-gradient(180deg,#C9D7C1 0,rgba(201,215,193,.82) 18%,rgba(201,215,193,0) var(--v5-bridge)),#F4F0E8!important}
body.demo-theme-botanical .bot-rsvp{background:linear-gradient(180deg,#F4F0E8 0,rgba(244,240,232,.84) 18%,rgba(244,240,232,0) var(--v5-bridge)),#DDE6D8!important}
body.demo-theme-botanical .bot-faq{background:linear-gradient(180deg,#DDE6D8 0,rgba(221,230,216,.82) 18%,rgba(221,230,216,0) var(--v5-bridge)),#F4F0E8!important}

body.demo-theme-afro .sec--light{background:linear-gradient(180deg,var(--t-bg) 0,color-mix(in srgb,var(--t-bg) 80%,transparent) 20%,rgba(34,25,19,0) var(--v5-bridge)),linear-gradient(145deg,#EEDCC6,#E5CCB1)!important}
body.demo-theme-afro .sec--light + .sec{background:linear-gradient(180deg,#E5CCB1 0,rgba(229,204,177,.78) 18%,rgba(229,204,177,0) var(--v5-bridge)),var(--t-bg)!important}
body.demo-theme-afro .sec--warm{background:linear-gradient(180deg,var(--t-bg) 0,rgba(34,25,19,.8) 18%,rgba(34,25,19,0) var(--v5-bridge)),radial-gradient(120% 90% at 50% 0%,#B25C3B 0%,#8F412C 54%,#6D2E20 100%)!important}
body.demo-theme-afro .sec--warm + .sec{background:linear-gradient(180deg,#6D2E20 0,rgba(109,46,32,.78) 18%,rgba(109,46,32,0) var(--v5-bridge)),var(--t-bg)!important}

body.demo-theme-destination .sec--sand{background:linear-gradient(180deg,var(--t-bg) 0,rgba(250,247,242,.84) 18%,rgba(250,247,242,0) var(--v5-bridge)),radial-gradient(120% 80% at 20% 0%,#F2E5D2 0%,#E5D0B2 55%,#D7BC94 100%)!important}
body.demo-theme-destination .sec--sand + .sec{background:linear-gradient(180deg,#D7BC94 0,rgba(215,188,148,.8) 18%,rgba(215,188,148,0) var(--v5-bridge)),var(--t-bg)!important}

body.demo-theme-black .sec--soft{background:linear-gradient(180deg,#08090B 0,rgba(8,9,11,.86) 18%,rgba(8,9,11,0) var(--v5-bridge)),radial-gradient(100% 85% at 50% 0%,#242326 0%,#171719 58%,#101012 100%)!important}
body.demo-theme-black .sec--soft + .sec{background:linear-gradient(180deg,#101012 0,rgba(16,16,18,.82) 18%,rgba(16,16,18,0) var(--v5-bridge)),#08090B!important}


/* ------------------------- theme-specific motion ------------------------- */
/* Minimal: quiet couture mask reveal. */
body.demo-theme-minimal .hero__img,body.demo-theme-minimal .t-gal img{overflow:hidden;clip-path:inset(0 0 10% 0);transition:clip-path 1.25s var(--v5-ease)}
body.demo-theme-minimal .hero__img{clip-path:inset(0 0 0 0)}
body.demo-theme-minimal .t-gal img.demo-v4-reveal.in{clip-path:inset(0)}

/* Botanical: photography + gentle organic reveal, not abstract shapes. */
body.demo-theme-botanical .bot-photo{overflow:hidden}
body.demo-theme-botanical .bot-photo img{transform:scale(1.06);animation:v5BotPhoto 1.8s var(--v5-ease) .1s both}
@keyframes v5BotPhoto{from{opacity:.25;transform:scale(1.1);clip-path:inset(8% 9% 8% 9% round 40% 40% 4% 4%)}to{opacity:1;transform:scale(1.02);clip-path:inset(0 round 0)}}
body.demo-theme-botanical .bot-gallery-stack img:nth-child(n+2){display:none!important}
body.demo-theme-botanical .bot-gallery{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)!important;gap:clamp(18px,3vw,44px)!important;padding-left:clamp(24px,7vw,110px)!important;padding-right:clamp(24px,7vw,110px)!important}
body.demo-theme-botanical .bot-gallery>img,body.demo-theme-botanical .bot-gallery-stack img{height:min(72vh,760px)!important;object-fit:cover!important;object-position:50% 32%!important}

/* Editorial: print-like wipes and real image crops. */
body.demo-theme-editorial .strip{grid-template-columns:1.2fr .8fr 1fr!important;gap:8px!important;overflow:hidden}
body.demo-theme-editorial .strip img{height:min(70vh,650px)!important;object-fit:cover!important}
body.demo-theme-editorial .strip img:nth-child(1){object-position:45% 50%!important}
body.demo-theme-editorial .strip img:nth-child(2){object-position:68% 48%!important;filter:saturate(.7) contrast(1.07)}
body.demo-theme-editorial .strip img:nth-child(3){object-position:25% 45%!important;filter:grayscale(.75) contrast(1.12)}
body.demo-theme-editorial .edit-photo{overflow:hidden}
body.demo-theme-editorial .edit-photo:after{content:"";position:absolute;inset:0;background:#0B0B0B;transform-origin:right;animation:v5EditorialWipe 1.15s var(--v5-ease) .2s both;pointer-events:none}
@keyframes v5EditorialWipe{from{transform:scaleX(1)}to{transform:scaleX(0)}}

/* Afro: make full-bleed photography and sections feel physical, not componentized. */
body.demo-theme-afro .hero__img{overflow:hidden}
body.demo-theme-afro .hero__img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--t-bg) 0,rgba(34,25,19,0) 38%);pointer-events:none}
body.demo-theme-afro .gal{gap:clamp(10px,1.3vw,20px)!important}
body.demo-theme-afro .gal img{min-height:340px!important;object-fit:cover!important}
body.demo-theme-afro .gal img:nth-child(1){grid-column:span 2!important;min-height:540px!important}

/* Mediterranean: travel editorial rather than rounded-card UI. */
body.demo-theme-destination .gal{gap:8px!important}
body.demo-theme-destination .gal img{border-radius:0!important;object-fit:cover!important;min-height:310px!important}
body.demo-theme-destination .gal img:first-child{grid-column:span 2!important;min-height:520px!important}
body.demo-theme-destination .tabs button,body.demo-theme-destination .stay__t span{border-radius:0!important}

/* Black Tie: a subtle moving light, not geometric ornament. */
body.demo-theme-black .hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 28%,rgba(255,232,187,.08) 44%,transparent 62%);transform:translateX(-80%);animation:v5Light 7s ease-in-out 1s infinite}
@keyframes v5Light{0%,55%{transform:translateX(-80%)}85%,100%{transform:translateX(80%)}}

/* -------------------------- readability + framing ------------------------ */
body.demo-v4 img{object-fit:cover}
body.demo-theme-minimal .hero__img img{object-position:50% 32%!important}
body.demo-theme-botanical .bot-photo img{object-position:50% 27%!important}
body.demo-theme-afro .hero__img img{object-position:50% 28%!important}
body.demo-theme-destination .hero__ph img{object-position:50% 45%!important}
body.demo-theme-black .hero__bg img{object-position:50% 34%!important}

/* Never let subtle labels disappear on colored surfaces. */
body.demo-theme-afro .sec--warm .eye,body.demo-theme-afro .sec--warm .st,body.demo-theme-afro .sec--warm h2,body.demo-theme-afro .sec--warm h3{color:#FFF7EF!important}
body.demo-theme-afro .sec--warm .p,body.demo-theme-afro .sec--warm .t-p,body.demo-theme-afro .sec--warm small{color:#F2DCCB!important}
body.demo-theme-destination .sec--sand .eye{color:#7E351F!important}
body.demo-theme-destination .sec--sand .st,body.demo-theme-destination .sec--sand h2,body.demo-theme-destination .sec--sand h3{color:#32271F!important}
body.demo-theme-botanical .bot-location,body.demo-theme-botanical .bot-rsvp{color:#243127!important}

/* ------------------------ functionality page polish ---------------------- */
body.v4-features .mini{border-radius:0!important;padding:0 8px!important;background:transparent!important;border-width:0 0 1px 0!important;min-height:34px!important}
body.v4-features .mini.is-on{background:transparent!important;color:var(--b-encre)!important;border-color:var(--b-encre)!important;font-weight:600}
body.v4-features .demo,body.v4-features .box,body.v4-features .qrbox,body.v4-features .persoprev,body.v4-features .langdemo,body.v4-features .mailp,body.v4-features .relance{border-radius:0!important}
body.v4-features .demo{border-style:solid!important;border-color:rgba(31,31,31,.12)!important;background:linear-gradient(145deg,#fff,#FBF8F4)!important}
body.v4-features .sms{border-radius:2px!important}
body.v4-features .galdemo img{border-radius:0!important}
body.v4-features .feature-family{animation:v5FeatureIn .55s var(--v5-ease) both}
@keyframes v5FeatureIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ------------------------------ mobile ---------------------------------- */
@media(max-width:800px){
 :root{--v5-bridge:190px}

 body.demo-theme-botanical .bot-gallery{grid-template-columns:1fr!important}
 body.demo-theme-botanical .bot-gallery>img,body.demo-theme-botanical .bot-gallery-stack img{height:58vh!important;min-height:390px!important}
 body.demo-theme-afro .gal img:nth-child(1),body.demo-theme-destination .gal img:first-child{grid-column:auto!important;min-height:420px!important}
 body.demo-theme-editorial .strip{grid-template-columns:1fr!important}
 body.demo-theme-editorial .strip img{height:50vh!important;min-height:360px!important}

}
@media(prefers-reduced-motion:reduce){body.demo-theme-botanical .bot-photo img,body.demo-theme-editorial .edit-photo:after,body.demo-theme-black .hero:after{animation:none!important}.demo-v4-reveal{opacity:1!important;transform:none!important}}

/* V5.1 · final contrast pass on supporting experiences */
.pending-page h1 span{color:#665B52!important}
body.w-body .w-tab{color:#665E56!important}
body.w-body .hist span,body.w-body .w-stat__sub{color:#6B625A!important}

/* Invitation covers use real photography: always protect white copy with a
   proper image overlay instead of relying on the photograph itself. */
body .cover__bg::after{background:linear-gradient(180deg,rgba(18,16,14,.22) 0%,rgba(18,16,14,.3) 38%,rgba(18,16,14,.78) 100%)!important}
body .cover__in{color:#FFFDF9!important;text-shadow:0 2px 18px rgba(0,0,0,.34)}
body .cover__pre,body .cover__d,body .cover__cd .t-cd__l{color:#FFFDF9!important;opacity:.94!important}
body .lang .t-lang button:not([aria-pressed="true"]){color:#2D2925!important}
body .lang .t-lang{background:rgba(255,255,255,.9)!important}

body .head__bg::after{background:linear-gradient(180deg,rgba(8,8,10,.28) 0%,rgba(8,8,10,.42) 42%,rgba(8,8,10,.84) 100%)!important}
body .head__in{color:#FFFDF9!important;text-shadow:0 2px 20px rgba(0,0,0,.38)}
body .head__pre,body .head__meta{color:#FFFDF9!important;opacity:.95!important}
body .head__n{color:#FFFDF9!important}
body .head__n em{color:#E1BE84!important}
body .program b{color:#8B672F!important}

/* Darker utility text where 12-14px type is used. */
body:not(.demo-theme-minimal) .wbt__back{color:#4E4943}
body:not(.demo-theme-minimal) .t-label{color:#5E5750}
body:not(.demo-theme-minimal) .line>b,body:not(.demo-theme-minimal) .step>b{color:#7A5A2D}
body:not(.demo-theme-minimal) .blk .t-p,body:not(.demo-theme-minimal) .pan p[style*="var(--t-ink-soft)"],body:not(.demo-theme-minimal) .step p,body:not(.demo-theme-minimal) .line p{color:#655D55}
body:not(.demo-theme-minimal) .t-btn--accent{background:#745E40;border-color:#745E40;color:#fff}
body .scroll span{color:#FFFDF9!important;text-shadow:0 1px 12px rgba(0,0,0,.42)}
body .wbt{background:#25211E!important;color:#FFFDF9!important;border-color:rgba(255,255,255,.14)!important}
body .wbt__lab,body .wbt__lab b,body .wbt__lab span,body .wbt__t,body .wbt__x,body .wbt a{color:#FFFDF9!important}
body:not(.demo-theme-minimal) .t-maps a,body:not(.demo-theme-minimal) .t-item span,body:not(.demo-theme-minimal) .t-item em{color:#655D55}
/* Main Webena pages should read fluidly, not as six mandatory full-screen slides. */





/* Afro Chic: when the ambience crosses from cacao to sand, text changes with it. */
body.demo-theme-afro .sec--light,body.demo-theme-afro .sec--light .day{color:#2B2019!important}
body.demo-theme-afro .sec--light .st,body.demo-theme-afro .sec--light h2,body.demo-theme-afro .sec--light h3,body.demo-theme-afro .sec--light h4{color:#2B2019!important}
body.demo-theme-afro .sec--light .p,body.demo-theme-afro .sec--light .day__s,body.demo-theme-afro .sec--light .tl__c p,body.demo-theme-afro .sec--light .t-p{color:#675344!important}
body.demo-theme-afro .sec--light .day{background:rgba(255,249,241,.22)!important;border-color:rgba(71,48,32,.24)!important}

/* Final contrast guards after visual audit. Keep these theme-scoped so the
   palette never produces tone-on-tone copy. */
body.demo-theme-botanical .bot-map-photo{background-color:#223326!important}
body.demo-theme-afro .t-label{color:#D9C5B2!important}
body.demo-theme-black .t-label{color:#DCCDBA!important}
body.demo-theme-black .t-maps a{color:#E0D2BF!important}
body.v4-features .t-btn--accent{background:#5B4327!important;border-color:#5B4327!important;color:#FFFFFF!important}
