/* Shared site chrome. Typography includes locally hosted Latin Extended glyphs. */
:root { --bb-font-display:'Baloo 2','Arial Rounded MT Bold',sans-serif; --bb-font-heading:var(--bb-font-display); --bb-font-body:'Nunito','Segoe UI',Arial,sans-serif; --bbs-header-height:72px; --wp-admin-bar-height:0px; }
body.admin-bar { --wp-admin-bar-height:32px; }
@media(max-width:782px){body.admin-bar{--wp-admin-bar-height:46px;}}
.bbs-wrap { width:min(100% - 36px,1200px); margin-inline:auto; }
.bbs-header { background:var(--bb-bg); position:relative; z-index:100; }
.bbs-header .bbs-wrap { width:min(100% - 32px,1340px); }
.bbs-header-inner { display:grid; grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr); align-items:center; gap:8px; min-height:var(--bbs-header-height); }
.bbs-header-inner>.bbs-mobile{grid-column:1;grid-row:1;justify-self:start}
.bbs-header-inner>.bbs-brand{grid-column:2;grid-row:1;justify-self:center}
.bbs-header-inner>.bbs-desktop{grid-column:2;grid-row:1}
.bbs-header-inner>.bbs-actions{grid-column:3;grid-row:1;justify-self:end}
.bbs-brand .custom-logo-link { display:inline-flex; min-width:44px; min-height:44px; align-items:center; }
.bbs-brand .custom-logo { display:block; width:92px; height:58px; object-fit:contain; }
.bbs-brand>span { display:block; font-size:12px; max-width:190px; }
.bbs-header .bbs-brand>span{display:none}
.bbs-actions { display:flex; gap:18px; align-items:center; }
.bbs-cart { display:flex; align-items:center; justify-content:center; color:#31343e; width:48px; height:48px; position:relative; }
.bbs-cart .bbl-icon { width:31px; height:31px; }
.bbs-cart>span { position:absolute; right:-3px; top:-3px; border-radius:50%; display:grid; place-items:center; min-width:23px; min-height:23px; padding:0 4px; background:#d90e28; color:#fff; font-size:12px; font-weight:800; }
.bbs-cart>span[hidden]{display:none}
.bbs-mobile summary { width:48px; height:48px; display:grid; place-items:center; list-style:none; cursor:pointer; }
.bbs-mobile summary::-webkit-details-marker { display:none; }
.bbs-menu-lines,.bbs-menu-lines::before,.bbs-menu-lines::after { display:block; width:28px; height:3px; background:#31343e; border-radius:2px; position:relative; }
.bbs-menu-lines::before,.bbs-menu-lines::after { content:''; position:absolute; top:-9px; }
.bbs-menu-lines::after { top:9px; }
.bbs-mobile[open] .bbs-menu-lines { background:transparent; }
.bbs-mobile[open] .bbs-menu-lines::before { transform:rotate(45deg); top:0; }
.bbs-mobile[open] .bbs-menu-lines::after { transform:rotate(-45deg); top:0; }
.bbs-mobile nav { position:absolute; top:100%; left:0; right:0; background:var(--bb-bg); border-top:1px solid var(--bb-border); border-bottom:1px solid var(--bb-border); padding:12px 24px 20px; }
.bbs-menu { margin:0; padding:0; list-style:none; }
.bbs-menu a { color:#30333e; text-decoration:none; display:flex; align-items:center; min-height:46px; font-size:15px; font-weight:800; }
.bbs-menu .current-menu-item>a,.bbs-menu .current_page_item>a,.bbs-menu a[aria-current="page"]{color:#bc0920;text-decoration:underline;text-underline-offset:4px}
.bbs-desktop { display:none; }
.bbs-footer { background:var(--bb-footer-bg,var(--bb-surface-alt)); padding:22px 0 0; margin-top:28px; border-top:1px solid var(--bb-border); color:var(--bb-footer-text,#fff); }
.bbs-footer p,.bbs-footer .bbs-footer-bottom { color:var(--bb-footer-text,#fff); }
.bbs-footer h2,.bbs-footer h3 { color:var(--bb-footer-heading,#fff); }
.bbs-footer-grid { display:grid; gap:18px 16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.bbs-footer-grid>.bbs-brand { grid-column:1/-1; }
.bbs-footer .bbs-brand .custom-logo-link { min-height:0; }
.bbs-footer .custom-logo { width:84px; height:auto; max-height:55px; object-fit:contain; }
.bbs-footer p { font-size:13px; line-height:1.35; margin:3px 0 0; max-width:240px; }
.bbs-footer-contact{display:grid;gap:2px;margin-top:10px;min-width:0}
.bbs-footer-contact a,.bbs-footer-contact span{font-size:13px;overflow-wrap:anywhere}
.bbs-footer h2 { font-family:var(--bb-font-body); font-size:15px; font-weight:900; margin:0 0 5px; }
.bbs-footer h3 { font-family:var(--bb-font-body); font-size:13px; font-weight:800; margin:10px 0 3px; }
.bbs-footer ul { list-style:none; padding:0; margin:0; }
.bbs-footer a:not(.custom-logo-link) { display:flex; align-items:center; min-height:40px; color:inherit; font-size:13px; line-height:1.3; text-decoration:none; overflow-wrap:anywhere; }
.bbs-footer-group { min-width:0; }
.bbs-footer-group--legal { grid-column:1/-1; }
.bbs-footer a:hover { color:var(--bb-footer-hover,#fff); text-decoration:underline; text-underline-offset:4px; }
.bbs-menu a:hover { color:#bc0920; text-decoration:underline; text-underline-offset:4px; }
.bbs-contact-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px 22px;margin:0}
.bbs-contact-details dt{font-size:12px;font-weight:800;color:var(--bb-color-muted)}
.bbs-contact-details dd{margin:2px 0 0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.bbs-contact-details a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.bbs-information-page{max-width:900px}
.bbs-information-page h1{line-height:1.15}
.bbs-information-content{line-height:1.7;overflow-wrap:anywhere}
.bbs-information-content>*{max-width:100%}
.bbs-contact-details{border-top:1px solid var(--bb-border);padding-top:20px;margin-top:24px}
.bbs-contact-details dd{font-size:16px}
.bbs-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; font-size:12px; border-top:1px solid var(--bb-border); margin-top:18px; padding:14px 0; }
.bbs-footer-payments{display:flex;justify-content:center;align-items:center;min-width:0;margin-top:18px;padding-top:18px;border-top:1px solid var(--bb-border)}
.bbs-footer-payments img{display:block;width:min(100%,429px);height:auto;object-fit:contain}
.bbs-whatsapp-widget{position:fixed;z-index:60;right:30px;bottom:calc(30px + env(safe-area-inset-bottom));width:58px;height:58px}
.bbs-whatsapp-widget[hidden]{display:none}
.bbs-whatsapp{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 7px 20px #173c2633;transition:background .2s,box-shadow .2s}
.bbs-whatsapp svg{display:block;width:31px;height:31px}
.bbs-whatsapp:hover{background:#128c7e;color:#fff;box-shadow:0 9px 23px #173c263d}
.bbs-whatsapp-close{position:absolute;top:-9px;right:-8px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #d7c9bd;border-radius:50%;background:var(--bb-surface);color:#473b3b;font:700 18px/1 Arial,sans-serif;cursor:pointer}
.bbs-whatsapp:focus-visible,.bbs-whatsapp-close:focus-visible{outline:3px solid #174d32;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.bbs-whatsapp{transition:none}}
.bbs-header :focus-visible,.bbs-footer :focus-visible { outline:3px solid #a60b21; outline-offset:4px; }
.bbl-icon { flex-shrink:0; }
@media(max-width:1023px){.bbs-header .bbs-brand .custom-logo{width:81px;height:51px;transform:translateY(8px)}}
@media(max-width:1023px){
.bbs-whatsapp-widget{right:20px;bottom:calc(20px + env(safe-area-inset-bottom))}
}
@media(min-width:700px){.bbs-wrap{width:min(100% - 64px,1200px)}}
@media(min-width:1024px){
:root{--bbs-header-height:84px}
.bbs-header .bbs-wrap{width:min(100% - 48px,1340px)}
.bbs-header-inner{grid-template-columns:1fr auto 1fr;min-height:var(--bbs-header-height)}
.bbs-header-inner>.bbs-brand{grid-column:1;justify-self:start;transform:translate(-9px,5px)}
.bbs-header-inner>.bbs-desktop{grid-column:2}
.bbs-brand .custom-logo{width:102px;height:64px}
.bbs-footer{padding-top:32px;margin-top:36px}
.bbs-footer-grid{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:28px}
.bbs-footer-grid--groups-2{grid-template-columns:1.4fr repeat(2,minmax(0,1fr))}
.bbs-footer-grid--groups-1{grid-template-columns:1.4fr minmax(0,1fr)}
.bbs-footer-grid--groups-0{grid-template-columns:1fr}
.bbs-footer-grid>.bbs-brand,.bbs-footer-group--legal{grid-column:auto}
.bbs-footer .custom-logo{width:100px;max-height:64px}
.bbs-mobile{display:none}
.bbs-desktop{display:block;justify-self:center}
.bbs-menu{display:flex;gap:32px;align-items:center}
.bbs-actions{justify-self:end}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
/* Public contact rows and aligned mobile footer columns. */
.bbs-footer-contact{gap:10px}
.bbs-footer-contact .bbs-footer-contact-row{display:flex;align-items:flex-start;gap:8px;margin:0;line-height:1.5}
.bbs-footer-contact-row .bbl-icon{width:18px;height:18px;flex:0 0 18px;margin-top:1px;color:inherit}
@media(max-width:1023px){
 .bbs-footer-group--explore{grid-column:1;grid-row:2 / span 2}
 .bbs-footer-group--support{grid-column:2;grid-row:2}
 .bbs-footer-group--legal{grid-column:2;grid-row:3}
}
/* Value-only public contact links and the lightweight return-to-top control. */
.bbs-public-contact{display:grid;gap:10px;min-width:0}
.bbs-public-contact .bbs-footer-contact-row{display:flex;align-items:flex-start;gap:8px;line-height:1.5;margin:0}
.bbs-public-contact a{color:inherit;text-underline-offset:3px}
.bbs-whatsapp-close{width:20px;height:20px;font-size:15px;top:-7px;right:-5px}
.bbs-back-top{position:fixed;z-index:60;right:37px;bottom:calc(112px + env(safe-area-inset-bottom));display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--bb-color-red);color:#fff;box-shadow:0 5px 15px #d90e2833;cursor:pointer;transition:transform 180ms ease,box-shadow 180ms ease}
.bbs-back-top[hidden]{display:none}
.bbs-back-top:hover{transform:translateY(-2px);box-shadow:0 8px 20px #d90e2844}
.bbs-back-top:focus-visible{outline:3px solid var(--bb-color-red);outline-offset:4px}
@media(max-width:1023px){.bbs-back-top{right:27px;bottom:calc(102px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.bbs-back-top{transition:none}.bbs-back-top:hover{transform:none}}
.bbs-contact-page{width:min(100% - 32px,1120px);margin-inline:auto;padding-block:32px 64px}
.bbs-contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:stretch}
@media(min-width:900px){.bbs-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bbs-contact-page>h1{text-align:center;margin:0 0 24px}
.bbs-contact-card,.bbs-contact-info{padding:clamp(20px,4vw,32px);border:1px solid var(--bb-border);border-radius:20px;background:var(--bb-surface)}
.bbs-contact-card h2,.bbs-contact-info h2{text-align:center;margin:0 0 22px}
.bbs-contact-form{display:grid;gap:9px}
.bbs-contact-form>label{font-weight:700;margin-top:8px}
.bbs-contact-form>input,.bbs-contact-form>textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid var(--bb-border);border-radius:10px;background:#fff;color:var(--bb-color-text);font:inherit}
.bbs-contact-form>textarea{resize:vertical}
.bbs-contact-form .bbs-contact-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;font-weight:400;margin:12px 0}
.bbs-contact-consent input{flex:0 0 auto;margin-top:3px}
.bbs-contact-form button{min-height:48px;border:0;border-radius:12px;background:var(--bb-color-red);color:white;font:800 16px/1.3 var(--bb-font-body);cursor:pointer}
.bbs-contact-form :focus-visible{outline:3px solid var(--bb-color-red);outline-offset:3px}
.bbs-contact-honeypot{display:none}
.bbs-contact-card,.bbs-contact-info{min-width:0;color:var(--bb-color-text)}
.bbs-contact-card h2,.bbs-contact-info h2{color:var(--bb-heading-color)}
.bbs-contact-notice{padding:12px;border:1px solid var(--bb-border);border-radius:10px;line-height:1.5}
/* Contact labels and their linked values share one text line. */
.bbs-footer .bbs-public-contact .bbs-footer-contact-row a{display:inline;min-height:0;line-height:inherit}
@media(min-width:1024px){
 body:not(.bubook-builder-page) .bbs-header .bbs-wrap{width:calc(100% - 168px);max-width:none}
 body:not(.bubook-builder-page) .bbs-header .bbs-brand .custom-logo{width:92px;height:58px}
 body:not(.bubook-builder-page) .bbs-header-inner>.bbs-brand{transform:translateY(5px)}
}
