.booking-page{max-width:1100px}.booking-page .badge{margin-bottom:1.5rem}.booking-page h1{font-size:2.5rem;margin-bottom:1rem}.lead{max-width:780px;color:var(--color-text-muted);font-size:1.125rem;line-height:1.8;margin-bottom:2rem}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;margin-bottom:1.5rem}.booking-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);padding:1.5rem;box-shadow:var(--shadow-sm)}.booking-panel h2{color:var(--color-heading);font-size:1.25rem;margin-bottom:1rem}.product-options,.booking-form{display:grid;gap:.75rem}.product-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.product-option strong,.product-option small{display:block}.product-option small{color:var(--color-text-muted);font-size:.875rem;margin-top:.15rem}.product-option b{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-heading);white-space:nowrap}.product-option.is-selected,.date-option.is-selected{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 0 0 2px #b91c1c14}.booking-form label{display:grid;gap:.35rem;color:var(--color-heading);font-weight:700}.booking-form input{width:100%;min-height:46px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem .9rem;color:var(--color-text);font:inherit}.booking-panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.booking-panel-heading p{color:var(--color-text-muted);font-size:.9375rem;line-height:1.6;margin:0}.booking-panel-heading strong{font-family:var(--font-heading);font-size:2rem;color:var(--color-primary);white-space:nowrap}.booking-status,.paypal-status{min-height:1.6rem;color:var(--color-text-muted);font-size:.9375rem;margin:.5rem 0 1rem}.booking-status-warning,.paypal-status-warning{color:#7c2d12}.booking-status-error,.paypal-status-error{color:var(--color-primary);font-weight:700}.calendar-pair{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:2.5rem;align-items:start;margin-top:1.25rem;--cal-blue: #2563eb;--cal-blue-deep: #1d4ed8;--cal-blue-soft: #dbeafe;--cal-blue-mist: #eff6ff;--cal-blue-glow: rgba(37, 99, 235, .28)}.calendar-month{display:flex;flex-direction:column;gap:1.35rem;padding:1.85rem 1.75rem 2rem;background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid #eef2ff;border-radius:24px;box-shadow:0 1px #ffffffe6 inset,0 18px 40px -22px #2563eb2e,0 6px 16px -10px #0f172a14}.calendar-month-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.25rem}.cal-nav{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5edff;border-radius:50%;background:#fff;color:var(--cal-blue-deep);font-size:1.35rem;line-height:1;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0f172a0a}.cal-nav:hover:not(:disabled){background:var(--cal-blue);border-color:var(--cal-blue);color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px -6px var(--cal-blue-glow)}.cal-nav:active:not(:disabled){transform:translateY(0) scale(.94)}.cal-nav:disabled{opacity:.35;cursor:not-allowed;background:#f8fafc;color:#94a3b8}.cal-month-label{font-family:var(--font-heading);font-size:1.125rem;color:var(--color-heading);font-weight:700;text-transform:capitalize;letter-spacing:-.015em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-weekday{text-align:center;font-size:.7rem;font-weight:700;color:#94a3b8;padding:.25rem 0 .7rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #eef2f7;margin-bottom:6px}.calendar-days .cal-day{position:relative;aspect-ratio:1 / 1;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:#cbd5e1;font:inherit;font-weight:600;font-size:.9375rem;cursor:pointer;padding:0;transition:all .22s cubic-bezier(.4,0,.2,1)}.calendar-days .cal-day-blank{pointer-events:none}.calendar-days .cal-day-unavailable{color:#cbd5e1;cursor:not-allowed;background:transparent;font-weight:500}.calendar-days .cal-day-unavailable:hover{background:transparent}.calendar-days .cal-day-available{color:var(--cal-blue-deep);font-weight:700;background:radial-gradient(circle at center,var(--cal-blue-mist) 0%,var(--cal-blue-soft) 100%);box-shadow:0 1px #ffffffb3 inset,0 2px 6px -2px #2563eb2e}.calendar-days .cal-day-available:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--cal-blue);opacity:.85;box-shadow:0 0 4px var(--cal-blue-glow)}.calendar-days .cal-day-available:hover{background:linear-gradient(135deg,var(--cal-blue) 0%,var(--cal-blue-deep) 100%);color:#fff;transform:translateY(-2px) scale(1.06);box-shadow:0 10px 22px -8px var(--cal-blue-glow)}.calendar-days .cal-day-available:hover:after{background:#fff;opacity:1}.calendar-days .cal-day.is-selected,.calendar-days .cal-day-available.is-selected{background:linear-gradient(135deg,var(--cal-blue) 0%,var(--cal-blue-deep) 100%);color:#fff;transform:scale(1.1);box-shadow:0 0 0 4px #2563eb1f,0 12px 24px -8px var(--cal-blue-glow)}.calendar-days .cal-day.is-selected:after,.calendar-days .cal-day-available.is-selected:after{background:#fff;opacity:1;box-shadow:0 0 6px #fff9}.calendar-days .cal-day:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb59}.calendar-slots{min-height:200px;padding-top:.5rem}.calendar-slots-heading{font-family:var(--font-heading);color:var(--color-heading);font-size:1.0625rem;font-weight:700;margin:0 0 .35rem;letter-spacing:-.01em}.calendar-slots-helper{color:var(--color-text-muted);font-size:.9375rem;margin:0 0 1.25rem;line-height:1.55}.slot-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.625rem}.slot-options .slot-option{min-height:46px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:var(--color-heading);font:inherit;font-weight:600;font-size:.9375rem;padding:.65rem .5rem;cursor:pointer;text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0f172a0a}.slot-options .slot-option:hover{border-color:#2563eb;color:#1d4ed8;background:#eff6ff;transform:translateY(-2px);box-shadow:0 8px 18px -8px #2563eb47}.slot-options .slot-option:active{transform:translateY(0) scale(.97)}.slot-options .slot-option.is-selected{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#1d4ed8;color:#fff;box-shadow:0 10px 22px -8px #2563eb66}.selected-summary{display:grid;gap:.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1.25rem}.selected-summary span{color:var(--color-text-muted);font-size:.875rem}.selected-summary strong{color:var(--color-heading);font-size:1.125rem}.selected-summary b{color:var(--color-primary);font-size:1rem}.paypal-message-container{min-height:34px;margin-bottom:1rem}.paypal-button-container{min-height:120px}.payment-fallback{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.payment-fallback p{flex-basis:100%;color:var(--color-text-muted);font-size:.9375rem;line-height:1.7;margin:0}.whatsapp-link{font-weight:700}@media(max-width:820px){.booking-grid{grid-template-columns:1fr}.booking-page h1{font-size:2rem}.calendar-pair{grid-template-columns:1fr;gap:1.5rem}.calendar-month{max-width:360px}}@media(max-width:560px){.product-option,.booking-panel-heading{align-items:flex-start;flex-direction:column}}
