/* Shared finishing layer: retain each page's own composition and content. */
:root{--lc-craft-wine:#a71924;--lc-craft-cream:#fff8e8;--lc-craft-gold:#ffca32}
::selection{background:var(--lc-craft-gold);color:#26211d}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--lc-craft-wine);outline-offset:4px}
#lc-modern-header :where(a,button,summary):focus-visible,#lc-site-footer a:focus-visible{outline-color:var(--lc-craft-gold)}
:where(input,textarea){caret-color:var(--lc-craft-wine)}
:where(.cs-title,.cs-cta-title,.elementor-heading-title){text-wrap:balance;letter-spacing:-.025em;overflow-wrap:break-word}
/* Original editorial widgets: comfortable measure and a coherent title scale. */
.elementor-widget-cs_title h1.cs-title{font-size:clamp(32px,3.6vw,52px)!important;line-height:1.15!important}
.elementor-widget-cs_title .cs-title-text{max-width:70ch;margin-inline:auto;line-height:1.75}
.elementor-widget-cs_title .cs-title-text p{line-height:1.75}
.cs-cta .cs-cta-title{line-height:1.25}
.elementor-widget-cs_title .cs-title-wrap{box-sizing:border-box}
/* Anchor destinations must remain below the fixed navigation. */
:where(main,.entry-content,.elementor) :where(section[id],h2[id],h3[id]){scroll-margin-top:160px}
/* Keep navigation controls usable without enlarging inline editorial links. */
.elementor-swiper-button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
@media(max-width:767px){
 .elementor-widget-cs_title h1.cs-title{font-size:32px!important;line-height:1.2!important;letter-spacing:-.025em!important}
 .elementor-widget-cs_title .cs-title-text,.elementor-widget-cs_title .cs-title-text p{font-size:16px!important;line-height:1.75!important;text-align:left!important}
 .elementor-widget-cs_title .cs-title-wrap{padding-inline:0!important}
 .elementor-widget-cs_title h1.cs-title{margin-bottom:20px!important}
 .cs-cta .cs-cta-title{font-size:26px;line-height:1.25}
 :where(main,.entry-content,.elementor) :where(section[id],h2[id],h3[id]){scroll-margin-top:124px}
 /* The assistant remains available through its avatar; its invitation no longer covers copy. */
 .infochat_floatmain #titlediv{display:none!important}
 .to-top{width:40px!important;height:40px!important;right:12px!important}
}
@media(prefers-reduced-motion:reduce){
 .cs-animation-small-offset{animation:none!important;transform:none!important;visibility:visible!important;opacity:1!important}
 html{scroll-behavior:auto!important}
}
/* Legacy attraction stories: readable body and softer photographic edges. */
.cs-cta.cta-layout-text-normal .cs-cta-img{border-radius:14px;overflow:hidden}
@media(max-width:767px){
 .cs-cta.cta-layout-text-normal .cs-cta-text,.cs-cta.cta-layout-text-normal .cs-cta-text p{font-size:16px!important;line-height:1.75!important;text-align:left!important}
 #lc-gift-teaser{width:220px!important;bottom:16px!important;left:12px!important}
 #lc-gift-teaser .gift-open{padding:12px!important;gap:10px!important}
 #lc-gift-teaser .gift-open svg{width:24px!important;min-width:24px!important}
 #lc-gift-teaser .gift-open span{font-size:12px!important;line-height:1.35!important}
 #lc-gift-teaser .gift-open small{font-size:11px!important}
 #lc-gift-teaser .gift-close{min-width:32px;min-height:32px}
 body:has(#lc-gift-teaser) #hs-video-widget{bottom:102px!important}
 #lc-side-promo:not(:has(.lc-side-toggle[aria-expanded="true"])){width:170px!important;right:10px!important}
 #lc-side-promo .lc-side-toggle{font-size:12px!important;line-height:1.4!important;min-height:48px}
}

.elementor-widget-cs_title :is(h2,h3).cs-title{font-size:clamp(28px,2.7vw,38px)!important;line-height:1.25!important}
@media(max-width:767px){.elementor-widget-cs_title :is(h2,h3).cs-title{font-size:28px!important}}
/* Keep both collapsed commercial prompts together at the foot of the mobile viewport. */
@media(max-width:767px){
 #lc-gift-teaser{width:calc((100vw - 36px)*.58)!important}
 #lc-side-promo:not(:has(.lc-side-toggle[aria-expanded="true"])){top:auto!important;bottom:16px!important;right:12px!important;width:calc((100vw - 36px)*.42)!important;transform:none!important}
}
