/*
Theme Name: Alchemists Child (Belfiore)
Template: alchemists
Version: 1.4.1
Description: Personalizzazioni di belfiorebasket.it. Il tema Alchemists resta intatto.
Text Domain: alchemists-child
*/

/* ---------- Home: next match (the game page's header, inc/event.php) ---------- */
.bb-hero-row { margin-bottom: 40px; background: var(--bb-ink); }
.bb-hero-row .vc_column-inner { padding: 0 !important; }
.bb-match__label { margin: 0 0 8px; font-family: var(--bb-numerals); font-size: 22px; font-weight: 700; line-height: 1; text-transform: uppercase; color: var(--bb-accent); }
.bb-countdown { display: flex; justify-content: center; gap: 32px; margin: 28px 0 0; font-size: 14px; color: #d5d8de; }
.bb-countdown span { display: flex; flex-direction: column; align-items: center; }
.bb-countdown b { font-family: var(--bb-numerals); font-size: 44px; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.bb-match__more { margin: 24px 0 0; }
.bb-match__more a { display: inline-block; padding: 10px 24px; border-radius: 4px; background: var(--bb-accent); color: var(--bb-ink); font-weight: 700; }
@media (hover: hover) { .bb-match__more a:hover { background: #fff; color: var(--bb-ink); } }
.bb-logo { width: 80px; height: 80px; object-fit: contain; }
.bb-logo--initials { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #3c4150; color: #fff; font-size: 26px; font-weight: 800; }

/* ---------- Home: cards ---------- */
.bb-card { background: #fff; border-radius: 4px; padding: 20px 24px; margin-bottom: 24px; }
.bb-news { list-style: none; margin: 0; padding: 0; }
.bb-news li { padding: 8px 0; border-bottom: 1px solid var(--bb-rule); }
.bb-news small { color: var(--bb-muted); margin-inline-start: 8px; }

/* ---------- Home: Instagram strip ----------
   Smash Balloon 6 ignores num/cols on the shortcode (only feed=ID): cap the saved feed here. */
.bb-instagram-row #sbi_images { grid-template-columns: repeat(4, 1fr) !important; }
.bb-instagram-row .sbi_photo { height: auto !important; aspect-ratio: 1 / 1; } /* plugin JS sets heights for its own column count */
.bb-instagram-row .sb_instagram_header h3,
.bb-instagram-row .sb_instagram_header p { color: #1e2129 !important; } /* white on the light page otherwise */
.bb-instagram-row .sbi_item:nth-child(n+5),
.bb-instagram-row .sbi_load_btn { display: none !important; }

/* ---------- Tokens ---------- */
:root {
	--bb-ink: #1e2129;
	--bb-muted: #62666f;       /* 5.7:1 on white; the theme's #9a9da2 is 2.7:1 */
	--bb-rule: #e4e7ed;
	--bb-sheet: #fff;
	--bb-accent: #38a9ff;      /* fills and marks only: 2.5:1 as text */
	--bb-accent-text: #0b6fbf;
	--bb-accent-tint: #eef6ff;
	--bb-won: #1a7f55;
	--bb-lost: #c0392b;
	--bb-numerals: "Barlow Condensed", "Arial Narrow", sans-serif;
}

/* ---------- Schedule (sportspress/event-list.php): a scoreboard, one sheet ---------- */
.bb-sched { margin-bottom: 32px; color: var(--bb-ink); }
.bb-sched__title { margin: 0 0 16px; font-size: 22px; line-height: 1.1; text-transform: none; }
.bb-sched__subscribe { margin: 0 0 24px; color: var(--bb-muted); }
.bb-sched__subscribe a { margin-inline-start: 12px; font-weight: 700; color: var(--bb-accent-text); text-decoration: underline; text-underline-offset: 3px; }
.bb-sched__empty { color: var(--bb-muted); }
.bb-sched__month { margin: 32px 0 8px; font-size: 16px; line-height: 1.2; text-transform: none; color: var(--bb-muted); }
.bb-sched__month:first-of-type { margin-top: 0; }
.bb-sched__list { list-style: none; margin: 0; padding: 0; background: var(--bb-sheet); border-radius: 4px; }
.bb-game + .bb-game { border-top: 1px solid var(--bb-rule); }
.bb-game a {
	display: grid; grid-template-columns: 56px 1fr auto; column-gap: 20px; align-items: baseline;
	padding: 16px 24px; color: inherit; border-inline-start: 4px solid transparent;
}
.bb-game--next a { border-inline-start-color: var(--bb-accent); background: var(--bb-accent-tint); }
@media (hover: hover) { .bb-game a:hover { background: #f6f7f9; color: inherit; } .bb-game--next a:hover { background: var(--bb-accent-tint); } }
.bb-game a:focus-visible { outline: 2px solid var(--bb-accent-text); outline-offset: -2px; }
.bb-game__date { grid-row: 1 / 3; align-self: center; display: flex; flex-direction: column; color: var(--bb-muted); font-size: 13px; line-height: 1; }
.bb-game__date b { font-family: var(--bb-numerals); font-size: 36px; font-weight: 700; color: var(--bb-ink); font-variant-numeric: tabular-nums; }
.bb-game__team { grid-column: 2; font-size: 16px; line-height: 1.5; }
.bb-game__team.is-us { font-weight: 700; }
.bb-game__pts, .bb-game__time { grid-column: 3; font-family: var(--bb-numerals); font-variant-numeric: tabular-nums; text-align: end; line-height: 1.2; }
.bb-game__pts { font-size: 24px; font-weight: 500; color: var(--bb-muted); }
.bb-game__pts.is-winner { font-weight: 700; color: var(--bb-ink); }
.bb-game__time { grid-row: 1 / 3; align-self: center; font-size: 28px; font-weight: 600; }
.bb-game__info { grid-column: 2 / -1; margin-top: 4px; font-size: 14px; color: var(--bb-muted); }
.bb-game__outcome { margin-inline-end: 8px; }
.bb-game__outcome--won { color: var(--bb-won); }
.bb-game__outcome--lost { color: var(--bb-lost); }
.bb-game__outcome--next { color: var(--bb-accent-text); }
.bb-sched__more { margin-top: 12px; text-align: end; }

/* Calendar page: no sidebar content, so use the width. The old WPBakery buttons row is replaced by .bb-sched__subscribe. */
.single-sp_calendar #primary, .bb-narrow #primary { flex: 0 0 100%; max-width: 760px; margin-inline: auto; float: none; }
.single-sp_calendar .sp-section-content-content,
.single-sp_calendar #secondary, .bb-narrow #secondary { display: none; }

/* ---------- Everywhere: page headings, theme cards and section titles in the scoreboard style ---------- */
.page-heading { padding-block: 56px 48px; background: var(--bb-ink) none !important; }
.page-heading::before, .page-heading::after { display: none; }
.page-heading .page-heading__title { margin: 0; color: #fff; font-family: var(--bb-numerals); font-size: 88px; font-weight: 700; line-height: .9; letter-spacing: -.01em; }
.page-heading .page-heading__title span, .page-heading .page-heading__title .highlight { color: inherit; }
.bb-sched__title, .card__header h4, .card__header .sp-table-caption, .bb-card__title {
	margin: 0 0 16px; padding: 0; border: 0; font-family: var(--bb-numerals); font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: 0; text-transform: uppercase; color: var(--bb-ink);
}
.card { border: 0; border-radius: 4px; box-shadow: none; }
.card__header { padding: 20px 24px 4px; border-bottom: 0; background: none; }
.card__header::before, .card__header::after { display: none; }
.bb-card { box-shadow: none; }

/* Team page (inc/team.php): the player header's band with a crest instead of the photo. */
.bb-team__grid { display: grid; column-gap: 40px; grid-template-columns: 160px 1fr 300px; grid-template-rows: auto; align-items: center; padding-block: 40px; }
.bb-team__crest .bb-logo { width: 160px; height: 160px; padding: 16px; background: #fff; border-radius: 12px; font-size: 48px; }
.bb-team__crest .bb-logo--initials { background: #3c4150; }
.bb-team .bb-pl__name { padding-block: 0; }
.bb-team .bb-pl__name h1 { font-size: 80px; }
.bb-team .bb-pl__facts { padding-block: 0; }
.bb-team__record { display: flex; flex-wrap: wrap; gap: 8px 40px; margin: 24px 0 0; }
.bb-team__record span { display: flex; flex-direction: column; font-size: 14px; color: #d5d8de; }
.bb-team__record b { font-family: var(--bb-numerals); font-size: 40px; line-height: 1; color: #fff; }
.bb-team__body { display: grid; grid-template-columns: 1fr 340px; gap: 40px; align-items: start; }
.bb-cta { margin: 16px 0 0; }
.bb-cta a { display: inline-block; padding: 10px 20px; border: 2px solid var(--bb-ink); border-radius: 4px; font-weight: 700; color: var(--bb-ink); }
@media (hover: hover) { .bb-cta a:hover { background: var(--bb-ink); color: #fff; } }
.bb-cta a:focus-visible { outline: 2px solid var(--bb-accent-text); outline-offset: 2px; }
.bb-standings-excerpt { margin: 0; background: #fff; border-radius: 4px; }
.bb-standings-excerpt td { text-align: center; }
.bb-standings-excerpt td.data-name { text-align: start; }

/* ---------- Data tables: standings and the player's game log share the scoreboard numerals ---------- */
.sp-league-table { font-variant-numeric: tabular-nums; }
.sp-league-table .team-logo,
.game-player-result .team-meta__logo { display: none; }  /* logos are a mix of crests, squares and blanks */
.game-player-result.table > tbody > tr > td { font-family: var(--bb-numerals); font-size: 18px; color: var(--bb-ink); font-variant-numeric: tabular-nums; }
.game-player-result.table > tbody > tr > td:first-child,
.game-player-result.table > tbody > tr > td:nth-child(2) { font-family: inherit; font-size: 15px; }
.game-player-result.table > tbody > tr > td:first-child { color: var(--bb-muted); }
.game-player-result.table .game-player-result__score a { color: var(--bb-ink); }
.game-player-result.table td.game-player-result__vs { font-family: inherit; font-size: 15px; color: var(--bb-ink); }
/* Whole row opens the game (link on the opponent's name, stretched over the row). */
.bb-linked-row { position: relative; }
.bb-linked-row .team-meta__name a { color: inherit; }
.bb-linked-row .team-meta__name a::after { content: ""; position: absolute; inset: 0; }
@media (hover: hover) { .bb-linked-row:hover td { background: #f6f7f9; } .bb-linked-row:hover .team-meta__name a { color: var(--bb-accent-text); } }
.bb-linked-row .team-meta__name a:focus-visible { outline: 0; }
.bb-linked-row:has(a:focus-visible) { outline: 2px solid var(--bb-accent-text); outline-offset: -2px; }
.game-player-result td.game-player-result__stat:empty::before { content: "–"; color: var(--bb-muted); } /* not recorded on that sheet */
.game-player-result .team-meta__name { margin: 0; font-family: "Source Sans 3", sans-serif; font-size: 15px; font-weight: 600; text-transform: none; color: var(--bb-ink); }
.game-player-result__score-win { color: var(--bb-won); font-weight: 700; }
.game-player-result__score-lose { color: var(--bb-lost); font-weight: 700; }
.sp-league-table.table > tbody > tr > td { padding-block: 10px; font-family: var(--bb-numerals); font-size: 18px; font-weight: 500; color: var(--bb-ink); }
.sp-league-table.table > tbody > tr > td.data-name { font-family: inherit; font-size: 15px; }
.sp-league-table.table > tbody > tr > td.data-rank { color: var(--bb-muted); }
.sp-league-table.table > tbody > tr > td.data-punti { font-weight: 700; font-size: 20px; }
.sp-league-table th { color: var(--bb-muted); }
.sp-league-table.table > tbody > tr.highlighted > td { background: var(--bb-accent-tint); font-weight: 700; }
.sp-league-table.table > tbody > tr.highlighted > td:first-child { box-shadow: inset 4px 0 0 var(--bb-accent); }
.sp-league-table tr:has(td.data-name a) { position: relative; }
.sp-league-table td.data-name a { color: inherit; }
.sp-league-table td.data-name a::after { content: ""; position: absolute; inset: 0; }  /* whole row opens the team */
@media (hover: hover) { .sp-league-table tr:has(td.data-name a):hover > td { background: #f6f7f9; } .sp-league-table tr:hover td.data-name a { color: var(--bb-accent-text); text-decoration: underline; } }
.sp-league-table td.data-name a:focus-visible { outline: 2px solid var(--bb-accent-text); outline-offset: 2px; }
.bb-legend { margin-top: 12px; font-size: 14px; color: var(--bb-muted); max-width: 65ch; }

/* Standings page: the hero already says "Classifica"; no sidebar content. */
.single-sp_table #primary { flex: 0 0 100%; max-width: 760px; margin-inline: auto; }
.single-sp_table #secondary,
.single-sp_table .sp-template-league-table .card__header { display: none; }

/* ---------- Roster (sportspress/player-gallery.php) ---------- */
.bb-roster { list-style: none; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 32px 20px; }
.bb-roster a { display: flex; flex-direction: column; color: var(--bb-ink); }
.bb-roster__photo { display: block; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 4px; background: #e7e3dc; } /* the wall behind the team photos */
.bb-roster__photo img { width: 100%; height: 100%; object-fit: cover; outline: 1px solid rgb(0 0 0 / .1); outline-offset: -1px; }
.bb-roster__photo--none { display: flex; align-items: center; justify-content: center; }
.bb-roster__photo--none img { width: 40%; height: auto; outline: 0; opacity: .35; filter: grayscale(1); }
.bb-roster__name { margin-top: 10px; font-weight: 700; font-size: 16px; line-height: 1.3; text-wrap: balance; }
.bb-roster__age { font-size: 14px; color: var(--bb-muted); }
@media (hover: hover) { .bb-roster a:hover .bb-roster__name { color: var(--bb-accent-text); } }
.bb-roster a:focus-visible { outline: 2px solid var(--bb-accent-text); outline-offset: 4px; border-radius: 4px; }

/* Roster page: four across, no sidebar. */
.single-sp_list #primary { flex: 0 0 100%; max-width: 100%; }
.single-sp_list #secondary { display: none; }

/* ---------- Player page (sportspress/player/heading/player-heading-fullwidth.php), after legabasket.it ---------- */
.bb-pl { background: var(--bb-ink); color: #fff; overflow: hidden; }
.bb-pl__grid { display: grid; grid-template-columns: 340px 1fr 300px; grid-template-rows: auto auto; column-gap: 40px; }
.bb-pl__photo { grid-row: 1 / 3; align-self: end; margin-top: 40px; height: 520px; background: #e7e3dc; border-radius: 4px 4px 0 0; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.bb-pl__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.bb-pl__photo img.bb-pl__crest { width: 50%; height: auto; opacity: .35; filter: grayscale(1); }
.bb-pl__name { padding-block: 64px 32px; }
.bb-pl__name h1 { margin: 0; color: #fff; font-family: var(--bb-numerals); font-weight: 700; font-size: 104px; line-height: .9; text-transform: uppercase; letter-spacing: -.01em; overflow-wrap: anywhere; }
.bb-pl__name h1 span { display: block; margin-bottom: 4px; font-size: 32px; font-weight: 600; line-height: 1; letter-spacing: 0; }
.bb-pl__team { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; font-size: 16px; color: #d5d8de; }
.bb-pl__team img { width: 32px; height: 32px; object-fit: contain; }
.bb-pl__facts { padding: 48px 0 32px 24px; border-inline-start: 1px solid rgb(255 255 255 / .15); }
.bb-pl__facts h2 { margin: 0 0 8px; color: #fff; font-family: var(--bb-numerals); font-weight: 700; font-size: 28px; line-height: 1; text-transform: uppercase; }
.bb-pl__card { margin: 0 0 28px; font-size: 16px; white-space: pre; }
.bb-pl__facts dl { margin: 0; }
.bb-pl__facts dl div { display: flex; justify-content: space-between; gap: 16px; padding-block: 8px; border-bottom: 1px solid rgb(255 255 255 / .15); font-size: 14px; }
.bb-pl__facts dt { font-weight: 400; color: #d5d8de; text-transform: none; letter-spacing: 0; font-family: inherit; }
.bb-pl__facts dd { margin: 0; font-weight: 700; text-align: end; }
/* Last game strip, sitting on the band's bottom edge. */
.bb-pl__last { grid-column: 2 / 4; display: grid; grid-template-columns: 1fr 1fr; color: var(--bb-ink); }
.bb-pl__last-vs { display: flex; flex-direction: column; justify-content: center; padding: 24px 32px; background: #fff; font-size: 15px; }
.bb-pl__last-vs b { font-family: var(--bb-numerals); font-size: 30px; line-height: 1.1; text-transform: uppercase; }
.bb-pl__go { margin-top: 12px; font-weight: 700; font-size: 13px; color: var(--bb-accent-text); }
.bb-pl__last-game { display: grid; grid-template-columns: repeat(3, 1fr); justify-items: center; gap: 4px; padding: 16px 24px; background: #f2f4f8; }
.bb-pl__last-date { grid-column: 1 / -1; font-size: 13px; color: var(--bb-muted); }
.bb-pl__last-score { grid-column: 1 / -1; font-family: var(--bb-numerals); font-size: 40px; font-weight: 700; line-height: 1; color: var(--bb-muted); font-variant-numeric: tabular-nums; }
.bb-pl__last-score i { font-style: normal; margin-inline: 8px; }
.bb-pl__last-score .is-winner { color: var(--bb-ink); }
.bb-pl__last-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--bb-rule); }
.bb-pl__last-stats span { display: flex; flex-direction: column; align-items: center; font-size: 12px; color: var(--bb-muted); }
.bb-pl__last-stats b { font-family: var(--bb-numerals); font-size: 30px; line-height: 1.1; color: var(--bb-accent-text); }
@media (hover: hover) { .bb-pl__last:hover { color: var(--bb-ink); } .bb-pl__last:hover .bb-pl__go { text-decoration: underline; } }
.bb-pl__last:focus-visible { outline: 2px solid var(--bb-accent); outline-offset: 2px; }

/* Season rings and the totals / average / best table. */
.bb-pl-stats { padding-block: 48px 8px; }
.bb-pl-stats__scope { margin: 0 0 24px; text-align: center; color: var(--bb-muted); }
.bb-rings { list-style: none; margin: 0 0 48px; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; }
.bb-rings li { display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1; border: 3px solid var(--bb-accent); border-inline-color: transparent; border-radius: 50%; font-size: 15px; font-weight: 600; color: var(--bb-muted); }
.bb-rings b { font-family: var(--bb-numerals); font-size: 52px; line-height: 1; font-weight: 700; color: var(--bb-ink); font-variant-numeric: tabular-nums; }
.bb-pl-table { overflow-x: auto; margin-bottom: 16px; background: #fff; border-radius: 4px; }
.bb-pl-table table { width: 100%; min-width: 820px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.bb-pl-table thead th { padding: 8px; background: var(--bb-ink); color: #fff; font-size: 12px; font-weight: 700; text-align: center; }
.bb-pl-table tbody th { padding: 10px 16px; font-size: 13px; font-weight: 700; text-align: start; white-space: nowrap; }
.bb-pl-table td { padding: 10px 8px; text-align: center; font-family: var(--bb-numerals); font-size: 18px; color: var(--bb-ink); border-top: 1px solid var(--bb-rule); }
.bb-pl-table tbody th { border-top: 1px solid var(--bb-rule); }
.bb-pl-table tbody tr:nth-child(2) > * { background: var(--bb-accent-tint); }

/* Player content: the game log takes the width; the theme's "follow us" buttons duplicate the header icons. */
.single-sp_player .site-content .vc_col-sm-8 { width: 100%; }
.single-sp_player .site-content .vc_col-sm-4 { display: none; }

/* ---------- Game page (sportspress/single-event.php, inc/event.php) ---------- */
.bb-match { background: var(--bb-ink); color: #fff; padding-block: 40px 32px; text-align: center; }
.bb-match__meta { margin: 0 0 24px; font-size: 15px; line-height: 1.5; color: #d5d8de; }
.bb-match__board { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; }
.bb-match__team { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.bb-match__team .bb-logo { width: 96px; height: 96px; }
.bb-match__team img.bb-logo { padding: 10px; background: #fff; border-radius: 12px; }  /* crests drawn for white backgrounds */
.bb-match__name { margin: 0; color: #fff; font-family: var(--bb-numerals); font-size: 32px; font-weight: 700; line-height: 1; text-transform: uppercase; text-wrap: balance; }
.bb-match__score { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; font-family: var(--bb-numerals); font-size: 112px; font-weight: 700; line-height: .9; color: #8b909b; font-variant-numeric: tabular-nums; }
.bb-match__score .is-winner { color: #fff; }
.bb-match__score i { font-style: normal; margin-inline: 16px; font-size: 64px; }
.bb-match__score small { flex-basis: 100%; margin-top: 12px; font-family: "Source Sans 3", sans-serif; font-size: 14px; font-weight: 600; color: #d5d8de; }
.bb-match .bb-match__quarters { width: auto; margin: 32px auto 0; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.bb-match__quarters th, .bb-match__quarters td { padding: 6px 14px; border-bottom: 1px solid rgb(255 255 255 / .15); }
.bb-match__quarters thead th { font-size: 13px; font-weight: 600; color: #d5d8de; }
.bb-match__quarters tbody th { text-align: start; font-family: "Source Sans 3", sans-serif; font-size: 15px; font-weight: 600; text-transform: none; color: #fff; }
.bb-match__quarters td { font-family: var(--bb-numerals); font-size: 22px; }
.bb-match__venue { margin: 28px 0 0; font-size: 15px; color: #d5d8de; }
.bb-match__venue a { margin-inline-start: 12px; font-weight: 700; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.bb-event { padding-block: 48px; }
.bb-event__empty { margin: 0; text-align: center; color: var(--bb-muted); }
.bb-event__section + .bb-event__section { margin-top: 48px; }
.bb-event .bb-rings { margin-bottom: 32px; }
/* Box score: player names stay visible while the stats scroll sideways on phones. */
.bb-box table { min-width: 1000px; }
.bb-box tbody th, .bb-box thead th:nth-child(2) { position: sticky; inset-inline-start: 0; z-index: 1; background: #fff; text-align: start; }
.bb-box thead th:nth-child(2) { background: var(--bb-ink); }
.bb-box tbody th { font-family: "Source Sans 3", sans-serif; font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.bb-box tbody th a { color: var(--bb-ink); }
.bb-box tbody tr:nth-child(2) > * { background: none; }  /* undo the player table's "Media" tint */
.bb-box tbody tr:nth-child(2) > th { background: #fff; }
.bb-box td:first-child { color: var(--bb-muted); font-size: 15px; }
.bb-box .bb-box__total > * { font-weight: 700; background: var(--bb-accent-tint); }
.bb-box .bb-box__total > td { font-weight: 700; }

/* ---------- Player page below desktop ---------- */
@media (max-width: 1199px) {
	.bb-pl__grid { grid-template-columns: 260px 1fr; }
	.bb-pl__photo { grid-row: 1 / 2; height: 420px; }
	.bb-pl__facts { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; padding: 32px 0; border: 0; border-top: 1px solid rgb(255 255 255 / .15); }
	.bb-pl__facts h2:first-of-type, .bb-pl__card { grid-column: 1; }
	.bb-pl__facts h2:nth-of-type(2) { grid-column: 2; grid-row: 1; }
	.bb-pl__facts dl { grid-column: 2; grid-row: 2 / 4; }
	.bb-pl__last { grid-column: 1 / -1; }
	.bb-rings { grid-template-columns: repeat(3, 1fr); max-width: 640px; margin-inline: auto; }
}

/* ---------- Phone ---------- */
@media (max-width: 991px) {
	.bb-team__grid { grid-template-columns: 120px 1fr; }
	.bb-team__crest .bb-logo { width: 120px; height: 120px; }
	.bb-team .bb-pl__facts { grid-column: 1 / -1; display: block; padding-top: 24px; }
	.bb-team__body { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
	.page-heading { padding-block: 32px 28px; }
	.page-heading .page-heading__title { font-size: 52px; }
	.bb-team__grid { grid-template-columns: 72px 1fr; column-gap: 16px; padding-block: 24px; }
	.bb-team__crest .bb-logo { width: 72px; height: 72px; padding: 8px; font-size: 24px; }
	.bb-team .bb-pl__name { grid-column: 2; grid-row: 1; padding-block: 0; }
	.bb-team .bb-pl__name h1 { font-size: 36px; overflow-wrap: normal; }
	.bb-team__record { gap: 8px 20px; margin-top: 12px; }
	.bb-team__record b { font-size: 32px; }
	/* Game page */
	.bb-countdown { gap: 20px; }
	.bb-countdown b { font-size: 34px; }
	.bb-match { padding-block: 24px; }
	.bb-match__board { gap: 8px; }
	.bb-match__team .bb-logo { width: 56px; height: 56px; }
	.bb-match__name { font-size: 18px; }
	.bb-match__score { font-size: 56px; }
	.bb-match__score i { margin-inline: 6px; font-size: 32px; }
	.bb-match__quarters th, .bb-match__quarters td { padding: 4px 8px; }
	.bb-match__quarters td { font-size: 18px; }
	/* Player: name beside the photo (as legabasket.it on phones), facts and last game stacked below. */
	.bb-pl__grid { grid-template-columns: 1fr 42%; column-gap: 12px; }
	.bb-pl__name { grid-column: 1; grid-row: 1; padding-block: 32px; align-self: center; }
	.bb-pl__name h1 { font-size: 52px; }
	.bb-pl__name h1 span { font-size: 22px; }
	.bb-pl__photo { grid-column: 2; grid-row: 1; height: 240px; margin-top: 24px; }
	.bb-pl__facts { display: block; padding: 24px 0; }
	.bb-pl__last { grid-template-columns: 1fr; margin-inline: -15px; }
	.bb-pl__last-vs { padding: 20px 16px; }
	.bb-rings { grid-template-columns: repeat(3, 1fr); gap: 12px; }
	.bb-rings li { font-size: 13px; border-width: 2px; }
	.bb-rings b { font-size: 34px; }
	.bb-card { padding: 16px; }
	.bb-instagram-row #sbi_images { grid-template-columns: repeat(2, 1fr) !important; }
	.bb-game a { grid-template-columns: 44px 1fr auto; column-gap: 12px; padding: 12px 16px; }
	.bb-game__date b { font-size: 28px; }
	.bb-sched__subscribe a { display: inline-block; margin: 4px 12px 0 0; }
	.bb-roster { grid-template-columns: repeat(2, 1fr); gap: 24px 12px; }
	/* Player game log: each game becomes two lines (opponent + score, then date + stats). */
	.game-player-result thead { display: none; }
	.game-player-result.table > tbody > tr { display: grid; grid-template-columns: 1fr repeat(3, 52px); align-items: baseline; gap: 4px 8px; padding: 12px 16px; border-top: 1px solid var(--bb-rule); }
	.game-player-result.table > tbody > tr > td { display: block; padding: 0; border: 0; background: none; text-align: end; }
	.game-player-result.table > tbody > tr > td:nth-child(2) { grid-area: 1 / 1 / 2 / 2; text-align: start; }
	.game-player-result.table > tbody > tr > td:nth-child(3) { grid-area: 1 / 2 / 2 / 5; white-space: nowrap; }
	.game-player-result.table > tbody > tr > td:first-child { grid-area: 2 / 1; text-align: start; font-size: 14px; }
	.game-player-result.table td.game-player-result__vs .team-meta__name { font-size: 15px; font-weight: 700; }
	.game-player-result td.data-pts::after { content: " pti"; }
	.game-player-result td.data-ast::after { content: " ast"; }
	.game-player-result td.data-reb::after { content: " rim"; }
	.game-player-result td.game-player-result__stat::after { font-family: "Source Sans 3", sans-serif; font-size: 12px; color: var(--bb-muted); }
}
