/* Uses the event-page type and spacing tokens. All additions are Beach Fest scoped. */
.beach-page .cup-tab-list[data-slot=tabs-list]{grid-template-columns:repeat(5,minmax(0,1fr))}
.beach-programme [hidden]{display:none!important}
.beach-programme{color:var(--navy)}
.beach-programme .beach-programme-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.beach-programme .beach-programme-meta{margin-top:14px;color:var(--cup-muted);font-size:var(--type-label);line-height:1.65}
.beach-programme .beach-pdf-link{justify-self:end;white-space:nowrap}
.beach-programme-topline{display:flex;align-items:baseline;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;padding-block:20px;border-block:1px solid var(--cup-line);font-size:var(--type-label)}
.beach-programme-topline p:last-child{color:var(--cup-muted);font-size:14px}
.beach-programme-topline span{padding-inline:8px;color:#747b88}
.beach-programme-filter{display:flex;align-items:end;gap:20px 32px;flex-wrap:wrap;padding-block:28px;border-bottom:1px solid var(--cup-line)}
.beach-programme-filter>div{width:360px;max-width:100%}
.beach-programme-filter label{display:block;font-size:14px;font-weight:800;margin-bottom:8px}
.beach-programme-filter select{appearance:none;display:block;width:100%;height:48px;border:1px solid #c6cbd3;border-radius:0;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23191c27' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;color:var(--navy);font:inherit;font-size:16px;padding:10px 40px 10px 14px;text-overflow:ellipsis}
.beach-programme-filter select:focus-visible{outline:1px solid var(--navy);outline-offset:2px}
.beach-programme-filter>p{flex:1 1 240px;max-width:520px;font-size:14px;color:var(--cup-muted);padding-bottom:10px;line-height:1.6}
.beach-programme-filter .text-button{font-size:14px;text-decoration:underline;text-underline-offset:4px}
.beach-programme-block{margin-top:var(--cup-block-gap,48px)}
.beach-programme-block>h3{font-size:var(--type-subheading);line-height:1.25;margin-bottom:24px}
.beach-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.beach-group{background:#fff;padding:var(--card-pad,24px);border-top:2px solid var(--navy)}
.beach-group h4{margin:0 0 16px;font-size:18px;font-weight:900}
.beach-group ul{list-style:none;margin:0;padding:0}
.beach-group li{padding-block:10px;font-size:16px;line-height:1.5;border-bottom:1px solid var(--cup-line);overflow-wrap:anywhere}
.beach-group li:last-child{border-bottom:0;padding-bottom:0}
.beach-group li.is-selected{font-weight:900}
.beach-filtered .beach-groups{grid-template-columns:minmax(0,1fr);max-width:680px}
.beach-fixture-head,.beach-fixture-slot{display:grid;grid-template-columns:110px repeat(2,minmax(0,1fr))}
.beach-fixture-head{padding:16px 24px;background:var(--navy);color:#fff;gap:24px;font-size:14px;font-weight:800}
.beach-fixture-list{list-style:none;margin:0;padding:0}
.beach-fixture-slot{padding:24px;gap:24px;border-bottom:1px solid var(--cup-line);background:#fff;align-items:start}
.beach-fixture-slot:nth-child(even){background:#f0f2f1}
.beach-fixture-slot>time{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums}
.beach-match{min-width:0}
.beach-match-label{font-size:12px;font-weight:800;color:var(--cup-muted);margin-bottom:10px!important}
.beach-match-teams{display:flex;flex-direction:column;gap:4px;line-height:1.5;font-size:16px;overflow-wrap:anywhere}
.beach-match-teams strong{font-weight:800}
.beach-versus{font-size:12px;color:var(--cup-muted)}
.beach-court-label{display:none}
.beach-filtered .beach-fixture-head{display:none}
.beach-filtered .beach-fixture-slot{grid-template-columns:110px minmax(0,1fr)}
.beach-filtered .beach-court-label{display:inline}
.beach-filtered .beach-empty-court{display:none}
.beach-programme .beach-programme-help{color:var(--cup-muted);max-width:760px;margin-top:-8px;margin-bottom:24px;font-size:15px;line-height:1.7}
.beach-timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--cup-line)}
.beach-timeline>li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding-block:24px;border-bottom:1px solid var(--cup-line)}
.beach-timeline-time{font-size:16px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:3px}
.beach-timeline h4{font-size:18px;font-weight:900;margin:0 0 12px;line-height:1.4}
.beach-timeline-courts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;color:var(--cup-muted);font-size:16px;line-height:1.6}
.beach-timeline-courts small{display:block;color:var(--navy);font-weight:800;font-size:12px;margin-bottom:5px}
.beach-format{margin-top:var(--cup-block-gap,48px);border-top:1px solid var(--cup-line)}
.beach-rule{border-bottom:1px solid var(--cup-line)}
.beach-rule summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;font-size:20px;font-weight:800;line-height:1.4}
.beach-rule summary::-webkit-details-marker{display:none}
.beach-rule summary>span:last-child{font-size:25px;font-weight:400;line-height:1;flex-shrink:0;transition:transform .15s}
.beach-rule[open] summary>span:last-child{transform:rotate(45deg)}
.beach-rule summary:focus-visible{outline:1px solid var(--navy);outline-offset:4px}
.beach-rule-body{max-width:1000px;padding-bottom:28px;color:var(--cup-muted);font-size:16px;line-height:1.75}
.beach-rule-body p+p,.beach-rule-body ul+p,.beach-rule-body ol+p,.beach-rule-body table+p{margin-top:20px}
.beach-rule-body ul,.beach-rule-body ol{padding-left:22px;margin:14px 0 0}
.beach-rule-body li+li{margin-top:10px}
.beach-rule-body>ul:first-child,.beach-rule-body>ol:first-child{margin-top:0}
.beach-rule-body table{width:100%;border-collapse:collapse;margin-block:24px;font-size:15px;color:var(--navy)}
.beach-rule-body th,.beach-rule-body td{border-bottom:1px solid var(--cup-line);padding:14px 16px;text-align:left;vertical-align:top}
.beach-rule-body thead{background:#e9ecee}
.beach-rule-body th{font-weight:800}
.beach-rule-body .underlined-link{margin-top:16px}
.beach-programme .beach-schedule-notice{margin-top:28px;padding:20px 24px;background:#e9ecea;line-height:1.7;font-size:15px;color:var(--cup-muted)}
.beach-rules-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--cup-line);font-size:15px;color:var(--cup-muted)}
.beach-rules-toolbar .text-button{font-size:14px;text-decoration:underline;text-underline-offset:4px}
.beach-rules-closing{margin-top:var(--cup-block-gap,48px);max-width:940px;font-size:16px;line-height:1.75;color:var(--cup-muted)}
.beach-rules-closing p+p{margin-top:20px;color:var(--navy)}
@media(max-width:900px){.beach-programme .beach-programme-heading{grid-template-columns:1fr;gap:20px}.beach-programme .beach-pdf-link{justify-self:start}.beach-fixture-head,.beach-fixture-slot{grid-template-columns:80px repeat(2,minmax(0,1fr));gap:18px}.beach-fixture-head,.beach-fixture-slot{padding-inline:20px}.beach-timeline>li{grid-template-columns:140px minmax(0,1fr)}.beach-timeline-courts{gap:16px}}
@media(max-width:640px){.beach-page .cup-tab-list [data-slot=tabs-trigger]{font-size:11px;line-height:1.25;padding:10px 3px;gap:6px;height:74px;white-space:normal;text-align:center}.beach-programme-topline{gap:10px;padding-block:18px}.beach-programme-topline p{font-size:14px}.beach-programme-topline span{padding-inline:4px}.beach-programme-filter{gap:14px;padding-block:24px}.beach-programme-filter>div{width:100%}.beach-programme-filter>p{flex-basis:100%;padding:0}.beach-programme-filter .text-button{padding-block:4px}.beach-programme-block>h3{margin-bottom:20px}.beach-groups{grid-template-columns:1fr;gap:20px}.beach-group{padding:22px}.beach-fixture-head{display:none}.beach-fixture-slot,.beach-filtered .beach-fixture-slot{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px}.beach-fixture-slot>time{font-size:20px}.beach-court-label{display:inline}.beach-match+.beach-match{border-top:1px solid var(--cup-line);padding-top:18px}.beach-filtered .beach-match{border-top:0;padding-top:0}.beach-match-teams{font-size:16px}.beach-timeline>li{grid-template-columns:minmax(0,1fr);gap:10px;padding-block:22px}.beach-timeline-courts{grid-template-columns:1fr;gap:14px}.beach-timeline h4{margin-bottom:10px}.beach-rule summary{font-size:18px;gap:18px;padding-block:22px}.beach-rule-body{font-size:16px;padding-bottom:24px}.beach-rule-body th,.beach-rule-body td{padding:12px 8px;font-size:14px}.beach-rule-body th:first-child{width:36%}.beach-programme .beach-schedule-notice{padding:20px}.beach-rules-toolbar{gap:8px}}
@media print{.beach-programme-filter,.beach-rules-toolbar button,.beach-pdf-link{display:none!important}.beach-programme [hidden]{display:block!important}.beach-fixture-slot[hidden]{display:grid!important}.beach-programme details>div{display:block!important}.beach-programme-block{break-inside:auto}.beach-match,.beach-group{break-inside:avoid}}
