/*
Theme Name: BTS Restaurant OnePage
Theme URI: https://btsounis.gr/
Author: BTS
Author URI: https://btsounis.gr/
Description: Premium one-page WordPress theme for restaurants, bistros and dining businesses. Part of the BTS ecosystem with guided setup, responsive design, booking, SEO and optional BTS Pro plugin integrations.
Version: 1.0.32
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bts-easy-business
Tags: one-column, custom-colors, custom-logo, custom-menu, featured-images, translation-ready, business, services
*/
:root{--bts-primary:#5a3523;--bts-accent:#c68a3a;--bts-dark:#1f1712;--bts-light:#faf6ef;--bts-text:#433831;--bts-white:#fff;--bts-radius:18px;--bts-shadow:0 14px 40px rgba(43,29,23,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{color-scheme:light}
body{margin:0;color:var(--bts-text);font-family:var(--bts-body-font,Inter,system-ui,-apple-system,sans-serif);line-height:1.6;background:#fff}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,textarea{font:inherit}
.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e7eeee}
.header-inner{position:relative;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:1.2rem;color:var(--bts-dark)}
.site-brand .custom-logo{width:46px;height:46px;object-fit:contain;border-radius:12px}.site-brand .bts-logo-image{display:block}
.brand-mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--bts-primary),var(--bts-accent));display:grid;place-items:center;color:#fff;font-weight:900}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px}
.main-nav a{display:block;text-decoration:none;padding:11px 14px;border-radius:12px;font-weight:700}
.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--bts-light);color:var(--bts-primary)}

