:root{--bk-primary:#4f1964;--bk-accent:#4f1964;--bk-accent-hover:#3b1249;--bk-success:#16a34a;--bk-bg:#f7f7f8;--bk-card:#ffffff;--bk-border:#e5e7eb;--bk-text:#111827;--bk-text-muted:#4b5563;--bk-text-light:#6b7280;--bk-sidebar-bg:#4f1964;--bk-sidebar-text:#e2e8f0;--bk-radius:16px;--bk-shadow:0 20px 60px rgba(0,0,0,.12), 0 1px 3px rgba(0,0,0,.08)}#cc-booking-widget{font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--bk-text);padding:20px}.booking-card{display:flex;max-width:820px;margin:0 auto;background:var(--bk-card);border-radius:var(--bk-radius);box-shadow:var(--bk-shadow);overflow:hidden;min-height:520px}.hidden{display:none!important}.booking-sidebar{width:260px;min-width:260px;background:var(--bk-sidebar-bg);color:var(--bk-sidebar-text);padding:32px 24px;display:flex;flex-direction:column}.booking-brand{margin-bottom:28px}.booking-brand-icon{width:48px;height:48px;border-radius:12px;background:var(--bk-accent);color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;margin-bottom:12px;letter-spacing:1px}.booking-brand-name{font-size:1.15rem;font-weight:700;letter-spacing:-.3px}.booking-brand-tagline{font-size:.8rem;color:#94a3b8;margin-top:2px}.booking-sidebar-info{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;padding:18px 0;border-top:1px solid rgb(255 255 255 / .1);border-bottom:1px solid rgb(255 255 255 / .1)}.booking-info-item{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#cbd5e1}.booking-info-icon{font-size:1rem;width:20px;text-align:center}.booking-progress{display:flex;flex-direction:column;gap:0;margin-top:auto}.booking-progress-step{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:.85rem;color:#64748b;transition:all .2s}.booking-progress-step.active{color:#fff;background:rgb(255 255 255 / .08)}.booking-progress-step.completed{color:var(--bk-accent)}.progress-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid #475569;flex-shrink:0}.booking-progress-step.active .progress-num{background:var(--bk-accent);border-color:var(--bk-accent);color:#fff}.booking-progress-step.completed .progress-num{background:#fff0;border-color:var(--bk-accent);color:var(--bk-accent)}.booking-main{flex:1;padding:36px 40px;display:flex;flex-direction:column}.booking-step{animation:bkFadeIn .3s ease;flex:1;display:flex;flex-direction:column}@keyframes bkFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-step-header{margin-bottom:4px}.booking-step-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;letter-spacing:-.5px}.booking-step-subtitle{color:var(--bk-text-muted);margin:0 0 20px;font-size:.9rem}.booking-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--bk-text-muted);cursor:pointer;font-size:.85rem;padding:4px 0;transition:color .15s}.booking-back:hover{color:var(--bk-text)}#booking-calendar{background:var(--bk-card);border:1px solid var(--bk-border);border-radius:12px;padding:20px}.bk-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.bk-cal-header button{background:none;border:1px solid var(--bk-border);border-radius:8px;cursor:pointer;padding:6px 12px;font-size:1rem;color:var(--bk-text);transition:all .15s}.bk-cal-header button:hover{background:var(--bk-bg);border-color:#d1d5db}.bk-cal-title{font-weight:700;font-size:1.05rem}.bk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.bk-cal-grid .bk-dow{font-size:.7rem;font-weight:700;color:var(--bk-text-light);padding:6px 0;text-transform:uppercase;letter-spacing:.5px}.bk-cal-grid .bk-day{padding:10px 0;border-radius:10px;font-size:.9rem;cursor:pointer;border:none;background:#fff0;color:var(--bk-text);transition:all .15s;font-weight:500}.bk-cal-grid .bk-day:hover:not(.bk-disabled){background:var(--bk-accent);color:#fff;transform:scale(1.08)}.bk-cal-grid .bk-day.bk-today{font-weight:700;background:#faf5ff;color:var(--bk-accent)}.bk-cal-grid .bk-day.bk-disabled{color:#d1d5db;cursor:default}.bk-cal-grid .bk-day.bk-selected{background:var(--bk-accent);color:#fff}.booking-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;flex:1}.booking-slot{padding:12px 0;text-align:center;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;border:2px solid var(--bk-border);background:var(--bk-card);color:var(--bk-text);transition:all .2s}.booking-slot:hover:not(.slot-unavailable){border-color:var(--bk-accent);color:var(--bk-accent);background:#faf5ff;transform:translateY(-1px)}.booking-slot.slot-selected{background:var(--bk-accent);border-color:var(--bk-accent);color:#fff;box-shadow:0 4px 12px rgb(79 25 100 / .3)}.booking-slot.slot-unavailable{background:#f9fafb;color:#d1d5db;cursor:default;text-decoration:line-through;border-color:#f3f4f6}.booking-empty{text-align:center;padding:32px;color:var(--bk-text-muted);background:var(--bk-bg);border-radius:12px}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-field{margin-bottom:14px}.booking-field label{display:block;font-weight:600;margin-bottom:5px;font-size:.82rem;color:var(--bk-text)}.field-optional{font-weight:400;color:var(--bk-text-light)}.booking-field input,.booking-field select,.booking-field textarea{width:100%;padding:11px 14px;border:1.5px solid var(--bk-border);border-radius:10px;font-size:.9rem;font-family:inherit;box-sizing:border-box;background:var(--bk-card);color:var(--bk-text);transition:all .2s}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:none;border-color:var(--bk-accent);box-shadow:0 0 0 3px rgb(233 69 96 / .1)}.booking-field input.field-error,.booking-field select.field-error{border-color:#ef4444;box-shadow:0 0 0 3px rgb(239 68 68 / .1)}.booking-submit{width:100%;padding:14px;background:var(--bk-accent);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;margin-top:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.2px}.booking-submit:hover{background:var(--bk-accent-hover);transform:translateY(-1px)}.booking-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking-submit-outline{background:#fff0;color:var(--bk-accent);border:2px solid var(--bk-accent)}.booking-submit-outline:hover{background:var(--bk-accent);color:#fff}.btn-spinner{width:18px;height:18px;border:2px solid rgb(255 255 255 / .3);border-top-color:#fff;border-radius:50%;animation:bkSpin .6s linear infinite}.booking-disclaimer{text-align:center;font-size:.75rem;color:var(--bk-text-light);margin-top:12px}.booking-confirmation{text-align:center;padding:40px 0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.booking-check-wrap{width:72px;height:72px;margin:0 auto 20px}.booking-check-svg{width:72px;height:72px}.check-circle{fill:none;stroke:var(--bk-success);stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:bkStroke .6s cubic-bezier(.65,0,.45,1) forwards}.check-mark{fill:none;stroke:var(--bk-success);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:bkStroke .4s cubic-bezier(.65,0,.45,1) .4s forwards}@keyframes bkStroke{to{stroke-dashoffset:0}}.booking-confirmation h3{font-size:1.5rem;margin:0 0 8px;font-weight:700}.confirm-detail{font-size:1.05rem;font-weight:600;color:var(--bk-accent);margin:4px 0}.confirm-msg{color:var(--bk-text-muted);font-size:.9rem;line-height:1.5;margin:4px 0 24px}.booking-loading{text-align:center;padding:32px;color:var(--bk-text-muted);font-size:.9rem}.booking-loading::after{content:'';display:inline-block;width:18px;height:18px;border:2px solid var(--bk-border);border-top-color:var(--bk-accent);border-radius:50%;animation:bkSpin .6s linear infinite;margin-left:8px;vertical-align:middle}@keyframes bkSpin{to{transform:rotate(360deg)}}@media (max-width:720px){.booking-card{flex-direction:column;max-width:480px}.booking-sidebar{width:100%;min-width:unset;padding:24px;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.booking-sidebar-info{display:none}.booking-progress{flex-direction:row;margin-top:0;gap:4px}.booking-progress-step{padding:6px 10px;font-size:.75rem}.booking-main{padding:24px 20px}.booking-form-grid{grid-template-columns:1fr}}@media (max-width:480px){.booking-slots-grid{grid-template-columns:repeat(3,1fr)}.booking-brand-name{font-size:1rem}.booking-brand-tagline{display:none}.booking-brand-icon{width:36px;height:36px;font-size:.9rem}}