/* Shared public controls. Page layouts keep their own grids and content sizes. */
:where(:root){--ui-body-font:system-ui,-apple-system,"Segoe UI",sans-serif;--ui-heading-font:system-ui,-apple-system,"Segoe UI",sans-serif;--ui-font-size:16px;--ui-control-size:13px;--ui-control-height:40px;--ui-control-weight:700;--ui-heading-weight:700;--ui-button-bg:#37025a;--ui-button-text:#fff;--ui-button-hover:#37025a;--ui-button-hover-text:#fff;--ui-tab-bg:var(--panel,#fff);--ui-tab-text:var(--text,#23172b);--ui-tab-active-bg:#37025a;--ui-tab-active-text:#fff;--ui-link:#37025a;--ui-link-hover:#37025a;--ui-focus:#37025a;--ui-button-radius:8px;--ui-tab-radius:30px;--ui-field-radius:8px;--ui-card-radius:12px;--ui-link-decoration:none;--ui-link-hover-decoration:underline}
html{font-size:var(--ui-font-size)}
body.public-site,body.admin-body{font-family:var(--ui-body-font)}
body.public-site :is(h1,h2,h3,h4,h5,h6),body.admin-body :is(h1,h2,h3,h4,h5,h6){font-family:var(--ui-heading-font)!important;font-weight:var(--ui-heading-weight)!important}
body.public-site :is(button,input,select,textarea),body.admin-body :is(button,input,select,textarea){font-family:var(--ui-body-font)}

body.public-site main :is(.games-nav,.italy-tabs,.league-hub-tabs,.league-tabs,.player-tabs,.video-filters,.legends-filters,.search-filters,.competition-groups,.auth-tabs,.player-season-chips,.match-links,.team-sections,.account-section-nav,.ui-tabs),body.admin-body :is(.football-editor-tabs,.legend-editor-tabs){display:flex;flex-wrap:wrap;gap:8px;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
body.public-site main :is(.games-nav,.italy-tabs,.league-hub-tabs,.league-tabs,.player-tabs,.video-filters,.legends-filters,.search-filters,.competition-groups,.auth-tabs,.player-season-chips,.match-links,.team-sections,.account-section-nav,.ui-tabs)>a,body.admin-body :is(.football-editor-tabs,.legend-editor-tabs)>a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--ui-control-height);max-width:100%;padding:9px 14px;border:1px solid var(--line);border-radius:var(--ui-tab-radius);background:var(--ui-tab-bg);color:var(--ui-tab-text);font-family:var(--ui-body-font);font-size:var(--ui-control-size);font-weight:var(--ui-control-weight);line-height:1.4;text-decoration:none;white-space:normal;text-align:center;overflow-wrap:anywhere}
body.public-site main :is(.games-nav,.italy-tabs,.league-hub-tabs,.league-tabs,.player-tabs,.video-filters,.legends-filters,.search-filters,.competition-groups,.auth-tabs,.player-season-chips,.match-links,.team-sections,.account-section-nav,.ui-tabs)>a:is(:hover,[aria-current]),body.admin-body :is(.football-editor-tabs,.legend-editor-tabs)>a:is(:hover,[aria-current]){border-color:var(--ui-tab-active-bg);background:var(--ui-tab-active-bg);color:var(--ui-tab-active-text);text-decoration:none;outline-offset:3px}
body.public-site .games-page{max-width:1240px}
body.public-site .games-nav{margin-bottom:23px}
body.public-site main nav.site-tabs {
    display:flex; flex-wrap:wrap; gap:4px; max-width:100%; padding:3px 2px 9px;
    border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent;
}
body.public-site main nav.site-tabs > a {
    display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:6px;
    min-height:max(44px,var(--ui-control-height)); max-width:100%; padding:9px 14px;
    border:1px solid transparent; border-radius:var(--ui-button-radius);
    background:transparent; color:var(--ui-tab-text); font-size:var(--ui-control-size);
    font-weight:var(--ui-control-weight); line-height:1.4; text-align:center; text-decoration:none;
}
body.public-site main nav.site-tabs > a:hover { background:var(--f24-tint,var(--panel)); color:var(--ui-tab-text); }
body.public-site main nav.site-tabs > a[aria-current] { background:var(--ui-tab-active-bg); color:var(--ui-tab-active-text); }
body.public-site main nav.site-tabs > a:focus-visible { outline-offset:-2px; }
body.public-site main nav.site-tabs > a[aria-current]:focus-visible { outline-color:var(--ui-tab-active-text)!important; }
@media(max-width:820px) {
    body.public-site main nav.site-tabs { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; overscroll-behavior-inline:contain; }
    body.public-site main nav.site-tabs > a { white-space:nowrap; max-width:none; }
}
body.public-site .games-page>.page-heading{margin-top:0;margin-bottom:22px}
body.public-site .games-notice{background:color-mix(in srgb,var(--lime) 8%,var(--panel));border-color:var(--line);color:var(--text)}
body.public-site .games-stats>div,body.public-site .games-table thead{background:var(--panel);color:var(--text)}
body.public-site .games-stats span,body.public-site .games-table small{color:var(--muted)}

