/* Booking calendar widget. Base styles from the provided component, re-themed for the dark landing page (see "dark theme" block at the end). */
#booking-widget{
  --bk-blue:#0EA5FF;
  --bk-blue-hover:#38BDF8;
  --bk-blue-soft:rgba(14,165,255,.14);
  --bk-text:#F2F6FB;
  --bk-muted:#8E96A3;
  --bk-faint:#4A525E;
  --bk-border:rgba(255,255,255,.12);
  --bk-picked:#2A313B;
  --bk-surface:#161A20;
  --bk-field:#1E232B;
  --bk-on-blue:#0B1F3B;

  box-sizing:border-box;width:100%;max-width:440px;margin:0 auto;
  background:var(--bk-surface);color:var(--bk-text);border-radius:20px;padding:22px;border:1px solid rgba(255,255,255,.08);
  font-family:inherit;font-size:14px;line-height:1.45;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.65),0 40px 80px -40px rgba(14,165,255,.25);
}
#booking-widget *,#booking-widget *::before,#booking-widget *::after{box-sizing:border-box;}
#booking-widget button:focus-visible,#booking-widget select:focus-visible,#booking-widget input:focus-visible{outline:2px solid var(--bk-blue);outline-offset:2px;}

.bk-summary{border:1px solid var(--bk-border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.bk-row{display:flex;align-items:flex-start;gap:10px;color:#C3CFE0;font-size:13.5px;}
.bk-row svg{flex-shrink:0;margin-top:1px;color:var(--bk-muted);}

.bk-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:10px;}
.bk-month{font-weight:600;min-width:140px;text-align:center;}
.bk-icon-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--bk-blue);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.bk-icon-btn:hover:not(:disabled){background:var(--bk-blue-soft);}
.bk-icon-btn:active:not(:disabled){transform:scale(.94);}
.bk-icon-btn:disabled{color:var(--bk-faint);cursor:default;}

.bk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 2px;text-align:center;}
.bk-wd{font-size:12px;font-weight:600;color:var(--bk-muted);padding:6px 0;}
.bk-day{position:relative;width:40px;height:40px;margin:0 auto;border-radius:50%;border:none;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--bk-blue);cursor:pointer;}
.bk-day:hover:not(:disabled){background:var(--bk-blue-soft);}
.bk-day:active:not(:disabled){transform:scale(.94);}
.bk-day:disabled{color:var(--bk-faint);font-weight:400;cursor:default;}
.bk-day[aria-pressed="true"]{background:var(--bk-blue);color:var(--bk-on-blue);}
.bk-day.bk-today::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;}

.bk-label{display:block;font-size:13px;font-weight:600;margin:18px 0 6px;}
.bk-select{width:100%;padding:10px 12px;border:1px solid var(--bk-border);border-radius:8px;background:var(--bk-field);font:inherit;font-size:13.5px;color:var(--bk-text);}

.bk-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:4px;}
.bk-title{text-align:center;}
.bk-title h3{margin:0;font-size:17px;font-weight:600;}
.bk-title p{margin:2px 0 0;color:var(--bk-muted);font-size:13px;}
.bk-h{outline:none;}
.bk-section{text-align:center;margin:20px 0 2px;font-size:16px;font-weight:600;}
.bk-sub{text-align:center;color:var(--bk-muted);font-size:13px;margin:0 0 14px;}

.bk-slots{display:flex;flex-direction:column;gap:8px;}
.bk-slot{width:100%;padding:12px;border:1.5px solid var(--bk-blue);border-radius:8px;background:transparent;color:var(--bk-blue);font:inherit;font-weight:600;cursor:pointer;}
.bk-slot:hover{background:var(--bk-blue-soft);}
.bk-slot:active{transform:scale(.99);}
.bk-picked{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.bk-picked-time{display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bk-picked);color:#fff;font-weight:600;padding:12px;}

.bk-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px;border:none;border-radius:8px;background:var(--bk-blue);color:var(--bk-on-blue);font:inherit;font-weight:600;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1);}
.bk-btn:hover:not(:disabled){background:var(--bk-blue-hover);}
.bk-btn:active:not(:disabled){transform:scale(.98);}
.bk-btn:disabled{opacity:.6;cursor:default;}

.bk-form{display:flex;flex-direction:column;gap:14px;}
.bk-form-title{margin:0;font-size:16px;font-weight:600;}
.bk-field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;}
.bk-req{color:#FDBA74;}
.bk-input{width:100%;padding:10px 12px;border:1px solid var(--bk-border);border-radius:8px;font:inherit;font-size:14px;color:var(--bk-text);background:var(--bk-field);}
.bk-input::placeholder{color:rgba(203,213,225,.45);}
.bk-input:focus{border-color:var(--bk-blue);}
.bk-phone{display:flex;gap:8px;}
.bk-phone .bk-select{width:auto;flex-shrink:0;}
.bk-fieldset{border:none;padding:0;margin:0;}
.bk-fieldset legend{font-size:13px;font-weight:600;padding:0;margin-bottom:6px;}
.bk-radio{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:6px;cursor:pointer;}
.bk-radio input{accent-color:var(--bk-blue);width:16px;height:16px;margin:0;}
.bk-error{color:#FDBA74;font-size:13px;margin:0;min-height:1.2em;}

.bk-empty{text-align:center;color:var(--bk-muted);padding:14px 0;}
.bk-done{text-align:center;}
.bk-check{width:54px;height:54px;border-radius:50%;background:var(--bk-blue-soft);color:var(--bk-blue);display:flex;align-items:center;justify-content:center;margin:6px auto 12px;}
.bk-done h3{margin:0 0 4px;font-size:18px;}
.bk-done p{margin:0 0 16px;color:var(--bk-muted);}
.bk-done .bk-summary{text-align:left;}
.bk-link{background:none;border:none;color:var(--bk-blue);font:inherit;font-weight:600;cursor:pointer;padding:6px;}
.bk-link:hover{text-decoration:underline;}

@media (max-width:380px){
  #booking-widget{padding:16px;}
  .bk-day{width:36px;height:36px;}
}
@media (prefers-reduced-motion:reduce){
  #booking-widget *{transition:none !important;}
}
