.booking-container{max-width:700px;margin:0 auto;color:var(--color-foreground)}.booking-progress{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;gap:.5rem}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:36px;height:36px;border-radius:50%;background:var(--color-border);color:var(--color-text-light);display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s ease}.progress-step.active .step-number{background:var(--color-primary);color:#fff}.progress-step.completed .step-number{background:var(--color-success);color:#fff}.step-label{font-size:.8125rem;color:var(--color-text-light);font-weight:600}.progress-step.active .step-label{color:var(--color-primary)}.progress-line{flex:1;max-width:80px;height:2px;background:var(--color-border);margin-bottom:1.5rem}.booking-step{display:none}.booking-step[data-active=true]{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-step h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-text)}.booking-step>p{color:var(--color-text-light);margin-bottom:1.5rem}.booking-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--color-text);font-size:.875rem;text-transform:uppercase;letter-spacing:.025em}.required{color:var(--color-danger)}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;font-family:inherit;transition:all .2s ease;background:var(--color-surface);color:var(--color-foreground)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-foreground-tertiary)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#d1d5db;background:var(--color-surfaceRaised)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--color-primary);background:var(--color-surfaceRaised);box-shadow:0 0 0 4px #16a34a1a}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group textarea{resize:vertical;min-height:100px}.btn-block{width:100%;justify-content:center}.back-btn{display:inline-flex;align-items:center;gap:.5rem;background:0 0;border:0;color:var(--color-primary);font-size:.9375rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:color .2s ease}.back-btn:hover{color:var(--color-primary-dark)}.calendar-container{background:var(--color-bg-alt);color:var(--color-foreground);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-title{font-weight:600;font-size:1.0625rem}.calendar-nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-surfaceRaised);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.calendar-nav:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.calendar-nav:disabled{opacity:.4;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:var(--color-surfaceRaised);color:var(--color-foreground);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.booking-container button.calendar-day,.booking-container button.time-slot,.booking-container button.calendar-nav{background-color:var(--color-surfaceRaised);color:var(--color-foreground)}.dark .booking-container button.calendar-day,.dark .booking-container button.time-slot,.dark .booking-container button.calendar-nav{background-color:#143124;border-color:#3d6250;color:#f8fafc}.calendar-day.past{opacity:.4;cursor:not-allowed;background:var(--color-bg-alt)}.calendar-day.fully-booked{opacity:.5;cursor:not-allowed;background:#fef2f2;border-color:#fecaca}.calendar-day.available:hover{border-color:var(--color-primary);transform:translateY(-2px)}.calendar-day.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.booking-container button.calendar-day.selected,.booking-container button.time-slot.selected{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.day-name{font-size:.75rem;font-weight:600;text-transform:uppercase;opacity:.7}.day-num{font-size:1.25rem;font-weight:600}.slots-left{font-size:.6875rem;margin-top:.25rem;color:var(--color-success)}.calendar-day.selected .slots-left{color:#fffc}.slots-left.booked{color:var(--color-danger)}@media (max-width:600px){.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day{padding:.5rem .25rem}.day-name{font-size:.625rem}.day-num{font-size:1rem}.slots-left{display:none}}.time-slots-container{margin-bottom:1.5rem}.time-slots-container h4{font-size:1rem;margin-bottom:1rem;color:var(--color-text)}.time-slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (max-width:500px){.time-slots-grid{grid-template-columns:1fr}}.time-slot{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--color-surfaceRaised);color:var(--color-foreground);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.time-slot.booked{opacity:.5;cursor:not-allowed;background:#fef2f2;border-color:#fecaca}.time-slot.available:hover{border-color:var(--color-primary);transform:translateY(-2px)}.time-slot.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.slot-time{font-weight:600;font-size:1rem}.slot-status{font-size:.8125rem;margin-top:.25rem;color:var(--color-success)}.time-slot.booked .slot-status{color:var(--color-danger)}.time-slot.selected .slot-status{color:#fffc}.booking-summary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding:1.5rem;border-radius:var(--radius-lg);margin-top:1.5rem}.booking-summary h4{margin-bottom:1rem;font-size:1.125rem}.summary-details{margin-bottom:1.25rem}.summary-details p{margin-bottom:.375rem;opacity:.95}.booking-summary .btn{background:var(--color-accent);color:var(--color-accent-text)}.booking-summary .btn:hover{background:var(--color-accent-dark)}.field-error{display:block;min-height:1.25em;margin-top:.25rem;color:#dc2626;font-size:.8125rem;line-height:1.25}.field-hint{display:block;margin-top:.25rem;color:#6b7280;font-size:.8125rem}.input-error{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.booking-error{margin-top:1rem;padding:.875rem 1rem;border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.booking-error a{color:#991b1b;font-weight:700;text-decoration:underline}.success-message{text-align:center;padding:2rem}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--color-success) 0%,var(--color-primary) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.success-message h3{color:var(--color-success);margin-bottom:.5rem}.success-message>p{color:var(--color-text-light);margin-bottom:1.5rem}.confirmation-details{background:var(--color-bg-alt);color:var(--color-foreground);padding:1.25rem;border-radius:var(--radius);text-align:left;margin-bottom:1.5rem}.confirmation-details p{margin-bottom:.375rem;font-size:.9375rem}.confirmation-note{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);color:var(--color-text-light)}.success-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero[data-astro-cid-qy54ux6f]{background-color:#0a1a12}.hero[data-astro-cid-qy54ux6f]:before,.hero[data-astro-cid-qy54ux6f]:after{display:none}.hero[data-astro-cid-qy54ux6f] .container[data-astro-cid-qy54ux6f]{z-index:2}.booking-trust[data-astro-cid-qy54ux6f]{padding:1rem 0;border-bottom:1px solid var(--color-border);background:var(--color-bg);color:var(--color-foreground)}.trust-chips[data-astro-cid-qy54ux6f]{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:center}.trust-chip[data-astro-cid-qy54ux6f]{background:var(--color-surfaceRaised);border:1px solid var(--color-border);border-radius:999px;padding:.45rem .85rem;font-size:.8125rem;font-weight:600;color:var(--color-foreground)}.booking-page-grid[data-astro-cid-qy54ux6f]{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}.inline-widget-section[data-astro-cid-qy54ux6f]{padding-bottom:2rem}.booking-form-card[data-astro-cid-qy54ux6f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;color:var(--color-foreground)}.widget-support-note[data-astro-cid-qy54ux6f]{margin-top:.75rem;color:var(--color-text-light);font-size:.875rem}.widget-support-note[data-astro-cid-qy54ux6f] a[data-astro-cid-qy54ux6f]{font-weight:600}@media (max-width:900px){.booking-page-grid[data-astro-cid-qy54ux6f]{grid-template-columns:1fr}.booking-sidebar[data-astro-cid-qy54ux6f]{order:-1;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.booking-sidebar[data-astro-cid-qy54ux6f] .info-card[data-astro-cid-qy54ux6f]:first-child,.booking-sidebar[data-astro-cid-qy54ux6f] .info-card[data-astro-cid-qy54ux6f]:nth-child(2){grid-column:span 1}.booking-sidebar[data-astro-cid-qy54ux6f] .info-card[data-astro-cid-qy54ux6f]:nth-child(3),.booking-sidebar[data-astro-cid-qy54ux6f] .info-card[data-astro-cid-qy54ux6f]:nth-child(4){grid-column:span 1}}@media (max-width:600px){.booking-sidebar[data-astro-cid-qy54ux6f]{grid-template-columns:1fr}.booking-form-card[data-astro-cid-qy54ux6f]{padding:1.25rem}.booking-sidebar[data-astro-cid-qy54ux6f] .info-card[data-astro-cid-qy54ux6f]{grid-column:span 1!important}}.booking-main[data-astro-cid-qy54ux6f]{background:var(--color-surface);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;color:var(--color-foreground)}.booking-header[data-astro-cid-qy54ux6f]{margin-bottom:2rem}.booking-icon[data-astro-cid-qy54ux6f]{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border-radius:18px;margin-bottom:1.25rem}.booking-header[data-astro-cid-qy54ux6f] h2[data-astro-cid-qy54ux6f]{font-size:1.75rem;margin-bottom:.75rem}.booking-header[data-astro-cid-qy54ux6f] p[data-astro-cid-qy54ux6f]{color:var(--color-text-light);font-size:1.0625rem;max-width:500px;margin:0 auto}.booking-steps[data-astro-cid-qy54ux6f]{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;text-align:left}.step[data-astro-cid-qy54ux6f]{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--color-bg-alt);border-radius:var(--radius);border:1px solid var(--color-border)}.step-number[data-astro-cid-qy54ux6f]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-primary);color:#fff;border-radius:50%;font-weight:700;font-size:1rem;flex-shrink:0}.step[data-astro-cid-qy54ux6f] strong[data-astro-cid-qy54ux6f]{display:block;margin-bottom:.125rem}.step[data-astro-cid-qy54ux6f] p[data-astro-cid-qy54ux6f]{color:var(--color-text-light);font-size:.9375rem;margin:0}.btn-book[data-astro-cid-qy54ux6f]{width:100%;padding:1.125rem 2rem;font-size:1.125rem;justify-content:center}.btn-book[data-astro-cid-qy54ux6f]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #16a34a52}.booking-note[data-astro-cid-qy54ux6f]{color:var(--color-text-light);font-size:.8125rem;margin-top:1rem}.booking-sidebar[data-astro-cid-qy54ux6f]{display:flex;flex-direction:column;gap:1.25rem}@media (max-width:900px){.booking-sidebar[data-astro-cid-qy54ux6f]{flex-direction:row;flex-wrap:wrap}}.info-card[data-astro-cid-qy54ux6f]{background:var(--color-bg-alt);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.info-card[data-astro-cid-qy54ux6f].highlight{background:linear-gradient(135deg,#16a34a0d,#15803d05);border-color:#16a34a33}.info-icon[data-astro-cid-qy54ux6f]{width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1rem}.info-card[data-astro-cid-qy54ux6f] h3[data-astro-cid-qy54ux6f]{font-size:1.0625rem;margin-bottom:.5rem}.info-card[data-astro-cid-qy54ux6f] p[data-astro-cid-qy54ux6f]{color:var(--color-text-light);font-size:.9375rem;margin:0}.info-note[data-astro-cid-qy54ux6f]{font-size:.8125rem!important;margin-top:.375rem!important;opacity:.8}.expect-list[data-astro-cid-qy54ux6f]{list-style:none;padding:0;margin:0}.expect-list[data-astro-cid-qy54ux6f] li[data-astro-cid-qy54ux6f]{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--color-text-light);font-size:.9375rem}.expect-list[data-astro-cid-qy54ux6f] li[data-astro-cid-qy54ux6f]:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:600}.expect-list[data-astro-cid-qy54ux6f] li[data-astro-cid-qy54ux6f]:last-child{margin-bottom:0}.next-steps[data-astro-cid-qy54ux6f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.step-card[data-astro-cid-qy54ux6f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;color:var(--color-foreground)}.step-number[data-astro-cid-qy54ux6f]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:700;margin-bottom:.75rem}.step-card[data-astro-cid-qy54ux6f] h3[data-astro-cid-qy54ux6f]{font-size:1rem;margin-bottom:.5rem}.step-card[data-astro-cid-qy54ux6f] p[data-astro-cid-qy54ux6f]{margin:0;color:var(--color-text-light);font-size:.9375rem}