/* Shared site chrome; all rules are scoped to Ben Taylor Home's frontend. */
body.bthc-celebrations{background:#fbfaf5!important;background-image:none!important}
.bthc-celebrations .bthc-header{position:relative;height:auto;min-height:6rem;background:var(--bthc-forest);padding:1.2rem clamp(1.25rem,4vw,4rem);gap:2rem;border:0}
.bthc-header .bthc-brand,.bthc-header .bthc-nav a,.bthc-header .bthc-menu{color:#fff!important}
.bthc-menu-list{list-style:none;display:flex;flex-wrap:wrap;gap:1.25rem;margin:0;padding:0;align-items:center}
.bthc-menu-list li{position:relative;margin:0}.bthc-menu-list a{display:block;padding:.5rem 0}
.bthc-menu-list .current-menu-item>a{border-bottom:1px solid currentColor}
.bthc-nav{gap:1.5rem}.bthc-nav-cta{white-space:nowrap}
.bthc-menu-list .sub-menu{display:none;list-style:none;position:absolute;top:100%;left:0;min-width:14rem;padding:.75rem 1.25rem;margin:0;background:var(--bthc-forest);box-shadow:0 1rem 2rem rgba(10,30,23,.2);z-index:20}
.bthc-menu-list li:hover>.sub-menu,.bthc-menu-list li:focus-within>.sub-menu,.bthc-menu-list li.is-expanded>.sub-menu{display:block}
.bthc-submenu-toggle{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);padding:.15rem .5rem;margin-left:.5rem;cursor:pointer;font-size:.85rem}
.bthc-menu-list .menu-item-has-children>a{display:inline-block}
.bthc-nav .ast-menu-toggle{display:none}
.bthc-celebrations .bthc-hero{min-height:78vh;padding-top:6rem;background-image:linear-gradient(90deg,rgba(9,28,22,.48),rgba(9,28,22,.08)),var(--bthc-hero-image)}
/* Explicit heading color defeats Astra's heading defaults without dimming photographs. */
.bthc-celebrations .bthc-hero h1,.bthc-celebrations .bthc-hero h1 em,.bthc-celebrations .bthc-hero .bthc-eyebrow,.bthc-celebrations .bthc-hero .bthc-lead,.bthc-celebrations .bthc-photo-note{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.75)}
.bthc-celebrations .bthc-final h2{color:#fff}
.bthc-credits{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,8vw,8rem);background:var(--bthc-cream)}
.bthc-credits h2,.bthc-page-intro h1,.bthc-history h2,.bthc-stay-cta h2,.bthc-journal-card h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.12;color:var(--bthc-forest);letter-spacing:-.025em}
.bthc-credits h2{font-size:clamp(2.25rem,4vw,3.6rem);max-width:50rem;margin:1rem 0 3rem}
.bthc-credit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.bthc-credit-grid article{border-top:1px solid var(--bthc-line);padding-top:1.5rem}.bthc-credit-grid h3{font:500 1.5rem/1.3 "Playfair Display",serif;color:var(--bthc-forest)}
.bthc-credit-grid a{text-decoration:underline;text-underline-offset:.3rem}.bthc-credit-note{font-size:.85rem;color:#506157;max-width:50rem;margin-top:2rem}
.bthc-site-page .bthc-page-intro{padding:clamp(3rem,7vw,6rem) clamp(1.25rem,8vw,8rem);background:var(--bthc-sage)}
.bthc-page-intro h1{font-size:clamp(2.8rem,6vw,5.5rem);max-width:60rem;margin:1rem 0 1.5rem}.bthc-page-lead{max-width:46rem;font-size:1.15rem;margin-bottom:2rem}
.bthc-page-content{max-width:78rem;margin:auto;padding:clamp(2rem,5vw,4rem) clamp(1.25rem,4vw,3rem)}
.bthc-page-content>.elementor{background-color:transparent!important}.bthc-page-content .elementor-section,.bthc-page-content .e-con{background-color:transparent!important;box-shadow:none!important;border:0!important}
.bthc-page-content .elementor-widget-wrap,.bthc-page-content .elementor-widget-container{box-shadow:none!important;border:0!important}
.bthc-page-content .elementor-widget-text-editor{color:var(--bthc-ink)!important;font:400 1rem/1.75 "DM Sans",sans-serif!important}
.bthc-page-content .elementor-heading-title{color:var(--bthc-forest)!important;font-family:"Playfair Display",serif!important;line-height:1.2!important}
.bthc-page-content img{border-radius:.5rem}.bthc-page-content iframe{max-width:100%;border:0!important;box-shadow:none!important}
.bthc-page-content table{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}.bthc-page-content td,.bthc-page-content th{padding:1rem;border:1px solid var(--bthc-line);vertical-align:top;color:var(--bthc-ink)}
.bthc-page-content td:first-child{font-weight:600;background:var(--bthc-mist)}.bthc-page-content table ul{padding-left:1.25rem;margin:0}
.bthc-history{max-width:48rem;margin:0 auto 3rem}.bthc-history h2,.bthc-stay-cta h2{font-size:clamp(2rem,4vw,3.5rem)}.bthc-history p{line-height:1.8}
.bthc-page-booking .bthc-page-content .elementor-widget-heading{display:none}
.bthc-stay-cta{padding:clamp(3rem,6vw,5rem) clamp(1.25rem,8vw,8rem);background:var(--bthc-mist)}
.bthc-journal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.bthc-journal-card{background:#fff;padding:2rem;border-top:2px solid var(--bthc-moss)}.bthc-journal-card h2{font-size:2rem}.bthc-journal-card h2 a{text-decoration:none}
.bthc-footer a{color:#fff!important}.bthc-footer nav{flex-wrap:wrap}.bthc-celebrations a:focus-visible,.bthc-celebrations button:focus-visible{outline:3px solid #bd9e68;outline-offset:4px}
/* The home remains photo-led with its existing rental content and booking widget. */
body.home:not(.bthc-celebrations){background:#fbfaf5;color:#20322a;font-family:"DM Sans",sans-serif}
body.home .ast-primary-header-bar{background:#183c31!important;border:0!important}
body.home .ast-below-header-bar,body.home .ast-builder-menu .sub-menu{background:#183c31!important}
body.home .site-title a,body.home .ast-builder-menu .menu-link{color:#fff!important}
body.home .ast-mobile-header-content{background:#183c31!important}
body.home .ast-mobile-header-content .menu-link{color:#fff!important;background:#183c31!important}
body.home .ast-button-wrap .menu-toggle{background:#183c31;color:#fff;border:1px solid #fff}
body.home .elementor-button{border-radius:99px;background:#183c31;color:#fff;padding:1rem 1.6rem}
body.home .elementor-element-249ae8af .elementor-heading-title{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.bthc-home-paths{padding:3rem clamp(1.25rem,5vw,5rem);background:#fbfaf5;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;color:#20322a}
.bthc-home-paths h2{font:500 2rem/1.2 "Playfair Display",serif;color:#183c31}.bthc-home-paths a{color:#183c31;font-weight:600;text-underline-offset:.3rem}
@media(max-width:1200px){.bthc-celebrations .bthc-menu{display:block}.bthc-celebrations .bthc-nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:1.5rem;background:var(--bthc-forest);flex-direction:column;align-items:stretch}.bthc-celebrations .bthc-nav.is-open{display:flex}.bthc-menu-list{display:block}.bthc-menu-list .sub-menu{position:static;box-shadow:none;margin:.5rem 0;padding-left:1.5rem}.bthc-menu-list li:hover>.sub-menu{display:none}.bthc-menu-list li.is-expanded>.sub-menu,.bthc-menu-list li:focus-within>.sub-menu{display:block}}
@media(max-width:800px){.bthc-celebrations .bthc-header{min-height:5rem;gap:1rem}.bthc-celebrations .bthc-hero{min-height:42rem;padding-top:4rem}.bthc-credit-grid,.bthc-home-paths,.bthc-journal{grid-template-columns:1fr}.bthc-page-content .elementor-section .elementor-column{width:100%!important}.bthc-page-content .elementor-container{flex-wrap:wrap}.bthc-page-content td,.bthc-page-content th{padding:.65rem;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.bthc-celebrations *{scroll-behavior:auto!important;transition:none!important}}
.bthc-charge-breakdown{margin:1.5rem 0 0}.bthc-charge-breakdown>div{display:flex;justify-content:space-between;gap:1.5rem;margin:.75rem 0}.bthc-charge-breakdown dt{font-weight:400}.bthc-charge-breakdown dd{margin:0;white-space:nowrap;font-weight:600}.bthc-calculator .bthc-result{gap:.75rem;align-items:center}.bthc-calculator .bthc-result strong{font-size:clamp(1.6rem,3vw,2.5rem);white-space:nowrap}.bthc-combined-total{color:var(--bthc-forest);border-top:2px solid var(--bthc-forest)}@media(max-width:800px){.bthc-calculator .bthc-result{grid-template-columns:1fr}.bthc-calculator label{gap:1rem;align-items:center}}
/* Home controls and original photo treatments. */
body.home .elementor-button{background:#183c31!important;color:#fff!important}
body.home .elementor-element-81cf1b7{display:none!important}
.bthc-home-subscribe{display:flex;justify-content:flex-end;padding:.75rem clamp(1.25rem,4vw,4rem);background:#fbfaf5}
body.home .elementor-element-09d26be>.elementor-widget-container,body.home .elementor-element-294b544>.elementor-widget-container,body.home .elementor-element-984df7a>.elementor-background-overlay,body.home .elementor-element-113bb37>.elementor-background-overlay,body.home .elementor-element-d50c0cc>.elementor-background-overlay{background-color:#183c31!important}
body.home .elementor-element-09d26be,body.home .elementor-element-294b544,body.home .elementor-element-09d26be h2,body.home .elementor-element-294b544 h2{color:#fff!important}
body.home #colophon .widget-title a{color:inherit;text-decoration:underline;text-underline-offset:.25em}
/* Keep room text and photography in separate columns. */
.bthc-page-dining-room .elementor-element-5de935ee,.bthc-page-main-bathroom .elementor-element-1694d32b{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(2rem,4vw,4rem);align-items:center;padding:0!important;min-height:0!important}
.bthc-page-dining-room .elementor-element-5194e19d,.bthc-page-main-bathroom .elementor-element-a1ca7c,.bthc-page-dining-room .elementor-element-2c2038f6,.bthc-page-main-bathroom .elementor-element-2052242a{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;position:static!important;transform:none!important;min-height:0!important}
.bthc-page-dining-room .elementor-element-2c2038f6>.elementor-widget-container,.bthc-page-main-bathroom .elementor-element-2052242a>.elementor-widget-container{margin:0!important;padding:0!important;transform:none!important}
.bthc-page-dining-room .elementor-widget-image img,.bthc-page-main-bathroom .elementor-widget-image img{display:block;width:100%!important;height:auto!important}
.bthc-page-guest-room .elementor-element-7992afba{display:none!important}
.bthc-page-library .elementor-icon-box-title,.bthc-page-library .elementor-icon-box-title span{color:#183c31!important;font-family:"Playfair Display",serif}
.bthc-page-library .elementor-icon-box-description{color:#20322a!important;opacity:1!important}
@media(max-width:800px){.bthc-page-dining-room .elementor-element-5de935ee,.bthc-page-main-bathroom .elementor-element-1694d32b{grid-template-columns:minmax(0,1fr)}.bthc-home-subscribe{justify-content:center}}
body.home #masthead{position:relative!important;top:auto!important}body.home .elementor-element-249ae8af{margin-top:0!important}
@media(max-width:800px){body.home .elementor-element-364de60{position:static!important;inset:auto!important;width:100%!important;margin:1.5rem 0!important}body.home .elementor-element-364de60>.elementor-widget-container,body.home .elementor-element-1a5c156b>.elementor-widget-container{margin:0!important}.bthc-page-guest-room .elementor-element-44b12be6{padding:0!important}.bthc-page-guest-room .elementor-element-7873fae8,.bthc-page-guest-room .elementor-element-551d3b0b{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important}}
/* Foyer contrast and the revised Home palette. */
.bthc-page-foyer .elementor-icon-box-title,.bthc-page-foyer .elementor-icon-box-title span{color:#183c31!important;font-family:"Playfair Display",serif}
.bthc-page-foyer .elementor-icon-box-description{color:#20322a!important;opacity:1!important}
body.home:not(.bthc-celebrations),body.home #content,body.home .bthc-home-paths,body.home .elementor-element-5c74c9b6,body.home .elementor-element-7b032525,body.home .elementor-element-19092c7b{background-color:#dce6da!important}
body.home .elementor-element-09d26be>.elementor-widget-container,body.home .elementor-element-294b544>.elementor-widget-container,body.home .elementor-element-984df7a>.elementor-background-overlay,body.home .elementor-element-113bb37>.elementor-background-overlay,body.home .elementor-element-d50c0cc>.elementor-background-overlay{background-color:#dce6da!important}
body.home .elementor-element-09d26be,body.home .elementor-element-294b544,body.home .elementor-element-09d26be h2,body.home .elementor-element-294b544 h2{color:#183c31!important}
body.home .bthc-home-subscribe{position:relative;height:0;padding:0;background:transparent;z-index:2}
body.home .bthc-home-subscribe a{position:absolute;top:1rem;right:clamp(1.25rem,4vw,4rem);background:#fff!important;color:#183c31!important;box-shadow:0 2px 12px rgba(0,0,0,.15)}
body.home .elementor-element-249ae8af{padding-top:5.5rem!important}
body.home .elementor-element-2075eb20>.elementor-widget-container{margin:0!important}body.home .elementor-element-32bab377{background:#dce6da!important}body.home .elementor-element-32bab377 h2,body.home .elementor-element-32bab377 p{color:#20322a!important}
body.home .elementor-element-249ae8af>.elementor-container{min-height:0!important}body.home .elementor-element-249ae8af .elementor-widget-wrap{margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:1rem}body.home .elementor-element-2075eb20,body.home .elementor-element-1a5c156b{width:100%!important;margin:0!important}body.home .elementor-element-1a5c156b>.elementor-widget-container{margin:0!important}
body.home .elementor-element-249ae8af{min-height:70vh!important;padding-bottom:4rem!important}
/* Home photo depth and caption contrast. */
body.home .elementor-widget-image .widget-image-caption{color:#183c31!important}
body.home .elementor-element-cf03f0b{background-color:#183c31!important}
body.home .elementor-element-cf03f0b .widget-image-caption{color:#fff!important}
body.home .elementor-widget-image img{box-shadow:0 12px 28px rgba(16,42,34,.25);border-radius:.35rem}
body.home .elementor-element-6cef04d2>.elementor-widget-wrap,body.home .elementor-element-784c3685>.elementor-widget-wrap,body.home .elementor-element-34cfcd27>.elementor-widget-wrap,body.home .elementor-element-7e586a67>.elementor-widget-wrap{box-shadow:0 12px 28px rgba(16,42,34,.25);border-radius:.35rem}
body.home .elementor-element-cf03f0b::before{background-color:#183c31!important;background-image:none!important}
body.home .elementor-element-5c74c9b6 .elementor-widget-text-editor span{background-color:transparent!important}