body.public-site main :is(button:not(.auth-password-toggle):not(.account-danger):not(.profile-panel-close):not(.video-play),.games-button,.auth-primary,.account-link-button,.legends-button,.club-hero-button,.ui-button):not(.profile-secondary):not(.quiz-show *):not(.f24-gallery-viewer *):not(.regional-map *):not(.team-suggestions *){min-height:var(--ui-control-height);max-width:100%;padding:10px 18px;border:1px solid var(--ui-button-bg);border-radius:var(--ui-button-radius);background:var(--ui-button-bg);color:var(--ui-button-text);font-family:var(--ui-body-font);font-size:var(--ui-control-size);font-weight:var(--ui-control-weight);line-height:1.4;text-decoration:none;cursor:pointer;text-align:center;overflow-wrap:anywhere}
body.public-site main :is(button,.games-button,.auth-primary,.account-link-button,.legends-button,.club-hero-button,.ui-button):not(.profile-secondary):not(.quiz-show *):not(.auth-password-toggle):not(.account-danger):not(.video-play):not(.f24-gallery-viewer *):not(.regional-map *):not(.team-suggestions *):hover{background:var(--ui-button-hover);border-color:var(--ui-button-hover);color:var(--ui-button-hover-text);filter:none;text-decoration:none}
body.public-site.account-settings .account-page .profile-secondary,body.public-site main :is(button.profile-secondary,a.profile-secondary){background:var(--ui-tab-bg);border-color:var(--line);color:var(--ui-tab-text)}
body.public-site main :is(button:disabled,[aria-disabled="true"]){opacity:.5;cursor:default}
body.public-site main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):not(.quiz-show *){border-color:var(--line);border-radius:var(--ui-field-radius);background:var(--panel);color:var(--text)}
body.public-site :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--ui-tab-active-bg)}
body.public-site main :is(.games-card,.profile-panel,.account-card.profile-panel,.profile-hero.account-hero,.league-hub-panel,.italy-panel,.search-notice,.ui-card,.story,.latest,.video-card,.video-feature,.f24-poll,.legends-home,.legends-hero,.match-panel,.auth-card,.auth-benefits,.league-table,.quiz-show,.quiz-solution){border-radius:var(--ui-card-radius)}

body.public-site main :is(p,li,td,dd,.page-heading-actions,.section-heading,.profile-trail,.article-body,.article-content)>a:not([class]),body.public-site main :is(.ui-link,.article-back,.latest-more,.quiz-secondary-link,.auth-forgot){color:var(--ui-link);text-decoration:var(--ui-link-decoration);text-underline-offset:3px}
body.public-site main :is(p,li,td,dd,.page-heading-actions,.section-heading,.profile-trail,.article-body,.article-content)>a:not([class]):hover,body.public-site main :is(.ui-link,.article-back,.latest-more,.quiz-secondary-link,.auth-forgot):hover{color:var(--ui-link-hover);text-decoration:var(--ui-link-hover-decoration)}
body.public-site main :is(.search-pagination,.video-pagination,.legends-pagination,.italy-pagination,.league-hub-pagination)>a{display:inline-flex;align-items:center;min-height:var(--ui-control-height);padding:9px 14px;border:1px solid var(--line);border-radius:var(--ui-button-radius);background:var(--ui-tab-bg);color:var(--ui-link);font-size:var(--ui-control-size);font-weight:var(--ui-control-weight);text-decoration:var(--ui-link-decoration)}
body.public-site main :is(.search-pagination,.video-pagination,.legends-pagination,.italy-pagination,.league-hub-pagination)>a:hover{color:var(--ui-link-hover);border-color:currentColor;text-decoration:var(--ui-link-hover-decoration)}
body.public-site :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-focus)!important;outline-offset:3px}

