:root{color-scheme:light}
.booking-page{margin:0;background:var(--booking-bg);color:var(--booking-text);font-family:var(--booking-font);min-height:100vh}
.booking-page *{box-sizing:border-box;font-family:inherit}
.booking-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0}
.booking-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:start;background:transparent!important;box-shadow:none!important;border-radius:0!important}
.booking-main-card,.booking-side-card,.booking-page .panel,.booking-page .summary-card{background:var(--booking-card)!important;border:1px solid color-mix(in srgb,var(--booking-text),transparent 88%)!important;border-radius:var(--booking-radius)!important;box-shadow:var(--booking-shadow)!important;color:var(--booking-text)!important}
.booking-main-card{padding:28px}
.booking-side-card,.summary-card{padding:24px;position:sticky;top:18px}
.booking-brand{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.booking-logo{width:48px;height:48px;border-radius:16px;background:var(--booking-button)!important;color:var(--booking-button-text)!important;display:grid;place-items:center;font-weight:800;flex:0 0 48px}
.booking-brand h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.04em;line-height:1.05;margin:0 0 8px;font-weight:750;color:var(--booking-text)}
.booking-page .muted,.booking-brand p,.booking-side-card p,.summary-card p{color:color-mix(in srgb,var(--booking-text),transparent 34%)!important;line-height:1.6}
.booking-page .panel{padding:20px;margin:0 0 16px}
.booking-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.booking-page .field{display:grid;gap:7px}
.booking-page .field.full,.booking-page .actions.full{grid-column:1/-1}
.booking-page label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:color-mix(in srgb,var(--booking-text),transparent 20%)}
.booking-page input,.booking-page select,.booking-page textarea{width:100%;border:1px solid color-mix(in srgb,var(--booking-text),transparent 84%);background:color-mix(in srgb,var(--booking-card),#fff 55%);color:var(--booking-text);border-radius:var(--booking-input-radius)!important;padding:13px 14px;font-size:15px;outline:none;box-shadow:none}
.booking-page textarea{min-height:120px;resize:vertical}
.booking-page input:focus,.booking-page select:focus,.booking-page textarea:focus{border-color:var(--booking-button);box-shadow:0 0 0 4px color-mix(in srgb,var(--booking-button),transparent 85%)}
.booking-page .btn,.booking-page button{border:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 18px;font-weight:750;font-size:14px;line-height:1;background:var(--booking-button)!important;color:var(--booking-button-text)!important;box-shadow:0 14px 30px color-mix(in srgb,var(--booking-button),transparent 78%)}
.booking-page .btn[disabled],.booking-page button[disabled]{opacity:.45;cursor:not-allowed}
.booking-page .flash{border-radius:18px;padding:15px 16px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--booking-text),transparent 86%)}
.booking-page .flash-ok{background:color-mix(in srgb,var(--booking-button),transparent 90%)}
.booking-page .flash-error{background:#fff1f2;color:#9f1239}
.booking-page .terms-box{max-height:180px;overflow:auto;border:1px solid color-mix(in srgb,var(--booking-text),transparent 84%);background:color-mix(in srgb,var(--booking-card),#fff 35%);border-radius:var(--booking-input-radius)!important;padding:14px;line-height:1.55;color:color-mix(in srgb,var(--booking-text),transparent 18%)}
.booking-page .accept-line{display:flex;gap:9px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px;font-weight:650;margin-top:10px}
.booking-page .accept-line input{width:auto;margin-top:2px}
.booking-side-card h2,.summary-card h2{font-size:22px;letter-spacing:-.03em;margin:0 0 12px;color:var(--booking-text)}
.booking-side-card hr,.summary-card hr{border:0;border-top:1px solid color-mix(in srgb,var(--booking-text),transparent 88%);margin:18px 0}
.services-embed-page{background:var(--booking-bg);color:var(--booking-text);font-family:var(--booking-font);margin:0;padding:18px}
.services-embed-page *{box-sizing:border-box;font-family:inherit}
.services-embed-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;max-width:1100px;margin:0 auto}
.service-embed-card{background:var(--booking-card);border:1px solid color-mix(in srgb,var(--booking-text),transparent 88%);border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);padding:18px;display:grid;gap:10px;color:var(--booking-text)}
.service-embed-card h3{font-size:18px;line-height:1.2;margin:0;font-weight:750;color:var(--booking-text)}
.service-embed-card p{margin:0;color:color-mix(in srgb,var(--booking-text),transparent 34%);line-height:1.45;font-size:14px}
.service-embed-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.service-embed-meta span{background:color-mix(in srgb,var(--booking-button),transparent 90%);color:var(--booking-text);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:750}
.service-embed-card a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--booking-button);color:var(--booking-button-text);border-radius:999px;padding:11px 14px;font-size:13px;font-weight:800;margin-top:6px}
@media(max-width:840px){.booking-hero{grid-template-columns:1fr}.booking-side-card,.summary-card{position:static}.booking-page .form-grid{grid-template-columns:1fr}.booking-shell{width:min(100% - 20px,1120px);padding:12px 0}.booking-main-card{padding:18px}}
