/* Shared home order and interactions; the active theme supplies colors and character. */
.sm-home-standard { --home-radius:8px; --home-gap:24px; --home-heading-weight:800; --home-bg:var(--appearance-card-bg); --home-text:var(--appearance-card-text); --home-title:var(--appearance-card-title); --home-link:var(--appearance-card-link); --home-line:var(--appearance-card-border); width:min(1140px,calc(100% - 44px)); margin:0 auto; padding:0 0 56px; min-width:0; color:var(--theme-on-background); }
.sm-home-standard *, .sm-home-standard *::before, .sm-home-standard *::after { box-sizing:border-box; }
.sm-home-standard > [data-home-section] { min-width:0; }
.sm-home-standard > .sm-home-section { margin-top:44px; }
.sm-home-matches { display:flow-root; position:relative; min-width:0; }
.sm-home-matches > .sm-home-match-carousel { margin-bottom:0; }
.sm-home-matches .sm-home-match-track { scrollbar-width:none; }
.sm-home-matches .sm-home-match-track::-webkit-scrollbar { display:none; }
.sm-home-matches > .sm-home-match-carousel:not(.sm-home-match-carousel--c) { color:var(--appearance-card-text); }
.sm-home-standard--a .sm-home-matches > .sm-home-match-carousel { color:var(--theme-on-primary); }
.sm-home-standard--i .sm-home-matches > .sm-home-match-carousel { color:var(--theme-on-primary); }
.sm-home-standard--g .sm-home-matches > .sm-home-match-carousel,.sm-home-standard--h .sm-home-matches > .sm-home-match-carousel { color:var(--theme-on-secondary); }
.sm-home-matches .sm-home-match-carousel:not(.sm-home-match-carousel--c) .sm-home-match-controls { position:absolute; z-index:6; inset:0; margin:0; padding:0; background:transparent; border:0; color:inherit; pointer-events:none; }
.sm-home-matches .sm-home-match-carousel:not(.sm-home-match-carousel--c) .sm-home-match-controls button { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; padding:0; background:transparent; color:inherit; pointer-events:auto; }
.sm-home-matches .sm-home-match-carousel:not(.sm-home-match-carousel--c) [data-home-match-prev] { left:8px; }
.sm-home-matches .sm-home-match-carousel:not(.sm-home-match-carousel--c) [data-home-match-next] { right:8px; }
.sm-home-matches .sm-home-match-carousel:not(.sm-home-match-carousel--c) [data-home-match-count] { position:absolute; right:10px; bottom:8px; min-width:40px; font-size:11px; }
.sm-home-matches :is(.sm-a-match-rail,.sm-b-next-match) { padding-inline:64px; }
.sm-home-standard--d .sm-home-matches,.sm-home-standard--e .sm-home-matches,.sm-home-standard--f .sm-home-matches,.sm-home-standard--g .sm-home-matches { padding-top:24px; }
.sm-home-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.sm-home-heading h2 { margin:0; min-width:0; max-width:100%; overflow-wrap:anywhere; color:inherit; font-family:inherit; font-size:28px; font-weight:var(--home-heading-weight); line-height:1.18; letter-spacing:-.025em; }
.sm-home-heading a { color:inherit; display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:650; text-decoration:none; flex-shrink:0; min-height:44px; }
.sm-home-heading a:hover,.sm-home-group:hover .sm-home-group-action { text-decoration:underline; text-underline-offset:4px; }
.sm-home-news-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--home-gap); }
.sm-home-news-card { min-width:0; background:var(--home-bg); color:var(--home-text); border:1px solid var(--home-line); border-radius:var(--home-radius); overflow:hidden; }
.sm-home-news-image { display:block; aspect-ratio:16/10; background:var(--home-bg); overflow:hidden; }
.sm-home-news-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.sm-home-news-card:hover .sm-home-news-image img { transform:scale(1.025); }
.sm-home-news-copy { padding:20px; }
.sm-home-news-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; color:var(--home-text); font-size:12px; line-height:1.5; }
.sm-home-news-meta > span { color:var(--home-link); font-weight:750; }
.sm-home-news-card h3 { margin:12px 0 0; color:var(--home-title); font-size:20px; font-weight:750; line-height:1.3; overflow-wrap:anywhere; }
.sm-home-news-card h3 a { color:inherit; text-decoration:none; }
.sm-home-news-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.sm-home-news-copy p { margin:12px 0 0; color:var(--home-text); font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.sm-home-academy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--home-gap); }
.sm-home-group { display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; padding:24px; background:var(--home-bg); color:var(--home-text); border:1px solid var(--home-line); border-radius:var(--home-radius); text-decoration:none; }
.sm-home-group-age { padding:6px 10px; color:var(--home-link); border:1px solid currentColor; border-radius:calc(var(--home-radius) / 2); font-size:20px; font-weight:800; line-height:1.2; }
.sm-home-group h3 { margin:0; color:var(--home-title); font-size:20px; font-weight:750; line-height:1.3; overflow-wrap:anywhere; }
.sm-home-group p { margin:0; color:var(--home-text); font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.sm-home-group-action { display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:4px; color:var(--home-link); font-size:13px; font-weight:700; }
.sm-home-academy-action { display:flex; justify-content:flex-end; margin-top:20px; }
.sm-home-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:12px 18px; border-radius:var(--home-radius); background:var(--appearance-button-fill); color:var(--appearance-button-text); font-size:14px; font-weight:750; text-decoration:none; }
.sm-home-button:hover { background:var(--appearance-button-hover-bg); color:var(--appearance-button-hover-text); }
.sm-home-media-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:32px; align-items:start; }
.sm-home-media-grid > section { min-width:0; }
.sm-home-video { display:block; position:relative; min-height:330px; height:100%; border-radius:var(--home-radius); overflow:hidden; text-decoration:none; background:var(--home-bg); color:var(--home-text); border:1px solid var(--home-line); }
.sm-home-video > img { display:block; width:100%; aspect-ratio:16/9; max-height:310px; object-fit:cover; }
.sm-home-video-copy { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:24px; color:var(--home-text); }
.sm-home-video-copy > i { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid currentColor; border-radius:50%; color:var(--home-link); }
.sm-home-video-copy > strong { flex:1; min-width:100px; color:var(--home-title); font-size:19px; line-height:1.4; overflow-wrap:anywhere; }
.sm-home-video-copy > span { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--home-link); }
.sm-home-video-empty { min-height:0; }
.sm-home-video-library{min-width:0}.sm-home-video-library [data-home-video-slide][hidden],.sm-home-video-controls[hidden]{display:none}.sm-home-video-library article+article{margin-top:18px}.sm-home-video-library:has(.sm-home-video-controls:not([hidden])) article{margin-top:0}.sm-home-video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;aspect-ratio:16/9;background:var(--appearance-button-fill);color:var(--appearance-button-text);font-size:24px;font-weight:700}.sm-home-video-placeholder>i{font-size:40px}.sm-home-video-source{display:block;padding:0 24px 20px;font-size:12px;line-height:1.5;color:var(--home-text)}.sm-home-video-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;color:var(--theme-on-background);font-size:13px}.sm-home-video-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--home-line);border-radius:var(--home-radius);color:var(--home-title);background:var(--home-bg);font:inherit;font-size:20px;cursor:pointer}
.sm-home-fixtures { background:var(--home-bg); color:var(--home-text); padding:20px; border:1px solid var(--home-line); border-radius:var(--home-radius); }
.sm-home-fixtures .sm-home-heading { margin-bottom:12px; }
.sm-home-fixtures .sm-home-heading h2 { color:var(--home-title); }
.sm-home-fixtures .sm-home-heading a { color:var(--home-link); }
.sm-home-fixture-tabs { display:flex; gap:8px; padding-bottom:12px; }
.sm-home-fixture-tabs button { flex:1; min-width:0; min-height:44px; border:1px solid var(--home-line); border-radius:calc(var(--home-radius) / 2); padding:8px 12px; background:var(--home-bg); color:var(--home-text); font-family:inherit; font-size:13px; font-weight:650; line-height:1.4; cursor:pointer; }
.sm-home-fixture-tabs button[aria-selected="true"] { background:var(--appearance-button-bg); color:var(--appearance-button-text); border-color:var(--appearance-button-bg); }
.sm-home-standard [data-home-fixture-tabs][hidden],.sm-home-standard [data-home-fixture-panel][hidden] { display:none; }
.sm-home-fixtures.has-tabs .sm-home-fixture-fallback-heading { display:none; }
.sm-home-fixture-fallback-heading { margin:16px 0; font-size:16px; color:var(--home-title); }
.sm-home-fixture-row { padding:16px 0; border-top:1px solid var(--home-line); min-width:0; }
.sm-home-fixture-row time { display:flex; justify-content:space-between; gap:8px; color:var(--home-text); font-size:12px; line-height:1.5; }
.sm-home-fixture-teams { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:10px; align-items:center; margin:12px 0 0; color:var(--home-title); font-size:14px; font-weight:650; line-height:1.4; }
.sm-home-fixture-teams > span { min-width:0; overflow-wrap:anywhere; }
.sm-home-fixture-teams > span:last-child { text-align:right; }
.sm-home-fixture-teams .sm-match-side { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.sm-home-fixture-teams > span:last-child .sm-match-side { justify-content:flex-end; }
.sm-home-fixture-teams img.sm-match-logo { width:28px !important; height:28px !important; object-fit:contain; }
.sm-home-fixture-teams b { white-space:nowrap; font-size:14px; }
.sm-home-fixture-row p { margin:8px 0 0; color:var(--home-text); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.sm-home-sponsors { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:32px; padding:28px; border-block:1px solid var(--home-line); background:var(--home-bg); color:var(--home-text); }
.sm-home-sponsors img { display:block; width:auto; max-width:150px; height:64px; object-fit:contain; }
.sm-home-sponsors strong { max-width:180px; overflow-wrap:anywhere; font-size:17px; }
.sm-home-empty { grid-column:1 / -1; margin:0; padding:24px; border:1px solid var(--home-line); border-radius:var(--home-radius); background:var(--home-bg); color:var(--home-text); font-size:14px; line-height:1.6; }
.sm-home-standard > [data-home-section]:not(.sm-home-matches) :focus-visible { outline:3px solid var(--home-link); outline-offset:4px; }
/* Existing theme families: editorial A/G, sports C/D/E/F, rounded B/H, dramatic I. */
.sm-home-standard--a { --home-radius:0px; }
.sm-home-standard--a .sm-home-heading h2 { padding-left:14px; border-left:3px solid var(--color-primary); font-size:19px; font-weight:950; text-transform:uppercase; }
.sm-home-standard--b { --home-radius:12px; }
.sm-home-standard--b .sm-home-news-card { border:0; }
.sm-home-standard--b .sm-home-heading h2 { padding-bottom:10px; border-bottom:2px solid var(--color-primary); font-size:18px; font-weight:950; text-transform:uppercase; }
.sm-home-standard--c .sm-home-heading h2,.sm-home-standard--d .sm-home-heading h2,.sm-home-standard--e .sm-home-heading h2,.sm-home-standard--f .sm-home-heading h2 { font-size:24px; font-weight:950; text-transform:uppercase; }
.sm-home-standard--c .sm-home-group { border-top:3px solid var(--color-primary); }
.sm-home-standard--d { --home-radius:6px; --home-gap:20px; }
.sm-home-standard--d .sm-home-heading h2 { font-size:26px; }
.sm-home-standard--d .sm-home-heading h2::before { content:""; display:inline-block; width:4px; height:.8em; margin-right:10px; background:var(--color-primary); }
.sm-home-standard--e { --home-radius:4px; --home-gap:18px; }
.sm-home-standard--e .sm-home-news-copy { border-top:3px solid var(--color-primary); }
.sm-home-standard--e .sm-home-heading h2 { padding-left:12px; border-left:4px solid var(--color-primary); }
.sm-home-standard--f { --home-radius:0px; }
.sm-home-standard--f .sm-home-news-card { border:0; border-bottom:1px solid var(--home-line); }
.sm-home-standard--g { --home-radius:16px; }
.sm-home-standard--g .sm-home-heading h2 { font-family:Georgia,"Times New Roman",serif; font-size:34px; letter-spacing:-.035em; }
.sm-home-standard--h { --home-radius:20px; --home-heading-weight:750; }
.sm-home-standard--h .sm-home-heading h2 { font-size:32px; }
.sm-home-standard--i { --home-radius:16px; }
.sm-home-standard--i .sm-home-news-card { border:0; }
.sm-home-standard--i .sm-home-news-image { aspect-ratio:4/3; }
.sm-home-standard--i .sm-home-group { border-left:3px solid var(--color-primary); }
/* New full-width placement for the themes whose fixtures used to be sidebars. */
body .sm-home-matches .sm-home-compact { display:grid; grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr); gap:4px 24px; align-items:center; min-height:160px; padding:12px max(56px,calc((100% - 760px)/2)); border-radius:var(--home-radius); margin:0; box-shadow:none; color:var(--appearance-card-text); background:var(--appearance-card-bg); }
.sm-home-matches .sm-home-compact-date { grid-column:2; grid-row:1; text-align:center; font-size:13px; font-weight:500; }
.sm-home-matches .sm-home-compact-home { grid-column:1; grid-row:1 / 5; }
.sm-home-matches .sm-home-compact-away { grid-column:3; grid-row:1 / 5; }
.sm-home-matches .sm-home-compact-team { display:grid; justify-items:center; align-content:center; gap:6px; min-width:0; text-align:center; }
.sm-home-matches .sm-home-compact-team img.sm-match-logo { width:52px !important; height:52px !important; object-fit:contain; }
.sm-home-matches .sm-home-compact-team strong { color:inherit; font-size:16px; font-weight:750; line-height:1.35; text-transform:none; overflow-wrap:anywhere; }
.sm-home-matches .sm-home-compact-vs { grid-column:2; grid-row:2; text-align:center; }
.sm-home-matches .sm-home-compact-vs b { color:inherit; font-size:24px; line-height:1.2; }
.sm-home-matches .sm-home-compact-vs h2 { margin:2px 0 0; color:inherit; font-size:12px; font-family:inherit; font-weight:500; line-height:1.3; text-transform:none; }
.sm-home-matches .sm-home-compact-meta { grid-column:2; grid-row:3; display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap; color:inherit; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.sm-home-matches .sm-home-compact-link { grid-column:2; grid-row:4; justify-self:center; color:inherit; background:transparent; padding:0; border:0; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; min-height:28px; display:inline-flex; align-items:center; gap:8px; }
body .sm-home-standard--h .sm-home-compact,body .sm-home-standard--g .sm-home-compact { color:var(--theme-on-secondary); background:var(--color-secondary); }
body .sm-home-standard--i .sm-home-compact { color:var(--theme-on-primary); background:var(--color-primary); border-top:3px solid var(--color-primary); }
@media(max-width:900px) {
    .sm-home-standard { --home-gap:18px; }
    .sm-home-news-grid,.sm-home-academy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sm-home-media-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
}
@media(max-width:680px) {
    .sm-home-standard { width:calc(100% - 32px); padding-bottom:36px; }
    .sm-home-standard > .sm-home-section { margin-top:32px; }
    .sm-home-heading { align-items:flex-start; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
    .sm-home-heading h2,.sm-home-standard--g .sm-home-heading h2,.sm-home-standard--h .sm-home-heading h2 { font-size:25px; }
    .sm-home-heading a { min-height:28px; font-size:12px; }
    .sm-home-news-grid,.sm-home-academy-grid,.sm-home-standard--a .sm-home-news-grid,.sm-home-standard--f .sm-home-news-grid,.sm-home-standard--g .sm-home-news-grid { grid-template-columns:minmax(0,1fr); }
    .sm-home-standard--a .sm-home-news-card,.sm-home-standard--g .sm-home-news-card { display:block; }
    .sm-home-standard--a .sm-home-news-image,.sm-home-standard--g .sm-home-news-image { aspect-ratio:16/10; min-height:0; }
    .sm-home-news-copy,.sm-home-group,.sm-home-fixtures { padding:18px; }
    .sm-home-news-card h3,.sm-home-group h3 { font-size:19px; }
    .sm-home-academy-action .sm-home-button { width:100%; }
    .sm-home-video { min-height:240px; }
    .sm-home-sponsors { gap:24px; padding:24px 16px; }
    .sm-home-sponsors img { max-width:110px; height:52px; }
    body .sm-home-matches .sm-home-compact { grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr); gap:4px 6px; padding:12px 48px; }
    .sm-home-matches .sm-home-match-carousel:not(.sm-home-match-carousel--c) [data-home-match-prev] { left:0; }
    .sm-home-matches .sm-home-match-carousel:not(.sm-home-match-carousel--c) [data-home-match-next] { right:0; }
    .sm-home-matches :is(.sm-a-match-rail,.sm-b-next-match) { padding-inline:48px; }
    .sm-home-standard--a .sm-home-match-carousel--a { width:100%; }
    .sm-home-matches .sm-a-match-rail,.sm-home-matches .sm-b-next-match { display:grid; grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr); align-items:center; gap:8px 6px; min-height:170px; height:auto; padding:12px 48px; }
    .sm-home-matches .sm-a-match-date { grid-column:1 / -1; grid-row:1; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:6px; }
    .sm-home-matches .sm-a-match-date :is(span,small,i) { font-size:11px; margin:0; }
    .sm-home-matches .sm-a-match-team-home,.sm-home-matches .sm-b-match-club { grid-column:1; grid-row:2; }
    .sm-home-matches .sm-a-versus,.sm-home-matches .sm-b-match-center { grid-column:2; grid-row:2; margin:0; }
    .sm-home-matches .sm-a-match-team:not(.sm-a-match-team-home),.sm-home-matches .sm-b-match-rival { grid-column:3; grid-row:2; }
    .sm-home-matches .sm-a-match-team,.sm-home-matches .sm-b-match-club,.sm-home-matches .sm-b-match-rival .sm-match-side { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-width:0; }
    .sm-home-matches .sm-a-match-team strong,.sm-home-matches .sm-b-match-club strong,.sm-home-matches .sm-b-match-rival { font-size:12px; line-height:1.35; min-width:0; text-align:center; overflow-wrap:anywhere; }
    .sm-home-matches .sm-a-match-team img.sm-match-logo,.sm-home-matches .sm-b-next-match img.sm-match-logo { width:36px !important; height:36px !important; }
    .sm-home-matches .sm-a-match-team strong { order:1; }
    .sm-home-matches .sm-a-match-team strong { text-transform:none; letter-spacing:0; }
    .sm-home-matches .sm-b-next-match > div { padding:0; min-height:0; border:0; }
    .sm-home-matches .sm-b-match-rival { display:block; width:auto; padding:0; border:0; }
    .sm-home-matches .sm-a-match-time,.sm-home-matches .sm-b-match-meta { grid-column:1 / -1; grid-row:3; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px 8px; text-align:center; }
    .sm-home-matches .sm-a-match-time :is(strong,small,i),.sm-home-matches .sm-b-match-meta span { font-size:11px; line-height:1.4; }
    .sm-home-matches .sm-b-match-center :is(span,strong) { font-size:12px; line-height:1.4; }
    .sm-home-matches .sm-b-match-center > strong { font-size:23px; }
    .sm-home-matches .sm-home-compact-date { grid-column:1 / -1; font-size:12px; }
    .sm-home-matches .sm-home-compact-team,.sm-home-matches .sm-home-compact-vs { grid-row:2; }
    .sm-home-matches .sm-home-compact-team strong { font-size:12px; }
    .sm-home-matches .sm-home-compact-team img.sm-match-logo { width:36px !important; height:36px !important; }
    .sm-home-matches .sm-home-compact-meta,.sm-home-matches .sm-home-compact-link { grid-column:1 / -1; }
    .sm-home-matches .sm-home-compact-link { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .sm-home-news-image img { transition:none; } }
