/* Public welcome and member experience share the same responsive match list. */
:root{--club:#39587e;--clubRGB:57,88,126}
.guest-home{width:100%;min-width:0}
.guest-home .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,370px);align-items:center}
.guest-home .hero-copy h1{font-size:clamp(32px,4.5vw,62px)}
.guest-home .public-upcoming{padding:8px;width:100%;min-width:0}
.guest-home-content{max-width:1512px;margin:auto;padding:28px 48px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px;align-items:start}
.guest-services{display:grid;gap:20px}
.guest-services .card{margin:0}
.guest-services h2{margin:12px 0}
.guest-services .textlink{margin-top:14px}
.membership-intro{margin:0;min-width:0}
.membership-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.membership-intro h2{margin:16px 0 10px}
.membership-intro p{line-height:1.75;margin:12px 0 0;overflow-wrap:anywhere}
.membership-price strong{font-size:24px}
.membership-price del{display:inline-block;margin-right:12px;color:var(--mute);font-size:1.05rem;text-decoration-thickness:2px;font-variant-numeric:tabular-nums}
.membership-price strong{display:inline-block;white-space:nowrap}
.membership-price .meta{margin-left:5px}
.chat-intro-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:22px;align-items:start}
.chat-intro-layout .chat-coming-soon{margin:0}
.chat-coming-soon h1{font-size:clamp(28px,5vw,42px);margin:18px 0}
.chat-coming-soon p{line-height:1.75}
.chat-coming-soon .btn{margin-top:20px}
.account-disclosure .membership-intro{padding:16px 0 0;border:0;background:transparent;box-shadow:none}
.team-directory>h1{margin:12px 0;font-size:clamp(26px,5vw,36px)}
.team-directory details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.team-directory summary{cursor:pointer;font-weight:700;padding:6px 0 14px}
.directory-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px}
.directory-teams button{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:inherit;min-width:0}
.directory-teams button b{min-width:0;word-break:keep-all;overflow-wrap:normal;hyphens:none;line-height:1.4}
.directory-teams button:hover{background:var(--clubSoft)}
.football-upcoming-list{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
.football-upcoming-list .football-compact-match{width:100%;min-width:0;gap:6px;padding:12px 0;text-align:center}
.football-upcoming-list .football-compact-match>.meta{font-size:12px;line-height:1.4}
.football-upcoming-list .football-pair{width:100%;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:8px;align-items:center}
.football-upcoming-list .football-club{flex-direction:row;justify-content:center;gap:7px;min-width:0;font-size:13px;line-height:1.35}
.football-upcoming-list .fan-emblem{width:24px;height:28px;flex-shrink:0}
.football-upcoming-list .football-score{font-size:18px}
.football-upcoming-list .football-clocks{display:grid;justify-items:center;gap:3px;width:100%;font-size:12px}
.football-upcoming-list .football-clock{justify-content:center;gap:8px;font-size:12px;line-height:1.4}
.football-upcoming-list [data-status=NS] .football-match-state{display:none}
.upcoming .football-home-link,.mobile-match .football-home-link,.next .football-home-link{padding:12px;gap:4px;text-align:center;min-width:0;width:100%}
.upcoming .football-widget-heading,.mobile-match .football-widget-heading,.next .football-widget-heading{justify-content:center}
.upcoming .football-info-link,.mobile-match .football-info-link,.next .football-info-link{justify-self:center;margin-top:10px}
@media(max-width:1100px){
 .guest-home .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:26px 16px 16px}
 .guest-home .hero-copy{display:block;text-align:center}
 .guest-home .hero-kicker,.guest-home .hero-actions{justify-content:center}
 .guest-home .hero-copy p{font-size:15px;margin:18px auto;max-width:420px}
 .guest-home .public-upcoming{display:block;max-width:540px;margin:auto}
 .guest-home-content{padding:8px 14px 24px;grid-template-columns:minmax(0,1fr);gap:20px}
 .guest-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .chat-intro-layout{grid-template-columns:minmax(0,1fr)}
 .mobile-match .football-upcoming-list{max-width:540px;margin:auto}
 .mobile-match .football-home-link{padding:6px 4px;width:100%}
 .mobile-match .football-widget-heading h3{font-size:18px}
}
@media(max-width:480px){
 .guest-services{grid-template-columns:minmax(0,1fr)}
 .guest-home .hero-copy h1{font-size:32px}
 .guest-home .hero-actions{gap:10px;flex-wrap:wrap}
 .directory-teams{grid-template-columns:repeat(2,minmax(0,1fr))}
 .directory-teams button{padding:10px 8px;font-size:13px}
 .football-upcoming-list .football-clock{gap:6px;font-size:11px}
}
.football-upcoming-list .football-compact-match{margin:0}
.football-upcoming-list .football-club b{font-size:13px;line-height:1.35;text-align:center}
.football-upcoming-list .football-club .cr{width:24px;height:28px}

