/* Wellness sign-up additions on top of the Tennis & High Tea form system. */
.reference-layout fieldset.class-day{display:block;margin:32px 0 10px}
.class-day legend{font-size:19px;margin-bottom:4px}
.slot-instruction{margin:0 0 12px;color:#4b5263;font-size:14px;line-height:1.5}
.time-picker{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.time-slot{border:1px solid #aeb6c8;border-radius:999px;background:#fff;color:#222a3a;font:inherit;font-size:14px;font-weight:700;padding:9px 15px;cursor:pointer}
.time-slot:hover{border-color:#5674aa;background:#f4f7fc}
.time-slot[aria-pressed="true"]{border-color:#254f91;background:#254f91;color:#fff;box-shadow:0 0 0 2px #c8d8ef}
.time-slot:focus-visible{outline:3px solid #8fb1e0;outline-offset:2px}
.class-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.reference-layout .class-option{margin-top:0;min-height:86px}
.class-option[hidden]{display:none}
.class-option small{margin-top:3px;line-height:1.45}
.class-option.disabled{opacity:.45;cursor:not-allowed;background:#f6f7fa}
.selection-summary{margin:24px 0;padding:18px 20px;border:1px solid #9db2d2;border-radius:12px;background:#f3f7fc}
.selection-summary h3{margin:0 0 8px;font-size:17px}
.selection-summary p{margin:5px 0;font-size:14px;line-height:1.45}
.exclusive{font-size:13px;line-height:1.6;color:#4b5263;margin:4px 0 16px}
.reference-layout .confirmed-activities p{margin:6px 0}
@media(max-width:700px){
  .reference-hero .intro{font-size:17px;line-height:1.55}
  .class-grid{grid-template-columns:1fr}
  .reference-layout .class-option{min-height:72px}
  .time-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .time-slot{width:100%;padding:10px 8px}
}

.text-consent{align-items:flex-start;font-size:13px;font-weight:400;line-height:1.55;color:#4b5263}
.text-consent input{margin-top:2px}
.text-consent.selected{background:#eef3fc;border-color:#8cafdf;box-shadow:0 0 0 1px #8cafdf}

/* Keep the time above the description, so longer current Airtable titles never squeeze it off-screen. */
.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.reference-layout .class-option{display:grid;grid-template-columns:21px minmax(0,1fr);gap:6px 12px;align-items:start;min-width:0}
.class-option>input{grid-column:1;grid-row:1 / span 2;margin-top:2px}
.class-option>span{grid-column:2;grid-row:2;overflow-wrap:break-word}
.reference-layout .class-option>b{grid-column:2;grid-row:1;white-space:normal;font-size:14px;line-height:1.45}
@media(max-width:700px){.class-grid{grid-template-columns:minmax(0,1fr)}}
.manage-link{display:inline-block;margin-top:20px;text-decoration:none}
.reference-layout .no-signup-option{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;cursor:default;min-width:0}
.no-signup-option>span{grid-row:2;overflow-wrap:anywhere}
.reference-layout .no-signup-option>b{grid-row:1;white-space:normal;font-size:14px}
.no-signup-label{font-weight:700;color:#4b5263}
.manage-body{margin:0;background:#f5f3fa;color:#22283d;font:16px/1.6 system-ui,-apple-system,sans-serif}
.manage-page{max-width:760px;margin:40px auto;padding:24px}
.manage-page h1{font-size:clamp(28px,6vw,42px);line-height:1.15}
.manage-brand{font-weight:700;color:#6a4d8d}
.manage-card{margin:20px 0;padding:24px;background:white;border:1px solid #ded8e8;border-radius:16px}
.manage-card h2{font-size:21px;line-height:1.3;margin-top:0}
.manage-page button{border:1px solid #b8a8cd;border-radius:8px;background:white;color:#362447;padding:12px 16px;margin:6px 10px 6px 0;font:inherit;cursor:pointer}
.manage-page button:focus-visible,.manage-page a:focus-visible{outline:3px solid #7754a5;outline-offset:3px}
.manage-page button:disabled{opacity:.55;cursor:wait}
.manage-page .cancel-confirm{background:#6b2648;color:white;border-color:#6b2648}
.booking-state{font-weight:700}.booking-state.registered{color:#226046}.booking-state.waitlisted{color:#88510e}.booking-state.cancelled{color:#655c70}
#manage-error{border:1px solid #b34254;border-radius:8px;background:#fff1f2;padding:16px;color:#882538}
.manage-note{font-size:14px;color:#5c5468}
@media(max-width:500px){.manage-page{margin:12px auto;padding:20px}.manage-card{padding:18px}.manage-page button{width:100%;margin-right:0}}

.staff-bookings input[type="file"]{display:block;max-width:100%;margin:12px 0}
