.bvs-public{
 --bvs-red:#dc2626;
 --bvs-red-dark:#991b1b;
 --bvs-black:#0d0d0d;
 --bvs-card:#161616;
 --bvs-card-soft:#1f1f1f;
 --bvs-border:#303030;
 --bvs-white:#f8fafc;
 --bvs-muted:#a3a3a3;
 --bvs-whatsapp:#84cc16;
 width:100%;
 max-width:1440px;
 margin:0 auto;
 padding:clamp(12px,3vw,36px);
 color:var(--bvs-white);
 font-family:"Barlow","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.bvs-public *{box-sizing:border-box}
.bvs-booking>.row{margin-right:0;margin-left:0}
.bvs-public .card{border-radius:12px;box-shadow:0 14px 38px rgba(0,0,0,.22)}
.bvs-public-card{
 background:linear-gradient(145deg,#191919,#111);
 border:1px solid var(--bvs-border);
 border-radius:18px;
 box-shadow:0 24px 60px -32px rgba(220,38,38,.55);
 padding:clamp(16px,2.5vw,28px);
}
.bvs-whatsapp-card{border-top:3px solid var(--bvs-whatsapp)}
.bvs-calendar-card{border-top:3px solid var(--bvs-red)}
.bvs-public h2,.bvs-public h3,.bvs-public h4{
 color:var(--bvs-white);
 font-family:"Bebas Neue","Impact","Arial Narrow",sans-serif;
 letter-spacing:.025em;
 text-transform:uppercase;
}
.bvs-public h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1;margin:0}
.bvs-eyebrow{
 display:flex;
 align-items:center;
 gap:8px;
 margin-bottom:10px;
 color:var(--bvs-red);
 font-size:.72rem;
 font-weight:800;
 letter-spacing:.16em;
 text-transform:uppercase;
}
.bvs-whatsapp-card .bvs-eyebrow{color:var(--bvs-whatsapp)}
.bvs-card-copy{margin:12px 0 18px;color:var(--bvs-muted);font-size:.94rem;line-height:1.55}
.bvs-field-stack{display:grid;gap:10px;margin-bottom:12px}
.bvs-public .form-control,.bvs-public .form-select{
 min-height:48px;
 border:1px solid #3a3a3a;
 border-radius:10px;
 background-color:#0f0f0f;
 color:var(--bvs-white);
 font-size:16px;
 box-shadow:none;
}
.bvs-public .form-control::placeholder{color:#777}
.bvs-public .form-control:focus,.bvs-public .form-select:focus{
 border-color:var(--bvs-red);
 background-color:#111;
 color:var(--bvs-white);
 box-shadow:0 0 0 3px rgba(220,38,38,.15);
}
.bvs-public .form-select{
 color-scheme:dark;
 background-image:var(--bs-form-select-bg-img);
}
.bvs-public .form-label{
 margin:0 0 6px;
 color:#d4d4d4;
 font-size:.76rem;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.bvs-public .btn{min-height:46px;border-radius:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.bvs-whatsapp-button{
 border-color:var(--bvs-whatsapp)!important;
 background:var(--bvs-whatsapp)!important;
 color:#101508!important;
 box-shadow:0 12px 28px -14px rgba(132,204,22,.9);
}
.bvs-whatsapp-button:hover,.bvs-whatsapp-button:focus{
 border-color:#9ee52b!important;
 background:#9ee52b!important;
 color:#0d0d0d!important;
 transform:translateY(-1px);
}
.bvs-button-red{border-color:var(--bvs-red)!important;background:var(--bvs-red)!important;color:#fff!important}
.bvs-button-red:hover,.bvs-button-red:focus{border-color:#ef4444!important;background:#ef4444!important;color:#fff!important}
.bvs-button-muted{border:1px solid #454545!important;background:#252525!important;color:#e5e5e5!important}
.bvs-otp-area{margin-top:14px;padding-top:14px;border-top:1px solid var(--bvs-border)}
.bvs-feedback{min-height:24px;margin-top:12px;font-size:.88rem;line-height:1.4}
.bvs-feedback .is-success{color:var(--bvs-whatsapp)}
.bvs-feedback .is-error{color:#f87171}
.bvs-calendar-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.bvs-month-navigation{display:flex;gap:8px;flex:0 0 auto}
.bvs-icon-button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:46px;
 min-height:46px!important;
 padding:0!important;
 border:1px solid #424242!important;
 background:#111!important;
 color:#fff!important;
}
.bvs-icon-button:hover{border-color:var(--bvs-red)!important;background:var(--bvs-red)!important}
.bvs-calendar-filters{margin-bottom:12px}
.bvs-calendar-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0;color:var(--bvs-muted);font-size:.78rem}
.bvs-calendar-legend span{display:inline-flex;align-items:center;gap:7px}
.bvs-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.bvs-legend-dot.is-available{background:var(--bvs-whatsapp)}
.bvs-legend-dot.is-unavailable{background:#ef4444}
.bvs-google-calendar{
 overflow:hidden;
 width:100%;
 border:1px solid var(--bvs-border);
 border-radius:14px;
 background:#0b0b0b;
 transition:opacity .2s ease;
}
.bvs-google-calendar.is-loading{opacity:.55}
.bvs-cal-head,.bvs-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.bvs-cal-head{border-bottom:1px solid var(--bvs-border);background:#202020;text-align:center}
.bvs-cal-head b{
 overflow:hidden;
 padding:10px 3px;
 color:#d4d4d4;
 font-size:.7rem;
 letter-spacing:.04em;
 text-overflow:ellipsis;
 text-transform:uppercase;
 white-space:nowrap;
}
.bvs-weekday-short{display:none}
.bvs-day{
 position:relative;
 display:flex;
 min-width:0;
 min-height:100px;
 flex-direction:column;
 gap:7px;
 padding:9px;
 border:0;
 border-right:1px solid #282828;
 border-bottom:1px solid #282828;
 background:#111;
 color:var(--bvs-white);
 text-align:left;
 transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.bvs-day:nth-child(7n){border-right:0}
.bvs-day:not(.empty){cursor:pointer}
.bvs-day:not(.empty):hover,.bvs-day:not(.empty):focus-visible{z-index:1;background:#1d1d1d;box-shadow:inset 0 0 0 2px var(--bvs-red);outline:0}
.bvs-day.is-selected{z-index:1;background:rgba(220,38,38,.12);box-shadow:inset 0 0 0 2px var(--bvs-red)}
.bvs-day.empty{background:#0a0a0a}
.bvs-day.is-unavailable{background:#160f0f}
.bvs-day-number{font-family:"Bebas Neue","Impact","Arial Narrow",sans-serif;font-size:1.25rem;line-height:1}
.bvs-day-availability{display:flex;min-width:0;flex-direction:column;gap:4px}
.bvs-day-prompt,.bvs-day-status,.bvs-day-count{overflow:hidden;font-size:.68rem;font-weight:700;line-height:1.2;text-overflow:ellipsis}
.bvs-day-prompt{color:#b8b8b8}
.bvs-day-status.is-unavailable,.bvs-day-count.is-unavailable{color:#f87171}
.bvs-day-count.is-available{color:var(--bvs-whatsapp)}
.bvs-calendar-help{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--bvs-muted);font-size:.82rem}
.bvs-calendar-error{padding:28px;color:#fca5a5;text-align:center}

.bvs-booking-modal{z-index:100!important;color:#f8fafc;font-family:"Barlow","Inter",system-ui,sans-serif}
.bvs-booking-backdrop{z-index:99!important;background:#000!important;opacity:.82!important}
.bvs-booking-modal .modal-dialog{max-width:720px;margin:12px auto;padding:0 10px}
.bvs-booking-modal .modal-content{
 overflow:hidden;
 border:1px solid #3a3a3a;
 border-top:3px solid #dc2626;
 border-radius:16px;
 background:#141414;
 box-shadow:0 24px 70px rgba(0,0,0,.72);
}
.bvs-booking-modal .modal-header,.bvs-booking-modal .modal-footer{border-color:#303030;background:#101010}
.bvs-booking-modal .modal-header{align-items:flex-start;padding:18px 20px}
.bvs-booking-modal .modal-title{font-family:"Bebas Neue","Impact","Arial Narrow",sans-serif;font-size:clamp(1.35rem,4vw,2rem);line-height:1;text-transform:capitalize}
.bvs-booking-modal .modal-body{padding:18px 20px}
.bvs-booking-modal .modal-footer{gap:8px;padding:14px 20px}
.bvs-booking-modal .modal-footer .btn{min-height:46px;border-radius:9px;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.bvs-slot-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.bvs-summary-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid;border-radius:999px;font-size:.78rem}
.bvs-summary-pill.is-available{border-color:rgba(132,204,22,.38);background:rgba(132,204,22,.1);color:#a3e635}
.bvs-summary-pill.is-unavailable{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.1);color:#f87171}
.bvs-slot-groups{display:grid;gap:20px}
.bvs-slot-group h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:1.08rem}
.bvs-slot-group:first-child h4{color:#a3e635}
.bvs-slot-group:last-child h4{color:#f87171}
.bvs-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bvs-slot{
 display:flex;
 min-width:0;
 min-height:58px;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 padding:7px 5px;
 border:1px solid;
 border-radius:10px;
 font:inherit;
 line-height:1.05;
 transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.bvs-slot strong{font-size:.92rem}
.bvs-slot small{margin-top:4px;font-size:.65rem}
.bvs-slot.is-available{border-color:#446d14;background:#17200d;color:#d9f99d;cursor:pointer}
.bvs-slot.is-available:hover,.bvs-slot.is-available:focus-visible,.bvs-slot.is-available.is-selected{
 border-color:#84cc16;
 background:#84cc16;
 color:#101508;
 outline:0;
 transform:translateY(-1px);
}
.bvs-slot.is-unavailable{border-color:#4a2020;background:#211111;color:#f87171;cursor:not-allowed;opacity:.78}
.bvs-no-slots{grid-column:1/-1;margin:0;padding:14px;border:1px dashed #464646;border-radius:10px;color:#a3a3a3;font-size:.85rem;text-align:center}
.bvs-modal-loading,.bvs-selection-required{
 display:flex;
 min-height:180px;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:10px;
 padding:24px;
 color:#bdbdbd;
 text-align:center;
}
.bvs-selection-required i{color:#dc2626;font-size:2rem}
.bvs-selection-required strong{color:#fff;font-size:1rem;text-transform:uppercase}
.bvs-inline-success,.bvs-inline-error,.bvs-confirmation-success{
 display:flex;
 align-items:center;
 gap:8px;
 margin-bottom:14px;
 padding:10px 12px;
 border:1px solid;
 border-radius:10px;
 font-size:.84rem;
}
.bvs-inline-success{border-color:#446d14;background:#17200d;color:#b9ed74}
.bvs-inline-error{border-color:#662525;background:#261313;color:#fca5a5}
.bvs-confirmation-success{min-height:160px;flex-direction:column;justify-content:center;border-color:#446d14;background:#17200d;color:#d9f99d;text-align:center}
.bvs-confirmation-success i{font-size:2.4rem}
.bvs-confirmation-success strong{font-size:1.1rem;text-transform:uppercase}

.bvs-services-showcase{
 --bvs-red:#dc2626;
 --bvs-black:#0d0d0d;
 --bvs-card:#161616;
 --bvs-border:#2d2d2d;
 --bvs-white:#f8fafc;
 --bvs-muted:#a3a3a3;
 width:100%;
 max-width:1280px;
 margin:0 auto;
 padding:clamp(16px,3vw,32px);
 color:var(--bvs-white);
 font-family:"Barlow","Inter",system-ui,sans-serif;
}
.bvs-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--bvs-border);border:1px solid var(--bvs-border)}
.bvs-service-card{position:relative;min-width:0;padding:clamp(20px,3vw,30px);background:var(--bvs-card);transition:background .2s ease,box-shadow .2s ease}
.bvs-service-card:before{position:absolute;inset:0 auto 0 0;width:2px;background:var(--bvs-red);content:"";opacity:0;transition:opacity .2s ease}
.bvs-service-card:hover{z-index:1;background:#1c1515;box-shadow:0 0 32px rgba(220,38,38,.2)}
.bvs-service-card:hover:before{opacity:1}
.bvs-service-card h3{margin:0 0 10px;color:var(--bvs-white);font-family:"Bebas Neue","Impact","Arial Narrow",sans-serif;font-size:clamp(1.45rem,3vw,2rem);line-height:1;text-transform:uppercase}
.bvs-service-card p{min-height:44px;margin:0;color:var(--bvs-muted);font-size:.9rem;line-height:1.5}
.bvs-service-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--bvs-border)}
.bvs-service-duration{color:#c7c7c7;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.bvs-service-price{color:#fff;font-family:"Bebas Neue","Impact","Arial Narrow",sans-serif;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1;white-space:nowrap}
.bvs-services-empty{padding:28px;border:1px solid var(--bvs-border);background:var(--bvs-card);color:var(--bvs-muted);text-align:center}

@media(max-width:991.98px){
 .bvs-public{padding:16px 12px}
 .bvs-public-card{border-radius:14px;padding:18px}
 .bvs-calendar-card{padding:18px 14px}
 .bvs-day{min-height:88px;padding:7px}
 .bvs-day-number{font-size:1.1rem}
 .bvs-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
 .bvs-public{padding:10px 6px}
 .bvs-public-card{padding:15px 12px;border-radius:12px}
 .bvs-calendar-toolbar{align-items:center;margin-bottom:14px}
 .bvs-month-navigation{gap:5px}
 .bvs-icon-button{width:40px;min-height:40px!important}
 .bvs-calendar-legend{gap:10px;margin:10px 0;font-size:.7rem}
 .bvs-weekday-full{display:none}
 .bvs-weekday-short{display:inline}
 .bvs-cal-head b{padding:8px 1px;font-size:.62rem}
 .bvs-day{min-height:72px;gap:4px;padding:5px 3px}
 .bvs-day-number{font-size:1rem}
 .bvs-day-prompt,.bvs-day-status,.bvs-day-count{font-size:.54rem;letter-spacing:-.01em}
 .bvs-calendar-help{align-items:flex-start;font-size:.75rem;line-height:1.35}
 .bvs-booking-modal .modal-dialog{margin:6px auto;padding:0 5px}
 .bvs-booking-modal .modal-header,.bvs-booking-modal .modal-body{padding:14px}
 .bvs-booking-modal .modal-footer{display:grid;grid-template-columns:1fr 1.4fr;padding:12px}
 .bvs-booking-modal .modal-footer .btn{width:100%;padding:8px 6px;font-size:.68rem}
 .bvs-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .bvs-slot{min-height:54px;padding:6px 3px}
 .bvs-services-showcase{padding:10px 6px}
 .bvs-services-grid{grid-template-columns:1fr}
 .bvs-service-card{padding:20px 18px}
 .bvs-service-card p{min-height:0}
}
