/* Booking presentation; the administration page keeps its own styling. */
:root{color-scheme:light;--bg:#f6f2e9;--ink:#354735;--muted:#6c7c61;--cyan:#58754a;--line:#d5ddc8}
.booking-page{background:var(--bg);color:var(--ink)}.booking-page>header{background:#faf8f1;border-color:var(--line);height:auto;min-height:85px;gap:12px;padding-block:8px;position:relative;flex-wrap:wrap}.booking-page header nav{flex-wrap:wrap;gap:8px}.booking-page header nav>a{font-size:11px;min-height:36px;padding:8px 12px;border-radius:18px}.booking-page header nav .top-design{background:#354b38;color:#fffdf2;border-color:#354b38}.booking-page header nav .top-appointment{color:#435c37;border-color:#a4b695;background:#fffdf5}
.booking-page .booking{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:40px 50px;padding-top:50px;padding-bottom:50px}.booking-page .booking>*{min-width:0}.booking-page .visit-intro{position:static;inset:auto}.booking-page .visit-intro h1{margin-top:18px}.booking-page h1 em{color:#7b8b69}.booking-page .visit-intro>p:not(.eyebrow),.booking-page ul,.booking-page .muted{color:#6c7e60}.booking-page .price{border-color:var(--line);gap:18px;flex-wrap:wrap}.booking-page .price small,.booking-page .price>span{color:#7c8e6c}
.booking-page .glass,.booking-page .booking-panel,.booking-page .my-visits,.booking-page .booking-trust{background:#fffdf6;border-color:#d9dfcd;box-shadow:0 5px 25px #354b3805}.booking-page .glass p:not(.eyebrow),.booking-page .booking-trust p,.booking-page .my-visits>p:not(.eyebrow){color:#6b7f60}.booking-page .booking-trust h3{line-height:1.5;margin:0 0 14px}.booking-page .booking-trust details summary{color:#4b653f}.booking-page .steps{color:#7c906e;border-color:var(--line);flex-wrap:wrap;gap:10px}.booking-page button{background:#f1f4e9;color:#4f6942;border-color:#c5d2b7}.booking-page button:hover:not(:disabled){border-color:#789568;background:#e9efde}.booking-page button:disabled{opacity:.4}.booking-page input,.booking-page textarea,.booking-page select{background:#fffef9;color:#354735;border-color:#ccd6be;line-height:1.5}.booking-page input:focus,.booking-page textarea:focus,.booking-page select:focus{border-color:#789568}.booking-page label{color:#627955;line-height:1.6}.booking-page input{accent-color:#58754a}
.booking-page .week,.booking-page #calendarStatus{color:#819473}.booking-page .calendar button.selected,.booking-page .slots button.selected{background:#354b38;color:#fffdf2;border-color:#354b38}.booking-page .calendar button.today{box-shadow:inset 0 0 0 1px #7e9c6b}.booking-page .selected-day{color:#4f6942}.booking-page .summary{background:#edf2e4;color:#526b44;border-color:#ccd9bc}.booking-page details{color:#72866a}.booking-page summary{cursor:pointer}.booking-page .primary{background:#354b38;color:#fffdf2;box-shadow:none;border:1px solid #354b38;line-height:1.5}.booking-page .primary:hover:not(:disabled){background:#29412d;color:#fffdf2}.booking-page #formStatus{color:#526b44}.booking-page .success{background:#edf2e4;border-color:#bbcca8}.booking-page .success a{border-color:#a9be96}.booking-page .text-link{color:#5e7c4e;border-color:#a9bc99;line-height:1.7}.booking-page .my-visits{grid-column:1/-1;position:static;clear:both;isolation:isolate}.booking-page .my-visits h2{font-size:clamp(28px,3vw,40px);margin:12px 0 18px}.booking-page .my-visits .text-link{margin-left:0;display:table}.booking-page .appointment{border-color:var(--line);min-width:0;flex-wrap:wrap}.booking-page .appointment p{color:#6d8260}.booking-page .status{color:#567c45}.booking-page #myAppointments,.booking-page .appointment>*{min-width:0;overflow-wrap:anywhere}.booking-page footer{background:#efeee3;border-color:var(--line);color:#7b8a6e}.booking-page .consent input{height:17px}
@media(max-width:960px){.booking-page .booking{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:35px}.booking-page .visit-intro>p:not(.eyebrow){max-width:650px}.booking-page .visit-intro h1{font-size:clamp(40px,7vw,58px)}.booking-page .booking-panel,.booking-page .my-visits{padding:24px}.booking-page .my-visits{grid-column:auto}}
@media(max-width:600px){.booking-page>header{min-height:120px;height:auto}.booking-page header nav{width:100%;justify-content:space-between;gap:6px}.booking-page header nav>a{font-size:10px;padding:8px 10px;min-height:34px}.booking-page .booking{padding-inline:5%;gap:26px}.booking-page .fields{grid-template-columns:minmax(0,1fr)}.booking-page .full{grid-column:auto}.booking-page .booking-panel,.booking-page .my-visits{padding:20px}.booking-page .booking-panel h2{font-size:29px}.booking-page .glass,.booking-page .booking-trust{padding:20px}.booking-page .primary{padding:16px;gap:12px}.booking-page .week,.booking-page .calendar{gap:4px}.booking-page .calendar button{min-width:0;min-height:32px}.booking-page .appointment{gap:12px}}