body.public-site main :is(.profile-hero,.club-home-hero,.auth-benefits,.legends-hero,.legends-home,.great-matches-hero,.video-feature) a:not(.games-button):not(.legends-button):not(.club-hero-button):not(.ui-button){--ui-link:currentColor;--ui-link-hover:currentColor}
body.public-site :is(.legend-initials,.great-match-score,.legend-person-nickname){font-family:var(--ui-heading-font)}

body.public-site .navigation-search button{background:var(--ui-button-bg);color:var(--ui-button-text);border-radius:var(--ui-button-radius);font-size:var(--ui-control-size);font-weight:var(--ui-control-weight)}
body.public-site .navigation-search button:hover{background:var(--ui-button-hover);color:var(--ui-button-hover-text)}
body.public-site .navigation-search input{border-radius:var(--ui-field-radius)}
body.public-site .site-topbar{background:var(--nav);color:var(--ui-brand-text,#fff)}
body.public-site .site-topbar a:hover{color:inherit;background:#8882}
body.public-site .site-topbar a:focus-visible{outline-color:var(--ui-focus-on-brand,#fff)!important;outline-offset:-3px}
body.public-site .links>.results-link:not([aria-current]){color:var(--muted);border-bottom-color:transparent}
html[data-site-skin="club"] body.public-site .links>.results-link:not([aria-current]){color:var(--club-on-brand)}
body.public-site .masthead .links>a[aria-current],body.public-site .masthead .league-menu[data-active]>summary{border-bottom-color:var(--lime)}
@media(max-width:1300px){body.public-site .masthead .links>.results-link:not([aria-current]){color:inherit;border-bottom-color:#ffffff26}body.public-site .masthead .navigation :is(a,button,summary):focus-visible{outline-color:var(--ui-focus-on-dark,#fff)!important}}

/* Admin uses the same type and component settings; destructive actions stay distinct. */
body.admin-body .admin-main :is(button:not(.admin-danger),.admin-button){border-radius:var(--ui-button-radius);font-family:var(--ui-body-font);font-size:var(--ui-control-size);font-weight:var(--ui-control-weight)}
body.admin-body .admin-main button:not(.admin-secondary):not(.admin-danger):not([type="button"]){background:var(--ui-button-bg);color:var(--ui-button-text);border-color:var(--ui-button-bg)}
body.admin-body .admin-main button:not(.admin-secondary):not(.admin-danger):not([type="button"]):hover{background:var(--ui-button-hover);color:var(--ui-button-hover-text);filter:none}
body.admin-body .admin-main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){border-radius:var(--ui-field-radius)}
@media(prefers-reduced-motion:reduce){.ui-button,.ui-tabs>a{transition:none}}

body.public-site main .account-section-nav{display:grid}
body.public-site main :is(.account-text-link,.video-youtube-link,.article-widget-more,.match-back,.profile-section-heading>a,.match-panel-heading>a,.league-hub-panel-heading>a,.player-shortcuts a){color:var(--ui-link);text-decoration:var(--ui-link-decoration);text-underline-offset:3px}
body.public-site main :is(.account-text-link,.video-youtube-link,.article-widget-more,.match-back,.profile-section-heading>a,.match-panel-heading>a,.league-hub-panel-heading>a,.player-shortcuts a):hover{color:var(--ui-link-hover);text-decoration:var(--ui-link-hover-decoration)}
body.public-site .masthead .links>a,body.public-site .masthead .league-menu>summary{font-weight:var(--ui-control-weight)}
@media(min-width:1301px){body.public-site .masthead .links{flex-wrap:wrap}body.public-site .masthead .links>a,body.public-site .masthead .league-menu>summary{font-size:var(--ui-control-size)}}
body.public-site main :is(.profile-hero,.club-home-hero,.auth-benefits,.legends-hero,.legends-home,.video-feature){--ui-focus:var(--ui-focus-on-dark,#fff)}
body.public-site footer a:not(.footer-brand){color:var(--ui-link);text-decoration:var(--ui-link-decoration);text-underline-offset:3px}
body.public-site footer a:not(.footer-brand):hover{color:var(--ui-link-hover);text-decoration:var(--ui-link-hover-decoration)}
