/* Progressive83 — shared booking widget.
   Used by the ads landing pages and by every generated location page, so it
   is a cached file rather than 15KB inlined into 1,386 documents.
   Pages set --accent to tint it; these are the fallbacks. */
:root{
  --bk-navy:#090d22;--bk-card:#111830;
  --bk-accent:var(--accent,#22c55e);
  --bk-accent-l:var(--accent-l,#4ade80);
  --bk-accent-rgb:var(--accent-rgb,34,197,94);
  --bk-accent-ink:var(--accent-ink,#04160b);
}
/* ════════ BOOKING MODAL ════════ */
.bmodal{position:fixed;inset:0;z-index:900;display:none;align-items:flex-start;justify-content:center;padding:28px 16px;overflow-y:auto;background:rgba(4,7,20,.82);backdrop-filter:blur(6px);}
.bmodal.open{display:flex;}
body.bmodal-open{overflow:hidden;}
.bmodal-panel{background:#0a0e24;border:1px solid rgba(255,255,255,.1);border-radius:18px;width:100%;max-width:520px;position:relative;animation:fadeUp .3s ease both;margin:auto;}
.bmodal-head{padding:24px 26px 0;position:relative;}
.bmodal-tag{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--bk-accent);margin-bottom:9px;}
.bmodal-h{font-family:'Fraunces',serif;font-size:26px;font-weight:400;letter-spacing:-1.1px;color:#fff;line-height:1.15;margin-bottom:7px;}
.bmodal-sub{font-size:13.5px;color:rgba(255,255,255,.62);line-height:1.7;}
.bmodal-x{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:rgba(255,255,255,.6);font-size:17px;line-height:1;cursor:pointer;transition:all .2s;}
.bmodal-x:hover{background:rgba(255,255,255,.06);color:#fff;}
.booking-embed{background:transparent;border:none;border-radius:0;padding:24px 26px 26px;position:relative;z-index:2;}
.bmodal-fallback{padding:0 26px 26px;font-size:13px;color:rgba(255,255,255,.62);line-height:1.7;}
.bmodal-fallback a{color:var(--bk-accent-l);text-decoration:underline;}
@media(max-width:620px){
  .bmodal{padding:0;}
  .bmodal-panel{border-radius:0;min-height:100%;max-width:none;}
  .booking-embed{padding:20px 18px 26px;}
  .bmodal-head{padding:20px 18px 0;}
  .be-slots{grid-template-columns:repeat(2,1fr);}
}

/* ════════ BOOKING WIDGET (shared with /work-with-us) ════════ */
/* ── EMBEDDED BOOKING WIDGET ── */
.be-progress{display:flex;align-items:center;gap:0;margin-bottom:28px;}
.be-prog-step{display:flex;align-items:center;gap:7px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.28);transition:color .3s;}
.be-prog-step.active{color:#8aa4ff;}
.be-prog-step.done{color:var(--bk-accent);}
.be-prog-dot{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .3s;flex-shrink:0;}
.be-prog-step.active .be-prog-dot{border-color:#6b8df5;background:rgba(58,100,224,.15);color:#8aa4ff;}
.be-prog-step.done .be-prog-dot{border-color:var(--bk-accent);background:rgba(var(--bk-accent-rgb),.12);color:var(--bk-accent);}
.be-prog-line{flex:1;height:1px;background:rgba(255,255,255,.08);margin:0 8px;transition:background .3s;}
.be-prog-line.done{background:var(--bk-accent);}
.be-step{display:none;animation:fadeUp .3s ease both;}
.be-step.active{display:block;}
.be-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.be-cal-month{font-family:'Fraunces',serif;font-size:18px;font-weight:400;color:#fff;letter-spacing:-.4px;}
.be-cal-nav{display:flex;gap:6px;}
.be-cal-btn{width:30px;height:30px;border-radius:7px;border:1px solid rgba(255,255,255,.13);background:transparent;color:rgba(255,255,255,.52);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.be-cal-btn:hover{border-color:#6b8df5;color:#8aa4ff;}
.be-cal-btn:disabled{opacity:.3;cursor:not-allowed;}
.be-cal-head{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px;}
.be-day-name{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.28);text-align:center;padding:5px 0;}
.be-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.be-cal-day{aspect-ratio:1;border-radius:7px;border:1px solid transparent;background:#0d1228;color:rgba(255,255,255,.52);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative;}
.be-cal-day:not(.be-empty):not(.be-disabled):hover{border-color:#6b8df5;color:#fff;background:rgba(45,82,196,.1);}
.be-cal-day.be-today{color:#8aa4ff;}
.be-cal-day.be-today::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:#8aa4ff;}
.be-cal-day.be-selected{background:#6b8df5;border-color:#6b8df5;color:#fff;font-weight:600;box-shadow:0 4px 14px rgba(58,100,224,.4);}
.be-cal-day.be-selected::after{display:none;}
.be-cal-day.be-disabled{opacity:.22;cursor:not-allowed;pointer-events:none;}
.be-cal-day.be-empty{cursor:default;pointer-events:none;}
.be-cal-day.be-has-slots::before{content:'';position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:50%;background:var(--bk-accent);opacity:.6;}
.be-cal-legend{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);}
.be-leg{display:flex;align-items:center;gap:6px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.5px;color:rgba(255,255,255,.28);}
.be-leg-dot{width:6px;height:6px;border-radius:50%;background:var(--bk-accent);display:inline-block;}
.be-btn-back{background:transparent;border:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.52);padding:8px 16px;border-radius:8px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-bottom:18px;display:inline-flex;align-items:center;gap:6px;}
.be-btn-back:hover{border-color:#6b8df5;color:#fff;}
.be-time-date{font-family:'Fraunces',serif;font-size:18px;color:#fff;letter-spacing:-.4px;margin-bottom:16px;}
.be-group-lbl{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.be-group-lbl::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08);}
.be-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:16px;}
.be-slot{padding:11px 6px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#111830;color:rgba(255,255,255,.52);font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.5px;cursor:pointer;text-align:center;transition:all .2s;}
.be-slot:hover{border-color:#6b8df5;color:#fff;}
.be-slot.be-sel{border-color:#6b8df5;color:#fff;background:rgba(58,100,224,.18);box-shadow:0 0 0 1px rgba(58,100,224,.4);}
.be-tz{font-size:11.5px;color:rgba(255,255,255,.28);margin-top:8px;font-weight:300;}
.be-tz strong{color:rgba(255,255,255,.52);}
.be-tz-bar{display:flex;align-items:center;gap:10px;background:rgba(107,141,245,.06);border:1px solid rgba(107,141,245,.18);border-radius:10px;padding:10px 14px;margin-bottom:18px;}
.be-tz-bar .be-tz-icon{font-size:16px;flex-shrink:0;}
.be-tz-bar .be-tz-label{font-size:12px;color:rgba(255,255,255,.52);font-weight:300;}
.be-tz-bar .be-tz-label strong{color:#fff;font-weight:500;}
.be-tz-select{background:#111830;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#fff;font-family:'DM Sans',sans-serif;font-size:12px;padding:6px 10px;margin-left:auto;cursor:pointer;max-width:220px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='%236b8df5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px;}
.be-tz-select:focus{outline:none;border-color:#6b8df5;}
.be-summary{background:rgba(45,82,196,.07);border:1px solid rgba(45,82,196,.2);border-radius:10px;padding:14px 16px;margin-bottom:18px;display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(255,255,255,.52);}
.be-sum-ico{font-size:18px;flex-shrink:0;}
.be-summary strong{color:#fff;font-weight:500;display:block;margin-bottom:3px;}
.be-guarantee{display:flex;align-items:center;gap:8px;background:rgba(var(--bk-accent-rgb),.07);border:1px solid rgba(var(--bk-accent-rgb),.18);border-radius:8px;padding:10px 14px;margin-bottom:18px;font-size:12px;color:var(--bk-accent);font-weight:300;}
.be-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.be-form-field{display:flex;flex-direction:column;gap:5px;}
.be-full{grid-column:1/-1;}
.be-field-lbl{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);}
.be-field-inp{background:#111830;border:1px solid rgba(255,255,255,.13);border-radius:9px;padding:11px 14px;font-size:13px;color:#fff;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s;width:100%;}
.be-field-inp::placeholder{color:rgba(255,255,255,.28);}
.be-field-inp:focus{border-color:#6b8df5;}
.be-confirm-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin-bottom:16px;}
.be-btn-book{width:100%;margin-top:4px;background:var(--bk-accent);color:var(--bk-accent-ink);padding:15px 24px;border-radius:10px;font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 20px rgba(var(--bk-accent-rgb),.3);transition:all .2s;}
.be-btn-book:hover{background:var(--bk-accent-l);transform:translateY(-1px);}
.be-btn-book:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.be-confirmed{text-align:center;padding:32px 0;}
.be-conf-ico{width:64px;height:64px;border-radius:50%;background:rgba(var(--bk-accent-rgb),.1);border:2px solid rgba(var(--bk-accent-rgb),.3);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 18px;}
.be-conf-h{font-family:'Fraunces',serif;font-size:26px;font-weight:400;color:#fff;letter-spacing:-.6px;margin-bottom:8px;}
.be-conf-sub{font-size:13px;color:rgba(255,255,255,.52);font-weight:300;line-height:1.7;max-width:340px;margin:0 auto 22px;}
.be-conf-card{background:#111830;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px 20px;text-align:left;}
.be-cc-row{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.52);padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);font-weight:300;}
.be-cc-row:last-child{border-bottom:none;}
.be-cc-row strong{color:#fff;font-weight:500;min-width:72px;}