.menu-toggle{display:none;border:1px solid #dce7e8;background:#fff;color:var(--bts-dark);border-radius:12px;padding:11px 13px;font-size:1.1rem;cursor:pointer}
.eyebrow{font-weight:800;color:var(--bts-accent);letter-spacing:.08em;text-transform:uppercase}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:var(--bts-button-radius);text-decoration:none;font-weight:800;border:2px solid transparent;cursor:pointer}
.business-demo.bts-button-style-outline .btn:not(.btn-light){background:transparent !important;color:var(--bts-primary) !important;border-color:var(--bts-primary) !important}
.business-demo.bts-button-style-outline .btn:not(.btn-light):hover{background:var(--bts-primary) !important;color:#fff !important}
.btn-primary{background:var(--bts-accent);color:#1e2a2d}.btn-primary:hover{filter:brightness(.96)}
.btn-light{background:#fff;color:var(--bts-dark)}.btn-outline{border-color:rgba(255,255,255,.6);color:#fff}
.section{padding:76px 0}.section.alt{background:var(--bts-light)}
.section-head{max-width:720px;margin-bottom:34px}
.section h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.15;margin:0 0 12px;color:var(--bts-dark)}
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.stars{color:var(--bts-accent);letter-spacing:2px;font-size:1.1rem}
.faq{display:grid;gap:12px;max-width:850px}
.faq details{background:#fff;border:1px solid #dfeaea;border-radius:14px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:800;color:var(--bts-dark);padding:18px 4px}
.faq details p{margin:0 4px 18px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about-image{border-radius:var(--bts-radius);overflow:hidden;box-shadow:var(--bts-shadow)}
.contact-box{background:var(--bts-dark);color:#fff;border-radius:var(--bts-radius);padding:32px}
.contact-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.contact-list a{text-decoration:none}
.contact-form{display:grid;gap:12px;margin-top:24px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #d5e2e3;border-radius:12px;padding:12px 14px;background:#fff;color:var(--bts-text)}
.contact-form textarea{min-height:130px;resize:vertical}
.form-status{padding:12px 14px;border-radius:10px;background:var(--bts-light);color:var(--bts-dark)}
.map-wrap{overflow:hidden;border-radius:var(--bts-radius);box-shadow:var(--bts-shadow);margin-top:28px}
.map-wrap iframe{display:block;width:100%;min-height:340px;border:0}
.socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.socials a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;background:var(--bts-light);text-decoration:none;font-weight:700;color:var(--bts-primary)}
.mobile-cta{display:none}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:998;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;text-decoration:none;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.2)}
/* === BTS GTRANSLATE — BTS Premium Language Switcher === */
#bts-gtranslate-switcher{}
.bts-gtranslate-switcher{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:0;margin-left:auto;position:relative;z-index:1001}
.bts-gtranslate-switcher:empty{display:none}
.bts-gtranslate-switcher .gtranslate_wrapper{font-family:inherit;position:relative;z-index:1002}
.bts-gtranslate-switcher .gt_float_switcher{z-index:1002!important;font-family:inherit!important;background:transparent!important;border:0!important;box-shadow:none!important;min-width:0!important;overflow:visible!important}
.bts-gtranslate-switcher .gt_float_switcher .gt-selected{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:44px!important;padding:0 13px!important;border:1px solid #e3ecee!important;border-radius:999px!important;background:#fff!important;color:var(--bts-dark)!important;box-shadow:0 8px 24px rgba(15,52,64,.12)!important;font-family:inherit!important;font-size:.92rem!important;font-weight:800!important;line-height:1!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.bts-gtranslate-switcher .gt_float_switcher .gt-selected:hover{transform:translateY(-1px)!important;border-color:#cddfe2!important;box-shadow:0 12px 28px rgba(15,52,64,.16)!important}
.bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang{display:flex!important;align-items:center!important;gap:7px!important;min-height:44px!important}
.bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang img{width:22px!important;height:16px!important;object-fit:cover!important;border-radius:3px!important;box-shadow:0 0 0 1px rgba(0,0,0,.05)!important}
.bts-gtranslate-switcher .gt_float_switcher .gt_options{width:272px!important;min-width:272px!important;max-width:min(272px,calc(100vw - 24px))!important;right:0!important;left:auto!important;margin-top:8px!important;padding:7px!important;border:1px solid #e2ecee!important;border-radius:16px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 18px 50px rgba(15,52,64,.18)!important;max-height:330px!important;overflow-y:auto!important;overflow-x:hidden!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
.bts-gtranslate-switcher .gt_float_switcher .gt_options a{display:flex!important;align-items:center!important;gap:10px!important;min-height:40px!important;padding:8px 10px!important;margin:2px 0!important;border-radius:10px!important;color:var(--bts-text)!important;text-decoration:none!important;font-family:inherit!important;font-size:.92rem!important;font-weight:650!important;line-height:1.2!important;transition:background-color .16s ease,color .16s ease,transform .16s ease!important}
.bts-gtranslate-switcher .gt_float_switcher .gt_options a:hover{background:var(--bts-light)!important;color:var(--bts-primary)!important;transform:translateX(2px)!important}
.bts-gtranslate-switcher .gt_float_switcher .gt_options a img{width:23px!important;height:16px!important;flex:0 0 23px!important;object-fit:cover!important;border-radius:3px!important;box-shadow:0 0 0 1px rgba(0,0,0,.04)!important}
.bts-gtranslate-switcher .gt_float_switcher .gt_options a.gt-current-lang{background:var(--bts-light)!important;color:var(--bts-primary)!important;font-weight:800!important}
.bts-gtranslate-switcher .gt_float_switcher .gt_options::-webkit-scrollbar{width:6px}
.bts-gtranslate-switcher .gt_float_switcher .gt_options::-webkit-scrollbar-track{background:transparent}
.bts-gtranslate-switcher .gt_float_switcher .gt_options::-webkit-scrollbar-thumb{background:#c5d7da;border-radius:999px}
.bts-gtranslate-switcher .gt_float_switcher .gt_options{scrollbar-width:thin;scrollbar-color:#c5d7da transparent}
@media(max-width:1080px){.bts-gtranslate-switcher{position:absolute;right:62px;top:11px}}
@media(max-width:600px){
 .bts-gtranslate-switcher{right:54px;top:9px;z-index:10050}
 .bts-gtranslate-switcher .gt_float_switcher{position:relative!important;z-index:10051!important}
 .bts-gtranslate-switcher .gt_float_switcher .gt-selected{min-height:42px!important;padding:0 11px!important;font-size:.88rem!important;max-width:170px!important}
 .bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang{min-height:42px!important}
 /* Mobile: keep the language panel compact and anchored to the viewport. */
 .bts-gtranslate-switcher .gt_float_switcher .gt_options{position:fixed!important;top:72px!important;right:12px!important;left:auto!important;bottom:auto!important;width:min(320px,calc(100vw - 24px))!important;min-width:0!important;max-width:calc(100vw - 24px)!important;height:auto!important;max-height:min(56vh,430px)!important;margin:0!important;padding:7px!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(15,52,64,.22)!important;z-index:10060!important;overflow-y:auto!important;overflow-x:hidden!important}
 .bts-gtranslate-switcher .gt_float_switcher .gt_options a{min-height:42px!important;padding:9px 10px!important;font-size:.9rem!important;margin:2px 0!important}
 .bts-gtranslate-switcher .gt_float_switcher .gt_options a img{width:22px!important;height:15px!important;flex-basis:22px!important}
}
@media(max-width:380px){
 .bts-gtranslate-switcher{right:52px}
 .bts-gtranslate-switcher .gt_float_switcher .gt-selected{padding:0 9px!important;gap:5px!important}
 .bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang{gap:5px!important}
 .bts-gtranslate-switcher .gt_float_switcher .gt_options{right:8px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;top:68px!important;max-height:58vh!important}
}
.site-footer{background:#0b2028;color:#dce8ea;padding:34px 0}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100000;padding:10px 14px;border-radius:8px;background:var(--bts-dark);color:#fff;text-decoration:none;font-weight:800}
.skip-link:focus{left:12px;outline:3px solid var(--bts-accent);outline-offset:2px}
@media(max-width:1080px){
 .container{width:min(100% - 28px,680px)}.header-inner{min-height:68px}
 .menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid #e7eeee;box-shadow:0 16px 30px rgba(0,0,0,.08)}
 .main-nav.is-open{display:block}.main-nav ul{display:block;padding:10px 14px}.main-nav a{padding:14px 12px}
 .hero{padding:64px 0}.section{padding:56px 0}
 .about-grid,.testimonials{grid-template-columns:1fr}
 .mobile-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:999;gap:8px}
 .mobile-cta a{flex:1;text-align:center;padding:12px 8px;border-radius:12px;text-decoration:none;font-weight:800;background:var(--bts-dark);color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.18)}
 .mobile-cta a:first-child{background:var(--bts-accent);color:#1e2a2d}
}
@media(max-width:480px){
 .hero h1{font-size:2.15rem}.actions{display:grid}.btn{width:100%}.card{padding:22px}
 
.site-footer{padding-bottom:90px}.whatsapp-float{right:14px;bottom:82px}
}

.bts-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(5,18,24,.92);display:grid;place-items:center;padding:30px}.bts-lightbox img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:12px}.bts-lightbox button{position:absolute;top:18px;right:22px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#102a35;font-size:30px;cursor:pointer}

/* === Hero, section heads & core layout blocks === */
.hero-media{position:relative;overflow:hidden;background:linear-gradient(110deg,#2b1d17 0%,#6b4026 55%,#8a5a35 100%);color:#fff;min-height:650px;display:flex;align-items:center}
.hero-media .hero-glow{position:absolute;right:-90px;top:-120px;width:520px;height:520px;border-radius:50%;background:rgba(217,154,85,.18)}
.hero-media .container{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}
.hero-media .eyebrow{color:#e8b36f;letter-spacing:.14em}
.hero-media h1{font-family:var(--bts-heading-font,Georgia,serif);font-size:clamp(3rem,6vw,5.7rem);line-height:1.02;margin:.35rem 0 1.2rem;max-width:760px}
.hero-media p{font-size:1.15rem;max-width:650px;color:rgba(255,255,255,.86)}
.hero-media .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-media .btn{border-radius:4px;padding:14px 22px}
.hero-media .btn-primary{background:var(--bts-accent);color:#2b1d17}
.hero-media .btn-outline{border-color:rgba(255,255,255,.65);color:#fff}
.hero-visual{border:1px solid rgba(255,255,255,.18);padding:12px;background:rgba(255,255,255,.06);box-shadow:0 25px 70px rgba(0,0,0,.25)}
.hero-visual img{width:100%;aspect-ratio:1.1;object-fit:cover}
.section-head-centered{text-align:center;max-width:760px;margin:0 auto 38px}
.section-head-centered .eyebrow{color:var(--bts-primary);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.section-head-centered h2{font-family:var(--bts-heading-font,Georgia,serif);font-size:clamp(2.1rem,4vw,3.2rem);color:var(--bts-dark);margin:.35rem 0 .8rem}
.highlight-strip{background:var(--bts-dark);color:#fff}
.highlight-strip .container{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.highlight-strip h2{font-family:var(--bts-heading-font,Georgia,serif);font-size:clamp(2rem,4vw,3.2rem);margin:0 0 12px}
.highlight-strip p{color:rgba(255,255,255,.78)}
.media-frame img{width:100%;aspect-ratio:1.4;object-fit:cover}
.testimonial-card{background:#fff;border:1px solid #eadfd8;padding:28px;box-shadow:0 10px 30px rgba(58,35,39,.06)}
.testimonial-card .stars{color:var(--bts-accent);letter-spacing:2px}
.testimonial-card p{font-family:var(--bts-heading-font,Georgia,serif);font-size:1.1rem}
.contact-section{background:linear-gradient(135deg,#fbf5ef,#fff)}
.contact-box-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.contact-info h2{font-family:var(--bts-heading-font,Georgia,serif);font-size:clamp(2.2rem,4vw,3.4rem);color:var(--bts-dark);margin:.25rem 0 1rem}
.contact-info .contact-list{padding:0;list-style:none}
.contact-info .contact-list li{margin:12px 0}
.contact-box{border-top:4px solid var(--bts-primary)}
@media(max-width:800px){
 .hero-media{min-height:auto;padding:54px 0 96px}
 .hero-media .container,.highlight-strip .container,.contact-box-grid{grid-template-columns:1fr}
 .hero-visual{order:0;max-width:520px;margin:10px auto 0}
 .hero-media h1{font-size:clamp(2.7rem,12vw,4.2rem)}
}



/* === Layout === */
.site-header .header-inner{width:min(1280px,calc(100% - 36px));gap:14px}
.site-brand{flex:0 0 205px;min-width:0}
.site-brand>span{line-height:1.15}
.main-nav{flex:1;min-width:0}
.main-nav ul{justify-content:flex-end;gap:2px}
.main-nav a{padding:9px 10px;font-size:.92rem;white-space:nowrap}

.hero-visual{max-width:560px;width:100%;justify-self:end}
.hero-visual img{width:100%;height:100%;aspect-ratio:1.45;object-fit:cover;object-position:center}
.media-frame img,.about-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.section[id]{scroll-margin-top:96px}
.highlight-strip h2{color:#fff}
.contact-info .eyebrow{color:var(--bts-accent)}
.contact-info .contact-list li{display:flex;gap:10px;align-items:flex-start}
.contact-info .contact-list a{color:var(--bts-dark);font-weight:700}
@media(max-width:1180px) and (min-width:1081px){
 .site-brand{flex-basis:180px}.main-nav a{padding:8px 7px;font-size:.84rem}.main-nav ul{gap:0}
}
@media(max-width:1080px){
 .site-header .header-inner{width:min(100% - 28px,680px)}
 .site-brand{flex-basis:auto}.main-nav{position:absolute}
}

/* === Product polish === */
.info-strip{background:#fff;border-bottom:1px solid #eadfd8;border-top:1px solid #eadfd8}
.info-strip-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;align-items:stretch}
.info-item{display:flex;align-items:center;gap:12px;padding:18px 20px;border-right:1px solid #eadfd8;min-width:0}
.info-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--bts-light);color:var(--bts-primary);font-weight:800;flex:0 0 auto}
.info-item small{display:block;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.68rem;color:#8a7378}
.info-item strong{display:block;font-size:.92rem;color:var(--bts-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.info-item a{text-decoration:none}
.info-book{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 24px;background:var(--bts-primary);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}
.info-book span{font-size:1.1rem}
.services-showcase{background:#fff}
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.featured-card{border:1px solid #eadfd8;background:#fff;box-shadow:0 10px 28px rgba(58,35,39,.06);overflow:hidden}
.featured-card img{width:100%;aspect-ratio:1.25;object-fit:cover}
.featured-card-content{padding:18px}
.featured-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.featured-card h3{font-family:var(--bts-heading-font,Georgia,serif);font-size:1.22rem;color:var(--bts-dark);margin:0}
.featured-card-top span{font-weight:900;color:var(--bts-primary);white-space:nowrap}
.featured-card p{font-size:.92rem;color:#66575b;margin:.55rem 0 0}
.btn-outline-dark{border-color:var(--bts-primary);color:var(--bts-primary);background:#fff}
.btn-outline-dark:hover{background:var(--bts-primary);color:#fff}
.feature-points p{margin:0 0 18px}
.feature-points strong{display:block;color:#fff;margin-bottom:3px}
.rating-badge{display:inline-flex;align-items:center;gap:9px;margin-top:12px;padding:9px 14px;border:1px solid #eadfd8;border-radius:999px;background:#fff;font-size:.9rem}
.rating-badge span{color:var(--bts-accent);letter-spacing:1px}
.rating-badge strong{color:var(--bts-dark)}
.rating-badge small{color:#7a696e}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form select{width:100%;border:1px solid #d5e2e3;border-radius:12px;padding:12px 14px;background:#fff;color:var(--bts-text)}
.map-section{background:#fff}
.map-wrap{background:#eee}
.map-wrap iframe{min-height:400px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:28px}
.site-footer h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:#e8b36f;margin:0 0 9px}
.site-footer p{margin:0;color:#dce8ea}
.site-footer a{text-decoration:none}
.footer-brand strong{font-size:1.3rem;color:#fff}
.footer-brand p{margin-top:8px;max-width:280px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;color:#b9c7c9}
.legal-links{display:flex;gap:16px}
.legal-links a:hover{color:#fff}
.mobile-cta a{min-height:48px;display:flex;align-items:center;justify-content:center}
@media(max-width:1000px){
 .info-strip-grid{grid-template-columns:1fr 1fr}
 .info-item:nth-child(2){border-right:0}
 .info-book{grid-column:1 / -1}
 .featured-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
 .form-grid-2{grid-template-columns:1fr}
 .rating-badge{flex-wrap:wrap;border-radius:14px;justify-content:center}
 .info-strip-grid{grid-template-columns:1fr}
 .info-item{border-right:0;border-bottom:1px solid #eadfd8;padding:14px 16px}
 .info-book{grid-column:auto}
 .featured-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom{padding-bottom:12px}
 .hero-media .hero-actions .btn{width:auto}
}
@media(max-width:480px){
 .hero-media .hero-actions{display:grid}
 .hero-media .hero-actions .btn{width:100%}
 .mobile-cta{left:8px;right:8px;bottom:8px}
 .mobile-cta a{font-size:.82rem;padding:10px 5px}
}


/* === Mobile polish === */
@media(max-width:800px){
  body{padding-bottom:76px}
  .site-header{position:sticky;top:0}
  .main-nav{z-index:1001;max-height:calc(100vh - 68px);overflow:auto}
  .mobile-cta{bottom:8px}
  .hero-media .hero-visual img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover}
}
@media(max-width:480px){
  .hero-media{padding-top:42px;padding-bottom:100px}
  .hero-media h1{font-size:clamp(2.65rem,11.5vw,3.6rem);line-height:1.02;margin-bottom:16px}
  .hero-media p{font-size:1rem}
  .hero-media .hero-actions{margin-top:22px}
  .hero-visual{margin-top:24px}
  .mobile-cta{left:8px;right:8px;gap:8px}
  .mobile-cta a{min-height:50px}
}

/* === Gallery layout: grid / featured / masonry === */
.photo-gallery{
  display:grid;
  width:100%;
  max-width:1120px;
  margin:0 auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.photo-gallery > a{
  display:block;
  width:100%;
  min-width:0;
  overflow:hidden;
  position:relative;
  height:260px;
}
.photo-gallery > a img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .35s;
}
.photo-gallery > a:hover img{transform:scale(1.04)}

/* Video gallery items follow the exact same grid box as image items
   (<a>) so mixing photos and videos never breaks the grid/masonry/featured
   layouts. */
.photo-gallery > .gallery-media{
  display:block;
  width:100%;
  min-width:0;
  overflow:hidden;
  position:relative;
  height:260px;
  border-radius:inherit;
}
.photo-gallery > .gallery-media .bts-video-frame,
.photo-gallery > .gallery-media .bts-video-native{height:100%;}
.photo-gallery > .gallery-media:hover img{transform:scale(1.04)}

/* Featured: first photo spans two columns and two rows. */
.photo-gallery.gallery-featured > a:first-child,
.photo-gallery.gallery-featured > .gallery-media:first-child{grid-column:span 2;grid-row:span 2;height:100%}

/* Masonry: alternating taller/shorter rows for a staggered look. */
.photo-gallery.gallery-masonry > a,
.photo-gallery.gallery-masonry > .gallery-media{height:220px}
.photo-gallery.gallery-masonry > a:nth-child(3n+2),
.photo-gallery.gallery-masonry > .gallery-media:nth-child(3n+2){height:300px}

@media (max-width:800px){
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .photo-gallery > a,
  .photo-gallery > .gallery-media{height:220px}
  .photo-gallery.gallery-featured > a:first-child,
  .photo-gallery.gallery-featured > .gallery-media:first-child{grid-column:span 2;grid-row:span 1;height:220px}
  .photo-gallery.gallery-masonry > a:nth-child(3n+2),
  .photo-gallery.gallery-masonry > .gallery-media:nth-child(3n+2){height:220px}
}
@media (max-width:520px){
  .photo-gallery,
  .photo-gallery.gallery-featured,
  .photo-gallery.gallery-masonry{grid-template-columns:1fr}
  .photo-gallery > a,
  .photo-gallery > .gallery-media,
  .photo-gallery.gallery-featured > a:first-child,
  .photo-gallery.gallery-featured > .gallery-media:first-child{height:auto;aspect-ratio:1.25;grid-column:auto;grid-row:auto}
}



.bts-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-status-error{border-color:#b42318!important;color:#b42318!important}


/* === Responsive header layout === */

/* === Photography defaults === */
.hero-visual img,.featured-card img,.media-frame img,.about-image img,.photo-gallery img{image-rendering:auto;}
.hero-visual{border-radius:2px;overflow:hidden;}
.hero-visual img{min-height:360px;}
.featured-card img{background:#f4eee8;}
@media(max-width:800px){.hero-visual img{min-height:260px;}}

/* === Typography polish === */
/* Keep the existing photography system and bring the desktop
   typography down to a refined restaurant-template scale. */
@media (min-width:1081px){
  .hero-media{min-height:560px;padding:64px 0;}
  .hero-media .container{width:min(1180px,calc(100% - 56px));grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:46px;}
  .hero-media h1{font-size:clamp(3.05rem,4vw,4.15rem);line-height:1.04;max-width:620px;margin:.35rem 0 1rem;}
  .hero-media p{font-size:1.02rem;line-height:1.65;max-width:590px;}
  .hero-media .hero-actions{margin-top:22px;}
  .hero-media .btn{padding:12px 20px;min-height:46px;}
  .hero-visual{max-width:590px;width:100%;justify-self:end;}
  .hero-visual img{min-height:0;aspect-ratio:1.45;}

  .section-head-centered{max-width:900px;margin-inline:auto;}
  .section-head-centered h2{font-size:clamp(1.95rem,2.8vw,2.75rem);line-height:1.12;}
  .section-head-centered p{font-size:1rem;}
  .highlight-strip h2{font-size:clamp(1.95rem,3.1vw,2.75rem);line-height:1.12;}
  .contact-info h2{font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.12;}
}

@media (min-width:1401px){
  .hero-media{min-height:575px;}
  .hero-media h1{font-size:4.15rem;max-width:650px;}
}

@media (max-width:1080px) and (min-width:801px){
  .hero-media{min-height:auto;padding:58px 0 78px;}
  .hero-media h1{font-size:clamp(2.8rem,7vw,4rem);line-height:1.05;}
  .hero-media p{font-size:1.05rem;}
}

@media (max-width:800px){
  .hero-media h1{font-size:clamp(2.35rem,8.8vw,3.35rem);line-height:1.04;}
  .hero-media p{font-size:1rem;line-height:1.6;}
  .section-head-centered h2{font-size:clamp(1.85rem,7vw,2.5rem);}
}

@media (max-width:480px){
  .hero-media h1{font-size:clamp(2.2rem,9.8vw,3rem);line-height:1.04;}
  .hero-media{padding-top:38px;padding-bottom:96px;}
}


/* === BTS BUSINESS ONE-PAGE === */
.business-demo{background:#fff}
.business-hero{background:linear-gradient(110deg,#102a35 0%,#0f6670 62%,#176b72 100%);min-height:650px}
.business-hero .hero-glow{background:rgba(240,162,58,.18)}
.business-hero .hero-visual{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06)}
.business-hero .hero-visual img{aspect-ratio:1.45;object-fit:cover}
.business-info-strip .info-book{background:var(--bts-primary)}
.business-services{background:#fff}
.business-featured-grid{grid-template-columns:repeat(3,1fr)}
.business-featured-grid .featured-card img{aspect-ratio:1.45;object-fit:cover}
.business-why{background:var(--bts-dark)}
.business-why .media-frame img{aspect-ratio:1.25;object-fit:cover}
.business-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.business-process-card{position:relative;background:#fff;border:1px solid #dceaea;padding:28px 22px;min-height:210px;box-shadow:0 10px 28px rgba(16,42,53,.06)}
.business-process-card span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bts-light);color:var(--bts-primary);font-weight:900;margin-bottom:20px}
.business-process-card h3{font-family:var(--bts-heading-font,Georgia,serif);color:var(--bts-dark);margin:0 0 8px}
.business-process-card p{color:#5d6b70;margin:0}
.business-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.business-case-card{background:#fff;border:1px solid #dceaea;box-shadow:0 10px 30px rgba(16,42,53,.07);overflow:hidden}
.business-case-card>img{width:100%;aspect-ratio:1.35;object-fit:cover}
.business-case-card .case-body{padding:22px}
.business-case-card .case-body h3{font-family:var(--bts-heading-font,Georgia,serif);color:var(--bts-dark);margin:7px 0 8px;font-size:1.4rem}
.business-case-card .case-body p{color:#5d6b70;margin:0 0 12px}
.business-case-card .case-body strong{color:var(--bts-primary)}
.business-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.business-stat{background:#fff;border:1px solid #dceaea;padding:28px 20px;text-align:center;box-shadow:0 10px 28px rgba(16,42,53,.05)}
.business-stat strong{display:block;font-family:var(--bts-heading-font,Georgia,serif);font-size:1.8rem;color:var(--bts-primary);line-height:1.1}
.business-stat span{display:block;margin-top:8px;color:#607177;font-size:.92rem}
.business-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.business-team-card{border:1px solid #dceaea;background:#fff;padding:16px;text-align:center;box-shadow:0 10px 28px rgba(16,42,53,.05)}
.business-team-card img{width:100%;aspect-ratio:1.15;object-fit:cover}
.business-team-card h3{font-family:var(--bts-heading-font,Georgia,serif);color:var(--bts-dark);margin:16px 0 4px}
.business-team-card p{margin:0;color:#607177}
.business-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.business-pricing-card{background:#fff;border:1px solid #dceaea;padding:28px;box-shadow:0 10px 28px rgba(16,42,53,.06)}
.business-pricing-card.featured{border-top:4px solid var(--bts-accent);transform:translateY(-6px)}
.business-pricing-card h3{font-family:var(--bts-heading-font,Georgia,serif);color:var(--bts-dark);font-size:1.6rem;margin:10px 0}
.business-pricing-card .plan-price{font-weight:900;color:var(--bts-primary);font-size:1.25rem;margin-bottom:12px}
.business-pricing-card p{color:#5d6b70;min-height:72px}
.business-pricing-card .btn{margin-top:10px}
.process-section{background:#fff}
.stats-business-section{background:#fff}
.cases-section{background:var(--bts-light)}
.team-section{background:#fff}
.pricing-section{background:var(--bts-light)}
.business-demo .section-head-centered .eyebrow{color:var(--bts-primary)}
.business-demo .btn-primary{background:var(--bts-accent);color:#102a35}
.business-demo .btn-outline-dark{border-color:var(--bts-primary);color:var(--bts-primary)}
.business-demo .btn-outline-dark:hover{background:var(--bts-primary);color:#fff}
.business-demo .case-label{color:var(--bts-primary);font-weight:800;letter-spacing:.08em;font-size:.72rem}
.business-demo .contact-box{border-top-color:var(--bts-primary)}
.business-demo .contact-section{background:linear-gradient(135deg,#f3f8f8,#fff)}
.business-demo .contact-info .eyebrow{color:var(--bts-primary)}
.business-demo .mobile-cta a:first-child{background:var(--bts-accent);color:#102a35}
.business-demo .mobile-cta a{background:var(--bts-dark)}
@media(max-width:900px){
 .business-process-grid{grid-template-columns:repeat(2,1fr)}
 .business-case-grid,.business-team-grid,.business-pricing-grid{grid-template-columns:1fr}
 .business-pricing-card.featured{transform:none}
}
@media(max-width:800px){
 .business-featured-grid,.business-stats-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .business-featured-grid,.business-process-grid,.business-stats-grid{grid-template-columns:1fr}
 .business-case-card>img,.business-team-card img{aspect-ratio:1.25}
}

/* BTS Business visual direction: teal, gold and real photography. */
.business-demo .hero-media{background:linear-gradient(115deg,#0b2f3a 0%,#0f5662 58%,#0f7a82 100%);}
.business-demo .hero-media .hero-glow{background:rgba(242,165,59,.16);}
.business-demo .hero-media .eyebrow{color:#f2a53b;}
.business-demo .featured-card,.business-demo .business-case-card,.business-demo .testimonial-card{background:#fff;}
.business-demo .featured-card img,.business-demo .business-case-card img{aspect-ratio:1.65;object-fit:cover;}
.business-demo .media-frame img,.business-demo .about-image img{aspect-ratio:1.45;object-fit:cover;}
.business-demo .photo-gallery img{object-fit:cover;}
.business-demo .info-book,.business-demo .mobile-cta a:last-child{background:#0f7a82;}
.business-demo .btn-primary{background:#f2a53b;color:#0f3440;}



/* === BTS BUSINESS WHY-US RESPONSIVE POLISH v3.3.5 === */
.business-demo .business-why .container{
  grid-template-columns:minmax(0,1fr) minmax(420px,540px);
  gap:clamp(48px,6vw,86px);
  align-items:center;
}
.business-demo .business-why-copy{
  min-width:0;
  max-width:560px;
}
.business-demo .business-why-copy .eyebrow{
  display:block;
  margin:0 0 10px;
}
.business-demo .business-why-copy h2{
  display:block;
  color:#fff !important;
  max-width:560px;
  margin:.25rem 0 28px;
  line-height:1.08;
}
.business-demo .business-why-copy .feature-points{
  display:grid;
  gap:20px;
}
.business-demo .business-why-copy .feature-points p{
  margin:0;
  max-width:540px;
  line-height:1.55;
}
.business-demo .business-why-copy .feature-points strong{
  margin-bottom:4px;
}
.business-demo .business-why-media{
  width:100%;
  max-width:540px;
  justify-self:end;
  overflow:hidden;
  border-radius:14px;
}
.business-demo .business-why-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1.45;
  object-fit:cover;
  object-position:center;
}
@media (max-width:1080px) and (min-width:801px){
  .business-demo .business-why .container{
    grid-template-columns:minmax(0,1fr) minmax(340px,46%);
    gap:42px;
  }
  .business-demo .business-why-copy h2{font-size:clamp(2rem,4vw,2.8rem);}
}
@media (max-width:800px){
  .business-demo .business-why .container{
    grid-template-columns:1fr;
    gap:34px;
    align-items:start;
  }
  .business-demo .business-why-copy{
    max-width:none;
  }
  .business-demo .business-why-copy h2{
    max-width:680px;
    margin:.25rem 0 24px;
    font-size:clamp(2rem,7.5vw,2.7rem);
    line-height:1.1;
  }
  .business-demo .business-why-copy .feature-points{gap:17px;}
  .business-demo .business-why-media{
    max-width:680px;
    justify-self:stretch;
    margin:0 auto;
  }
}
@media (max-width:520px){
  .business-demo .business-why .container{gap:28px;}
  .business-demo .business-why-copy .eyebrow{font-size:.82rem;letter-spacing:.12em;}
  .business-demo .business-why-copy h2{
    font-size:clamp(1.85rem,8.5vw,2.35rem);
    margin-bottom:20px;
  }
  .business-demo .business-why-copy .feature-points p{
    font-size:1rem;
    line-height:1.5;
  }
  .business-demo .business-why-media{border-radius:12px;}
  .business-demo .business-why-media img{aspect-ratio:1.2;}
}

/* === BTS BUSINESS TYPOGRAPHY CONTROLS === */
.business-demo{font-size:var(--bts-body-size,16px);color:var(--bts-text,#3b4a4f)}
.business-demo h1,
.business-demo h2,
.business-demo h3,
.business-demo h4,
.business-demo .hero-media h1,
.business-demo .section-head-centered h2,
.business-demo .business-process-card h3,
.business-demo .business-case-card .case-body h3,
.business-demo .business-stat strong,
.business-demo .business-team-card h3,
.business-demo .business-pricing-card h3,
.business-demo .contact-info h2{font-family:var(--bts-heading-font,Georgia,serif);font-weight:var(--bts-heading-weight,700)}
.business-demo .section-head-centered h2{font-size:clamp(var(--bts-h2-min,1.9rem),var(--bts-h2-fluid,3vw),var(--bts-h2-max,2.7rem));}
.business-demo .hero-media h1{font-size:clamp(var(--bts-h1-min,2.3rem),var(--bts-h1-fluid,5vw),var(--bts-h1-max,4.3rem));}
.business-demo .business-case-card .case-body p,
.business-demo .business-process-card p,
.business-demo .business-stat span,
.business-demo .business-team-card p,
.business-demo .business-pricing-card p{color:var(--bts-text,#5d6b70)}
.business-demo 
.site-footer{font-size:var(--bts-body-size,16px)}


/* === BTS BUSINESS DESKTOP GTRANSLATE FINAL FIX v2.5.12 ===
 * Desktop only: keep the language dropdown out of normal document flow so it
 * cannot increase header height or push the page down. Mobile rules below
 * remain untouched.
 */
@media (min-width:1081px){
  .site-header .header-inner{
    overflow:visible;
  }
  .bts-gtranslate-switcher{
    position:relative !important;
    align-self:center !important;
    height:44px !important;
    overflow:visible !important;
    z-index:1001 !important;
  }
  .bts-gtranslate-switcher .gtranslate_wrapper,
  .bts-gtranslate-switcher .gt_float_switcher{
    position:relative !important;
    height:44px !important;
    overflow:visible !important;
  }
  .bts-gtranslate-switcher .gt_float_switcher .gt_options{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    height:auto !important;
    max-height:330px !important;
    margin:0 !important;
    z-index:1002 !important;
  }
}

/* === BTS BUSINESS MOBILE FINAL POLISH v2.5.5 === */
@media(max-width:800px){
  .business-hero{min-height:auto;padding:42px 0 108px;}
  .business-hero .container{width:min(100% - 28px,680px);grid-template-columns:1fr;gap:24px;}
  .business-hero .hero-copy{min-width:0;}
  .business-hero .hero-visual{order:2;width:100%;max-width:none;margin:4px auto 0;}
  .business-hero .hero-visual img{width:100%;height:auto;min-height:0;aspect-ratio:1.45;object-fit:cover;}
  .business-hero h1{font-size:clamp(2.45rem,10.5vw,3.5rem);line-height:1.03;max-width:100%;}
  .business-hero p{font-size:1rem;line-height:1.58;}
  .business-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px;}
  .business-hero .hero-actions .btn{width:100%;min-height:54px;}
  .business-demo .info-strip{margin-top:0;}
  .mobile-cta{left:8px;right:8px;bottom:8px;gap:8px;padding-bottom:env(safe-area-inset-bottom);}
  .mobile-cta a{min-height:52px;border-radius:14px;}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom));}
}

/* Prevent the mobile navigation and language panel from competing for the same layer. */
@media(max-width:1080px){
  .site-header{z-index:10000;}
  .menu-toggle{position:relative;z-index:10070;}
  .main-nav{z-index:10020;}
}


/* === BTS BUSINESS MOBILE LANGUAGE SELECTOR ULTRA POLISH v2.5.5 === */
@media (max-width: 800px){
  /* Keep the language selector panel tied to the actual language button. */
  .bts-gtranslate-switcher{
    position:absolute !important;
    right:56px !important;
    top:9px !important;
    z-index:100500 !important;
    overflow:visible !important;
  }
  .bts-gtranslate-switcher .gtranslate_wrapper,
  .bts-gtranslate-switcher .gt_float_switcher{
    position:relative !important;
    z-index:100501 !important;
    overflow:visible !important;
  }
  /* Override plugin defaults even when its stylesheet is loaded later. */
  .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  .gt_float_switcher .gt_options{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    width:300px !important;
    min-width:0 !important;
    max-width:calc(100vw - 24px) !important;
    height:auto !important;
    max-height:52vh !important;
    margin:0 !important;
    padding:8px !important;
    box-sizing:border-box !important;
    background:#ffffff !important;
    background-color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
    border:1px solid #dce7e9 !important;
    border-radius:18px !important;
    box-shadow:0 16px 40px rgba(15,52,64,.20) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    z-index:100502 !important;
  }
  .bts-gtranslate-switcher .gt_float_switcher .gt_options a,
  .gt_float_switcher .gt_options a{
    min-height:40px !important;
    padding:8px 10px !important;
    margin:2px 0 !important;
    border-radius:10px !important;
    font-size:.92rem !important;
    line-height:1.2 !important;
    color:#263a40 !important;
    background:transparent !important;
    box-sizing:border-box !important;
  }
  .bts-gtranslate-switcher .gt_float_switcher .gt_options a:hover,
  .gt_float_switcher .gt_options a:hover{
    background:#eef6f5 !important;
    color:#0f6670 !important;
  }
  .bts-gtranslate-switcher .gt_float_switcher .gt_options a img,
  .gt_float_switcher .gt_options a img{
    width:23px !important;
    height:16px !important;
    flex:0 0 23px !important;
    object-fit:cover !important;
  }
}
@media (max-width:380px){
  .bts-gtranslate-switcher{right:52px !important;}
  .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  .gt_float_switcher .gt_options{
    width:280px !important;
    max-width:calc(100vw - 16px) !important;
    right:-4px !important;
    max-height:50vh !important;
  }
}

/* === BTS BUSINESS MOBILE FINAL POLISH v2.5.5 === */
@media (max-width: 800px){
  /* Compact, opaque and premium language selector dropdown on phones. */
  html body .bts-gtranslate-switcher{
    right:56px !important;
    top:9px !important;
    z-index:100500 !important;
    width:auto !important;
    max-width:none !important;
  }
  html body .bts-gtranslate-switcher .gtranslate_wrapper,
  html body .bts-gtranslate-switcher .gt_float_switcher{
    position:relative !important;
    overflow:visible !important;
    width:auto !important;
    min-width:0 !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
    min-height:48px !important;
    padding:0 16px !important;
    gap:8px !important;
    border-radius:999px !important;
    box-shadow:0 7px 22px rgba(15,52,64,.12) !important;
    font-size:.94rem !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang{
    min-height:48px !important;
    gap:8px !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-options,
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    width:300px !important;
    min-width:300px !important;
    max-width:calc(100vw - 32px) !important;
    height:auto !important;
    max-height:58vh !important;
    margin:0 !important;
    padding:8px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    background-color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    border:1px solid #dce7e9 !important;
    border-radius:18px !important;
    box-shadow:0 18px 45px rgba(15,52,64,.22) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    z-index:100502 !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a,
  html body .gt_float_switcher .gt_options a{
    display:flex !important;
    align-items:center !important;
    min-height:42px !important;
    padding:9px 11px !important;
    margin:2px 0 !important;
    gap:10px !important;
    border-radius:11px !important;
    box-sizing:border-box !important;
    font-size:.92rem !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    color:#263a40 !important;
    background:transparent !important;
    text-decoration:none !important;
    transform:none !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a:hover,
  html body .gt_float_switcher .gt_options a:hover{
    background:#eef6f5 !important;
    color:#0f6670 !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a img,
  html body .gt_float_switcher .gt_options a img{
    width:24px !important;
    height:16px !important;
    min-width:24px !important;
    flex:0 0 24px !important;
    object-fit:cover !important;
    border-radius:3px !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options::-webkit-scrollbar{
    width:5px !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options::-webkit-scrollbar-thumb{
    background:#c6d8db !important;
    border-radius:999px !important;
  }
}

@media (max-width: 420px){
  html body .bts-gtranslate-switcher{right:54px !important;}
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:292px !important;
    min-width:292px !important;
    max-width:calc(100vw - 28px) !important;
    max-height:56vh !important;
  }
  .site-header .header-inner{gap:8px !important;}
  .site-brand > span{font-size:1.12rem !important;}
}

@media (max-width: 360px){
  html body .bts-gtranslate-switcher{right:50px !important;}
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
    padding:0 12px !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:calc(100vw - 24px) !important;
    min-width:0 !important;
    right:-4px !important;
  }
}


/* === BTS BUSINESS MOBILE ULTRA FINAL v2.5.7 ===
 * Mobile-first language selector sizing + browser dark-mode protection.
 * Keep the site palette stable across Chrome, Samsung Internet and Edge.
 */
html, body, .site-header{
  color-scheme:light !important;
}

@media (max-width:800px){
  .site-header{
    background:#fff !important;
    color:var(--bts-dark) !important;
    border-bottom-color:#e7eeee !important;
  }
  .site-brand,
  .site-brand span{
    color:var(--bts-dark) !important;
  }
  .menu-toggle{
    background:#fff !important;
    color:var(--bts-dark) !important;
    border-color:#dce7e8 !important;
  }

  /* Smaller language panel: readable, scrollable, but never dominant. */
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:250px !important;
    min-width:250px !important;
    max-width:calc(100vw - 24px) !important;
    max-height:48vh !important;
    padding:6px !important;
    background:#fff !important;
    background-color:#fff !important;
    color:#263a40 !important;
    border:1px solid #dce7e9 !important;
    border-radius:16px !important;
    box-shadow:0 16px 40px rgba(15,52,64,.22) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    opacity:1 !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a,
  html body .gt_float_switcher .gt_options a{
    min-height:38px !important;
    padding:7px 9px !important;
    margin:1px 0 !important;
    gap:9px !important;
    font-size:.86rem !important;
    line-height:1.15 !important;
    font-weight:700 !important;
    color:#263a40 !important;
    background:#fff !important;
    border-radius:9px !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a:hover,
  html body .gt_float_switcher .gt_options a:hover{
    background:#eef6f5 !important;
    color:#0f6670 !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a img,
  html body .gt_float_switcher .gt_options a img{
    width:22px !important;
    height:15px !important;
    min-width:22px !important;
    flex:0 0 22px !important;
  }

  /* Keep the main CTAs visually identical even when a browser prefers dark mode. */
  .hero-media .btn-primary,
  .hero-media .btn-primary:hover,
  .mobile-cta a:first-child{
    background:var(--bts-accent) !important;
    color:#1e2a2d !important;
  }
  .hero-media .btn-outline{
    background:transparent !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.65) !important;
  }
  .mobile-cta a:not(:first-child){
    background:var(--bts-dark) !important;
    color:#fff !important;
  }
}

@media (max-width:420px){
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:240px !important;
    min-width:240px !important;
    max-width:calc(100vw - 24px) !important;
    max-height:46vh !important;
  }
}

@media (max-width:360px){
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:calc(100vw - 24px) !important;
    min-width:0 !important;
  }
}

/* Prevent accidental horizontal overflow on narrow phones. */
html, body{max-width:100%;overflow-x:hidden}

/* === BTS BUSINESS MOBILE FINAL FIX v2.5.7 ===
 * Prevent browser-forced dark-mode recoloring and make the mobile language
 * panel genuinely compact on high-density Android screens.
 */
html,
body,
.site,
.site-header,
.hero-media,
.business-demo,
.btn,
.mobile-cta,
.bts-gtranslate-switcher,
.bts-gtranslate-switcher .gt_float_switcher,
.bts-gtranslate-switcher .gt_float_switcher .gt_options{
  color-scheme: only light !important;
  forced-color-adjust: none !important;
  -webkit-forced-color-adjust: none !important;
}

/* Lock the business brand palette against browser darkening heuristics. */
.business-demo .hero-media .btn-primary,
.business-demo .hero-media .btn-primary:hover,
.business-demo .hero-media .btn-primary:focus,
.business-demo .mobile-cta a:first-child,
.business-demo .mobile-cta a:first-child:hover,
.business-demo .mobile-cta a:first-child:focus{
  background-color:var(--bts-accent,#f2a53b) !important;
  background-image:none !important;
  color:#102a35 !important;
  border-color:var(--bts-accent,#f2a53b) !important;
  forced-color-adjust:none !important;
}

.business-demo .mobile-cta a:not(:first-child),
.business-demo .mobile-cta a:not(:first-child):hover,
.business-demo .mobile-cta a:not(:first-child):focus{
  background-color:#102a35 !important;
  background-image:none !important;
  color:#fff !important;
  border-color:#102a35 !important;
  forced-color-adjust:none !important;
}

@media (max-width:800px){
  /* Compact dropdown: ~215 CSS px on normal Android phones. */
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:215px !important;
    min-width:215px !important;
    max-width:calc(100vw - 20px) !important;
    max-height:43vh !important;
    padding:5px !important;
    border-radius:15px !important;
    background:#fff !important;
    background-color:#fff !important;
    color:#263a40 !important;
    opacity:1 !important;
    forced-color-adjust:none !important;
  }

  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a,
  html body .gt_float_switcher .gt_options a{
    min-height:36px !important;
    padding:6px 8px !important;
    margin:1px 0 !important;
    gap:8px !important;
    border-radius:8px !important;
    font-size:.84rem !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    color:#263a40 !important;
    background:#fff !important;
    forced-color-adjust:none !important;
  }

  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options a img,
  html body .gt_float_switcher .gt_options a img{
    width:21px !important;
    height:14px !important;
    min-width:21px !important;
    flex-basis:21px !important;
  }
}

@media (max-width:420px){
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:210px !important;
    min-width:210px !important;
    max-width:calc(100vw - 20px) !important;
    max-height:42vh !important;
  }
}

@media (max-width:360px){
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .gt_float_switcher .gt_options{
    width:calc(100vw - 30px) !important;
    min-width:0 !important;
    max-height:40vh !important;
  }
}



/* === BTS BUSINESS DARK-MODE HARD LOCK v2.5.8 ===
 * Samsung Internet / Chrome mobile can still apply forced darkening after
 * normal color-scheme rules. Keep the brand CTA palette exact in dark mode.
 */
html,
body,
body.business-demo,
.business-demo .hero-media,
.business-demo .btn,
.business-demo .mobile-cta,
.business-demo .mobile-cta a{
  -webkit-color-adjust: exact !important;
  color-adjust: exact !important;
}

@media (prefers-color-scheme: dark){
  html,
  body{
    color-scheme: only light !important;
    -webkit-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  .business-demo .hero-media .btn-primary,
  .business-demo .hero-media .btn-primary:hover,
  .business-demo .hero-media .btn-primary:focus,
  .business-demo .mobile-cta a:first-child,
  .business-demo .mobile-cta a:first-child:hover,
  .business-demo .mobile-cta a:first-child:focus{
    background-color:#f2a53b !important;
    background-image:none !important;
    color:#102a35 !important;
    border-color:#f2a53b !important;
    -webkit-color-adjust:exact !important;
    color-adjust:exact !important;
    forced-color-adjust:none !important;
  }

  .business-demo .hero-media .btn-outline,
  .business-demo .hero-media .btn-outline:hover,
  .business-demo .hero-media .btn-outline:focus{
    background-color:transparent !important;
    background-image:none !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.65) !important;
    -webkit-color-adjust:exact !important;
    color-adjust:exact !important;
    forced-color-adjust:none !important;
  }

  .business-demo .mobile-cta a:not(:first-child),
  .business-demo .mobile-cta a:not(:first-child):hover,
  .business-demo .mobile-cta a:not(:first-child):focus{
    background-color:#102a35 !important;
    background-image:none !important;
    color:#fff !important;
    border-color:#102a35 !important;
    -webkit-color-adjust:exact !important;
    color-adjust:exact !important;
    forced-color-adjust:none !important;
  }
}


/* === BTS BUSINESS CTA IMAGE HARD LOCK v2.5.9 ===
 * Final defense for Samsung Internet / Chrome forced-dark rendering.
 * The accent surface is a real SVG image, not a CSS color, so browser
 * dark-mode heuristics cannot remap the brand orange to maroon/red.
 */
.bts-cta-image-lock{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border-color:transparent !important;
  color:#102a35 !important;
  -webkit-color-adjust:exact !important;
  color-adjust:exact !important;
  forced-color-adjust:none !important;
}
.bts-cta-image-lock .bts-cta-surface{
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:inherit !important;
  object-fit:fill !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
  forced-color-adjust:none !important;
  color-scheme:only light !important;
}
.bts-cta-image-lock .bts-cta-label{
  position:relative !important;
  z-index:1 !important;
  color:#102a35 !important;
  forced-color-adjust:none !important;
}
.bts-cta-image-lock:hover,
.bts-cta-image-lock:focus,
.bts-cta-image-lock:active{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  filter:none !important;
  color:#102a35 !important;
}
@media (prefers-color-scheme:dark){
  .business-demo .bts-cta-image-lock,
  .business-demo .bts-cta-image-lock:hover,
  .business-demo .bts-cta-image-lock:focus,
  .business-demo .bts-cta-image-lock:active{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border-color:transparent !important;
    color:#102a35 !important;
    filter:none !important;
    forced-color-adjust:none !important;
  }
  .business-demo .bts-cta-image-lock .bts-cta-surface{
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
    forced-color-adjust:none !important;
  }
  .business-demo .bts-cta-image-lock .bts-cta-label{
    color:#102a35 !important;
    forced-color-adjust:none !important;
  }
}
/* Keep the secondary mobile actions as the original dark brand surface. */
@media (max-width:800px){
  .business-demo .mobile-cta a:not(.bts-cta-image-lock){
    background:#102a35 !important;
    background-color:#102a35 !important;
    color:#fff !important;
    border-color:#102a35 !important;
    forced-color-adjust:none !important;
  }
}

/* === BTS BUSINESS LANGUAGE BUTTON COMPACT v2.5.10 ===
 * Mobile header language selector reduced to roughly 50% of the previous
 * visual footprint while keeping EN + flag readable and the dropdown usable.
 */
@media (max-width:800px){
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
    min-height:36px !important;
    height:36px !important;
    padding:0 8px !important;
    gap:4px !important;
    border-radius:999px !important;
    font-size:.78rem !important;
    line-height:1 !important;
    box-shadow:0 5px 14px rgba(15,52,64,.10) !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang{
    min-height:36px !important;
    height:36px !important;
    gap:4px !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang img{
    width:18px !important;
    height:12px !important;
    border-radius:2px !important;
  }
}

@media (max-width:420px){
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
    min-height:34px !important;
    height:34px !important;
    padding:0 7px !important;
    font-size:.75rem !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang{
    min-height:34px !important;
    height:34px !important;
  }
  html body .bts-gtranslate-switcher .gt_float_switcher .gt-selected .gt-current-lang img{
    width:17px !important;
    height:11px !important;
  }
}

/* === BTS BUSINESS DESKTOP LANGUAGE DROPDOWN — OPEN DOWN v2.5.13 ===
 * Desktop only. Mobile language behavior is intentionally untouched.
 */
@media (min-width:1081px){
  html body .site-header .header-inner{
    overflow:visible !important;
  }

  html body .bts-gtranslate-switcher{
    position:relative !important;
    align-self:center !important;
    height:44px !important;
    min-height:44px !important;
    overflow:visible !important;
    z-index:100500 !important;
  }

  html body .bts-gtranslate-switcher .gtranslate_wrapper,
  html body .bts-gtranslate-switcher .gt_float_switcher{
    position:relative !important;
    height:44px !important;
    min-height:44px !important;
    overflow:visible !important;
    z-index:100501 !important;
  }

  /* The language list must always open BELOW the EN button on desktop. */
  html body .bts-gtranslate-switcher .gt_float_switcher .gt_options,
  html body .bts-gtranslate-switcher .gt_options{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    margin:0 !important;
    transform:none !important;
    height:auto !important;
    max-height:330px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    z-index:100502 !important;
  }
}

/* === BTS BUSINESS TRUST STRIP v2.5.14 === */
.trust-strip{padding:36px 0;background:var(--bts-light)}
.trust-strip-inner{text-align:center}
.trust-strip-label{margin:0 0 18px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;color:var(--bts-text)}
.trust-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:36px;margin-bottom:18px}
.trust-logos img{max-height:42px;width:auto;max-width:140px;object-fit:contain;opacity:.75;filter:grayscale(100%);transition:opacity .2s ease,filter .2s ease}
.trust-logos img:hover{opacity:1;filter:grayscale(0%)}
.trust-rating{margin:0 auto;text-decoration:none}
@media(max-width:600px){
  .trust-logos{gap:22px}
  .trust-logos img{max-height:32px;max-width:100px}
}

/* === BTS BUSINESS BOOKING EMBED v2.5.14 === */
.booking-embed{margin-bottom:24px;border-radius:var(--bts-radius,12px);overflow:hidden;background:#fff}
.booking-embed iframe{display:block;width:100%;min-height:480px;border:0}
@media(max-width:800px){.booking-embed iframe{min-height:560px}}

/* === BTS BUSINESS COOKIE NOTICE v2.5.14 === */
.bts-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--bts-dark);color:#fff;padding:16px 20px;transform:translateY(110%);opacity:0;transition:transform .3s ease,opacity .3s ease;box-shadow:0 -8px 30px rgba(0,0,0,.18)}
.bts-cookie-banner.is-visible{transform:translateY(0);opacity:1}
.bts-cookie-banner-inner{width:min(1120px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.bts-cookie-banner p{margin:0;font-size:.92rem;line-height:1.5;max-width:760px}
.bts-cookie-banner a{color:var(--bts-accent);text-decoration:underline}
.bts-cookie-banner .btn{white-space:nowrap;min-height:40px;padding:9px 18px}
@media(max-width:600px){
  .bts-cookie-banner{padding:14px 16px}
  .bts-cookie-banner-inner{flex-direction:column;align-items:stretch;text-align:center;gap:12px}
  .bts-cookie-banner .btn{width:100%}
}

/* =========================================================
   BTS BUSINESS STARTER v2.7.0 — PREMIUM VISUAL POLISH
   ========================================================= */

/* Refined base tokens */
:root{
  --bts-shadow:0 18px 48px rgba(16,42,53,.09);
  --bts-shadow-hover:0 28px 60px rgba(16,42,53,.14);
  --bts-border:1px solid rgba(15,102,112,.10);
  --bts-ease:cubic-bezier(.22,.61,.36,1);
}

/* Header: glass + soft lift */
.site-header{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid rgba(15,102,112,.08);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 8px 28px rgba(16,42,53,.04);
}
.main-nav a{
  transition:background .2s var(--bts-ease),color .2s var(--bts-ease),transform .2s var(--bts-ease);
}
.main-nav a:hover{transform:translateY(-1px)}

/* Buttons */
.btn{
  transition:transform .2s var(--bts-ease),box-shadow .25s var(--bts-ease),filter .2s ease,background .2s ease;
  box-shadow:0 6px 18px rgba(16,42,53,.08);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,42,53,.14)}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:linear-gradient(180deg,color-mix(in srgb,var(--bts-accent) 92%,#fff),var(--bts-accent));
  border:1px solid rgba(0,0,0,.04);
}
.btn-outline{backdrop-filter:blur(4px)}

/* Section rhythm */
.section{padding:88px 0}
.section.alt{background:linear-gradient(180deg,#f7fbfb 0%,#f3f8f8 100%)}
.section-head-centered .eyebrow{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(15,102,112,.08);
  color:var(--bts-primary);
  font-size:.78rem;
}
.section-head-centered h2{
  letter-spacing:-.02em;
}

/* Cards — lift on hover */
.featured-card,
.business-case-card,
.business-process-card,
.business-pricing-card,
.business-team-card,
.testimonial-card{
  border:var(--bts-border);
  border-radius:var(--bts-radius,18px);
  box-shadow:var(--bts-shadow);
  transition:transform .28s var(--bts-ease),box-shadow .28s var(--bts-ease),border-color .2s ease;
  background:#fff;
}
.featured-card:hover,
.business-case-card:hover,
.business-process-card:hover,
.business-pricing-card:hover,
.business-team-card:hover,
.testimonial-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--bts-shadow-hover);
  border-color:rgba(15,102,112,.18);
}
.featured-card img,
.business-case-card img,
.business-team-card img{
  transition:transform .55s var(--bts-ease);
}
.featured-card:hover img,
.business-case-card:hover img,
.business-team-card:hover img{
  transform:scale(1.035);
}

/* Process cards */
.business-process-card{
  padding:28px 24px;
  position:relative;
  overflow:hidden;
}
.business-process-card span{
  font-weight:900;
  font-size:1.6rem;
  color:color-mix(in srgb,var(--bts-primary) 55%,#fff);
  letter-spacing:.04em;
}
.business-process-card::after{
  content:"";
  position:absolute;
  inset:auto -20% -40% auto;
  width:140px;height:140px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(15,102,112,.08),transparent 70%);
  pointer-events:none;
}

/* Stats */
.business-stat{
  text-align:center;
  padding:28px 18px;
  border-radius:var(--bts-radius,18px);
  background:#fff;
  border:var(--bts-border);
  box-shadow:var(--bts-shadow);
}
.business-stat strong{
  display:block;
  font-size:clamp(1.8rem,3vw,2.4rem);
  color:var(--bts-primary);
  letter-spacing:-.02em;
  line-height:1.1;
}

/* Pricing featured */
.business-pricing-card.featured{
  border-color:var(--bts-primary);
  box-shadow:0 22px 55px rgba(15,102,112,.16);
  position:relative;
}
.business-pricing-card.featured::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--bts-primary),var(--bts-accent));
  border-radius:var(--bts-radius,18px) var(--bts-radius,18px) 0 0;
}
.plan-price{
  font-size:1.65rem;
  font-weight:900;
  color:var(--bts-dark);
  margin:.4rem 0 .8rem;
}

/* Testimonials premium */
.testimonials{gap:24px}
.testimonial-card{padding:28px 26px;display:flex;flex-direction:column;gap:12px}
.testimonial-card-top{display:flex;align-items:center;gap:14px}
.testimonial-avatar{
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  font-weight:800;font-size:1.05rem;color:#fff;
  background:linear-gradient(135deg,var(--bts-primary),var(--bts-accent));
  flex:0 0 46px;
  box-shadow:0 8px 18px rgba(15,102,112,.2);
}
.testimonial-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.testimonial-meta strong{color:var(--bts-dark);font-size:.98rem}
.testimonial-source{
  font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--bts-primary);opacity:.85;
}
.testimonial-card .stars{color:#f5b301;letter-spacing:3px;font-size:1.05rem}
.testimonial-card p{
  margin:0;font-family:var(--bts-heading-font,Georgia,serif);
  font-size:1.05rem;line-height:1.55;color:#3a4a50;
}
.testimonials-google-link{margin:.6rem 0 0}
.testimonials-google-link a{
  color:var(--bts-primary);font-weight:800;text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .2s ease,color .2s ease;
}
.testimonials-google-link a:hover{border-bottom-color:var(--bts-primary)}

/* Google reviews embed */
.google-reviews-section{background:linear-gradient(180deg,#fff 0%,#f3f8f8 100%)}
.google-reviews-embed{
  border-radius:var(--bts-radius,18px);
  overflow:hidden;
  background:#fff;
  border:var(--bts-border);
  box-shadow:var(--bts-shadow);
  min-height:120px;
}
.google-reviews-embed iframe{display:block;width:100%;min-height:520px;border:0}
@media(max-width:800px){.google-reviews-embed iframe{min-height:600px}}

/* FAQ premium accordion */
.faq{gap:14px;max-width:820px;margin:0 auto}
.faq details{
  background:#fff;
  border:var(--bts-border);
  border-radius:16px;
  padding:0 20px;
  box-shadow:0 8px 24px rgba(16,42,53,.05);
  transition:box-shadow .25s var(--bts-ease),border-color .2s ease;
}
.faq details[open]{
  border-color:rgba(15,102,112,.22);
  box-shadow:0 14px 36px rgba(16,42,53,.1);
}
.faq summary{
  list-style:none;
  cursor:pointer;
  font-weight:800;
  color:var(--bts-dark);
  padding:18px 36px 18px 4px;
  position:relative;
  transition:color .2s ease;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--bts-light);color:var(--bts-primary);
  font-size:1.15rem;font-weight:900;line-height:1;
  transition:transform .25s var(--bts-ease),background .2s ease,color .2s ease;
}
.faq details[open] summary::after{
  content:"–";
  background:var(--bts-primary);color:#fff;
}
.faq details p{
  margin:0 4px 18px;
  color:var(--bts-text);
  line-height:1.65;
  padding-right:28px;
}

/* Trust strip polish */
.trust-strip{padding:42px 0;background:linear-gradient(180deg,#fff,#f3f8f8)}
.trust-logos img{transition:opacity .25s ease,filter .25s ease,transform .25s var(--bts-ease)}
.trust-logos img:hover{transform:translateY(-2px) scale(1.04)}
.rating-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:999px;
  background:#fff;border:var(--bts-border);
  box-shadow:0 10px 28px rgba(16,42,53,.08);
  color:var(--bts-dark);font-weight:700;text-decoration:none;
}
.rating-badge .stars{color:#f5b301;letter-spacing:1px}

/* Hero polish */
.business-hero{
  background:
    radial-gradient(1200px 500px at 85% -10%,rgba(240,162,58,.22),transparent 55%),
    radial-gradient(900px 420px at 10% 110%,rgba(15,102,112,.35),transparent 50%),
    linear-gradient(120deg,#0c3d45 0%,#0f6670 42%,#163a44 100%);
}
.business-hero .hero-visual{
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  background:rgba(255,255,255,.06);
  padding:10px;
}
.business-hero .hero-visual img{border-radius:14px}
.business-hero .eyebrow{
  display:inline-block;
  padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
}

/* Info strip */
.business-info-strip{
  background:#fff;
  border-bottom:1px solid rgba(15,102,112,.08);
  box-shadow:0 10px 30px rgba(16,42,53,.04);
}
.info-item small{letter-spacing:.04em;text-transform:uppercase;font-weight:700;opacity:.7}
.info-book{
  background:linear-gradient(135deg,var(--bts-primary),color-mix(in srgb,var(--bts-primary) 70%,var(--bts-dark)));
  color:#fff !important;
  border-radius:14px;
  box-shadow:0 12px 28px rgba(15,102,112,.25);
  transition:transform .2s var(--bts-ease),box-shadow .2s ease;
}
.info-book:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,102,112,.32)}

/* Contact */
.contact-box{
  background:#fff;
  border-radius:var(--bts-radius,18px);
  padding:28px;
  border:var(--bts-border);
  border-top:4px solid var(--bts-primary);
  box-shadow:var(--bts-shadow);
}
.contact-form input,
.contact-form textarea{
  border:1px solid #d7e4e6;
  border-radius:12px;
  padding:14px 16px;
  transition:border-color .2s ease,box-shadow .2s ease;
  background:#fbfcfc;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--bts-primary);
  box-shadow:0 0 0 4px rgba(15,102,112,.12);
  background:#fff;
}

/* WhatsApp float */
.whatsapp-float{
  transition:transform .2s var(--bts-ease),box-shadow .2s ease;
  box-shadow:0 12px 30px rgba(37,211,102,.35);
}
.whatsapp-float:hover{transform:scale(1.06);box-shadow:0 16px 36px rgba(37,211,102,.45)}

/* Gallery */
.photo-gallery a{
  border-radius:16px;overflow:hidden;display:block;
  box-shadow:var(--bts-shadow);
  transition:transform .28s var(--bts-ease),box-shadow .28s var(--bts-ease);
}
.photo-gallery a:hover{transform:translateY(-4px);box-shadow:var(--bts-shadow-hover)}
.photo-gallery img{transition:transform .5s var(--bts-ease)}
.photo-gallery a:hover img{transform:scale(1.04)}

/* Scroll reveal */
.bts-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s var(--bts-ease),transform .7s var(--bts-ease);
  transition-delay:var(--bts-reveal-delay,0ms);
}
.bts-reveal.is-visible{
  opacity:1;
  transform:none;
}
.bts-no-reveal .bts-reveal,
html.bts-no-reveal .bts-reveal{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

/* Focus visibility */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:3px solid color-mix(in srgb,var(--bts-accent) 70%,#fff);
  outline-offset:3px;
}

/* Footer */
.site-footer{
  background:linear-gradient(180deg,#0f2430 0%,#102a35 100%);
}
.site-footer a{transition:color .2s ease,opacity .2s ease}
.site-footer a:hover{opacity:.85;color:var(--bts-accent)}

/* Mobile refinements */
@media(max-width:800px){
  .section{padding:64px 0}
  .testimonial-card:hover,
  .featured-card:hover,
  .business-case-card:hover,
  .business-pricing-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .bts-reveal{opacity:1;transform:none;transition:none}
  .btn,.featured-card,.testimonial-card,.photo-gallery a{transition:none}
}

/* =========================================================
   BTS BUSINESS STARTER v2.8.0 — DARK MODE + AGENCY TYPE
   ========================================================= */

/* Ensure headings prefer the Customizer font stack */
.business-demo h1,
.business-demo h2,
.business-demo h3,
.hero-media h1,
.section-head-centered h2,
.highlight-strip h2,
.contact-info h2,
.featured-card h3,
.business-process-card h3,
.business-case-card .case-body h3,
.business-team-card h3,
.business-pricing-card h3,
.business-stat strong,
.testimonial-card p{
  font-family:var(--bts-heading-font,Georgia,serif);
}
body{font-size:var(--bts-body-size,16px)}

/* Theme toggle button */
.bts-theme-toggle{
  flex:0 0 auto;
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid #e3ecee;
  background:#fff;
  color:var(--bts-dark);
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(15,52,64,.10);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
  position:relative;
}
.bts-theme-toggle:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,52,64,.14)}
.bts-theme-toggle .bts-theme-icon{position:absolute;font-size:1.1rem;line-height:1;transition:opacity .2s ease,transform .2s ease}
.bts-theme-toggle .bts-theme-icon-sun{opacity:0;transform:scale(.6) rotate(-30deg)}
.bts-theme-toggle .bts-theme-icon-moon{opacity:1;transform:scale(1)}
html[data-theme="dark"] .bts-theme-toggle .bts-theme-icon-sun{opacity:1;transform:scale(1) rotate(0)}
html[data-theme="dark"] .bts-theme-toggle .bts-theme-icon-moon{opacity:0;transform:scale(.6) rotate(30deg)}

/* ----- Dark theme tokens ----- */
html[data-theme="dark"]{
  color-scheme:dark;
  --bts-dark:#f2f6f7;
  --bts-text:#c5d0d4;
  --bts-light:#15262c;
  --bts-white:#0e1a1f;
  --bts-shadow:0 18px 48px rgba(0,0,0,.35);
  --bts-shadow-hover:0 28px 60px rgba(0,0,0,.45);
  --bts-border:1px solid rgba(255,255,255,.08);
}
html[data-theme="dark"] body{
  background:#0b1418;
  color:var(--bts-text);
}
html[data-theme="dark"] .site-header{
  background:rgba(11,20,24,.92);
  border-bottom-color:rgba(255,255,255,.06);
  box-shadow:0 8px 28px rgba(0,0,0,.35);
}
html[data-theme="dark"] .site-brand,
html[data-theme="dark"] .main-nav a{color:var(--bts-dark)}
html[data-theme="dark"] .main-nav a:hover,
html[data-theme="dark"] .main-nav .current-menu-item>a{
  background:rgba(255,255,255,.06);
  color:#fff;
}
html[data-theme="dark"] .menu-toggle{
  background:#15262c;border-color:rgba(255,255,255,.12);color:#fff;
}
html[data-theme="dark"] .bts-theme-toggle{
  background:#15262c;border-color:rgba(255,255,255,.12);color:#f5d38a;
}
html[data-theme="dark"] .section.alt{
  background:linear-gradient(180deg,#101c22 0%,#0d181d 100%);
}
html[data-theme="dark"] .section-head-centered .eyebrow{
  background:rgba(240,162,58,.12);
  color:var(--bts-accent);
}
html[data-theme="dark"] .section-head-centered h2,
html[data-theme="dark"] .section h2,
html[data-theme="dark"] .featured-card h3,
html[data-theme="dark"] .business-process-card h3,
html[data-theme="dark"] .business-case-card .case-body h3,
html[data-theme="dark"] .business-team-card h3,
html[data-theme="dark"] .business-pricing-card h3,
html[data-theme="dark"] .contact-info h2{
  color:#f2f6f7;
}
html[data-theme="dark"] .featured-card,
html[data-theme="dark"] .business-case-card,
html[data-theme="dark"] .business-process-card,
html[data-theme="dark"] .business-pricing-card,
html[data-theme="dark"] .business-team-card,
html[data-theme="dark"] .testimonial-card,
html[data-theme="dark"] .business-stat,
html[data-theme="dark"] .faq details,
html[data-theme="dark"] .contact-box,
html[data-theme="dark"] .google-reviews-embed,
html[data-theme="dark"] .rating-badge{
  background:#122028;
  border-color:rgba(255,255,255,.08);
  color:var(--bts-text);
}
html[data-theme="dark"] .faq summary{color:#f2f6f7}
html[data-theme="dark"] .faq summary::after{background:#1a3038;color:var(--bts-accent)}
html[data-theme="dark"] .faq details[open] summary::after{background:var(--bts-primary);color:#fff}
html[data-theme="dark"] .testimonial-card p{color:#c5d0d4}
html[data-theme="dark"] .testimonial-meta strong{color:#f2f6f7}
html[data-theme="dark"] .business-info-strip{
  background:#0e1a1f;
  border-bottom-color:rgba(255,255,255,.06);
  box-shadow:none;
}
html[data-theme="dark"] .info-item strong,
html[data-theme="dark"] .info-item a{color:#f2f6f7}
html[data-theme="dark"] .trust-strip{
  background:linear-gradient(180deg,#0b1418,#101c22);
}
html[data-theme="dark"] .trust-logos img{
  opacity:.85;filter:grayscale(100%) brightness(1.4);
}
html[data-theme="dark"] .contact-section{
  background:linear-gradient(135deg,#0e1a1f,#122028);
}
html[data-theme="dark"] .contact-form input,
html[data-theme="dark"] .contact-form textarea{
  background:#0b1418;
  border-color:rgba(255,255,255,.12);
  color:#f2f6f7;
}
html[data-theme="dark"] .contact-form input:focus,
html[data-theme="dark"] .contact-form textarea:focus{
  border-color:var(--bts-accent);
  box-shadow:0 0 0 4px rgba(240,162,58,.18);
  background:#0e1a1f;
}
html[data-theme="dark"] .contact-form input::placeholder,
html[data-theme="dark"] .contact-form textarea::placeholder{color:#7a8b91}
html[data-theme="dark"] .site-footer{
  background:linear-gradient(180deg,#081015 0%,#0b1418 100%);
}
html[data-theme="dark"] .mobile-cta a{
  background:#15262c;color:#fff;
}
html[data-theme="dark"] .mobile-cta a:first-child{
  background:var(--bts-accent);color:#1e2a2d;
}
html[data-theme="dark"] .bts-cookie-banner{background:#0b1418}
html[data-theme="dark"] .photo-gallery a{box-shadow:0 12px 32px rgba(0,0,0,.4)}

/* language selector dark-friendly */
html[data-theme="dark"] .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
  background:#15262c !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#f2f6f7 !important;
}
html[data-theme="dark"] .bts-gtranslate-switcher .gt_float_switcher .gt_options{
  background:rgba(18,32,40,.98) !important;
  border-color:rgba(255,255,255,.1) !important;
}
html[data-theme="dark"] .bts-gtranslate-switcher .gt_float_switcher .gt_options a{
  color:#c5d0d4 !important;
}
html[data-theme="dark"] .bts-gtranslate-switcher .gt_float_switcher .gt_options a:hover{
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
}

/* Highlight strip stays dark-on-dark but readable */
html[data-theme="dark"] .highlight-strip{
  background:linear-gradient(135deg,#0c3d45,#102a35);
}

@media(max-width:1080px){
  .bts-theme-toggle{order:3}
}

/* =========================================================
   BTS v2.8.1 — MOBILE HEADER FIX (menu always visible)
   Structure: brand | main-nav | header-tools (lang + theme + menu)
   ========================================================= */

.header-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  margin-left:auto;
  position:relative;
  z-index:10060;
}
.header-tools .bts-gtranslate-switcher{
  margin-left:0 !important;
  flex:0 0 auto;
  position:relative !important;
  right:auto !important;
  top:auto !important;
  left:auto !important;
}
.header-tools .bts-theme-toggle{
  flex:0 0 42px;
  width:42px;
  height:42px;
}
.header-tools .menu-toggle{
  flex:0 0 auto;
  order:99; /* always last = rightmost */
}

/* Desktop: hide hamburger, show inline nav */
@media (min-width:1081px){
  .header-inner{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .site-brand{flex:0 1 auto;min-width:0}
  .main-nav{
    display:block !important;
    flex:1 1 auto;
    position:static !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
  }
  .main-nav ul{display:flex;justify-content:flex-end}
  .menu-toggle{display:none !important}
  .header-tools{margin-left:0}
}

/* Mobile / tablet: hamburger visible, nav is dropdown */
@media (max-width:1080px){
  .header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    min-height:64px !important;
    width:min(100% - 24px,680px) !important;
    position:relative;
  }
  .site-brand{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 160px);
    overflow:hidden;
  }
  .site-brand-text{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:100%;
  }
  .header-tools{
    flex:0 0 auto !important;
    margin-left:0 !important;
    gap:6px !important;
  }
  .menu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:10px 12px !important;
    position:relative;
    z-index:10070 !important;
    background:#fff;
    border:1px solid #dce7e8;
    color:var(--bts-dark);
  }
  .main-nav{
    display:none;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:100% !important;
    width:100% !important;
    background:#fff !important;
    border-bottom:1px solid #e7eeee;
    box-shadow:0 16px 30px rgba(0,0,0,.08);
    z-index:10020 !important;
    max-height:calc(100vh - 68px);
    overflow:auto;
  }
  .main-nav.is-open{display:block !important}
  .main-nav ul{display:block !important;padding:10px 14px}
  .main-nav a{padding:14px 12px !important}

  /* Kill legacy absolute GTranslate placement that competed with the hamburger */
  .bts-gtranslate-switcher,
  html body .bts-gtranslate-switcher{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    left:auto !important;
    bottom:auto !important;
    margin:0 !important;
    z-index:10050 !important;
  }
  .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
    min-height:42px !important;
    padding:0 10px !important;
    box-shadow:0 4px 14px rgba(15,52,64,.10) !important;
  }
  .bts-theme-toggle{
    width:42px !important;
    height:42px !important;
  }
}

/* Very narrow phones: keep tools compact, brand text can shrink */
@media (max-width:400px){
  .site-brand{max-width:calc(100% - 148px);gap:8px}
  .site-brand .brand-mark,
  .site-brand .custom-logo,
  .site-brand .bts-logo-image{width:38px;height:38px}
  .site-brand-text{font-size:0.95rem}
  .header-tools{gap:4px}
  .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
    padding:0 8px !important;
    min-height:40px !important;
  }
  .menu-toggle,
  .bts-theme-toggle{min-width:40px;width:40px;height:40px}
}

/* Dark mode header tools */
html[data-theme="dark"] .menu-toggle{
  background:#15262c !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#f2f6f7 !important;
}
html[data-theme="dark"] .main-nav{
  background:#0e1a1f !important;
  border-bottom-color:rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .main-nav a{color:#f2f6f7}
html[data-theme="dark"] .main-nav a:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}

/* =========================================================
   BTS v2.8.3 — Mobile header polish
   ========================================================= */

/* Unified tool controls */
.header-tools{
  gap:6px;
}
.header-tools .bts-theme-toggle,
.header-tools .menu-toggle{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-grid !important;
  place-items:center;
  border:1px solid #e3ecee;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,52,64,.08);
  font-size:1.05rem;
  line-height:1;
  color:var(--bts-dark);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.header-tools .bts-theme-toggle:hover,
.header-tools .menu-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,52,64,.12);
}
.header-tools .menu-toggle{
  font-size:1.15rem;
  letter-spacing:0;
}

/* Language pill matches tool height */
.header-tools .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
  min-height:40px !important;
  height:40px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  box-shadow:0 4px 14px rgba(15,52,64,.08) !important;
}

@media (max-width:1080px){
  .header-inner{
    min-height:60px !important;
    gap:8px !important;
  }
  .site-header{
    /* slightly tighter mobile bar */
  }
  .site-brand{
    gap:10px;
    max-width:none;
    flex:1 1 auto !important;
  }
  .site-brand .brand-mark,
  .site-brand .custom-logo,
  .site-brand .bts-logo-image{
    width:40px;
    height:40px;
    border-radius:11px;
    flex:0 0 40px;
  }
  /* Truncate brand text cleanly; keep readable */
  .site-brand-text{
    font-size:1rem;
    font-weight:800;
    letter-spacing:-0.01em;
    max-width:12ch;
  }
}

/* Phones: keep logo + compact brand name visible */
@media (max-width:520px){
  .site-brand{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 150px) !important;
    gap:8px !important;
    overflow:hidden;
  }
  .site-brand .brand-mark,
  .site-brand .custom-logo,
  .site-brand .bts-logo-image,
  .site-brand .custom-logo img{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    flex:0 0 40px !important;
    display:block !important;
    object-fit:contain;
    border-radius:11px;
    opacity:1 !important;
    visibility:visible !important;
  }
  .site-brand-text{
    display:block !important;
    font-size:.92rem !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
    color:var(--bts-dark) !important;
    opacity:1 !important;
  }
  .header-tools{gap:5px;flex:0 0 auto}
  .header-tools .bts-theme-toggle,
  .header-tools .menu-toggle{
    width:38px;height:38px;min-width:38px;min-height:38px;
  }
  .header-tools .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
    min-height:38px !important;
    height:38px !important;
    padding:0 9px !important;
    font-size:.82rem !important;
  }
}
html[data-theme="dark"] .site-brand-text{
  color:#f2f6f7 !important;
  opacity:1 !important;
}

/* Dark mode: solid header + matching tool buttons */
html[data-theme="dark"] .site-header{
  background:rgba(11,20,24,.96) !important;
  border-bottom-color:rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .site-brand,
html[data-theme="dark"] .site-brand-text{
  color:#f2f6f7 !important;
}
html[data-theme="dark"] .header-tools .bts-theme-toggle,
html[data-theme="dark"] .header-tools .menu-toggle{
  background:#15262c !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#f5d38a !important;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
html[data-theme="dark"] .header-tools .menu-toggle{
  color:#f2f6f7 !important;
}
html[data-theme="dark"] .header-tools .bts-gtranslate-switcher .gt_float_switcher .gt-selected{
  background:#15262c !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#f2f6f7 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.35) !important;
}

/* Open menu: soft full-bleed panel */
@media (max-width:1080px){
  .main-nav.is-open{
    border-radius:0 0 18px 18px;
    padding-bottom:8px;
  }
  .main-nav a{
    border-radius:12px;
    font-weight:700;
  }
}

/* Desktop: never show hamburger (overrides .header-tools .menu-toggle !important) */
@media (min-width:1081px){
  .menu-toggle,
  .header-tools .menu-toggle,
  html body .header-tools .menu-toggle{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
    width:0 !important;
    min-width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
  }
}

/* =========================================================
   BTS v3.0.0 — Master one-site final
   ========================================================= */

/* Mobile: logo mark only (no awkward "BTS Busi..." truncation) */
@media (max-width:520px){
  .site-brand-text{
    display:none !important;
  }
  .site-brand{
    flex:0 0 auto !important;
    max-width:none !important;
    overflow:visible !important;
  }
  .site-brand .brand-mark,
  .site-brand .custom-logo,
  .site-brand .bts-logo-image,
  .site-brand .custom-logo img{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

/* ----- Dark mode: fix invisible headings on white sections ----- */
html[data-theme="dark"]{
  color-scheme:dark;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .business-demo{
  background:#0b1418 !important;
  color:var(--bts-text);
}
html[data-theme="dark"] .section,
html[data-theme="dark"] .services-showcase,
html[data-theme="dark"] .business-services,
html[data-theme="dark"] .process-section,
html[data-theme="dark"] .stats-business-section,
html[data-theme="dark"] .team-section,
html[data-theme="dark"] .map-section,
html[data-theme="dark"] .info-strip,
html[data-theme="dark"] .business-info-strip{
  background:#0b1418 !important;
}
html[data-theme="dark"] .section.alt,
html[data-theme="dark"] .section.alt.cases-section,
html[data-theme="dark"] .pricing-section,
html[data-theme="dark"] #testimonials.section,
html[data-theme="dark"] #faq.section{
  background:linear-gradient(180deg,#101c22 0%,#0d181d 100%) !important;
}

/* Headings & body copy must stay readable */
html[data-theme="dark"] .section-head-centered h2,
html[data-theme="dark"] .section h2,
html[data-theme="dark"] .section h3,
html[data-theme="dark"] .business-demo h1,
html[data-theme="dark"] .business-demo h2,
html[data-theme="dark"] .business-demo h3,
html[data-theme="dark"] .contact-info h2,
html[data-theme="dark"] .featured-card h3,
html[data-theme="dark"] .business-process-card h3,
html[data-theme="dark"] .business-case-card h3,
html[data-theme="dark"] .business-team-card h3,
html[data-theme="dark"] .business-pricing-card h3{
  color:#f2f6f7 !important;
}
html[data-theme="dark"] .section-head-centered p,
html[data-theme="dark"] .section p,
html[data-theme="dark"] .featured-card p,
html[data-theme="dark"] .business-process-card p,
html[data-theme="dark"] .business-case-card p,
html[data-theme="dark"] .business-pricing-card p,
html[data-theme="dark"] .about-grid p,
html[data-theme="dark"] .contact-info p{
  color:#b7c4c9 !important;
}
html[data-theme="dark"] .section-head-centered .eyebrow{
  background:rgba(240,162,58,.14) !important;
  color:#f0a23a !important;
}

/* Cards on dark */
html[data-theme="dark"] .featured-card,
html[data-theme="dark"] .business-case-card,
html[data-theme="dark"] .business-process-card,
html[data-theme="dark"] .business-pricing-card,
html[data-theme="dark"] .business-team-card,
html[data-theme="dark"] .business-stat,
html[data-theme="dark"] .testimonial-card,
html[data-theme="dark"] .faq details,
html[data-theme="dark"] .contact-box,
html[data-theme="dark"] .business-demo .featured-card,
html[data-theme="dark"] .business-demo .business-case-card,
html[data-theme="dark"] .business-demo .testimonial-card{
  background:#122028 !important;
  border-color:rgba(255,255,255,.08) !important;
  color:#c5d0d4 !important;
}
html[data-theme="dark"] .featured-card-content,
html[data-theme="dark"] .case-body{
  color:#c5d0d4;
}
html[data-theme="dark"] .featured-card-top span,
html[data-theme="dark"] .business-stat strong,
html[data-theme="dark"] .plan-price{
  color:var(--bts-accent) !important;
}

/* Override forced-light mobile header protection when intentional dark mode is on */
html[data-theme="dark"] .site-header{
  background:rgba(11,20,24,.96) !important;
  color:#f2f6f7 !important;
  border-bottom-color:rgba(255,255,255,.08) !important;
  color-scheme:dark !important;
}
html[data-theme="dark"] .site-brand,
html[data-theme="dark"] .site-brand span,
html[data-theme="dark"] .site-brand-text{
  color:#f2f6f7 !important;
}
html[data-theme="dark"] body,
html[data-theme="dark"] html{
  color-scheme:dark !important;
}

/* Mobile CTA readable in dark */
html[data-theme="dark"] .mobile-cta a{
  background:#1a3038 !important;
  color:#f2f6f7 !important;
}
html[data-theme="dark"] .mobile-cta a:first-child{
  background:var(--bts-accent) !important;
  color:#1e2a2d !important;
}

/* Brand mark fallback: true center for the letter */
.brand-mark,
.site-brand .brand-mark{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px;
  height:44px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--bts-primary),var(--bts-accent));
  color:#fff !important;
  font-weight:900 !important;
  font-size:1.15rem !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  flex-shrink:0;
}
.brand-mark::before,
.brand-mark::after{content:none !important}

@media (max-width:520px){
  .site-brand .brand-mark{
    width:42px !important;
    height:42px !important;
    font-size:1.05rem !important;
  }
}


/* === BTS TYPOGRAPHY CONTROLS — unified heading font === */
.business-demo h1,
.business-demo h2,
.business-demo h3,
.business-demo h4,
.business-demo h5,
.business-demo h6 {
  font-family: var(--bts-heading-font, Georgia, serif);
  font-weight: var(--bts-heading-weight, 700);
}

/* === BTS MASTER COLOR SYSTEM v3.3.0 — EXPLICIT COLOR CONTROLS ===
 * All major One-Site surfaces inherit the selected palette.
 * No layout or breakpoint changes.
 */
.site-header .main-nav a{color:var(--bts-nav,var(--bts-dark)) !important;}
.site-header .main-nav a:hover,
.site-header .main-nav .current-menu-item>a{
  background:var(--bts-light) !important;
  color:var(--bts-primary) !important;
}
.business-demo .hero-media{
  background:linear-gradient(115deg,var(--bts-dark) 0%,var(--bts-primary) 58%,color-mix(in srgb,var(--bts-primary) 72%,var(--bts-accent)) 100%) !important;
}
.business-demo .hero-media .hero-glow{
  background:color-mix(in srgb,var(--bts-accent) 18%,transparent) !important;
}
.business-demo .hero-media .eyebrow{color:var(--bts-accent) !important;}
.business-demo .info-book,
.business-demo .mobile-cta a:last-child{background:var(--bts-primary) !important;}
.business-demo .btn-primary,
.business-demo .mobile-cta a:first-child{background:var(--bts-accent) !important;color:var(--bts-dark) !important;}
.business-demo .contact-section{background:linear-gradient(135deg,var(--bts-light),#fff) !important;}
.business-demo .contact-info .eyebrow,
.business-demo .case-label{color:var(--bts-primary) !important;}
.business-demo .btn-outline-dark{border-color:var(--bts-primary) !important;color:var(--bts-primary) !important;}
.business-demo .btn-outline-dark:hover{background:var(--bts-primary) !important;color:#fff !important;}
.section.alt,.cases-section,.pricing-section,.trust-strip{background:var(--bts-light) !important;}
.section h2,.section-head-centered h2,.contact-info h2,.business-demo h1,.business-demo h2,.business-demo h3,.business-demo h4,.business-demo h5,.business-demo h6{
  color:var(--bts-dark);
}
.business-demo .hero-media h1{color:var(--bts-hero-title,#fff) !important;}
.business-demo .section-head-centered .eyebrow{color:var(--bts-primary) !important;}
.business-demo .business-pricing-card.featured{border-top-color:var(--bts-accent) !important;}
.business-demo .business-case-card .case-body strong,.business-demo .business-stat strong,.business-demo .plan-price{color:var(--bts-primary) !important;}

html[data-theme="dark"] .site-header .main-nav a{color:#f2f6f7 !important;}
html[data-theme="dark"] .site-header .main-nav a:hover,
html[data-theme="dark"] .site-header .main-nav .current-menu-item>a{color:#fff !important;background:rgba(255,255,255,.06) !important;}


/* === BTS LANGUAGE SWITCHER — native theme integration === */
.bts-language-switcher{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:0;margin-left:auto;position:relative;z-index:1001}
.bts-language-switcher .gtss-switcher{font-family:inherit;font-size:.9rem;z-index:1002}
.bts-language-switcher .gtss-current{min-height:42px!important;padding:0 12px!important;border:1px solid #e3ecee!important;border-radius:999px!important;background:#fff!important;color:var(--bts-dark)!important;box-shadow:0 8px 24px rgba(15,52,64,.12)!important;font-family:inherit!important;font-weight:800!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.bts-language-switcher .gtss-current:hover{transform:translateY(-1px);border-color:#cddfe2!important;box-shadow:0 12px 28px rgba(15,52,64,.16)!important}
.bts-language-switcher .gtss-current:focus-visible,.bts-language-switcher a:focus-visible{outline:3px solid color-mix(in srgb,var(--bts-accent) 55%,transparent);outline-offset:2px}
.bts-language-switcher .gtss-current img,.bts-language-switcher .gtss-list img{width:22px!important;height:16px!important;object-fit:cover;border-radius:3px}
.bts-language-switcher .gtss-list{min-width:190px!important;right:0!important;left:auto!important;top:calc(100% + 8px)!important;border:1px solid #e2ecee!important;border-radius:14px!important;background:#fff!important;box-shadow:0 18px 50px rgba(15,52,64,.18)!important;z-index:10060!important;max-height:330px!important;overflow-y:auto!important}
.bts-language-switcher .gtss-list a{min-height:40px;padding:8px 12px;color:var(--bts-text)!important;border-radius:9px;font-family:inherit;font-weight:650}
.bts-language-switcher .gtss-list a:hover,.bts-language-switcher .gtss-list a.active{background:var(--bts-light)!important;color:var(--bts-primary)!important}
@media(max-width:1080px){.bts-language-switcher{position:absolute;right:62px;top:10px;margin:0;z-index:10050}.bts-language-switcher .gtss-current{min-height:40px!important;padding:0 10px!important;font-size:.86rem!important}.bts-language-switcher .gtss-list{position:fixed!important;top:72px!important;right:12px!important;left:auto!important;width:min(300px,calc(100vw - 24px))!important;min-width:0!important;max-width:calc(100vw - 24px)!important;max-height:min(56vh,430px)!important;z-index:10060!important}}
@media(max-width:520px){.bts-language-switcher{right:52px}.bts-language-switcher .gtss-current{padding:0 8px!important;gap:5px!important;font-size:.82rem!important}.bts-language-switcher .gtss-list{right:8px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;top:68px!important}}
html[data-theme="dark"] .bts-language-switcher .gtss-current{background:#102a35!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,.24)!important}
html[data-theme="dark"] .bts-language-switcher .gtss-list{background:#102a35!important;border-color:rgba(255,255,255,.14)!important;box-shadow:0 18px 50px rgba(0,0,0,.35)!important}
html[data-theme="dark"] .bts-language-switcher .gtss-list a{color:#e8f1f3!important}
html[data-theme="dark"] .bts-language-switcher .gtss-list a:hover,html[data-theme="dark"] .bts-language-switcher .gtss-list a.active{background:#173c48!important;color:#fff!important}
@media(prefers-reduced-motion:reduce){.bts-language-switcher .gtss-current{transition:none!important}.bts-language-switcher .gtss-current:hover{transform:none}}


/* =========================================================

   BTS v3.0.9 — Chrome / Android Mobile View Polish
   - Keeps the persistent mobile CTA clear and compact.
   - Reserves safe space so content is not hidden at page end.
   - Reduces excessive mobile section spacing.
   - Improves anchor scrolling around the fixed CTA.
   - Respects Android browser safe-area insets.
   ========================================================= */

@media (max-width:800px){
  html{
    scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom));
  }

  body.business-demo{
    padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
  }

  body.business-demo main#primary-content{
    padding-bottom:calc(16px + env(safe-area-inset-bottom));
  }

  body.business-demo .section{
    padding-top:50px;
    padding-bottom:50px;
    scroll-margin-bottom:calc(72px + env(safe-area-inset-bottom));
  }

  body.business-demo .trust-strip{
    padding:30px 0 34px;
  }

  body.business-demo .trust-strip-inner{
    min-height:0;
  }

  body.business-demo .services-showcase{
    padding-top:46px;
  }

  body.business-demo .mobile-cta{
    left:8px !important;
    right:8px !important;
    bottom:max(8px, env(safe-area-inset-bottom)) !important;
    width:auto;
    max-width:680px;
    margin:0 auto;
    gap:7px !important;
    padding:5px !important;
    min-height:0 !important;
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;
    background:rgba(10,31,39,.94);
    box-shadow:0 12px 34px rgba(0,0,0,.28);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }

  body.business-demo .mobile-cta a{
    min-height:48px !important;
    height:48px;
    padding:8px 6px !important;
    border-radius:12px !important;
    font-size:clamp(.72rem,2.9vw,.84rem) !important;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.business-demo .mobile-cta .bts-cta-label{
    display:inline;
  }

  body.business-demo .mobile-cta a img{
    display:none !important;
  }

  /* Keep the first content heading clear when an anchor is opened. */
  body.business-demo section[id]{
    scroll-margin-top:80px;
    scroll-margin-bottom:calc(72px + env(safe-area-inset-bottom));
  }
}

@media (max-width:480px){
  body.business-demo .section{
    padding-top:44px;
    padding-bottom:44px;
  }

  body.business-demo .trust-strip{
    padding-top:26px;
    padding-bottom:30px;
  }

  body.business-demo .rating-badge{
    margin-top:8px;
    padding:9px 13px;
    gap:7px;
    font-size:.86rem;
  }

  /* Compact mobile action bar: smaller footprint without sacrificing tap comfort. */
  body.business-demo .mobile-cta{
    left:10px !important;
    right:10px !important;
    gap:5px !important;
    padding:3px !important;
    border-radius:13px;
  }

  body.business-demo .mobile-cta a{
    min-height:42px !important;
    height:42px;
    border-radius:10px !important;
    padding:5px 3px !important;
    font-size:.70rem !important;
    line-height:1;
  }
}


/* =========================================================

   BTS v3.1.1 — CLEAN WORDPRESS ADMIN BAR INTEGRATION
   ========================================================= */
:root{
  --bts-wp-adminbar-height:0px;
  --bts-header-height:60px;
}
html body #wpadminbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  margin:0 !important;
  transform:none !important;
  z-index:100000 !important;
}
body.admin-bar .site-header,
body.bts-has-wp-adminbar .site-header{
  top:var(--bts-wp-adminbar-height,0px) !important;
  z-index:10000 !important;
}
@media (max-width:1080px){
  .main-nav{
    top:var(--bts-header-height,60px) !important;
    max-height:calc(100dvh - var(--bts-wp-adminbar-height,0px) - var(--bts-header-height,60px) - 8px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav.is-open{display:block !important;}
  .menu-toggle{position:relative;z-index:100070;}
  .bts-language-switcher{z-index:100060 !important;}
}
@media (max-width:520px){
  .main-nav{
    top:var(--bts-header-height,60px) !important;
    max-height:calc(100dvh - var(--bts-wp-adminbar-height,0px) - var(--bts-header-height,60px) - 6px) !important;
  }
}


/* BTS Back to Top */
.bts-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--primary-color, #111827);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    cursor: pointer;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
    font-size: 20px;
    line-height: 1;
}

.bts-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.bts-back-to-top:hover {
    transform: translateY(-2px);
}

.bts-back-to-top:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    /* Keep Back to Top safely above the fixed mobile CTA bar */
    .bts-back-to-top {
        right: 16px;
        bottom: calc(108px + env(safe-area-inset-bottom));
        width: 42px;
        height: 42px;
        font-size: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bts-back-to-top {
        transition: none;
    }
}

/* BTS OnePage client-editable content */
.bts-rich-inline p{display:inline;margin:0}
.package-features{list-style:none;margin:18px 0;padding:0;display:grid;gap:9px;text-align:left}
.package-features li{display:flex;gap:9px;align-items:flex-start}
.package-features li span{font-weight:800}
.bts-video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:inherit}
.bts-video-frame iframe{width:100%;height:100%;border:0;display:block}
.bts-video-native{display:block;width:100%;height:auto;border-radius:inherit}

/* === 404 & Search templates === */
.bts-error-section,.bts-search-section{padding-top:70px}
.bts-error-head p,.bts-search-section .section-head-centered h1{margin:0 auto}
.bts-search-section .section-head-centered h1 span{color:var(--bts-primary)}
.bts-error-search,.bts-search-section .bts-error-search{max-width:520px;margin:0 auto 34px}
.bts-error-search .search-form,.bts-error-search form{display:flex;gap:10px;width:100%}
.bts-error-search input[type="search"],.bts-error-search .search-field{flex:1;padding:14px 16px;border-radius:var(--bts-radius);border:1px solid #dceaea;font-size:1rem}
.bts-error-search input[type="submit"],.bts-error-search .search-submit{padding:14px 22px;border-radius:var(--bts-radius);border:0;background:var(--bts-primary);color:#fff;font-weight:800;cursor:pointer}
.bts-error-search input[type="submit"]:hover,.bts-error-search .search-submit:hover{background:var(--bts-dark)}
.bts-error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.bts-search-results{display:grid;gap:20px;max-width:820px;margin:0 auto}
.bts-search-result-card{background:#fff;border:1px solid #dceaea;border-radius:var(--bts-radius);padding:22px;box-shadow:var(--bts-shadow)}
.bts-search-result-link{text-decoration:none}
.bts-search-result-card h2{margin:0 0 6px;color:var(--bts-dark);font-size:1.3rem}
.bts-search-result-meta{margin:0 0 10px;color:#8a9a9e;font-size:.85rem}
.bts-search-result-excerpt{color:var(--bts-text)}
.bts-search-pagination{display:flex;justify-content:center;gap:10px;margin-top:30px}
.bts-search-pagination .page-numbers{padding:8px 14px;border-radius:10px;border:1px solid #dceaea;text-decoration:none;color:var(--bts-dark)}
.bts-search-pagination .page-numbers.current{background:var(--bts-primary);color:#fff;border-color:var(--bts-primary)}
html[data-theme="dark"] .bts-search-result-card{background:#132f3a;border-color:#1b3f4c}
html[data-theme="dark"] .bts-error-search input[type="search"],
html[data-theme="dark"] .bts-error-search .search-field{background:#0f2530;border-color:#1b3f4c;color:#eaf3f3}

/* BTS Family managed menu integration */
.bts-template-menu-slot .bts-menu-manager{margin-top:28px;}
.bts-template-menu-slot .bts-menu-filters{margin-bottom:22px;}

/* BTS ecosystem signature — discreet developer attribution */
.bts-product-credit{max-width:var(--container,1180px);margin:0 auto;padding:0 20px 18px;display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:11px;letter-spacing:.04em;opacity:.78}.bts-product-credit img{width:24px;height:24px}.bts-product-credit strong{font-weight:800}

/* BTS Brand System */
.bts-product-credit img{width:24px!important;height:24px!important;max-width:24px!important;object-fit:contain;flex:0 0 24px}


/* BTS v3.6.5 — Official brand fallback + mobile-safe sizing */
.site-brand .bts-brand-fallback{
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:contain;
  display:block;
}
@media (max-width:1080px){
  .site-brand .bts-brand-fallback{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
}
@media (max-width:520px){
  .site-brand .bts-brand-fallback{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    flex:0 0 40px !important;
    object-fit:contain !important;
    display:block !important;
  }
}
@media (max-width:400px){
  .site-brand .bts-brand-fallback{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    flex-basis:38px !important;
  }
}

/* BTS OnePage flexible customer sections */
.bts-custom-inner{max-width:900px;margin:0 auto;text-align:center}
.bts-custom-layout-cta .bts-custom-content{max-width:780px;margin:0 auto;text-align:center;padding:24px}
.bts-custom-layout-banner{position:relative;overflow:hidden}
.bts-custom-layout-banner .bts-custom-content{max-width:820px;margin:0 auto;text-align:center}
.bts-custom-section .bts-rich-text p{max-width:760px;margin-left:auto;margin-right:auto}

/* =========================================================
   BTS CAFE v3.7.3 — FINAL VIEW POLISH & LAYOUT LOCK
   Last-pass responsive refinement before template lock.
   ========================================================= */

:root{
  --bts-mobile-cta-height:64px;
  --bts-mobile-cta-offset:8px;
}

/* Prevent inconsistent browser text scaling and keep headings balanced. */
.business-demo h1,
.business-demo h2,
.business-demo .section-head-centered h2{
  text-wrap:balance;
}
.business-demo p{
  text-wrap:pretty;
}

/* Consistent vertical rhythm across the complete OnePage architecture. */
.business-demo .section-head-centered{
  margin-bottom:clamp(28px,5vw,46px);
}
.business-demo .section-head-centered h2{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.08;
}

/* Prevent the fixed UI from covering the final content on all browsers. */
@media (max-width:1080px){
  body.business-demo{
    padding-bottom:calc(var(--bts-mobile-cta-height) + 28px + env(safe-area-inset-bottom)) !important;
  }
  body.business-demo main#primary-content{
    padding-bottom:24px;
  }
  body.business-demo .site-footer{
    padding-bottom:calc(var(--bts-mobile-cta-height) + 34px + env(safe-area-inset-bottom));
  }
}

/* Mobile/tablet: compact persistent actions with a predictable footprint. */
@media (max-width:800px){
  html{
    scroll-padding-bottom:calc(var(--bts-mobile-cta-height) + 28px + env(safe-area-inset-bottom));
  }

  body.business-demo .mobile-cta{
    display:flex !important;
    align-items:stretch;
    left:10px !important;
    right:10px !important;
    bottom:max(var(--bts-mobile-cta-offset), env(safe-area-inset-bottom)) !important;
    min-height:var(--bts-mobile-cta-height) !important;
    height:var(--bts-mobile-cta-height) !important;
    max-width:720px;
    margin-inline:auto;
    gap:6px !important;
    padding:4px !important;
    border-radius:16px !important;
    background:rgba(16,42,53,.96) !important;
    box-shadow:0 14px 32px rgba(0,0,0,.24) !important;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
  }

  body.business-demo .mobile-cta a{
    min-height:56px !important;
    height:56px !important;
    padding:7px 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px !important;
    font-size:clamp(.76rem,2.7vw,.92rem) !important;
    line-height:1.15 !important;
    text-align:center;
    white-space:normal !important;
    overflow:hidden;
  }

  body.business-demo section[id]{
    scroll-margin-top:82px;
    scroll-margin-bottom:calc(var(--bts-mobile-cta-height) + 28px + env(safe-area-inset-bottom));
  }

  /* Back-to-top always clears the persistent CTA bar. */
  .bts-back-to-top{
    right:16px;
    bottom:calc(var(--bts-mobile-cta-height) + 26px + env(safe-area-inset-bottom)) !important;
    width:44px;
    height:44px;
  }

  /* A tighter, repeatable section rhythm without making the page feel cramped. */
  body.business-demo .section{
    padding-top:48px;
    padding-bottom:48px;
  }
  body.business-demo .section-head-centered{
    margin-bottom:30px;
  }
  body.business-demo .section-head-centered h2{
    line-height:1.12;
  }
}

@media (max-width:480px){
  :root{--bts-mobile-cta-height:60px;}

  body.business-demo .mobile-cta{
    left:8px !important;
    right:8px !important;
    gap:5px !important;
    padding:3px !important;
    border-radius:14px !important;
  }

  body.business-demo .mobile-cta a{
    min-height:54px !important;
    height:54px !important;
    padding:5px 4px !important;
    border-radius:11px !important;
    font-size:clamp(.70rem,3.2vw,.84rem) !important;
  }

  body.business-demo .section{
    padding-top:44px;
    padding-bottom:44px;
  }

  /* Last sections need a little extra breathing room above the fixed actions. */
  body.business-demo #contact,
  body.business-demo #location,
  body.business-demo .bts-custom-section:last-of-type{
    padding-bottom:60px;
  }
}

/* Desktop lock: mobile CTA must never leak into PC/tablet desktop layouts. */
@media (min-width:1081px){
  .mobile-cta{display:none !important;}
  body.business-demo{padding-bottom:0 !important;}
  body.business-demo .site-footer{padding-bottom:34px;}
}

@media (prefers-reduced-motion:reduce){
  .business-demo *,
  .business-demo *::before,
  .business-demo *::after{
    scroll-behavior:auto !important;
  }
}

/* =========================================================
   BTS CAFE v3.7.4 — TABLET GAP FIX
   The mobile CTA bar turns on at 1080px (nav breakpoint) but its
   safe-area-aware compact styling and the Back to Top offset were
   only defined below 800px. Between 801-1080px (most tablets) the
   bar fell back to old, unpositioned styles and visually overlapped
   the Back to Top button. This closes that gap with the same
   positioning used below 800px, without touching desktop layout.
   ========================================================= */
@media (max-width:1080px) and (min-width:801px){
  body.business-demo .mobile-cta{
    display:flex !important;
    align-items:stretch;
    left:10px !important;
    right:10px !important;
    bottom:max(var(--bts-mobile-cta-offset), env(safe-area-inset-bottom)) !important;
    min-height:var(--bts-mobile-cta-height) !important;
    height:var(--bts-mobile-cta-height) !important;
    max-width:720px;
    margin-inline:auto;
    gap:6px !important;
    padding:4px !important;
    border-radius:16px !important;
    background:rgba(16,42,53,.96) !important;
    box-shadow:0 14px 32px rgba(0,0,0,.24) !important;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
  }

  body.business-demo .mobile-cta a{
    min-height:56px !important;
    height:56px !important;
    padding:7px 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px !important;
    font-size:clamp(.78rem,1.6vw,.92rem) !important;
    line-height:1.15 !important;
    text-align:center;
    white-space:normal !important;
    overflow:hidden;
  }

  html{
    scroll-padding-bottom:calc(var(--bts-mobile-cta-height) + 28px + env(safe-area-inset-bottom));
  }

  body.business-demo section[id]{
    scroll-margin-top:82px;
    scroll-margin-bottom:calc(var(--bts-mobile-cta-height) + 28px + env(safe-area-inset-bottom));
  }

  /* Keep Back to Top safely above the fixed mobile CTA bar in this range too. */
  .bts-back-to-top{
    right:16px;
    bottom:calc(var(--bts-mobile-cta-height) + 26px + env(safe-area-inset-bottom)) !important;
    width:44px;
    height:44px;
    font-size:18px;
  }
}


/* =========================================================
   BTS CAFE v3.7.5 — FINAL USER VIEW POLISH
   Mobile footer + persistent actions refinement.
   ========================================================= */

/* A clean, intentional footer rhythm instead of large empty mobile gaps. */
.site-footer{
  position:relative;
  overflow:clip;
}
.footer-grid{
  align-items:start;
}
.footer-social-block .socials{
  margin-top:0;
}

@media (max-width:800px){
  .site-footer .container.footer-grid{
    gap:26px;
    padding-bottom:24px;
  }
  .site-footer .footer-brand{
    padding-bottom:2px;
  }
  .site-footer h3{
    margin-bottom:7px;
  }
  .site-footer p,
  .site-footer .bts-rich-text{
    line-height:1.55;
  }
  .site-footer .socials{
    gap:8px;
  }
  .site-footer .socials a{
    padding:8px 11px;
  }
  .site-footer .bts-product-credit{
    margin-top:0;
    padding-top:18px;
    padding-bottom:18px;
  }
  .site-footer .footer-bottom{
    gap:10px;
    padding-top:16px;
    padding-bottom:calc(18px + var(--bts-mobile-cta-height) + env(safe-area-inset-bottom));
  }
}

/* Keep fixed controls inside the actually visible mobile viewport when browser UI changes size. */
:root{--bts-visual-viewport-bottom:0px;}
@media (max-width:1080px){
  body.business-demo .mobile-cta{
    bottom:calc(12px + var(--bts-visual-viewport-bottom) + env(safe-area-inset-bottom)) !important;
    z-index:10020 !important;
  }
  .bts-back-to-top{
    bottom:calc(var(--bts-mobile-cta-height) + 30px + var(--bts-visual-viewport-bottom) + env(safe-area-inset-bottom)) !important;
    z-index:10021 !important;
  }
}

@media (max-width:520px){
  .site-footer .container.footer-grid{gap:22px;}
  .site-footer .footer-brand strong{font-size:1.18rem;}
  .site-footer .bts-product-credit{flex-wrap:wrap;justify-content:flex-start;gap:9px;}
  body.business-demo .mobile-cta{
    left:8px !important;
    right:8px !important;
    border-radius:14px !important;
  }
}


/* =========================================================
   BTS CAFE v3.8.7 — ANDROID MOBILE VIEWPORT FINAL FIX
   Fixes: CTA being clipped by Android browser navigation and
   excessive empty footer space caused by stacked bottom padding.
   ========================================================= */

/* Reset the previous footer/body compensation rules. */
@media (max-width:1080px){
  body.business-demo{
    padding-bottom:0 !important;
  }
  body.business-demo .site-footer{
    padding-bottom:28px !important;
  }
}

/* Keep the footer visually compact at the real end of the page. */
@media (max-width:800px){
  body.business-demo .site-footer{
    padding:28px 0 24px !important;
  }
  .site-footer .container.footer-grid{
    padding-bottom:18px !important;
    gap:24px !important;
  }
  .site-footer .bts-product-credit{
    padding-top:12px !important;
    padding-bottom:16px !important;
    margin-top:0 !important;
  }
  .site-footer .footer-bottom{
    padding-top:16px !important;
    padding-bottom:4px !important;
  }

  /*
   * Android browsers can draw system navigation over fixed web content.
   * A conservative 64px lift keeps the complete action bar visible above it.
   */
  body.business-demo .mobile-cta{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:calc(64px + env(safe-area-inset-bottom)) !important;
    z-index:10020 !important;
  }

  .bts-back-to-top{
    bottom:calc(148px + env(safe-area-inset-bottom)) !important;
    z-index:10021 !important;
  }

  /* Only reserve scroll space; never add artificial blank footer height. */
  html{
    scroll-padding-bottom:140px !important;
  }
  body.business-demo section[id]{
    scroll-margin-bottom:140px !important;
  }
}

/* Tablets don't have the same Android bottom-bar clipping shown on phones. */
@media (min-width:801px) and (max-width:1080px){
  body.business-demo .mobile-cta{
    bottom:16px !important;
  }
  .bts-back-to-top{
    bottom:104px !important;
  }
}

/* Small Android phones: compact CTA and keep it entirely above system UI. */
@media (max-width:520px){
  body.business-demo .mobile-cta{
    left:8px !important;
    right:8px !important;
    bottom:calc(58px + env(safe-area-inset-bottom)) !important;
  }
  .bts-back-to-top{
    bottom:calc(136px + env(safe-area-inset-bottom)) !important;
  }
}
/* Quick Setup map fallback */
.map-business-link{margin:.45rem 0 1rem}.map-business-link a{font-weight:700;color:var(--bts-primary);text-decoration:none;border-bottom:1px solid currentColor}.map-business-link a:hover{opacity:.8}


/* === BTS SOCIAL BOOST PRO — REVIEW UI FALLBACK ===
   The plugin normally owns these styles. This scoped fallback protects the
   template experience if a cache/optimizer delays the plugin front stylesheet.
   It does not alter plugin markup or behavior. */
.bts-floating-review{position:fixed;right:18px;bottom:82px;z-index:10020;display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border:0;border-radius:999px;background:var(--bts-primary,#0f6670);color:#fff!important;text-decoration:none!important;font:700 14px/1 var(--bts-body-font,inherit);box-shadow:0 12px 32px rgba(0,0,0,.22);cursor:pointer;transition:transform .2s ease,filter .2s ease}
.bts-floating-review:hover{transform:translateY(-2px);filter:brightness(1.06)}
.bts-floating-review-left{left:18px;right:auto}.bts-floating-review-right{right:18px;left:auto}
.bts-review-modal{position:fixed;inset:0;z-index:100500;display:none}.bts-review-modal.is-open{display:block}
.bts-review-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}
.bts-review-dialog{position:relative;z-index:1;width:min(92vw,420px);max-height:calc(100dvh - 40px);overflow:auto;margin:12vh auto;background:#fff;border-radius:22px;padding:28px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.3);font-family:var(--bts-body-font,inherit);box-sizing:border-box}
.bts-review-dialog h3{margin:8px 0;font-family:var(--bts-heading-font,inherit);font-size:24px!important;color:#1f2937!important}.bts-review-dialog p{margin:0 0 20px!important;color:#64748b!important;line-height:1.55}.bts-review-star{font-size:28px;line-height:1}.bts-review-close{position:absolute!important;right:14px!important;top:10px!important;width:38px!important;height:38px!important;border:0!important;background:transparent!important;color:#64748b!important;font-size:28px!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important}.bts-review-options{display:grid!important;gap:10px!important}.bts-review-options a{display:block!important;padding:14px 16px!important;border-radius:12px!important;background:var(--bts-primary,#0f6670)!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;line-height:1.25!important}.bts-review-later{margin-top:16px!important;border:0!important;background:transparent!important;color:#64748b!important;cursor:pointer!important;font:inherit!important;box-shadow:none!important}.bts-review-later:hover{text-decoration:underline!important}
@media(max-width:700px){.bts-floating-review{right:14px;bottom:92px;width:48px;height:48px;justify-content:center;padding:0;font-size:20px}.bts-floating-review span{display:none}.bts-floating-review-left{left:14px;right:auto}.bts-floating-review-right{right:14px;left:auto}.bts-review-dialog{width:min(92vw,420px);margin:8vh auto;padding:26px 20px 22px}.bts-review-dialog h3{font-size:22px!important}}

/* === v3.8.12 MOBILE REVIEW BUTTON POSITION / CLICK FIX ===
   Keep the Social Boost review trigger fully separated from Back to Top.
   The Back to Top button has a higher mobile stacking context in this theme,
   so the review trigger must sit above it both spatially and interactively. */
@media (max-width:700px){
  .bts-floating-review{
    z-index:10022 !important;
    pointer-events:auto !important;
    touch-action:manipulation;
  }
  .bts-floating-review-right{
    right:16px !important;
    left:auto !important;
  }
  .bts-floating-review-left{
    left:16px !important;
    right:auto !important;
  }
}

@media (max-width:800px){
  body.business-demo .bts-floating-review{
    /* CTA + Back-to-top clearance + visible breathing room */
    bottom:calc(var(--bts-mobile-cta-height, 64px) + 94px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:520px){
  body.business-demo .bts-floating-review{
    /* Small Android layout: Back to Top sits at ~136px; review clears it. */
    bottom:calc(198px + env(safe-area-inset-bottom)) !important;
  }
}

/* === v3.8.16 REVIEW TRIGGER HARD MOBILE INTERACTION FIX ===
   Keep the visible trigger above sticky theme controls and give it its own
   composited touch layer. The JS touch guard handles hostile overlay cases. */
.bts-floating-review{z-index:2147483000!important;pointer-events:auto!important;-webkit-tap-highlight-color:transparent;isolation:isolate}
@media (max-width:700px){
  .bts-floating-review{position:fixed!important;touch-action:manipulation!important;transform:translateZ(0)!important;will-change:transform}
}

/* Restaurant visual identity */
.business-demo .hero-media{background:linear-gradient(135deg,#1d1510 0%,#3b2619 55%,#211711 100%)}
.business-demo .hero-media:after{background:linear-gradient(90deg,rgba(18,12,9,.92) 0%,rgba(18,12,9,.58) 48%,rgba(18,12,9,.08) 100%)}
.business-demo .hero-media .hero-visual img{border-radius:28px;box-shadow:0 28px 70px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.12)}
.business-demo .section.alt{background:#f7f1e8}.business-demo .services-showcase{background:#fffdf9}.business-demo .cases-grid .case-card,.business-demo .pricing-card{border-color:#eadbc8}.business-demo h1,.business-demo h2{letter-spacing:-.025em}.business-demo .eyebrow{color:#b9792f}.business-demo .btn-primary{background:var(--bts-accent);color:#fff}.business-demo .info-strip{background:#2b1d15;color:#fff}.business-demo .trust-strip{background:#fffaf2}


/* ========================================================================
   BTS RESTAURANT ONEPAGE v1.0.11 — CANONICAL PREMIUM DEMO PARITY
   The shipped homepage is the same visual direction as the product preview.
   These selectors intentionally sit last so old master-template rules cannot
   downgrade the Restaurant demo after installation or plugin activation.
   ======================================================================== */
body.home .site-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(8,8,8,.72),rgba(8,8,8,0));border:0;backdrop-filter:none;z-index:1000}
body.home .site-header .site-brand,body.home .site-header .site-brand-text,body.home .site-header .main-nav a{color:#fff!important}
body.home .site-header .main-nav a:hover,body.home .site-header .main-nav .current-menu-item>a{background:rgba(255,255,255,.10);color:#fff!important}
body.home .site-header .bts-theme-toggle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}
body.home .site-header .bts-language-switcher{background:rgba(15,15,15,.48);border-radius:10px}
.restaurant-premium-home .hero-media{position:relative;min-height:660px;padding:120px 0 88px;isolation:isolate;background:#15110f!important;overflow:hidden}
.restaurant-premium-home .hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,9,.96) 0%,rgba(9,10,10,.78) 35%,rgba(9,10,10,.20) 72%,rgba(9,10,10,.05) 100%),url('assets/images/photos/hero-premium-bg.jpg') center/cover no-repeat;z-index:-2}
.restaurant-premium-home .hero-media:after{content:"";position:absolute;inset:auto 0 0;height:18%;background:linear-gradient(transparent,rgba(0,0,0,.42));z-index:-1}
.restaurant-premium-home .hero-media .hero-glow{display:none}
.restaurant-premium-home .hero-media .container{display:block;width:min(1120px,calc(100% - 40px))}
.restaurant-premium-home .hero-media .container>div:first-child{max-width:520px}
.restaurant-premium-home .hero-media h1{font-family:var(--bts-heading-font,Georgia,serif);font-size:clamp(3.6rem,6vw,5.7rem);max-width:600px;color:#f7f4ef;text-shadow:0 8px 28px rgba(0,0,0,.28)}
.restaurant-premium-home .hero-media .eyebrow{color:#d8b06c!important;font-weight:800;letter-spacing:.32em;font-size:.72rem}
.restaurant-premium-home .hero-media p{max-width:500px;color:rgba(255,255,255,.82);font-size:1.03rem}
.restaurant-premium-home .hero-media .hero-actions .btn{border-radius:5px;min-height:48px}
.restaurant-premium-home .restaurant-hero-visual{display:none!important}
.restaurant-feature-strip{background:#f8f6f1;border-bottom:1px solid #e8e1d6}
.restaurant-feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.restaurant-feature-item{display:flex;align-items:center;justify-content:center;gap:16px;padding:30px 20px;min-height:132px;border-right:1px solid #ddd5ca;text-align:center}
.restaurant-feature-item:last-child{border-right:0}.restaurant-feature-icon{font-family:Georgia,serif;font-size:2.3rem;color:#8c6b4a;line-height:1}
.restaurant-feature-item div{display:grid;gap:4px}.restaurant-feature-item strong{font-family:var(--bts-heading-font,Georgia,serif);font-size:1rem;color:#4d4238}.restaurant-feature-item span:last-child{font-size:.82rem;line-height:1.35;color:#766d65;max-width:150px}
.restaurant-menu-showcase{padding:78px 0 86px;background:#fbfaf7}.restaurant-menu-layout{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(0,2.22fr);gap:48px;align-items:end}.restaurant-menu-intro{padding-bottom:8px}.restaurant-menu-intro .eyebrow{color:#9a744d;font-size:.68rem;letter-spacing:.32em;font-weight:800}.restaurant-menu-intro h2{font-family:var(--bts-heading-font,Georgia,serif);font-size:clamp(2.4rem,3.5vw,3.7rem);line-height:1.05;margin:.4rem 0 1rem;color:#2b2724}.restaurant-menu-intro p{color:#716b66}.restaurant-menu-intro .btn{margin-top:18px;border-radius:4px;padding:12px 18px}
.restaurant-menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.restaurant-menu-card{background:#fff;box-shadow:0 10px 26px rgba(47,35,24,.07);overflow:hidden}.restaurant-menu-card img{width:100%;height:170px;object-fit:cover;display:block}.restaurant-menu-card>div{position:relative;padding:14px 42px 16px 14px;min-height:88px}.restaurant-menu-card h3{font-family:var(--bts-heading-font,Georgia,serif);font-size:1.03rem;margin:0 0 4px;color:#41372f}.restaurant-menu-card p{font-size:.77rem;line-height:1.35;margin:0;color:#80776f}.restaurant-menu-card>div>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:1.05rem;color:#6d5843}.restaurant-full-menu{background:#fff}
.restaurant-premium-home .business-why{padding:92px 0;background:#172f39!important}.restaurant-premium-home .business-why .container{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:86px}.restaurant-premium-home .business-why-copy h2{font-size:clamp(2.8rem,4.2vw,4.3rem);line-height:1.04}.restaurant-premium-home .business-why-media{border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.2)}.restaurant-premium-home .business-why-media img{aspect-ratio:1.8;object-position:center;object-fit:cover}
.restaurant-premium-home .about-grid{gap:72px}.restaurant-premium-home .about-image{overflow:hidden;border-radius:0}.restaurant-premium-home .about-image img{aspect-ratio:1.55;object-fit:cover;object-position:center}
@media(max-width:900px){body.home .site-header{position:sticky;background:rgba(20,18,16,.96);backdrop-filter:blur(10px)}.restaurant-premium-home .hero-media{min-height:620px;padding-top:105px}.restaurant-feature-grid{grid-template-columns:repeat(2,1fr)}.restaurant-feature-item:nth-child(2){border-right:0}.restaurant-feature-item:nth-child(-n+2){border-bottom:1px solid #ddd5ca}.restaurant-menu-layout{grid-template-columns:1fr;gap:28px}.restaurant-menu-intro{max-width:640px}.restaurant-premium-home .business-why .container{grid-template-columns:1fr;gap:40px}.restaurant-premium-home .business-why-media{justify-self:start;max-width:none}.restaurant-premium-home .business-why-copy h2{font-size:clamp(2.6rem,7vw,4rem)}}
@media(max-width:640px){.restaurant-premium-home .hero-media{min-height:auto;padding:92px 0 70px}.restaurant-premium-home .hero-media:before{background:linear-gradient(90deg,rgba(7,8,9,.93),rgba(7,8,9,.62)),url('assets/images/photos/hero-premium-bg.jpg') 62% center/cover no-repeat}.restaurant-premium-home .hero-media h1{font-size:clamp(2.85rem,12vw,4rem)}.restaurant-feature-grid{grid-template-columns:1fr}.restaurant-feature-item{border-right:0;border-bottom:1px solid #ddd5ca;justify-content:flex-start;text-align:left}.restaurant-feature-item:last-child{border-bottom:0}.restaurant-feature-item span:last-child{max-width:none}.restaurant-menu-showcase{padding:58px 0}.restaurant-menu-cards{grid-template-columns:1fr}.restaurant-menu-card img{height:220px}.restaurant-premium-home .business-why{padding:64px 0}.restaurant-premium-home .business-why-copy h2{font-size:clamp(2.5rem,11vw,3.6rem)}}

/* === BTS RESTAURANT ONEPAGE v1.0.28 — STABLE FIRST PAINT ===
 * Section reordering happens client-side because older saved orders may exist.
 * Hide the page only during that tiny reorder window to prevent the browser
 * from painting a duplicate/ghosted mobile Hero while nodes are moved.
 */
.restaurant-premium-home.bts-order-pending > *{visibility:hidden!important;}
.restaurant-premium-home.bts-order-pending{min-height:100vh;}

/* === BTS RESTAURANT ONEPAGE v1.0.11 — HOMEPAGE & MENU UX POLISH ===
   Commercial-demo hardening: keep the interactive menu readable regardless of
   inherited theme hover rules and keep the full menu visually premium. */
.restaurant-premium-home{overflow:hidden}
.restaurant-menu-showcase{padding-top:110px;padding-bottom:110px}
.restaurant-menu-layout{align-items:center}
.restaurant-menu-intro{max-width:330px}
.restaurant-menu-intro h2{font-size:clamp(2.5rem,4vw,4.35rem);line-height:.98;letter-spacing:-.045em}
.restaurant-menu-cards{align-items:stretch}
.restaurant-menu-card{border:1px solid rgba(64,51,39,.08);border-radius:2px;transition:transform .22s ease,box-shadow .22s ease}
.restaurant-menu-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(47,35,24,.13)}
.restaurant-menu-card img{height:180px}
.restaurant-full-menu{position:relative;padding-top:105px;padding-bottom:115px;background:linear-gradient(180deg,#f8f6f2 0%,#fff 42%,#f8f6f2 100%)}
.restaurant-menu-heading{max-width:720px;margin:0 auto 30px;text-align:center}
.restaurant-menu-heading h2{margin:8px 0 12px;font-size:clamp(2.35rem,4vw,4rem);line-height:1.02;letter-spacing:-.04em;color:#2f2318}
.restaurant-menu-heading p{max-width:610px;margin:0 auto;color:#746b63;font-size:1.03rem;line-height:1.65}
.restaurant-full-menu .bts-template-menu-slot{max-width:1080px;margin:0 auto}
.restaurant-full-menu .bts-template-menu-slot .bts-menu-manager{margin-top:0;border-radius:22px;overflow:hidden;box-shadow:0 22px 60px rgba(47,35,24,.10)}

/* Never allow inherited theme hover colours to make category labels invisible. */
.bts-template-menu-slot .bts-menu-manager .bts-menu-filters button,
.bts-template-menu-slot .bts-menu-manager .bts-pro-filter-nav,
.bts-template-menu-slot .bts-menu-manager .bts-page-btn{
  color:var(--bts-pro-text,#17212b)!important;
  text-shadow:none!important;
  opacity:1!important;
}
.bts-template-menu-slot .bts-menu-manager .bts-menu-filters button:hover,
.bts-template-menu-slot .bts-menu-manager .bts-menu-filters button:focus-visible{
  background:rgba(23,33,43,.09)!important;
  border-color:rgba(23,33,43,.24)!important;
  color:#111827!important;
  opacity:1!important;
  outline:none!important;
}
.bts-template-menu-slot .bts-menu-manager .bts-menu-filters button.active,
.bts-template-menu-slot .bts-menu-manager .bts-menu-filters button.active:hover,
.bts-template-menu-slot .bts-menu-manager .bts-menu-filters button.active:focus-visible{
  background:var(--bts-pro-accent,#17212b)!important;
  border-color:var(--bts-pro-accent,#17212b)!important;
  color:#fff!important;
}
.bts-template-menu-slot .bts-menu-manager.bts-pro-bg-midnight .bts-menu-filters button:hover,
.bts-template-menu-slot .bts-menu-manager.bts-pro-bg-midnight .bts-menu-filters button:focus-visible{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.30)!important;
  color:#fff!important;
}
.bts-template-menu-slot .bts-menu-manager .bts-pro-filter-nav:hover,
.bts-template-menu-slot .bts-menu-manager .bts-page-btn:not(:disabled):hover{
  color:#fff!important;
}

@media(max-width:900px){
  .restaurant-menu-showcase{padding-top:80px;padding-bottom:80px}
  .restaurant-menu-intro{max-width:none}
  .restaurant-menu-card img{height:160px}
  .restaurant-full-menu{padding-top:80px;padding-bottom:85px}
}
@media(max-width:600px){
  .restaurant-menu-showcase{padding-top:64px;padding-bottom:64px}
  .restaurant-menu-card img{height:190px}
  .restaurant-menu-heading{text-align:left;margin-bottom:24px}
  .restaurant-menu-heading p{margin-left:0}
  .restaurant-full-menu .bts-template-menu-slot .bts-menu-manager{border-radius:16px}
}


/* === BTS RESTAURANT ONEPAGE v1.0.11 — HEADER NAV + LEGACY ORDER MIGRATION ===
   Critical commercial UX fix: the transparent/dark restaurant header must
   never inherit a light hover background with light text. */
body.home .site-header .main-nav a,
body.home .site-header .main-nav a:visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.home .site-header .main-nav a:hover,
body.home .site-header .main-nav a:focus,
body.home .site-header .main-nav a:focus-visible,
body.home .site-header .main-nav .current-menu-item>a{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
  opacity:1!important;
}
body.home .site-header .main-nav a:hover *,
body.home .site-header .main-nav a:focus *,
body.home .site-header .main-nav a:focus-visible *,
body.home .site-header .main-nav .current-menu-item>a *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
/* When the sticky header switches to a light surface, keep the same readable
   contrast but use the restaurant ink colour instead of white-on-white. */
body.home .site-header.is-scrolled .main-nav a:hover,
body.home .site-header.is-scrolled .main-nav a:focus-visible,
body.home .site-header.is-scrolled .main-nav .current-menu-item>a{
  background:rgba(23,47,57,.10)!important;
  color:#172f39!important;
  -webkit-text-fill-color:#172f39!important;
}

/* Make the menu transition visually deliberate after the Menu Preview. */
.restaurant-menu-showcase + .restaurant-full-menu{
  border-top:1px solid rgba(47,35,24,.08);
}


/* ========================================================================
   BTS RESTAURANT ONEPAGE v1.0.22 — WORDPRESS ADMIN BAR / SOCIAL FLOW FIX
   ========================================================================
   IMPORTANT ARCHITECTURE:
   WordPress already offsets body.admin-bar below the fixed #wpadminbar.
   The Social Boost bar is in normal document flow at wp_body_open().
   Therefore we must NOT offset the Social Bar by the admin-bar height and
   must NOT remove WordPress' body.admin-bar margin. Doing either causes the
   logged-in-only white gap / double offset.

   Correct desktop stack:
     #wpadminbar       fixed by WordPress
     body.admin-bar    normal WP 32px offset
     Social Boost bar  normal flow, immediately after that offset
     Restaurant header absolute at Social Bar height
     Hero underneath the transparent header
   ======================================================================== */

body.home .site-header{
  position:absolute!important;
  top:var(--bts-top-social-bar-height,48px)!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  background:linear-gradient(180deg,rgba(8,8,8,.72),rgba(8,8,8,0))!important;
  border:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  z-index:2000!important;
}

body.home .bts-mobile-bar.bts-top-social-bar{
  position:relative!important;
  top:auto!important;
  margin-top:0!important;
  z-index:3000!important;
  isolation:isolate!important;
}

@media (min-width:901px){
  body.home .site-header .header-inner,
  body.home .site-header .header-tools,
  body.home .site-header .bts-language-switcher,
  body.home .site-header .gtranslate_wrapper,
  body.home .site-header .gt_float_switcher{
    overflow:visible!important;
  }
}

body.home .site-header .main-nav a,
body.home .site-header .main-nav a:visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.home .site-header .main-nav a:hover,
body.home .site-header .main-nav a:focus,
body.home .site-header .main-nav a:focus-visible,
body.home .site-header .main-nav .current-menu-item>a{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
  opacity:1!important;
}
body.home .site-header .main-nav a:hover *,
body.home .site-header .main-nav a:focus *,
body.home .site-header .main-nav a:focus-visible *,
body.home .site-header .main-nav .current-menu-item>a *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.home .site-header.is-scrolled .main-nav a:hover,
body.home .site-header.is-scrolled .main-nav a:focus-visible,
body.home .site-header.is-scrolled .main-nav .current-menu-item>a{
  background:rgba(23,47,57,.10)!important;
  color:#172f39!important;
  -webkit-text-fill-color:#172f39!important;
}

.restaurant-menu-showcase + .restaurant-full-menu{
  border-top:1px solid rgba(47,35,24,.08);
}

@media(max-width:900px){
  body.home .site-header{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    background:rgba(20,18,16,.96)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    z-index:2000!important;
  }
}

@media(max-width:700px){
  body.home .bts-mobile-bar.bts-top-social-bar{
    min-height:46px!important;
    padding:5px 12px!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  body.home .bts-mobile-bar.bts-top-social-bar .bts-mobile-label{
    flex:0 0 auto!important;
    font-size:11px!important;
    letter-spacing:.10em!important;
  }
  body.home .bts-mobile-bar.bts-top-social-bar .bts-social-links{
    margin-left:0!important;
    flex:1 1 0!important;
    min-width:0!important;
    width:auto!important;
    justify-content:flex-start!important;
    gap:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body.home .bts-mobile-bar.bts-top-social-bar .bts-social-links::-webkit-scrollbar{display:none;}
  body.home .bts-mobile-bar.bts-top-social-bar .bts-social-links a{
    flex:0 0 32px!important;
    width:32px!important;
    height:32px!important;
    min-height:32px!important;
  }
  body.home .bts-mobile-bar.bts-top-social-bar .bts-social-links a span{font-size:16px!important;}
}

@media(max-width:1080px){
  html:not([data-theme="dark"]) body.home .site-header .main-nav.is-open{
    background:#fff!important;
    border-color:#dfe7e9!important;
    box-shadow:0 18px 36px rgba(8,18,24,.18)!important;
  }
  html:not([data-theme="dark"]) body.home .site-header .main-nav.is-open a,
  html:not([data-theme="dark"]) body.home .site-header .main-nav.is-open a:visited{
    color:#172f39!important;
    -webkit-text-fill-color:#172f39!important;
    text-shadow:none!important;
    opacity:1!important;
  }
  html:not([data-theme="dark"]) body.home .site-header .main-nav.is-open a:hover,
  html:not([data-theme="dark"]) body.home .site-header .main-nav.is-open a:focus,
  html:not([data-theme="dark"]) body.home .site-header .main-nav.is-open .current-menu-item>a{
    background:rgba(23,47,57,.09)!important;
    color:#172f39!important;
    -webkit-text-fill-color:#172f39!important;
  }
  html[data-theme="dark"] body.home .site-header .main-nav.is-open{background:#122028!important;border-color:rgba(255,255,255,.08)!important;}
  html[data-theme="dark"] body.home .site-header .main-nav.is-open a,
  html[data-theme="dark"] body.home .site-header .main-nav.is-open a:visited{color:#f2f6f7!important;-webkit-text-fill-color:#f2f6f7!important;}

  html:not([data-theme="dark"]) body.home .site-header .header-tools .bts-theme-toggle{
    background:#fff!important;border-color:#d7e1e4!important;color:#172f39!important;
  }
  html:not([data-theme="dark"]) body.home .site-header .header-tools .bts-theme-toggle .bts-theme-icon-moon{
    opacity:1!important;transform:scale(1)!important;color:#172f39!important;-webkit-text-fill-color:#172f39!important;visibility:visible!important;
  }
  html:not([data-theme="dark"]) body.home .site-header .header-tools .bts-theme-toggle .bts-theme-icon-sun{opacity:0!important;visibility:hidden!important;}
}

/* v1.0.22: deliberately keep WordPress' native body.admin-bar offset.
   Do not add any Restaurant-specific admin-bar margin/padding/top offset. */
@media (min-width:783px){
  html body.admin-bar,
  html body.bts-has-wp-adminbar{
    /* Do not override the WordPress admin-bar offset here. */
  }
}

/* v1.0.23: Hero background is driven by the BTS 02 Hero image setting. */
.restaurant-premium-home .hero-media:before{background-image:linear-gradient(90deg,rgba(7,8,9,.96) 0%,rgba(9,10,10,.78) 35%,rgba(9,10,10,.20) 72%,rgba(9,10,10,.05) 100%),var(--bts-hero-image,url('assets/images/photos/hero-premium-bg.jpg'));background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-width:640px){.restaurant-premium-home .hero-media:before{background-image:linear-gradient(90deg,rgba(7,8,9,.93),rgba(7,8,9,.62)),var(--bts-hero-image-mobile,var(--bts-hero-image,url('assets/images/photos/hero-premium-bg.jpg')));background-position:center;background-size:cover;background-repeat:no-repeat}}

/* === BTS RESTAURANT MOBILE HERO — CLEAN SINGLE LAYER v1.0.28 === */
@media(max-width:640px){
  .restaurant-premium-home .hero-media{background:#15110f!important;}
  .restaurant-premium-home .hero-media:before{
    content:"";
    display:block;
    position:absolute;
    inset:0;
    background-image:linear-gradient(90deg,rgba(7,8,9,.93) 0%,rgba(7,8,9,.62) 62%,rgba(7,8,9,.18) 100%),var(--bts-hero-image-mobile,var(--bts-hero-image,url('assets/images/photos/hero-mobile-premium.jpg')));
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    z-index:-2;
  }
  .restaurant-premium-home .hero-media > .container{position:relative;z-index:3;}
}

/* === BTS RESTAURANT ONEPAGE v1.0.29 — MOBILE HERO FINAL HARDENING ===
@media (max-width:640px){
  .restaurant-premium-home .hero-media{background:#15110f!important;isolation:isolate!important;}
  .restaurant-premium-home .hero-media:before{z-index:-1!important;}
  .restaurant-premium-home .hero-media:after{z-index:-0!important;pointer-events:none!important;}
  .restaurant-premium-home .hero-media > .container{z-index:5!important;}
}
