@import"https://fonts.googleapis.com/css2?family=Cabin:wght@400;500;600;700&display=swap";:root{--booking-bg: #f6f4ee;--booking-surface: #ffffff;--booking-primary: rgb(204, 153, 51);--booking-primary-dark: #8a6b1f;--booking-secondary: #0f1f34;--booking-muted: #52616b;--booking-border: rgba(15, 31, 52, .1);--booking-soft: #f1e7d7;--booking-radius: 16px;--booking-shadow: 0 24px 80px rgba(13, 25, 44, .12);color-scheme:light}body.booking-body{font-family:Cabin,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;background:radial-gradient(circle at 10% 20%,rgba(204,153,51,.12),transparent 25%),radial-gradient(circle at 90% 10%,rgba(15,31,52,.05),transparent 20%),var(--booking-bg);color:var(--booking-secondary);min-height:100vh}.booking-hero{display:flex;flex-direction:column;gap:1.5rem;padding:clamp(1.5rem,4vw,2.75rem) clamp(1.25rem,5vw,3rem) clamp(2.5rem,5vw,3.25rem);background:linear-gradient(120deg,#0c192beb,#15334ae6,#cc9933e6),url(/images/booking-hero.png) center/cover no-repeat;color:#f8fbff;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 30px 120px #00000040}.booking-hero__brandbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#ffffff14;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.booking-hero__logo{display:flex;align-items:center;gap:.85rem}.booking-hero__logo img{width:120px;height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}.booking-hero__brand{margin:0;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.booking-hero__tagline{margin:.1rem 0 0;color:#f8fbffcc;font-size:.95rem}.booking-hero__contact{display:flex;align-items:center;gap:.75rem}.booking-hero__phone{color:#fefefe;font-weight:700;text-decoration:none;padding:.65rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#0000001f}.booking-hero__chip{background:#ffffff24;color:#fefefe;padding:.45rem .75rem;border-radius:999px;font-weight:600;border:1px solid rgba(255,255,255,.2);text-decoration:none}.booking-hero__content{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem}.booking-hero__text{max-width:720px;display:grid;gap:.8rem}.booking-hero__eyebrow{text-transform:uppercase;letter-spacing:.24em;color:#f8fbffbf;font-size:.8rem;margin:0}.booking-hero__title{margin:0;font-size:clamp(2.3rem,4.5vw,3.6rem);color:#fff}.booking-hero__subtitle{margin:0;font-size:1.05rem;line-height:1.6;color:#f8fbffd9}.booking-hero__features{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.4rem}.booking-hero__feature{background:#ffffff1f;color:#fefefe;padding:.55rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.18);font-weight:600}.booking-hero__badge{display:flex;flex-direction:column;gap:.35rem;background:#fff;color:var(--booking-secondary);padding:1.5rem;border-radius:18px;border:1px solid var(--booking-border);box-shadow:var(--booking-shadow);min-width:260px;max-width:320px;font-weight:700}.booking-main{padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,5vw,3.5rem)}.booking-panel{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:flex-start}.booking-panel--single{grid-template-columns:minmax(0,760px);justify-content:center}.booking-progress{background:var(--booking-surface);border-radius:var(--booking-radius);padding:1.5rem;border:1px solid var(--booking-border);box-shadow:var(--booking-shadow);position:sticky;top:1.5rem}.booking-progress__steps{display:grid;gap:.65rem;margin-bottom:1rem}.booking-progress__step{padding:.8rem 1rem;border-radius:12px;background:#f6f0e5;color:var(--booking-muted);font-weight:700;font-size:.95rem;transition:all .2s ease;border:1px solid transparent}.booking-progress__step.is-active,.booking-progress__step.is-complete{color:var(--booking-secondary);background:linear-gradient(135deg,#f3e4c8,#e7cf9c);border-color:#c936;box-shadow:0 6px 18px #cc99332e}.booking-progress p{margin:0;color:var(--booking-muted);line-height:1.6}.booking-form{background:var(--booking-surface);border:1px solid var(--booking-border);border-radius:22px;padding:clamp(1.25rem,3vw,2.5rem);box-shadow:var(--booking-shadow)}.booking-step{display:none;flex-direction:column;gap:1.2rem}.booking-step.is-active{display:flex}.booking-step header h2{margin:0;color:var(--booking-secondary);font-size:1.6rem}.booking-step header p{margin:.25rem 0 0;color:var(--booking-muted)}.booking-step__eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.76rem;color:#6c7a85;margin-bottom:.1rem}.booking-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.booking-field{display:flex;flex-direction:column;gap:.45rem;font-weight:600;color:var(--booking-secondary)}.booking-field input,.booking-field select,.booking-field textarea{border-radius:14px;border:1px solid #dce3ea;background:#fff;color:var(--booking-secondary);padding:.9rem 1rem;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:inset 0 1px #fff9}.booking-field textarea{min-height:110px;resize:vertical}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 4px #cc99332e}.booking-field small{color:var(--booking-muted);font-weight:500}.booking-field--checkbox{flex-direction:row;align-items:flex-start;gap:.75rem;font-weight:600}.booking-field--checkbox input{width:20px;height:20px;margin-top:.1rem;accent-color:var(--booking-primary)}.booking-fieldset{border:1px solid var(--booking-border);border-radius:16px;padding:1.25rem 1.35rem;background:#faf7f1}.booking-fieldset legend{padding:0 .5rem;color:var(--booking-secondary);font-weight:700}.booking-field__error{margin:.25rem 0 0;font-size:.88rem;color:#c2410c}.booking-person-panel{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.panel-hidden{display:none}.booking-step__controls{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.booking-step__controls--stack{display:grid;grid-template-columns:1fr;gap:.75rem}.booking-step__alert{border-radius:12px;padding:.8rem 1rem;font-size:.95rem;border:1px solid transparent;background:#fff7ed;color:#9a3412}.booking-step__alert--error{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.booking-step__alert[hidden]{display:none}.booking-button{border:1px solid rgba(138,107,31,.2);border-radius:999px;padding:.85rem 1.8rem;font-size:1rem;font-weight:700;background:#f8f0e1;color:var(--booking-primary-dark);cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.booking-button--primary{background:linear-gradient(135deg,#c93,#b8871f);color:#f7f8fb;box-shadow:0 14px 36px #cc993359;border-color:#8a6b1f4d}.booking-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f1f3414}.booking-link{background:none;border:none;color:var(--booking-secondary);font-weight:700;cursor:pointer;padding:.85rem 1rem;text-decoration:none;text-align:center}.booking-privacy-link{color:var(--booking-primary-dark);font-weight:700;text-decoration:underline;text-decoration-color:#c939;text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}.booking-privacy-link:hover,.booking-privacy-link:focus-visible{color:var(--booking-primary);text-decoration-color:var(--booking-primary)}.booking-upload{border:1px dashed rgba(15,31,52,.18);border-radius:14px;padding:1.25rem;background:#fafafa}.booking-upload__list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.65rem}.booking-upload__list li{padding:.45rem .9rem;border-radius:999px;background:#f6eddc;font-size:.92rem;color:var(--booking-secondary)}.booking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;border:1px solid var(--booking-border);border-radius:16px;padding:1.25rem;background:#fbfaf7}.booking-summary__group{display:flex;flex-direction:column;gap:.35rem}.booking-summary__group--services{grid-column:1 / -1}.booking-summary__group h3{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.15em;color:#73808a}.booking-summary__services-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr);gap:1rem}@media (max-width: 720px){.booking-summary__services-layout{grid-template-columns:1fr}}.booking-summary__services-list{display:flex;flex-direction:column;gap:.5rem;background:#fff;border-radius:12px;padding:.8rem 1rem;border:1px solid var(--booking-border)}.booking-summary__service{display:flex;justify-content:space-between;font-size:.95rem;color:var(--booking-secondary)}.booking-summary__label{color:var(--booking-secondary);font-weight:700}.booking-summary__service-details{background:#fff;border-radius:12px;border:1px solid var(--booking-border);padding:.8rem 1rem;display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:var(--booking-secondary)}.booking-alert{border-radius:14px;padding:1.15rem 1.25rem;margin-bottom:1.35rem;display:flex;justify-content:space-between;gap:1rem;border:1px solid transparent;background:#f8f0e6;color:var(--booking-secondary);box-shadow:0 12px 30px #0f1f340f}.booking-alert--success{background:#f5eddc;border-color:#cc993359}.booking-alert--error{background:#fff1f2;border-color:#fecdd3}.booking-alert ul{margin:.25rem 0 0 1.15rem}.booking-alert__close{background:none;border:none;color:inherit;font-size:1.4rem;cursor:pointer}.booking-footer{text-align:center;padding:2rem 1rem 3rem;color:var(--booking-muted)}#billing-fields.billing-hidden,.service-panel.service-hidden{display:none}@media (max-width: 1100px){.booking-panel{grid-template-columns:1fr}.booking-progress{position:relative;top:0}}@media (max-width: 780px){.booking-hero__brandbar,.booking-hero__content{flex-direction:column;align-items:flex-start}.booking-hero__contact{width:100%;justify-content:space-between}.booking-hero__badge{width:100%}}@media (max-width: 640px){.booking-form{padding:1rem}.booking-step__controls{flex-direction:column;align-items:stretch}.booking-button,.booking-link{width:100%;text-align:center}}
