.booking-page{background:#f8fbfa;color:var(--color-text,#153f3b)}.booking-hero{padding:clamp(9rem,14vw,12rem) 0 5rem;background:radial-gradient(circle at 20% 30%,rgba(255,190,60,.42),transparent 34%),linear-gradient(135deg,#076960 0%,#145e58 52%,#f6b93b 160%);color:#fff;overflow:hidden}.booking-hero-inner{max-width:900px;text-align:center}.booking-hero .eyebrow{display:inline-flex;padding:.55rem 1.1rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.1);font-weight:700}.booking-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:1rem 0 .8rem;color:#fff}.booking-hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:720px;margin:auto;color:rgba(255,255,255,.88)}.booking-section{padding:clamp(3rem,7vw,6rem) 0}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:2rem;align-items:start}.booking-form-card,.booking-summary-card{background:#fff;border:1px solid rgba(7,105,96,.12);border-radius:28px;box-shadow:0 22px 60px rgba(12,68,64,.1)}.booking-form-card{padding:clamp(1.25rem,4vw,2.5rem)}.booking-summary-card{padding:2rem;position:sticky;top:120px;background:linear-gradient(165deg,#fff,#eef7f5)}.booking-summary-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#f8ba3f;color:#075f58;font-size:1.6rem;font-weight:900}.booking-summary-card h2{margin:1.1rem 0}.booking-summary-card ol{padding-right:1.4rem;line-height:2.2}.booking-summary-card p{padding-top:1rem;border-top:1px solid #dcebe8;color:#55716e}.booking-section-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.25rem}.booking-section-head>span{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:16px;background:#087068;color:#fff;font-weight:800}.booking-section-head h2{margin:0 0 .2rem;font-size:1.45rem}.booking-section-head p{margin:0;color:#66807d}.booking-details-head{margin-top:2.5rem}.appointment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.appointment-option{position:relative;cursor:pointer}.appointment-option input{position:absolute;opacity:0;pointer-events:none}.appointment-card{display:block;border:1.5px solid #d7e7e4;border-radius:18px;padding:1rem;transition:.2s;background:#fff}.appointment-option input:checked+.appointment-card{border-color:#087068;background:#eef8f6;box-shadow:0 0 0 3px rgba(8,112,104,.12)}.appointment-card strong{display:block;font-size:1.05rem;margin-bottom:.35rem}.appointment-card small{display:block;color:#607975}.appointment-card em{display:inline-flex;margin-top:.65rem;padding:.25rem .65rem;border-radius:99px;background:#fff1ce;color:#825b0a;font-style:normal;font-size:.82rem}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.booking-fields label{display:grid;gap:.45rem;font-weight:700}.booking-fields b{color:#c44141}.booking-fields span{font-weight:400;color:#728582}.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;border:1px solid #cedfdd;border-radius:14px;padding:.9rem 1rem;background:#fbfdfd;color:#153f3b;font:inherit;outline:none}.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{border-color:#087068;box-shadow:0 0 0 3px rgba(8,112,104,.1)}.booking-field-wide{grid-column:1/-1}.booking-consent{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0;color:#425f5c}.booking-consent input{width:19px;height:19px;margin-top:.25rem;accent-color:#087068}.booking-submit{width:100%;justify-content:center;min-height:54px}.booking-submit[disabled]{opacity:.65;cursor:wait}.booking-message{padding:.9rem 1rem;border-radius:14px;margin-bottom:1rem;background:#fff0f0;color:#9d2f2f}.booking-loading,.booking-empty{text-align:center;padding:2rem;border:1px dashed #b9d4d0;border-radius:18px;color:#5f7975}.booking-success{text-align:center;padding:2rem .5rem}.booking-success-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;background:#087068;color:#fff;font-size:2rem}.booking-success h2{max-width:600px;margin:0 auto 1.5rem}.booking-success dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:620px;margin:0 auto 1.5rem}.booking-success dl div{padding:1rem;border-radius:15px;background:#f1f8f6}.booking-success dt{font-size:.82rem;color:#68807d}.booking-success dd{margin:.25rem 0 0;font-weight:800}.booking-success .button{margin:auto}.contact-booking-card{margin:0;align-self:start}.contact-booking-card>.section-head{margin-bottom:1.5rem}.contact-booking-card .appointment-list{grid-template-columns:1fr}.contact-booking-card .booking-fields{grid-template-columns:1fr}.contact-booking-card .booking-submit{display:flex}.contact-booking-card .booking-success{padding-inline:0}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-summary-card{position:static;order:2}.appointment-list,.booking-fields{grid-template-columns:1fr}.booking-field-wide{grid-column:auto}.booking-hero{padding-top:8rem}.booking-success dl{grid-template-columns:1fr 1fr}}@media(max-width:480px){.booking-form-card{border-radius:20px;padding:1rem}.booking-success dl{grid-template-columns:1fr}.booking-section-head>span{flex-basis:42px;height:42px}.booking-hero h1{font-size:2.35rem}}
