/* Arena32 Venue OS 1.0.7.229 — first approved responsive booking experience.
 * PUBLIC HOURLY FORM ONLY. No per-player UI or modification of booking/pricing rules.
 * Single four-column calendar from mobile to desktop, no sideways scrolling.
 */
:root { --a229-green:#087d4e; --a229-dark:#075438; --a229-ink:#173428; --a229-muted:#66796e; --a229-line:#dbe9df; --a229-soft:#f1faf5; }
body .a32-public-booking-form { width:100%!important; max-width:1140px!important; min-width:0!important; box-sizing:border-box!important; }
body .a32-public-booking-form, body .a32-public-booking-form * { box-sizing:border-box; }
body .a32-public-booking-form .a32-booking-calendar-panel {
  width:100%!important; max-width:100%!important; min-width:0!important;
  overflow:visible!important; padding:16px!important; border:1px solid var(--a229-line)!important;
  border-radius:16px!important; background:#fff!important;
}
body .a32-public-booking-form .a32-booking-calendar-panel > h3 {
  font-size:clamp(19px,2.2vw,25px)!important; font-weight:900!important;
  color:var(--a229-dark)!important; margin:0 0 4px!important; line-height:1.2!important;
}
body .a32-public-booking-form .a32-booking-calendar-panel > p.a32-v229-intro {
  color:var(--a229-muted)!important; font-size:12px!important; line-height:1.4!important; margin:0 0 15px!important;
}
/* Booking choice is step one; separate from booking cadence (hourly/recurring). */
body .a32-public-booking-form .a32-booking-tier {
  margin:0 0 12px!important; padding:12px!important; background:#fff!important;
  border:1px solid var(--a229-line)!important; border-radius:15px!important;
}
body .a32-public-booking-form .a32-booking-tier-title {
  font-size:16px!important; font-weight:900!important; margin:0 0 9px!important;
  color:var(--a229-dark)!important;
}
body .a32-public-booking-form .a32-booking-tier-options {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
body .a32-public-booking-form .a32-booking-tier-option {
  display:flex!important; align-items:center!important; justify-content:flex-start!important;
  width:100%!important; min-width:0!important; min-height:58px!important; padding:10px 12px!important;
  margin:0!important; gap:9px!important; background:#fff!important; border:1px solid var(--a229-line)!important;
  border-radius:12px!important; box-shadow:none!important;
}
body .a32-public-booking-form .a32-booking-tier-option.is-active {
  background:#087d4e!important; border-color:#087d4e!important; color:#fff!important;
}
body .a32-public-booking-form .a32-booking-tier-option input[type="radio"] {
  display:block!important; flex:0 0 17px!important; width:17px!important; height:17px!important;
  accent-color:#168c5c!important; margin:0!important;
}
body .a32-public-booking-form .a32-booking-tier-option.is-active input[type="radio"]{accent-color:#fff!important;}
body .a32-public-booking-form .a32-booking-tier-option span { min-width:0!important; flex:1!important; }
body .a32-public-booking-form .a32-booking-tier-option strong {
  color:var(--a229-dark)!important; font-weight:900!important; font-size:14px!important;
  line-height:1.15!important; overflow-wrap:normal!important;
}
body .a32-public-booking-form .a32-booking-tier-option.is-active strong,
body .a32-public-booking-form .a32-booking-tier-option.is-active small {color:#fff!important;}
body .a32-public-booking-form .a32-booking-tier-option small{color:var(--a229-muted)!important;font-size:11px!important;line-height:1.2!important;margin:3px 0 0!important;}
body .a32-public-booking-form .a32-booking-tier-hint {font-size:11px!important;line-height:1.35!important;margin:8px 0 0!important;color:var(--a229-muted)!important;}
/* Student proof immediately under choice — no coupon. */
body .a32-public-booking-form > .a32-student-offer {
  margin:0 0 12px!important; padding:11px 13px!important; border-radius:12px!important;
  border:1px solid #bfdfcb!important; background:#f2faf5!important;
}
body .a32-public-booking-form > .a32-student-offer[hidden] {display:none!important;}
body .a32-public-booking-form > .a32-student-offer .a32-student-head{gap:9px!important;}
body .a32-public-booking-form > .a32-student-offer .a32-student-head strong{font-size:14px!important;color:var(--a229-dark)!important;}
body .a32-public-booking-form > .a32-student-offer .a32-student-head small{font-size:11px!important;line-height:1.35!important;}
body .a32-public-booking-form > .a32-student-offer .a32-student-terms{font-size:11px!important;line-height:1.5!important;margin:8px 0!important;color:#526759!important;}
body .a32-public-booking-form > .a32-student-offer .a32-student-id-check{font-size:11px!important;line-height:1.4!important;}
body .a32-public-booking-form > .a32-student-offer .a32-student-message{margin:7px 0 0!important;font-size:11px!important;}
body .a32-public-booking-form .a32-public-lifetime-details {margin:0 0 10px!important;}
body .a32-public-booking-form .a32-public-lifetime-details > summary{
  display:list-item!important; padding:9px 12px!important; border:1px solid #d3e9dc!important; border-radius:10px!important;
  background:#f5faf7!important; color:#0b7046!important; font-size:12px!important; font-weight:800!important; cursor:pointer!important;
}
body .a32-public-booking-form .a32-public-lifetime-details .a32-lifetime-offer-card {margin:8px 0 0!important;}
body .a32-public-booking-form.a32-student-active .a32-public-lifetime-details {display:none!important;}
/* Hide duplicate ground/date controls; keep actual resource IDs and date input. */
body .a32-public-booking-form .a32-ux-ground-tabs,
body .a32-public-booking-form .a32-date-quick-actions {display:none!important;}
body .a32-public-booking-form .a32-slot-picker-date {
  display:flex!important; flex-direction:row!important; justify-content:space-between!important;
  align-items:center!important; gap:12px!important; min-height:56px!important; padding:9px 12px!important;
  background:#f8fcf9!important; border:1px solid var(--a229-line)!important; border-radius:12px!important;
  margin:0 0 10px!important;
}
body .a32-public-booking-form .a32-slot-picker-date > span{font-size:13px!important;font-weight:900!important;color:var(--a229-dark)!important;}
body .a32-public-booking-form .a32-slot-picker-date input[type="date"]{
  width:auto!important; max-width:67%!important; min-width:0!important; min-height:37px!important;
  padding:7px 9px!important; background:#fff!important; border:1px solid var(--a229-line)!important; border-radius:9px!important;
  font-size:13px!important; color:var(--a229-ink)!important;
}
body .a32-public-booking-form .a32-slot-picker-purpose{
  display:flex!important; align-items:center!important; gap:8px!important; margin:0 0 12px!important;
}
body .a32-public-booking-form .a32-slot-picker-purpose > span{flex:0 0 66px!important;font-size:12px!important;font-weight:800!important;color:var(--a229-dark)!important;}
body .a32-public-booking-form .a32-slot-picker-purpose > select{
  flex:1!important;min-width:0!important;max-width:100%!important;margin:0!important;
  font-size:12px!important;min-height:37px!important;border:1px solid var(--a229-line)!important;border-radius:9px!important;
}
/* Sports: clear compact tap controls, no horizontal rail. */
body .a32-public-booking-form .a32-ux-sport-rail{margin:10px 0 14px!important;width:100%!important;max-width:100%!important;}
body .a32-public-booking-form .a32-ux-label {margin:0 0 6px!important;}
body .a32-public-booking-form .a32-ux-label > span{font-size:13px!important;font-weight:900!important;color:var(--a229-dark)!important;}
body .a32-public-booking-form .a32-ux-sport-buttons{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;}
body .a32-public-booking-form .a32-ux-sport-btn{width:100%!important;min-width:0!important;max-width:100%!important;min-height:55px!important;margin:0!important;padding:7px 2px!important;border-radius:10px!important;}
body .a32-public-booking-form .a32-ux-sport-btn i{font-size:19px!important;line-height:1!important;}
body .a32-public-booking-form .a32-ux-sport-btn span{font-size:10px!important;line-height:1.15!important;word-break:normal!important;}
/* Periods above legend, exactly four readable shortcuts */
body .a32-public-booking-form .a32-ux-period-tabs{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;
  width:100%!important;max-width:100%!important;overflow:visible!important;padding:0!important;margin:12px 0 8px!important;
}
body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:2px!important;min-width:0!important;width:100%!important;min-height:60px!important;margin:0!important;
  border:1px solid var(--a229-line)!important;border-radius:10px!important;
  background:#fff!important;color:#23543e!important;padding:6px 2px!important;
  box-sizing:border-box!important;white-space:normal!important;
}
body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn::before{
  width:auto!important;height:auto!important;min-width:0!important;flex:0 0 auto!important;
  border-radius:0!important;background:none!important;box-shadow:none!important;font-size:17px!important;line-height:1!important;
}
body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn strong{font-size:12px!important;font-weight:900!important;line-height:1.15!important;color:inherit!important;}
body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn small{font-size:9px!important;font-weight:600!important;line-height:1.12!important;color:inherit!important;opacity:.85;}
body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn.is-active,
body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn:focus-visible{
  background:#09844f!important;color:#fff!important;border-color:#09844f!important;
}
body .a32-public-booking-form .a32-legend.a32-slot-picker-legend{
  display:flex!important; flex-wrap:wrap!important; gap:8px!important; margin:6px 0 8px!important;
}
body .a32-public-booking-form .a32-legend.a32-slot-picker-legend .a32-pill{font-size:10px!important;padding:4px 8px!important;}
body .a32-public-booking-form .a32-slot-picker-head {margin:5px 0 8px!important;}
body .a32-public-booking-form .a32-slot-picker-head strong{font-size:15px!important;color:var(--a229-dark)!important;}
body .a32-public-booking-form .a32-slot-picker-head small{display:none!important;}
body .a32-public-booking-form .a32-slot-picker-head > span{font-size:10px!important;}
/* Stable 4-column table for all turf sizes. */
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-scroll{
  display:block!important;max-width:100%!important;width:100%!important;overflow-x:clip!important;overflow-y:visible!important;
  border:1px solid var(--a229-line)!important;border-radius:12px!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] table.a32-slot-picker-table{
  display:table!important;width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;
  border-collapse:collapse!important;border-spacing:0!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table col.a32-matrix-col-time{width:24%!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table col.a32-matrix-col-turf{width:25.333333%!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table thead {display:table-header-group!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tbody{display:table-row-group!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr{display:table-row!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table thead th{
  display:table-cell!important; position:static!important; min-width:0!important;max-width:none!important;width:auto!important;
  border:1px solid #ddeae1!important;background:#eaf6ee!important;padding:10px 3px!important;
  font-size:13px!important;line-height:1.1!important;font-weight:900!important;text-align:center!important;color:#154d34!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table thead th small{
  display:block!important;margin:3px 0 0!important;font-size:10px!important;color:#577c67!important;
  line-height:1.1!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot:not(.a32-slot-available){
  display:table-cell!important;position:static!important;width:auto!important;min-width:0!important;max-width:none!important;
  height:auto!important;min-height:0!important;vertical-align:middle!important;padding:3px!important;
  border:1px solid #e4eee7!important;overflow:visible!important;border-radius:0!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell{
  background:#fbfdfb!important;padding:7px 5px!important;color:#1b3b2a!important;text-align:left!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell .a32-time-desktop{
  display:block!important;font-size:clamp(11px,1.2vw,15px)!important;line-height:1.22!important;font-weight:850!important;
  color:var(--a229-ink)!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell .a32-time-mobile{display:none!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice{
  display:flex!important;position:relative!important;flex-direction:column!important;justify-content:center!important;
  align-items:flex-start!important;min-height:63px!important;height:auto!important;width:100%!important;max-width:100%!important;
  padding:10px 36px 9px 10px!important;margin:0!important;border-radius:9px!important;border:1px solid #ccebd8!important;
  background:#edfaf2!important;text-align:left!important;overflow:hidden!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice strong.a32-compact-rate{
  display:block!important;margin:0!important;width:100%!important;text-align:left!important;
  font-size:clamp(14px,1.65vw,21px)!important;line-height:1.13!important;letter-spacing:-.02em!important;
  white-space:normal!important;color:#133526!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice strong .a32-compact-rate-number,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice strong .a32-compact-rate-unit{
  display:inline!important;font-size:inherit!important;white-space:normal!important;line-height:inherit!important;color:inherit!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice > span.a32-two-hour-savings{
  display:block!important;width:100%!important;margin:3px 0 0!important;font-size:clamp(9px,.9vw,12px)!important;
  color:#0c7649!important;font-weight:800!important;line-height:1.15!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice > span.a32-two-hour-savings[hidden]{display:none!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice::after,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot.a32-slot-selected .a32-slot-choice::after{
  display:flex!important;content:'+'!important;align-items:center!important;justify-content:center!important;position:absolute!important;
  inset:50% 6px auto auto!important;transform:translateY(-50%)!important;
  width:26px!important;height:26px!important;border:2px solid #0f8b50!important;border-radius:50%!important;
  font-size:19px!important;font-weight:900!important;line-height:1!important;color:#0f8b50!important;background:#fff!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot.a32-slot-selected .a32-slot-choice::after{
  content:'✓'!important;background:#0f8b50!important;color:#fff!important;font-size:15px!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot.a32-slot-selected .a32-slot-choice{
  background:#dff7e9!important;border-color:#19a464!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot:not(.a32-slot-available){
  background:#fff4f4!important;text-align:center!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot:not(.a32-slot-available) > strong{
  display:block!important;color:#a34246!important;text-align:center!important;font-size:13px!important;line-height:1.2!important;margin:0!important;
}
/* All three turf columns are visible, so no redundant select-other-turf link. */
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-alt-ground-action,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-alt-ground-reason{display:none!important;}
body .a32-public-booking-form.a32-student-active .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-choice.a32-student-ineligible{
  background:#f4f6f4!important;border-color:#eef0ee!important;cursor:not-allowed!important;
  padding:5px!important;align-items:center!important;justify-content:center!important;
}
body .a32-public-booking-form.a32-student-active .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-choice.a32-student-ineligible > strong{
  color:#85938a!important;text-align:center!important;font-size:12px!important;font-weight:750!important;
}
body .a32-public-booking-form.a32-student-active .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-choice.a32-student-ineligible::after{display:none!important;content:none!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-ux-period-row > td {
  background:#f0f8f3!important;border-top:8px solid #fff!important;padding:11px!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-ux-period-row > td strong{font-size:14px!important;color:#0a6440!important;}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-ux-period-row > td span{font-size:10px!important;color:#597764!important;}
/* Concise summary and obvious bottom CTA. */
body .a32-public-booking-form .a32-selected-slot-summary,
body .a32-public-booking-form .a32-selected-slot-summary[hidden]{
  display:block!important;margin:12px 0 0!important;padding:12px!important;background:#f1faf4!important;
  border:1px solid #cfe8d6!important;border-radius:12px!important;box-shadow:none!important;
}
body .a32-public-booking-form .a32-selected-slot-summary strong{font-size:15px!important;color:var(--a229-dark)!important;}
body .a32-public-booking-form .a32-selected-slot-summary span{font-size:12px!important;line-height:1.35!important;margin:6px 0!important;color:var(--a229-ink)!important;}
body .a32-public-booking-form .a32-selected-slot-summary em{font-size:11px!important;line-height:1.3!important;margin:4px 0!important;color:#587969!important;}
body .a32-public-booking-form .a32-custom-time-note{margin:8px 0 0!important;padding:9px 11px!important;font-size:11px!important;line-height:1.4!important;border:1px solid #edf2ee!important;}
body .a32-public-booking-form[data-a32-current-step="1"] .a32-form-grid{min-height:0!important; margin-top:10px!important;padding:0!important;}
body .a32-public-booking-form .a32-flow-actions[data-a32-flow-step="1"] .a32-flow-next{
  min-height:49px!important;border-radius:12px!important;background:#078747!important;color:#fff!important;font-weight:900!important;
}
/* No overlap from site floating call widgets is achievable inside plugin; reserve bottom breathing room on small screens. */
@media(max-width:767px){
  body .a32-public-booking-form .a32-booking-calendar-panel{padding:10px!important;}
  body .a32-public-booking-form .a32-booking-tier{padding:10px!important;}
  body .a32-public-booking-form .a32-booking-tier-option{padding:8px!important;min-height:58px!important;gap:6px!important;}
  body .a32-public-booking-form .a32-booking-tier-option strong{font-size:12px!important;}
  body .a32-public-booking-form .a32-booking-tier-option small{font-size:10px!important;}
  body .a32-public-booking-form .a32-ux-sport-buttons{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;}
  body .a32-public-booking-form .a32-ux-sport-btn{min-height:49px!important;}
  body .a32-public-booking-form .a32-ux-sport-btn span{font-size:9px!important;}
  body .a32-public-booking-form .a32-ux-period-tabs{gap:5px!important;}
  body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn{min-height:57px!important;padding:5px 1px!important;}
  body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn strong{font-size:10px!important;}
  body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn small{font-size:8px!important;}
  body .a32-public-booking-form .a32-slot-picker-head strong{font-size:14px!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table thead th{
    font-size:10px!important;line-height:1.15!important;padding:7px 1px!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table thead th small{
    font-size:8px!important;line-height:1.06!important;margin:2px 0 0!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell{
    padding:5px 2px!important;text-align:center!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell .a32-time-desktop{display:none!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell .a32-time-mobile{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > th.a32-time-cell .a32-time-mobile span{
    display:block!important;font-size:clamp(9px,2.8vw,12px)!important;line-height:1.15!important;font-weight:900!important;white-space:normal!important;text-align:center!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot{padding:2px!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice{
    min-height:72px!important;padding:7px 2px 28px!important;align-items:center!important;justify-content:flex-start!important;border-radius:8px!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice strong.a32-compact-rate{
    text-align:center!important;width:100%!important;font-size:clamp(11px,3vw,14px)!important;line-height:1.1!important;letter-spacing:-.025em!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice strong .a32-compact-rate-number{
    display:block!important;font-size:inherit!important;text-align:center!important;white-space:nowrap!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice strong .a32-compact-rate-unit{display:none!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice > span.a32-two-hour-savings{display:none!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice::after,
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot.a32-slot-selected .a32-slot-choice::after{
    inset:auto auto 5px 50%!important;top:auto!important;right:auto!important;bottom:5px!important;
    left:50%!important;transform:translateX(-50%)!important;width:22px!important;height:22px!important;font-size:16px!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot:not(.a32-slot-available) > strong{font-size:11px!important;}
  body .a32-public-booking-form.a32-student-active .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-choice.a32-student-ineligible > strong{font-size:10px!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table .a32-ux-period-row > td{padding:9px 7px!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-ux-period-row > td strong{font-size:12px!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-ux-period-row > td span{font-size:9px!important;}
  body .a32-public-booking-form .a32-booking-calendar-panel{padding-bottom:14px!important;}
  body .a32-public-booking-form .a32-flow-actions[data-a32-flow-step="1"] .a32-flow-next{width:100%!important;min-height:48px!important;}
}
@media(max-width:360px){
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table col.a32-matrix-col-time{width:25%!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table col.a32-matrix-col-turf{width:25%!important;}
  body .a32-public-booking-form .a32-ux-period-tabs .a32-ux-period-btn small{font-size:7px!important;}
  body .a32-public-booking-form .a32-ux-sport-btn span{font-size:8px!important;}
}
@media(min-width:768px) and (max-width:1100px){
  body .a32-public-booking-form .a32-ux-sport-buttons{grid-template-columns:repeat(7,minmax(0,1fr))!important;}
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table td.a32-slot .a32-slot-choice{padding-right:30px!important;}
}

/* Narrow-width final specificity guard against pre-224 min-height/overlap rules.
   Entire card is a touch target; the plus icon is only the visual affordance. */
@media(max-width:767px){
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice {
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
    min-height:73px!important;height:auto!important;max-height:none!important;
    padding:8px 2px 30px!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate {
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
    text-align:center!important;line-height:1.1!important;margin:0!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate .a32-compact-rate-number {
    display:block!important;width:100%!important;white-space:nowrap!important;text-align:center!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate .a32-compact-rate-unit {
    display:none!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > span.a32-two-hour-savings,
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > span.a32-two-hour-savings[hidden] {
    display:none!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice::after,
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-selected button.a32-slot-choice::after {
    content:'+'!important;inset:auto auto 6px 50%!important;left:50%!important;right:auto!important;top:auto!important;bottom:6px!important;
    transform:translateX(-50%)!important;width:23px!important;height:23px!important;
    background:#fff!important;color:#0b8652!important;font-size:17px!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-selected button.a32-slot-choice::after {
    content:'✓'!important;background:#0f8b50!important;color:#fff!important;font-size:14px!important;
  }
  body .a32-public-booking-form.a32-student-active .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice.a32-student-ineligible {
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-height:73px!important;padding:5px 2px!important;background:#f4f6f4!important;
  }
  body .a32-public-booking-form.a32-student-active .a32-booking-slot-picker[data-a32-layout="matrix"] .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice.a32-student-ineligible::after {
    display:none!important;content:none!important;
  }
}


/* v1.0.7.230 — unified PRICE ONLY cards in the public 4-column matrix.
   Every price represents one 30-minute slot. Student price is changed by JS,
   but stays in this same compact presentation across desktop/tablet/mobile. */
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table td.a32-slot .a32-slot-choice .a32-compact-rate-unit,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table td.a32-slot .a32-slot-choice > span.a32-two-hour-savings,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > span.a32-two-hour-savings {
  display:none!important;
  visibility:hidden!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice:not(.a32-student-ineligible){
  min-height:56px!important;
  padding:9px 38px 9px 12px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate{
  margin:0!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(15px,1.35vw,18px)!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  font-weight:850!important;
  text-align:left!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate .a32-compact-rate-number{
  display:inline!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  white-space:nowrap!important;
  line-height:inherit!important;
  color:inherit!important;
}
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice::after,
body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
.a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-selected button.a32-slot-choice::after{
  inset:50% 7px auto auto!important;
  top:50%!important;
  right:7px!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  width:23px!important;
  height:23px!important;
  font-size:17px!important;
}
@media (min-width:768px) and (max-width:1100px){
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate{
    font-size:15px!important;
  }
}
@media (min-width:376px) and (max-width:767px){
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice:not(.a32-student-ineligible){
    padding:8px 24px 8px 5px!important;
    min-height:52px!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate{
    font-size:clamp(11px,2.8vw,14px)!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice::after,
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-selected button.a32-slot-choice::after{
    width:18px!important;
    height:18px!important;
    font-size:13px!important;
    right:3px!important;
  }
}
@media (max-width:375px){
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice:not(.a32-student-ineligible){
    padding:8px 2px 27px!important;
    min-height:71px!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice > strong.a32-compact-rate{
    font-size:clamp(11px,3.4vw,13px)!important;
    text-align:center!important;
  }
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-available button.a32-slot-choice::after,
  body .a32-public-booking-form .a32-booking-slot-picker[data-a32-layout="matrix"]
  .a32-slot-picker-table tr[data-a32-slot-row] > td.a32-slot.a32-slot-selected button.a32-slot-choice::after{
    inset:auto auto 4px 50%!important;
    top:auto!important;
    right:auto!important;
    bottom:4px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:19px!important;
    height:19px!important;
    font-size:13px!important;
  }
}

/* v1.0.7.231 — restore the seven selectable date blocks on all devices. */
body .a32-public-booking-form .a32-booking-calendar-panel > .a32-ux-date-strip{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:12px 0 10px!important;
}
body .a32-public-booking-form .a32-ux-date-strip .a32-ux-label{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  margin:0 0 7px!important;
  gap:8px!important;
}
body .a32-public-booking-form .a32-ux-date-strip .a32-ux-label > span{
  font-size:13px!important;
  font-weight:900!important;
  color:#114a31!important;
}
body .a32-public-booking-form .a32-ux-date-strip .a32-ux-label > small{
  display:inline!important;
  font-size:10px!important;
  color:#64796c!important;
}
body .a32-public-booking-form .a32-ux-date-strip .a32-ux-date-buttons{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:clamp(3px,.6vw,9px)!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  padding:0!important;
}
body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:54px!important;
  margin:0!important;
  padding:7px 2px!important;
  border:1px solid #dbe9df!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#415a4e!important;
  box-shadow:none!important;
  cursor:pointer!important;
  line-height:1.1!important;
}
body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn b{
  display:block!important;
  color:inherit!important;
  font-size:clamp(8px,.95vw,11px)!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn span{
  display:block!important;
  color:inherit!important;
  font-size:clamp(15px,1.5vw,20px)!important;
  font-weight:900!important;
  line-height:1.1!important;
  margin-top:3px!important;
}
body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn.is-active{
  background:#e8f8ef!important;
  border-color:#087d4e!important;
  box-shadow:inset 0 0 0 1px #087d4e!important;
  color:#086d42!important;
}
body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn:focus-visible{
  outline:2px solid #0a874f!important;
  outline-offset:2px!important;
}
/* Keep the original date field for choosing a date beyond the seven shortcuts. */
body .a32-public-booking-form .a32-slot-picker-date{
  margin:0 0 11px!important;
}
body .a32-public-booking-form .a32-booking-tier-option strong{
  font-size:clamp(11px,1.1vw,14px)!important;
  line-height:1.25!important;
}
@media(max-width:767px){
  body .a32-public-booking-form .a32-ux-date-strip .a32-ux-date-buttons{
    gap:4px!important;
  }
  body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn{
    min-height:47px!important;
    padding:5px 1px!important;
    border-radius:8px!important;
  }
  body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn b{
    font-size:9px!important;
  }
  body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn span{
    font-size:16px!important;
  }
}
@media(max-width:359px){
  body .a32-public-booking-form .a32-ux-date-strip .a32-ux-date-buttons{gap:3px!important;}
  body .a32-public-booking-form .a32-ux-date-strip button.a32-ux-date-btn b{font-size:8px!important;}
}
