.calendar-section{margin:40px 0}.calendar-section h2{font-size:30px;line-height:1.2;margin-bottom:20px}.calendar-section h3{font-size:23px;line-height:1.25;margin-bottom:15px}.calendar-section p{margin:12px 0}.calendar-section .panel{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:24px}.calendar-section.panel{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:24px}.calendar-section .order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.calendar-section label{display:flex;flex-direction:column;gap:8px;margin:12px 0;font-size:15px}.calendar-section input:not([type=checkbox]),.calendar-section select{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid var(--field-line);border-radius:10px;background:var(--field);color:var(--ink);font:inherit}.calendar-section fieldset{border:1px solid var(--line);border-radius:14px;margin:24px 0;padding:16px}.calendar-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.calendar-section .calendar-choice{display:inline-flex;flex-direction:row;align-items:center;margin:10px 20px 10px 0;gap:10px;min-height:30px}.calendar-choice input{width:20px;height:20px;accent-color:#b75f28}.availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.availability-grid>div{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:16px;border-radius:14px;font-size:14px}.example-session{border-style:dashed!important}.calendar-section button{font:inherit;cursor:pointer}.calendar-section .text-link{display:inline-flex}.calendar-section [role=alert]{color:var(--danger)}#calendar-app{padding-top:25px}#calendar-app .page-heading h1{font-size:clamp(36px,5vw,64px);line-height:1.1;margin-bottom:25px}#calendar-notice{position:sticky;bottom:15px;background:var(--paper);color:var(--ink)}#calendar-notice:empty{display:none}
@media(max-width:700px){.calendar-fields,.availability-grid,.calendar-section .order-grid{grid-template-columns:minmax(0,1fr)}.calendar-section.panel,.calendar-section .panel{padding:20px}.calendar-section .button{width:100%}.calendar-section h2{font-size:26px}}

.booking-picker{min-width:0}.booking-picker h2{font-size:28px}.booking-picker h3{font-size:20px;margin:24px 0 12px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.slot-choice{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:14px;text-align:left;min-height:48px;font:inherit;cursor:pointer}.slot-choice[aria-pressed=true]{border:2px solid #b75f28;background:var(--field);box-shadow:0 0 0 1px #b75f28}.slot-choice:disabled{opacity:.45;cursor:not-allowed}.booking-picker [data-selection]{padding:12px;border-left:3px solid #b75f28;overflow-wrap:anywhere}.booking-picker [data-clear]{background:none;border:0;color:var(--ink);text-decoration:underline;padding:12px 0}.booking-picker p{line-height:1.55}.booking-picker .calendar-fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:550px){.booking-picker .calendar-fields{grid-template-columns:1fr}.slot-grid{grid-template-columns:1fr 1fr}.slot-choice{font-size:14px;padding:10px}}

.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.week-day{border:1px solid var(--line);border-radius:20px;background:var(--paper);overflow:hidden}.week-day summary{padding:22px;cursor:pointer;font-weight:600;font-size:20px}.week-day summary span{display:block;font-size:14px;font-weight:400;margin:8px 0 0 20px}.week-activity{margin:0 22px;padding:20px 0;border-top:1px solid var(--line)}.week-time{display:block;font-weight:600;color:var(--ink)}.week-activity small{display:block;line-height:1.5;margin:8px 0;opacity:.75}.week-activity h3{margin:12px 0;font-size:22px}.week-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px}.week-links a{padding:8px 0;text-underline-offset:4px}@media(max-width:700px){.week-grid{grid-template-columns:minmax(0,1fr)}}
