main>#contact.studio-contact { display:block; width:min(1100px,calc(100% - 40px)); margin-inline:auto; padding-block:clamp(24px,5vw,58px); }
main>#contact.studio-contact>h2 { text-align:center; max-width:none; margin-bottom:clamp(18px,3vw,34px); }
.studio-booking-ui { max-width:900px; margin-inline:auto; color:#edf6ff; font-family:inherit; text-align:left; }
.studio-booking-ui * { box-sizing:border-box; }
.studio-booking-ui [hidden] { display:none!important; }
.studio-booking-ui .booking-intro { display:flex; align-items:center; gap:10px; }
.studio-booking-ui .booking-eyebrow { color:#a7d8ff; font-size:.72rem; font-weight:700; letter-spacing:.15em; margin:0 0 6px; }
.studio-booking-ui h1 { margin:0; font:600 clamp(1.6rem,4vw,2.7rem)/1.12 var(--display,inherit); letter-spacing:-.04em; }
.studio-booking-ui .booking-panel h2 { margin:0; max-width:none; font:650 clamp(1.05rem,2vw,1.4rem)/1.3 var(--display,inherit); letter-spacing:normal; text-align:left; }
.studio-booking-ui h3 { margin:0; font:600 1rem/1.4 var(--display,inherit); }
.studio-booking-ui .booking-description { color:#d5e5f4; margin:12px 0 26px; font-size:.96rem; line-height:1.6; }
.studio-booking-ui .booking-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(18px,5vw,60px); align-items:start; }
.studio-booking-ui .booking-panel { position:relative; padding:12px 6px; min-width:0; }
.studio-booking-ui .booking-month-nav { display:grid; grid-template-columns:65px 1fr 65px; align-items:center; text-align:center; margin-bottom:10px; }
.studio-booking-ui .booking-month-nav h2 { text-align:center; }
.studio-booking-ui .booking-month-nav button { font-size:.7rem; }
.studio-booking-ui .booking-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; text-align:center; }
.studio-booking-ui .booking-days>span { min-height:28px; align-content:center; font-size:.72rem; color:#a9c6e4; }
.studio-booking-ui .booking-action,.studio-booking-ui .booking-day { position:relative; isolation:isolate; border:0; border-radius:0; background:transparent; color:#e9f7ff; font:inherit; min-height:44px; padding:4px; cursor:pointer; box-shadow:none; }
.studio-booking-ui .booking-action:not(:disabled)::before { content:""; position:absolute; inset:-5px; pointer-events:none; background:radial-gradient(ellipse,#5eaae344,transparent 72%); z-index:-1; filter:blur(4px); }
.studio-booking-ui .booking-action:hover,.studio-booking-ui .booking-day:not(:disabled):hover { color:#fff; text-shadow:0 0 12px #88ceff; }
.studio-booking-ui .booking-action:disabled,.studio-booking-ui .booking-day:disabled { color:#a4b3c8; opacity:.55; cursor:default; }
.studio-booking-ui .booking-action:focus-visible,.studio-booking-ui .booking-day:focus-visible,.studio-booking-ui input:focus-visible { outline:2px solid #addefe; outline-offset:1px; }
.studio-booking-ui .booking-day:not(:disabled) { font-weight:650; background:radial-gradient(ellipse,#579fea33,transparent 66%); }
.studio-booking-ui .booking-day[aria-pressed=true],.studio-booking-ui .booking-slots [aria-pressed=true],.studio-booking-ui .booking-confirm { color:#f4fbff; font-weight:700; background:radial-gradient(ellipse,#508bcb77,transparent 73%); text-shadow:0 0 14px #91dbff; }
.studio-booking-ui .booking-days [aria-current=date] { text-decoration:underline; text-underline-offset:5px; }
.studio-booking-ui .booking-times h2::first-letter,.studio-booking-ui #booking-month::first-letter { text-transform:uppercase; }
.studio-booking-ui .booking-slots { display:flex; flex-wrap:wrap; gap:4px; margin-block:12px; }
.studio-booking-ui .booking-slots button { min-width:66px; }
.studio-booking-ui #booking-details { display:grid; gap:12px; width:100%; margin:0; max-width:none; }
.studio-booking-ui #booking-details label { display:grid; gap:3px; font-size:.87rem; color:#d6e9fc; }
.studio-booking-ui #booking-details input { border:0; border-bottom:1px solid #789dc4; border-radius:0; min-height:44px; width:100%; background:linear-gradient(0deg,#284f754f,transparent); color:#f2f8ff; font:inherit; padding:6px 8px; }
.studio-booking-ui .booking-private-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.studio-booking-ui .booking-form-note { color:#bbcee4; font-size:.82rem; line-height:1.5; margin:0; }
.studio-booking-ui #booking-result,.studio-booking-ui .booking-message { color:#c9e5ff; line-height:1.6; }
.studio-booking-ui .booking-success { position:relative; padding:24px 6px; }
.studio-booking-ui .booking-success h2 { font-size:clamp(1.3rem,3vw,2rem); max-width:none; margin-bottom:15px; }
.studio-booking-ui .booking-success a,.studio-booking-ui #booking-fallback { color:#c1e9ff; display:inline-block; min-height:44px; padding-block:10px; margin-right:16px; }
.spatial-content .studio-booking-ui { padding:8px; }
@media(max-width:640px) {
 main>#contact.studio-contact { width:calc(100% - 24px); }
 .studio-booking-ui .booking-layout { grid-template-columns:minmax(0,1fr); }
 .studio-booking-ui .booking-panel { padding-inline:3px; }
}
