.booking-brand{font-size:25px;font-weight:750}.booking-intro{text-align:center;margin:48px 0 24px}.booking-layout{color:#15283c;background:#fff;border:1px solid #dce5ee;border-radius:24px;grid-template-columns:1.05fr 1fr;width:100%;display:grid;overflow:hidden;box-shadow:0 16px 50px #12365214}.booking-layout section{min-width:0;padding:36px 38px}.booking-layout section+section{background:#fafcfe;border-left:1px solid #e2eaf2}.booking-layout h2{color:#0b1f33;letter-spacing:-.02em;margin-bottom:6px;font-size:21px;font-weight:800}.section-desc{color:#64748b;margin:0 0 18px;font-size:13px;line-height:1.5}.month-navigation-bar{border-bottom:1px solid #eef3f8;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.month-nav-btn{color:#1e3a5f;cursor:pointer;background:#f1f6fb;border:1px solid #cfdeec;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s}.month-nav-btn:hover:not(:disabled){color:#0b1f33;background:#e2edf8;border-color:#149bff}.month-nav-btn:disabled{opacity:.4;cursor:not-allowed;background:#f8fafc}.month-display-wrap{align-items:center;gap:8px;display:flex}.current-month-label{color:#0f172a;letter-spacing:-.01em;font-size:13.5px;font-weight:800}.month-quick-select{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:4px 8px;font-size:11px;font-weight:600}.month-quick-select:focus{border-color:#149bff}.date-selector-wrapper{margin-bottom:12px}.booking-dates-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px;max-height:120px;padding-right:4px;display:grid;overflow-y:auto}.date-chip{color:#172e46;text-align:center;cursor:pointer;background:#fff;border:1px solid #cfdeec;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:44px;padding:6px 4px;transition:all .15s;display:flex}.date-chip:hover{background:#f0f7fe;border-color:#149bff;transform:translateY(-1px)}.date-chip .chip-day{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:10px;font-weight:700;line-height:1.1}.date-chip .chip-date{color:#0f172a;margin-top:1px;font-size:12px;font-weight:800;line-height:1.1}.date-chip.active{box-shadow:0 4px 10px #12365233;background:#123652!important;border-color:#123652!important}.date-chip.active .chip-day{color:#93c5fd!important}.date-chip.active .chip-date{color:#fff!important}.date-chip.fully-booked{opacity:.55;background:#f8fafc;border-style:dashed}.time-dropdown-section{background:#f8fafc;border:1px solid #e2eaf2;border-radius:12px;padding:14px 16px}.booking-time-select{color:#0f172a;cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:11px 14px;font-size:13.5px;font-weight:600;transition:all .15s}.booking-time-select:focus{border-color:#149bff;box-shadow:0 0 0 3px #149bff26}.taken-times-box{background:#fff;border:1px solid #fecaca;border-radius:12px;padding:12px 14px}.taken-indicator-dot{background:#ef4444;border-radius:50%;width:7px;height:7px}.taken-chip{color:#b91c1c;letter-spacing:.02em;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.select-prompt-banner{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;margin-bottom:12px;padding:10px 14px;font-size:12px}.selected-slot-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9px;margin-bottom:12px;padding:11px 14px;font-size:12.5px}.booking-layout label{color:#334155;gap:5px;margin:10px 0;font-size:12px;font-weight:600;display:grid}.booking-layout input,.booking-layout textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:13px;transition:border-color .15s}.booking-layout input:focus,.booking-layout textarea:focus{border-color:#149bff;box-shadow:0 0 0 3px #149bff26}.booking-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.booking-submit{color:#fff;cursor:pointer;background:#149bff;border:none;border-radius:9px;width:100%;margin-top:12px;padding:13px;font-size:13.5px;font-weight:700;transition:all .15s;box-shadow:0 4px 14px #149bff47}.booking-submit:hover:not(:disabled){background:#0087eb;transform:translateY(-1px)}.booking-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.booking-honeypot{position:absolute;left:-10000px}.booking-error{margin:8px 0;font-size:12px;font-weight:600;color:#dc2626!important}.booking-error a{text-decoration:underline}.booking-empty{text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:10px;padding:24px;font-size:13px}.booking-note{margin-top:8px;line-height:1.5;color:#94a3b8!important;font-size:11px!important}.booking-success{background:#fff;border:1px solid #bbf7d0;border-radius:20px;padding:36px 40px;box-shadow:0 12px 40px #10b98114}.success-badge{color:#15803d;letter-spacing:.08em;background:#dcfce7;border-radius:6px;margin-bottom:8px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.success-info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:16px 0;padding:16px}@media (max-width:860px){.booking-layout{grid-template-columns:1fr}.booking-layout section+section{border-top:1px solid #e2eaf2;border-left:0}.booking-layout section{padding:24px 20px}.booking-fields{grid-template-columns:1fr}}.booking-layout h2,.booking-success h2{letter-spacing:-.025em;font-size:clamp(20px,2vw,24px);font-weight:650;line-height:1.3}
