:root{--brand-blue:#0477bf;--brand-blue-hover:#035a8f;--brand-blue-light:#e8f4fc;--brand-green:#0abf04;--brand-green-light:#e6fae6;--brand-yellow:#f2b705;--brand-red:#f2380f;--header-bg:#111827;--header-text:#f9fafb;--footer-bg:#f9fafb;--footer-border:#e5e7eb}body{font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text);background:var(--bg-page)}.booking-page{flex-direction:column;min-height:100vh;display:flex}.booking-main{padding:var(--space-5) var(--space-4);flex:1}.page-header{background:var(--header-bg);border-bottom:1px solid #ffffff14}.page-header-inner{max-width:1120px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 auto;display:flex}.header-brand{align-items:center;gap:var(--space-3);color:var(--header-text);min-height:var(--tap-target);text-decoration:none;display:flex}.header-logo-img{object-fit:contain;width:auto;height:28px}.header-site-link{color:#fff9;font-size:var(--text-sm);font-weight:var(--font-medium);transition:color var(--transition);min-height:var(--tap-target);white-space:nowrap;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.header-site-link:hover{color:#ffffffe6}.header-site-link svg{flex-shrink:0}.page-footer{background:var(--footer-bg);border-top:1px solid var(--footer-border);margin-top:auto}.page-footer-inner{max-width:1120px;padding:var(--space-6) var(--space-4);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.footer-top{gap:var(--space-4);flex-direction:column;display:flex}.footer-company{gap:var(--space-1);flex-direction:column;display:flex}.footer-brand-row{align-items:center;gap:var(--space-2);display:flex}.footer-icon{border-radius:var(--radius-sm);width:32px;height:32px}.footer-brand-name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text)}.footer-tagline{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal);margin:0}.footer-contact{gap:var(--space-2);flex-direction:column;display:flex}.footer-contact-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);transition:color var(--transition);text-decoration:none;display:inline-flex}.footer-contact-item:hover{color:var(--brand-blue)}.footer-contact-item svg{color:var(--text-muted);flex-shrink:0}.footer-contact-item strong{font-weight:var(--font-medium);color:var(--text)}.footer-social{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--footer-border);flex-wrap:wrap;display:flex}.footer-social a{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-muted);transition:color var(--transition), background var(--transition);justify-content:center;align-items:center;display:inline-flex}.footer-social a:hover{color:var(--brand-blue);background:var(--brand-blue-light)}.footer-bottom{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--footer-border);flex-direction:column;display:flex}.footer-legal{gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.footer-legal a{font-size:var(--text-xs);color:var(--text-secondary);transition:color var(--transition);white-space:nowrap;text-decoration:none}.footer-legal a:hover{color:var(--brand-blue);text-decoration:underline}.footer-copyright{font-size:var(--text-xs);color:var(--text-muted)}.wizard-progress{background:var(--bg);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;overflow-x:auto}.wizard-progress-inner{max-width:480px;padding:var(--space-3) var(--space-4);justify-content:center;align-items:center;gap:0;margin:0 auto;display:flex}.progress-item{white-space:nowrap;align-items:center;display:flex}.progress-line{background:var(--border);width:28px;height:2px;margin:0 var(--space-1);transition:background var(--transition);flex-shrink:0}.progress-line.active{background:var(--brand-green)}.progress-dot{width:28px;height:28px;font-size:var(--text-xs);font-weight:var(--font-semibold);border:2px solid var(--border);color:var(--text-muted);background:var(--bg);transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.progress-dot.current{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.progress-dot.done{border-color:var(--brand-green);background:var(--brand-green);color:#fff}.progress-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-muted);transition:color var(--transition);margin-left:6px}.progress-label.current{color:var(--brand-blue)}.progress-label.done{color:var(--brand-green)}.wizard-container{width:100%;max-width:600px;margin:0 auto}.wizard-container.has-sidebar{max-width:600px}.wizard-main{min-width:0}.selection-sidebar{display:none}.step-content{background:var(--bg);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--border);animation:.2s fadeIn}.step-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-1);line-height:var(--leading-tight)}.step-subtitle{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-5)}.step-loading,.step-error{text-align:center;padding:var(--space-12) var(--space-5);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.step-error p{color:var(--danger)}.back-link{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;margin-bottom:var(--space-3);min-height:var(--tap-target);transition:color var(--transition);background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.back-link:hover{color:var(--brand-blue)}.back-link svg{flex-shrink:0}.category-grid{gap:var(--space-3);flex-direction:column;display:flex}.category-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;text-align:left;min-height:var(--tap-target);transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);display:flex}.category-card:hover:not(:disabled){border-color:var(--brand-blue);background:var(--brand-blue-light);box-shadow:var(--shadow)}.category-card:active:not(:disabled){transform:scale(.99)}.cat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cat-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cat-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text)}.cat-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cat-badge{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--brand-blue);background:var(--brand-blue-light);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;padding:2px 10px}.type-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.type-card{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);cursor:pointer;text-align:center;min-height:140px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);flex-direction:column;display:flex}.type-card:hover:not(:disabled){border-color:var(--brand-blue);background:var(--brand-blue-light);box-shadow:var(--shadow)}.type-card:active:not(:disabled){transform:scale(.98)}.type-icon{color:var(--brand-blue);flex-shrink:0}.type-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text)}.type-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-relaxed)}.mini-calendar{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.cal-nav{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.cal-nav-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition);justify-content:center;align-items:center;display:flex}.cal-nav-btn:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue);background:var(--brand-blue-light)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-month-label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text)}.cal-weekdays{margin-bottom:var(--space-1);grid-template-columns:repeat(7,1fr);gap:0;display:grid}.cal-wd{text-align:center;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);padding:var(--space-1) 0;text-transform:uppercase;letter-spacing:.3px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-cell{aspect-ratio:1;border-radius:var(--radius);font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:center;align-items:center;min-height:36px;display:flex}.cal-empty{background:0 0}.cal-day{color:var(--text-muted);cursor:default;transition:all var(--transition);background:0 0;border:1px solid #0000}.cal-day.cal-past{color:var(--border);cursor:not-allowed}.cal-day.cal-available{color:var(--text);font-weight:var(--font-semibold);background:var(--brand-blue-light);cursor:pointer;border-color:#0000}.cal-day.cal-available:hover{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.cal-day.cal-available:active{transform:scale(.93)}.cal-day.cal-today{border-color:var(--brand-blue)}.tz-row{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.tz-row svg{color:var(--text-muted);flex-shrink:0}.tz-select{border:1px solid var(--border);border-radius:var(--radius);min-width:0;font-size:var(--text-sm);color:var(--text);background:var(--bg);appearance:none;cursor:pointer;transition:border-color var(--transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;flex:1;padding:8px 32px 8px 10px;font-family:inherit}.tz-select:focus{border-color:var(--brand-blue);box-shadow:var(--shadow-focus);outline:none}.time-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.time-slot{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text);cursor:pointer;text-align:center;min-height:var(--tap-target);transition:all var(--transition);justify-content:center;align-items:center;display:flex}.time-slot:hover:not(:disabled){border-color:var(--brand-blue);background:var(--brand-blue-light);color:var(--brand-blue)}.time-slot:active:not(:disabled){background:var(--brand-blue);color:#fff;transform:scale(.97)}.no-slots-msg{text-align:center;padding:var(--space-8) 0;color:var(--text-secondary)}.no-slots-msg .btn{margin-top:var(--space-3)}.booking-summary-inline{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.bsi-item{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;display:flex}.bsi-item svg{color:var(--brand-blue);flex-shrink:0}.contact-form{gap:var(--space-4);flex-direction:column;display:flex}.contact-form .form-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.contact-form .field{gap:var(--space-1);flex-direction:column;display:flex}.contact-form .field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.contact-form .field input,.contact-form .field textarea,.contact-form .field select{width:100%;padding:10px var(--space-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--bg);transition:border-color var(--transition), box-shadow var(--transition);font-family:inherit;font-size:16px}.contact-form .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.contact-form .field input:focus,.contact-form .field textarea:focus,.contact-form .field select:focus{border-color:var(--brand-blue);outline:none;box-shadow:0 0 0 3px #0477bf1a}.contact-form .field textarea{resize:vertical;min-height:72px}.contact-form .field-error{font-size:var(--text-xs);color:var(--danger)}.phone-verify-row{gap:var(--space-2);align-items:center;display:flex}.phone-verify-row input{flex:1}.otp-verified-badge{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--brand-green);background:var(--brand-green-light);border-radius:var(--radius-md);white-space:nowrap;align-items:center;gap:4px;font-weight:600;display:inline-flex}.otp-modal-overlay{z-index:1000;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.otp-modal{background:var(--bg,#fff);border-radius:var(--radius-xl,16px);padding:var(--space-6) var(--space-5);text-align:center;width:100%;max-width:400px;animation:.2s slideUp;position:relative;box-shadow:0 20px 60px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.otp-modal-close{top:var(--space-3);right:var(--space-3);color:var(--text-muted,#94a3b8);cursor:pointer;padding:var(--space-1);border-radius:var(--radius,8px);width:36px;height:36px;transition:all var(--transition,.15s ease);background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;line-height:1;display:flex;position:absolute}.otp-modal-close:hover{background:var(--bg-secondary,#f1f5f9);color:var(--text,#1e293b)}.otp-modal-icon{background:var(--brand-blue-light,#e8f4fc);width:56px;height:56px;color:var(--brand-blue,#0477bf);margin:0 auto var(--space-3);border-radius:50%;justify-content:center;align-items:center;display:flex}.otp-modal-title{font-size:var(--text-xl,1.25rem);font-weight:var(--font-bold,700);color:var(--text,#1e293b);margin:0 0 var(--space-1)}.otp-modal-subtitle{font-size:var(--text-sm,.875rem);color:var(--text-secondary,#64748b);margin:0 0 var(--space-5);line-height:var(--leading-relaxed,1.625)}.otp-modal-subtitle strong{color:var(--text,#1e293b)}.otp-modal-input{width:100%;padding:var(--space-3) var(--space-4);letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;border:2px solid var(--border,#e2e8f0);border-radius:var(--radius-lg,12px);background:var(--bg-secondary,#f8fafc);color:var(--text,#1e293b);margin-bottom:var(--space-3);transition:border-color var(--transition,.15s ease), box-shadow var(--transition,.15s ease);font-family:inherit;font-size:1.5rem;font-weight:600;display:block}.otp-modal-input:focus{border-color:var(--brand-blue,#0477bf);background:var(--bg,#fff);outline:none;box-shadow:0 0 0 3px #0477bf26}.otp-modal-input::placeholder{color:var(--text-muted,#94a3b8);letter-spacing:.4em}.otp-modal-error{font-size:var(--text-sm,.875rem);color:var(--danger,#ef4444);margin:0 0 var(--space-2)}.otp-modal-timer{font-size:var(--text-xs,.75rem);color:var(--brand-blue,#0477bf);font-variant-numeric:tabular-nums;margin:0 0 var(--space-3);font-weight:600}.otp-modal .btn{margin-bottom:var(--space-3)}.otp-modal-footer{padding-top:var(--space-1)}.otp-resend-link{font-size:var(--text-sm,.875rem);color:var(--brand-blue,#0477bf);cursor:pointer;transition:color var(--transition,.15s ease);background:0 0;border:none;padding:0;text-decoration:underline}.otp-resend-link:hover{color:var(--brand-blue-hover,#035a8f)}.otp-resend-link.disabled{color:var(--text-muted,#94a3b8);cursor:default;text-decoration:none}.otp-modal-sending{padding:var(--space-6) 0;justify-content:center;display:flex}.consent-text{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-relaxed);text-align:center}.consent-text a{color:var(--brand-blue);text-decoration:underline}.consent-text a:hover{color:var(--brand-blue-hover)}.btn-lg{min-height:48px;font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-5)}.btn-primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-blue-hover);border-color:var(--brand-blue-hover)}.confirmation-step{text-align:center}.confirm-icon-wrap{background:var(--brand-green-light);width:64px;height:64px;color:var(--brand-green);margin:0 auto var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:flex}.confirm-details{text-align:left;margin:var(--space-5) 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.confirm-row{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.confirm-row:last-child{border-bottom:none}.confirm-label{font-size:var(--text-sm);color:var(--text-secondary);flex-shrink:0}.confirm-value{font-size:var(--text-sm);font-weight:var(--font-medium);text-align:right;word-break:break-all}.confirm-link{color:var(--brand-blue);text-decoration:none}.confirm-link:hover{text-decoration:underline}.confirm-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.confirm-actions .btn{gap:6px}.manage-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:capitalize;margin-bottom:var(--space-4);display:inline-block}.manage-cutoff-note{font-size:var(--text-xs);color:var(--text-muted);text-align:center;margin-bottom:var(--space-2)}.global-error{max-width:600px;margin:var(--space-3) auto 0;padding:var(--space-3) var(--space-4);background:var(--danger-bg);border:1px solid var(--danger-200);border-radius:var(--radius);color:var(--danger);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.global-error button{color:var(--danger);cursor:pointer;font-size:var(--text-lg);padding:0 var(--space-1);min-width:var(--tap-target);min-height:var(--tap-target);background:0 0;border:none;justify-content:center;align-items:center;display:flex}@media (max-width:359px){.page-header-inner{padding:var(--space-2) var(--space-3)}.header-logo-img{height:22px}.header-site-link{font-size:var(--text-xs)}.booking-main{padding:var(--space-3) var(--space-2)}.step-content{padding:var(--space-4) var(--space-3);border-radius:var(--radius)}.step-title{font-size:var(--text-lg)}.mini-calendar{padding:var(--space-3)}.cal-cell{min-height:30px;font-size:var(--text-xs)}.cal-wd{font-size:10px}.cal-nav-btn{width:30px;height:30px}.cal-month-label{font-size:var(--text-sm)}.category-card{padding:var(--space-3);gap:var(--space-2)}.cat-badge{padding:1px 6px;font-size:10px}.time-slot{font-size:var(--text-sm);padding:var(--space-2);min-height:38px}.contact-form .field input,.contact-form .field textarea,.contact-form .field select{padding:8px var(--space-2)}.confirm-row{padding:var(--space-2) var(--space-3);flex-direction:column;gap:2px}.confirm-value{text-align:left}.footer-legal{gap:var(--space-1) var(--space-2)}.footer-social{gap:var(--space-2)}.footer-social a{width:32px;height:32px}}@media (max-width:479px){.contact-form .form-row,.type-grid{grid-template-columns:1fr}.type-card{text-align:left;min-height:auto;padding:var(--space-4);flex-direction:row}.type-icon{flex-shrink:0}.type-card .type-name,.type-card .type-desc{text-align:left}.booking-summary-inline{gap:var(--space-1);flex-direction:column}.progress-label{display:none}.progress-line{width:20px}}@media (min-width:480px){.time-grid{grid-template-columns:repeat(3,1fr)}.progress-line{width:36px}}@media (min-width:640px){.page-header-inner{padding:var(--space-3) var(--space-6)}.header-logo-img{height:32px}.booking-main{padding:var(--space-6) var(--space-5)}.step-content{padding:var(--space-6);border-radius:var(--radius-xl)}.step-title{font-size:var(--text-2xl)}.category-grid{grid-template-columns:repeat(2,1fr);display:grid}.mini-calendar{padding:var(--space-5)}.cal-cell{min-height:40px;font-size:var(--text-base)}.footer-top{flex-direction:row;justify-content:space-between;align-items:flex-start}.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}.page-footer-inner{padding:var(--space-6)}}@media (min-width:768px){.page-header-inner{padding:var(--space-4) var(--space-8)}.header-logo-img{height:36px}.booking-main{padding:var(--space-8) var(--space-6)}.wizard-container.has-sidebar{gap:var(--space-5);grid-template-columns:240px 1fr;align-items:start;max-width:880px;display:grid}.selection-sidebar{top:var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;display:block;position:sticky;overflow:hidden}.sidebar-category{padding:var(--space-4);border-left:4px solid var(--brand-blue);background:var(--bg-secondary)}.sidebar-cat-dot{width:8px;height:8px;margin-bottom:var(--space-2);border-radius:50%}.sidebar-cat-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text);margin-bottom:2px}.sidebar-cat-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sidebar-cat-duration{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--brand-blue)}.sidebar-detail{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.sidebar-detail-label{font-size:11px;font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.sidebar-detail-value{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text)}.step-content{padding:var(--space-8)}.step-title{font-size:var(--text-3xl)}.time-grid{grid-template-columns:repeat(3,1fr)}.cal-cell{min-height:44px}.page-footer-inner{padding:var(--space-6) var(--space-8)}}@media (min-width:1024px){.wizard-container.has-sidebar{gap:var(--space-6);grid-template-columns:260px 1fr;max-width:960px}.time-grid{grid-template-columns:repeat(4,1fr)}}.session-type-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:1fr;display:grid}@media (min-width:640px){.session-type-grid{grid-template-columns:1fr 1fr}}.pricing-card{padding:var(--space-6);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--white);flex-direction:column;transition:all .2s;display:flex;position:relative}.pricing-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.pricing-card.featured{border-color:var(--paid-accent,var(--primary));box-shadow:0 4px 16px color-mix(in srgb, var(--paid-accent,var(--primary)) 20%, transparent)}.pricing-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2);font-size:14px;font-weight:600}.pricing-card.featured .pricing-card-label{color:var(--paid-accent,var(--primary))}.pricing-card-price{color:var(--text-primary);margin-bottom:var(--space-3);font-size:48px;font-weight:800;line-height:1}.pricing-currency{vertical-align:super;margin-right:2px;font-size:28px;font-weight:600}.pricing-cents{vertical-align:super;font-size:20px;font-weight:600}.pricing-card-desc{color:var(--text-secondary);margin:0 0 var(--space-4) 0;font-size:14px;line-height:1.5}.pricing-features{margin:0 0 var(--space-5) 0;flex:1;padding:0;list-style:none}.pricing-features li{color:var(--text-secondary);align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.pricing-features li svg{flex-shrink:0}.pricing-card:not(.featured) .pricing-features li svg{color:var(--primary)}.pricing-card.featured .pricing-features li svg{color:var(--paid-accent,var(--primary))}.pricing-cta{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--white);width:100%;color:var(--text-primary);cursor:pointer;padding:12px 0;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:block}.pricing-cta:hover{background:var(--gray-50);border-color:var(--text-muted)}.pricing-cta.featured{background:var(--paid-accent,var(--primary));border-color:var(--paid-accent,var(--primary));color:var(--white)}.pricing-cta.featured:hover{filter:brightness(.9)}.payment-step .step-subtitle{font-size:16px;font-weight:600}.reservation-timer{color:#15803d;margin-bottom:var(--space-4);background:#f0fdf4;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-block}.reservation-timer.warning{color:#92400e;background:#fef3c7;animation:1s ease-in-out infinite pulse-timer}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.7}}.payment-form{margin-top:var(--space-4)}.payment-submit-btn{width:100%;margin-top:var(--space-4);padding:14px 24px;font-size:16px;font-weight:700}.payment-test-banner{color:#854d0e;text-align:center;background:#fefce8;border:1px solid #fde68a;border-radius:8px;margin-bottom:12px;padding:8px 14px;font-size:13px;font-weight:600}.payment-error{color:#991b1b;margin-bottom:var(--space-4);background:#fef2f2;border-radius:8px;padding:10px 14px;font-size:14px}.billing-address-section{margin-top:var(--space-3)}.billing-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:500}.billing-toggle:hover{text-decoration:underline}.billing-address-fields{flex-direction:column;gap:8px;display:flex}.billing-input{border:1px solid var(--gray-300);width:100%;color:var(--gray-900);box-sizing:border-box;background:#fff;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.billing-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #2563eb1a}.billing-input::placeholder{color:var(--gray-400)}.billing-input-sm{max-width:140px}.billing-row{gap:8px;display:flex}.billing-row .billing-input{flex:1}.billing-row .billing-input-sm{flex:0 0 140px}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);width:32px;height:32px;margin:var(--space-4) auto;border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-price{color:var(--primary);margin-top:var(--space-2);font-size:18px;font-weight:700}.sidebar-session-type{color:var(--primary);font-weight:600}.confirm-payment-badge{color:#15803d;background:#dcfce7;border-radius:12px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.error-text{color:#991b1b}