/* One crest-based board selector for the header and community, including mobile. */
body:has(.team-picker){overflow:hidden}
.box.team-picker{display:flex;flex-direction:column;max-width:660px;padding:0;overflow:hidden;max-height:calc(100dvh - 48px);border-radius:20px;background:var(--panel)}
.team-picker .picker-heading{flex:none;padding:24px 24px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
.team-picker .panelhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0}
.team-picker h2{font-size:1.375rem;line-height:1.4;margin:0}
.team-picker .panelhead .iconbutton{width:44px;height:44px;flex:none;color:var(--ink);border:1px solid var(--line);border-radius:50%;background:var(--field);font-size:26px}
.team-picker .sub{font-size:.875rem;line-height:1.6;margin:8px 0 0;color:var(--mute)}
.team-picker .picker-leagues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;overflow:visible}
.team-picker .picker-leagues button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--mute);font-size:.875rem;line-height:1.4;white-space:normal;text-align:center}
.team-picker .picker-leagues small{font-size:.75rem;font-variant-numeric:tabular-nums;opacity:.8}
.team-picker .picker-leagues button.selected{color:var(--ink);border-color:var(--clubLight);background:var(--clubSoft)}
.team-picker .picker-team-list{padding:16px 24px 24px;overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.team-picker .picker-list-label{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px;color:var(--mute);font-size:.875rem;line-height:1.5}
.team-picker .picker-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.team-picker .picker-teams button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:68px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink);text-align:center}
.team-picker .picker-teams button b{min-width:0;flex:0 1 auto;font-size:.9375rem;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.team-picker .picker-teams .cr.m{width:36px;height:40px;flex:none}
.team-picker .picker-teams .picker-team-indicator{position:absolute;top:5px;right:7px;color:var(--mute);font-size:13px}.team-picker .picker-teams button:not(.selected) .picker-team-indicator{display:none}
.team-picker .picker-teams button.selected{border-color:var(--clubLight);background:var(--clubSoft)}
.team-picker .picker-teams button.selected .picker-team-indicator{color:var(--clubLight)}
.team-picker button:focus-visible{outline:2px solid var(--clubLight);outline-offset:3px}
@media(hover:hover){.team-picker .picker-teams button:hover{background:var(--soft);border-color:var(--clubLight)}}
@media(max-width:600px){
 .ov.m:has(.team-picker){display:flex;align-items:flex-end;justify-content:center;padding:0}
 .box.team-picker{width:100%;max-width:none;max-height:90dvh;border-radius:22px 22px 0 0;border-bottom:0;animation:none}
 .team-picker .picker-heading{padding:18px 16px 14px}
 .team-picker .picker-leagues{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px}
 .team-picker .picker-leagues button{padding:8px 10px}
 .team-picker .picker-team-list{padding:14px 16px max(20px,env(safe-area-inset-bottom,0px))}
 .team-picker .picker-teams{gap:8px}
 .team-picker .picker-teams button{min-height:72px;padding:10px 9px;gap:8px}
 .team-picker .picker-teams button b{font-size:.875rem}
 .team-picker .picker-teams .cr.m{width:30px;height:34px}
 .team-picker .picker-team-indicator{position:absolute;top:5px;right:6px;font-size:12px!important}
 .team-picker .picker-teams button:not(.selected) .picker-team-indicator{display:none}
}
@media(max-height:520px){.box.team-picker{overflow:auto;max-height:94dvh}.team-picker .picker-heading{padding-top:12px}.team-picker .picker-team-list{overflow:visible;flex:none}}

/* Introductory pricing and voluntary support within the shared membership card. */
.membership-offer{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--clubSoft)}
.membership-offer-label{display:block;font-size:.875rem;font-weight:700;color:var(--ink);line-height:1.5}
.membership-offer .membership-price{margin:6px 0 0;line-height:1.3}
.membership-offer .membership-price strong{font-size:2rem;font-variant-numeric:tabular-nums}
.membership-offer .membership-standard{margin:6px 0 0;font-size:.875rem;color:var(--mute)}
.membership-benefit h3,.membership-support h3{font-size:1rem;line-height:1.5;margin:0}
.membership-benefit>p{font-size:1rem}
.membership-benefit .sub,.membership-support .sub{font-size:.875rem;line-height:1.7}
.membership-support{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
.membership-support .membership-support-status{font-size:.875rem;font-weight:600;color:var(--mute)}

@media(min-width:761px){.topin{gap:16px}.top .nav{gap:2px}.top .nav>button{padding:9px 7px}.top .nav>.apps-menu summary{padding:9px 7px}.top .tools{gap:8px}.apps-mobile{display:none}}@media(max-width:760px){.nav>.apps-menu{display:none}.apps-mobile{display:block}}.account-level>.founding-badge{display:inline-flex;margin:8px 0 8px 10px;padding:5px 10px;border:1px solid #dbc19866;border-radius:20px;color:#f5d789;background:#dbc19812;vertical-align:middle}
