.ma-availability{--ma-accent:var(--theme-accent,#177245);font-family:inherit;margin:1.5rem 0;color:#393939}.ma-availability *{box-sizing:border-box}.ma-club{margin:0 0 1.5rem}.ma-availability .ma-category{margin:0 0 32px;padding:0;border:0;background:transparent}.ma-availability .ma-category-title{font-size:1.25em;margin:0 0 20px;line-height:1.4}.ma-availability .ma-day-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;margin:0 0 18px}.ma-availability .ma-current-day{font-size:1em;font-weight:500;text-align:center;margin:0;line-height:1.5;text-transform:capitalize}.ma-availability button{font:inherit;cursor:pointer}.ma-availability .ma-day-nav button{border:0;border-radius:8px;width:44px;height:44px;padding:0;background:#ededed;color:#393939;font-size:30px;line-height:1}.ma-availability button:disabled{opacity:.35;cursor:default}.ma-availability .ma-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:680px}.ma-availability .ma-slot{display:block;text-align:center;padding:9px 12px;border-radius:12px;background:#d3ffcb;color:#25313a;font-size:1em;font-weight:500;text-decoration:none;line-height:1.4;white-space:nowrap}.ma-availability .ma-slot:hover{background:#baf2ae}.ma-availability .ma-day-title{font-size:1.05em;line-height:1.4;margin:22px 0 10px;text-transform:capitalize}.ma-availability .ma-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.ma-availability .ma-event{display:flex;flex-direction:column;min-width:0;min-height:180px;padding:16px;border:1px solid #e8e8e8;border-radius:18px;background:#ededed;color:#393939;text-decoration:none;line-height:1.5;transition:box-shadow .15s}.ma-availability .ma-event:hover{color:#393939;box-shadow:0 3px 10px #00000018}.ma-event-time{display:block;text-align:center;font-size:1.1em;margin-bottom:8px}.ma-event-title{display:block;font-size:.9em;font-weight:600;overflow-wrap:anywhere}.ma-event-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.8em;margin-top:5px;overflow-wrap:anywhere}.ma-event-level{font-size:.8em;margin-top:5px}.ma-event-footer{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:auto;padding-top:22px;font-size:.85em}.ma-event-price{font-weight:650}.ma-event-seats{text-align:right}.ma-availability .ma-stamp{font-size:.75em;font-weight:300;color:#999999;text-align:center;margin:20px 0 0;line-height:1.5}.ma-warning{padding:10px 12px;background:#fff5d9;border-left:3px solid #b5851a;font-size:.9em}.ma-availability .ma-message{margin:12px 0}.ma-availability .ma-more,.ma-availability .ma-retry{display:block;min-height:44px;margin:16px auto 0;padding:9px 16px;border:1px solid #ccc;border-radius:8px;background:#ededed;color:#393939}.ma-availability [hidden]{display:none!important}.ma-availability :is(button,a):focus-visible{outline:3px solid var(--ma-accent);outline-offset:3px}@media(max-width:460px){.ma-availability .ma-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ma-availability .ma-event{padding:12px}.ma-event-footer{flex-wrap:wrap;gap:5px}.ma-availability .ma-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.ma-availability .ma-event{transition:none}}

/* Compact event rows and stable time-slot links. */
body .ma-availability a.ma-slot,body .ma-availability a.ma-slot:is(:hover,:focus,:active,:visited){color:#000!important;font-weight:500!important;transform:none!important;translate:none!important;position:static;top:auto;left:auto;margin:0!important;border:0;box-shadow:none;text-decoration:none;transition:background-color .15s}
body .ma-availability .ma-stamp{margin-top:30px}
.ma-availability .ma-event-list{display:flex;flex-direction:column;gap:14px}
body .ma-availability a.ma-event{display:grid;grid-template-columns:80px minmax(0,1fr) auto 18px;gap:18px;align-items:center;min-height:100px;padding:0 18px 0 0;margin:0!important;border:0;border-radius:12px;background:#ededed;color:#393939!important;overflow:hidden;text-decoration:none;transform:none!important;translate:none!important;font-weight:400}
body .ma-availability a.ma-event:hover{color:#393939!important;transform:none!important;font-weight:400;box-shadow:0 3px 10px #00000018}
.ma-availability .ma-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;min-height:100px;padding:12px 8px;background:var(--theme-accent,#ff7900);color:#fff!important;line-height:1.1}
.ma-availability .ma-event--base .ma-event-date{background:var(--theme-base,#172537)}
.ma-availability .ma-event-date *{color:#fff!important}
.ma-availability .ma-event-day{font-size:2em;font-weight:600}
.ma-availability .ma-event-month{font-size:.85em;font-weight:600;text-transform:uppercase;margin-top:5px}
.ma-availability .ma-event-body{min-width:0;padding:12px 0}
.ma-availability .ma-event-title{display:block;font-size:1em;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.ma-availability .ma-event-time{display:block;text-align:left;font-size:.95em;line-height:1.4;margin:4px 0 0}
.ma-availability .ma-event-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;margin:0;padding:12px 0;font-size:.9em}
.ma-availability .ma-event-price{font-weight:600}
.ma-availability .ma-event-seats{text-align:left;font-size:.9em}
.ma-availability .ma-event-arrow{font-size:2em;color:#777;line-height:1}
.ma-availability .ma-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:120px;padding:20px;text-align:center;color:#777;font-size:.9em}
.ma-availability .ma-spinner{display:block;width:28px;height:28px;border:3px solid #ededed;border-top-color:var(--theme-accent,#ff7900);border-radius:50%;animation:ma-spin .8s linear infinite}
@keyframes ma-spin{to{transform:rotate(360deg)}}
@media(max-width:520px){body .ma-availability a.ma-event{grid-template-columns:62px minmax(0,1fr) auto;gap:10px;padding-right:12px}.ma-availability .ma-event-date{min-height:96px}.ma-availability .ma-event-day{font-size:1.6em}.ma-availability .ma-event-title{font-size:.9em}.ma-availability .ma-event-time{font-size:.85em}.ma-availability .ma-event-footer{font-size:.8em}.ma-availability .ma-event-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.ma-availability .ma-spinner{animation:none}}

/* Booking controls: fixed geometry in all interaction states. */
body .ma-availability a.ma-slot,body .ma-availability a.ma-slot:is(:hover,:focus,:active,:visited){background:var(--theme-accent,#ff7900);color:#fff!important;font-size:calc(1em - 2px)!important;padding:9px 12px!important;margin:0!important;border:0!important;transform:none!important;translate:none!important;line-height:1.4!important;font-weight:500!important;box-shadow:none!important}
body .ma-availability a.ma-slot:hover{filter:brightness(.94)}
body .ma-availability .ma-stamp{font-size:calc(.75em - 2px);margin-top:40px;font-weight:300;text-align:center;color:#999999}
body .ma-availability .ma-event-price{color:var(--theme-accent,#ff7900)!important}
body .ma-availability .ma-day-nav button,body .ma-availability button.ma-more,body .ma-availability button.ma-retry{box-sizing:border-box;border:1px solid var(--theme-accent,#ff7900)!important;background:#fff;color:var(--theme-accent,#ff7900);transform:none!important;translate:none!important;transition:background-color .15s,color .15s}
body .ma-availability .ma-day-nav button:not(:disabled):is(:hover,:focus-visible),body .ma-availability button.ma-more:is(:hover,:focus-visible),body .ma-availability button.ma-retry:is(:hover,:focus-visible){background:var(--theme-accent,#ff7900);color:#fff}
body .ma-availability .ma-day-nav button{padding:0!important;margin:0!important;width:44px;height:44px}
body .ma-availability button.ma-more,body .ma-availability button.ma-retry{padding:9px 16px!important;margin:16px auto 0!important}
body .ma-availability .ma-event-title{text-transform:none!important}

/* Scoped rules win over the theme's editorial link and paragraph selectors. */
body .ma-availability[data-ma-root]{margin:0 0 20px!important}
body .ma-availability[data-ma-root] .ma-club,body .ma-availability[data-ma-root] .ma-category{margin:0!important}
body .ma-availability[data-ma-root] .ma-category+.ma-category{margin-top:24px!important}
body .simple-accordion-panel>.ma-availability[data-ma-root]:last-child{margin-bottom:0!important}
body .ma-availability[data-ma-root] p.ma-stamp{font-size:17px!important;line-height:1.6!important;margin:10px 0 0!important;padding:0!important;color:#999999!important;font-weight:300!important;text-align:center!important}
body .ma-availability[data-ma-root] .ma-event-title{font-weight:400!important}
body .ma-availability[data-ma-root] .ma-event-day{font-size:calc(2em - 4px)!important}
body .ma-availability[data-ma-root] .ma-event-month{margin-top:3px!important}
body .ma-availability[data-ma-root] a.ma-event,body .ma-availability[data-ma-root] a.ma-event:is(:hover,:focus,:active,:visited){background:#ededed!important;color:#393939!important;margin:0!important;padding:0 18px 0 0!important;border:0!important;text-decoration:none!important;transform:none!important;translate:none!important;font-weight:400!important;box-shadow:none}
body .ma-availability[data-ma-root] a.ma-event *,body .ma-availability[data-ma-root] a.ma-slot *{text-decoration:none!important}
body .ma-availability[data-ma-root] a.ma-event:is(:hover,:focus-visible){box-shadow:0 3px 10px #00000018}
body .ma-availability[data-ma-root] a.ma-slot,body .ma-availability[data-ma-root] a.ma-slot:is(:hover,:focus,:active,:visited){background:var(--theme-accent,#ff7900)!important;color:#fff!important;text-decoration:none!important;box-shadow:none!important;transform:none!important;translate:none!important}
body .ma-availability[data-ma-root] .ma-day-nav button{border-width:2px!important}
/* Pointer hover never sticks after a touch tap. Keyboard focus remains visible. */
body .ma-availability[data-ma-root] .ma-day-nav button:not(:disabled):hover,body .ma-availability[data-ma-root] button.ma-more:hover,body .ma-availability[data-ma-root] button.ma-retry:hover{background:#fff!important;color:var(--theme-accent,#ff7900)!important}
body .ma-availability[data-ma-root] .ma-day-nav button:not(:disabled):focus-visible,body .ma-availability[data-ma-root] button.ma-more:focus-visible,body .ma-availability[data-ma-root] button.ma-retry:focus-visible{background:var(--theme-accent,#ff7900)!important;color:#fff!important;outline:3px solid var(--theme-accent,#ff7900);outline-offset:3px}
@media(hover:hover) and (pointer:fine){body .ma-availability[data-ma-root] .ma-day-nav button:not(:disabled):hover,body .ma-availability[data-ma-root] button.ma-more:hover,body .ma-availability[data-ma-root] button.ma-retry:hover{background:var(--theme-accent,#ff7900)!important;color:#fff!important}body .ma-availability[data-ma-root] a.ma-slot:hover{filter:brightness(.94)}}
@media(hover:none){body .ma-availability[data-ma-root] a.ma-slot:hover{filter:none}}
@media(max-width:600px){body .ma-availability[data-ma-root] p.ma-stamp{font-size:16px!important}}
@media(max-width:520px){body .ma-availability[data-ma-root] a.ma-event,body .ma-availability[data-ma-root] a.ma-event:is(:hover,:focus,:active,:visited){padding-right:12px!important}body .ma-availability[data-ma-root] .ma-event-day{font-size:calc(1.6em - 4px)!important}}

/* 1.5.1: compact typography without changing row padding or minimum heights. */
body .ma-availability[data-ma-root] p.ma-empty{font-size:17px!important;line-height:1.6!important;font-weight:300!important;color:var(--theme-accent,#ff7900)!important;text-align:center!important;margin:12px 0!important;padding:0!important}
body .ma-availability[data-ma-root] .ma-event-title{font-size:calc(1em - 2px)!important;font-weight:400!important}
body .ma-availability[data-ma-root] .ma-event-time{font-size:calc(.95em - 2px)!important;font-weight:500!important}
body .ma-availability[data-ma-root] .ma-event-month{margin-top:1.5px!important}
@media(max-width:600px){body .ma-availability[data-ma-root] p.ma-empty{font-size:16px!important}}
@media(max-width:520px){body .ma-availability[data-ma-root] .ma-event-title{font-size:calc(.9em - 2px)!important}body .ma-availability[data-ma-root] .ma-event-time{font-size:calc(.85em - 2px)!important}}

/* Full-width court grid and a further 2px reduction in slot labels. */
body .ma-availability[data-ma-root] .ma-slots{width:100%;max-width:none}
body .ma-availability[data-ma-root] a.ma-slot,body .ma-availability[data-ma-root] a.ma-slot:is(:hover,:focus,:active,:visited){font-size:calc(1em - 4px)!important}
