.book-hero{position:relative;overflow:hidden;padding:100px 0 72px;background:#fff;border-bottom:1px solid #eef2f7}.book-hero:before{content:"";position:absolute;width:700px;height:700px;top:-260px;right:-160px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.07) 0%,transparent 65%);pointer-events:none}.bh-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 400px;gap:72px;align-items:center;background-image:radial-gradient(rgba(15,23,42,.04) 1px,transparent 1px);background-size:28px 28px}.bh-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#f9731617;color:#c2410c;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:20px}.bh-dot{width:7px;height:7px;border-radius:50%;background:#f97316;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.bh-copy h1{font-size:clamp(2rem,3.8vw,3rem);margin:0 0 16px;letter-spacing:-.035em}.bh-copy h1 em{color:#f97316;font-style:normal}.bh-copy .lead{color:#475569;line-height:1.72;max-width:500px}.bh-trust{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:10px}.bh-trust li{display:flex;align-items:center;gap:9px;font-size:.875rem;color:#475569;font-weight:500}.bh-trust li :global(svg){color:#10b981;flex-shrink:0}.bh-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:32px;box-shadow:0 8px 32px #0f172a0f;display:flex;flex-direction:column;gap:12px}.bh-card-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 6px 18px #f9731640;margin-bottom:4px}.bh-card strong{font-size:1.1rem;color:#0f172a}.bh-card p{color:#64748b;font-size:.875rem;line-height:1.65;margin:0}.bh-formats{display:flex;gap:8px;flex-wrap:wrap}.bh-fmt{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;border:1px solid #e2e8f0;font-size:.75rem;font-weight:600;color:#64748b;background:#f8fafc}.booking-section{padding:56px 0 100px;background:#f8fafc}.step-bar{display:flex;align-items:center;margin-bottom:40px;max-width:540px}.step-indicator{display:flex;align-items:center;gap:10px;flex:0 0 auto;opacity:.38;transition:opacity .3s}.step-indicator.active{opacity:1}.step-indicator.done{opacity:.65}.si-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:2px solid #cbd5e1;font-size:.8rem;font-weight:800;color:#94a3b8;transition:all .3s;flex-shrink:0}.step-indicator.active .si-num{background:linear-gradient(135deg,#f97316,#ea580c);border-color:transparent;color:#fff;box-shadow:0 4px 12px #f973164d}.step-indicator.done .si-num{background:#10b981;border-color:transparent;color:#fff}.si-label{font-size:.82rem;font-weight:700;color:#475569;white-space:nowrap}.step-divider{flex:1;height:2px;background:#e2e8f0;margin:0 12px;min-width:24px}.cal-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:24px;overflow:hidden;box-shadow:0 4px 32px #0f172a12;min-height:480px}.cal-panel{padding:36px 32px;border-right:1px solid #f1f5f9}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cal-nav{width:38px;height:38px;border-radius:10px;border:1.5px solid #e2e8f0;background:#f8fafc;display:grid;place-items:center;cursor:pointer;color:#475569;transition:all .15s}.cal-nav:hover{background:#f97316;border-color:#f97316;color:#fff;box-shadow:0 4px 12px #f9731640}.cal-month-label{font-size:1.05rem;font-weight:800;color:#0f172a}.cal-legend{display:flex;gap:16px;margin-bottom:20px;padding:10px 14px;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}.leg-item{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;color:#64748b}.leg-dot{width:10px;height:10px;border-radius:50%}.leg-dot.avail{background:#10b981}.leg-dot.selected-dot{background:#f97316}.leg-dot.unavail{background:#e2e8f0}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px;gap:3px}.cal-weekdays span{text-align:center;font-size:.68rem;font-weight:800;color:#94a3b8;letter-spacing:.06em;text-transform:uppercase;padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.875rem;font-weight:600;cursor:default;color:#cbd5e1;background:transparent;border:2px solid transparent;transition:all .15s;position:relative;font-family:inherit}.cal-day.disabled{color:#d1d5db;background:transparent;cursor:not-allowed}.cal-day.empty{background:transparent;cursor:default}.cal-day.available{color:#0f172a;cursor:pointer;background:#10b98114;border-color:#10b98140;font-weight:700}.cal-day.available:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:#10b981}.cal-day.available:hover{background:#f973161a;border-color:#f9731666;color:#c2410c;transform:scale(1.05)}.cal-day.available:hover:after{background:#f97316}.cal-day.today{background:#f973160f;color:#f97316;border-color:#f9731640;font-weight:800}.cal-day.today.available{background:#f9731614;border-color:#f973164d}.cal-day.selected{background:linear-gradient(135deg,#f97316,#ea580c)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 6px 18px #f9731659;transform:scale(1.08);font-weight:800}.cal-day.selected:after{background:#fffc!important}.slot-panel{padding:36px 32px;display:flex;flex-direction:column;background:#fafbfc}.slot-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:24px;gap:12px}.slot-prompt-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#f973161a,#f973160d);border:1.5px solid rgba(249,115,22,.15);color:#f97316;margin-bottom:4px}.slot-prompt strong{font-size:1.05rem;color:#0f172a}.slot-prompt p{color:#64748b;font-size:.875rem;line-height:1.65;max-width:240px;margin:0}.slot-hint-row{margin-top:8px}.slot-hint{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#10b98114;border:1px solid rgba(16,185,129,.2);font-size:.72rem;font-weight:700;color:#059669}.hint-dot{width:8px;height:8px;border-radius:50%;background:#10b981}.slot-header{margin-bottom:4px}.slot-date-label{font-size:1.05rem;font-weight:800;color:#0f172a}.slot-tz{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:#94a3b8;margin-top:4px}.slot-tz :global(svg){color:#94a3b8}.slot-subhead{font-size:.82rem;color:#64748b;margin:0 0 20px}.slot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:24px}.slot-btn{padding:14px 12px;border-radius:12px;border:2px solid #e2e8f0;background:#fff;text-align:center;font-size:.875rem;font-weight:700;color:#334155;cursor:pointer;transition:all .15s;line-height:1.2;font-family:inherit}.slot-btn:hover{border-color:#f97316;background:#f973160d;color:#c2410c}.slot-btn.selected{background:linear-gradient(135deg,#f97316,#ea580c);border-color:transparent;color:#fff;box-shadow:0 4px 14px #f973164d}.slot-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.slot-cta:disabled{opacity:.45;cursor:not-allowed}.form-layout{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}.booking-recap{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:28px;box-shadow:0 4px 16px #0f172a0a;display:flex;flex-direction:column;gap:20px}.recap-title{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin:0 0 4px}.recap-item{display:flex;flex-direction:column;gap:3px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.recap-item:last-child{border-bottom:none;padding-bottom:0}.recap-label{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.recap-value{font-size:.95rem;font-weight:700;color:#0f172a}.booking-form{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:40px;box-shadow:0 4px 24px #0f172a0d;display:grid;gap:20px}.form-title{font-size:1.4rem;margin:0 0 4px;color:#0f172a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-form label{display:grid;gap:7px}.booking-form span{font-size:.78rem;font-weight:700;color:#475569;letter-spacing:.02em}.booking-form em{color:#f97316;font-style:normal}.booking-form input,.booking-form textarea{padding:13px 16px;border:1.5px solid #e2e8f0;border-radius:11px;background:#f8fafc;color:#0f172a;font-size:.9rem;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;outline:none}.booking-form input:focus,.booking-form textarea:focus{border-color:#f97316;background:#fff;box-shadow:0 0 0 3px #f973161a}.booking-form textarea{resize:vertical}.format-choice{display:flex;gap:10px}.fc-option{cursor:pointer}.fc-option input{display:none}.fc-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:11px;border:1.5px solid #e2e8f0;font-size:.85rem;font-weight:700;color:#475569;background:#f8fafc;transition:all .15s;cursor:pointer}.fc-option input:checked+.fc-btn{border-color:#f97316;background:#f9731612;color:#c2410c}.form-foot{display:flex;align-items:center;gap:14px}.form-foot .btn{display:inline-flex;align-items:center;gap:6px}.confirm-step{display:flex;justify-content:center}.confirm-card{background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:64px 52px;text-align:center;max-width:560px;width:100%;box-shadow:0 12px 48px #0f172a14}.confirm-anim{position:relative;width:80px;height:80px;margin:0 auto 28px}.confirm-ring{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(16,185,129,.25);animation:ring-pulse 2s ease-in-out infinite}@keyframes ring-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.4}}.confirm-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:grid;place-items:center;color:#fff;box-shadow:0 8px 24px #10b9814d}.confirm-card h2{font-size:1.9rem;margin:0 0 14px}.confirm-lead{color:#475569;line-height:1.7;max-width:420px;margin:0 auto 32px}.confirm-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px 28px;text-align:left;display:grid;gap:16px;margin-bottom:32px}.confirm-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hp-field{position:absolute;left:-9999px;overflow:hidden}.field-error{color:#ef4444;font-size:.75rem;font-weight:600;min-height:1em;display:block}.booking-form input.invalid,.booking-form textarea.invalid{border-color:#ef4444!important;background:#fff5f5!important;box-shadow:0 0 0 3px #ef44441a!important}@media(max-width:1024px){.bh-inner{grid-template-columns:1fr;gap:40px}.cal-wrapper{grid-template-columns:1fr}.cal-panel{border-right:none;border-bottom:1px solid #f1f5f9}.slot-panel{background:#fff}.form-layout{grid-template-columns:1fr}.booking-recap{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.recap-title{grid-column:1/-1}}@media(max-width:640px){.book-hero{padding:72px 0 52px}.bh-inner{gap:32px}.si-label{display:none}.cal-panel,.slot-panel{padding:24px 20px}.slot-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.booking-form{padding:24px}.confirm-card{padding:40px 24px}.booking-recap{grid-template-columns:1fr}}
