/* =====================================================================
   GOLOS & RESUMO — goalVideo, goalTeam (.gt, also the video fallback), summary (.sm)
   Flat, white type, the client's stripes / the player's own card as the only decoration. No boxes, glows or shadows.
   ===================================================================== */

/* ---------- GOLO · VÍDEO ---------- */
.scene-goalVideo { background: #000C0F; }
.scene-goalVideo.gv-fallback { background: transparent; }
.scene-goalVideo .gv-video { position: absolute; left: 0; top: 0; width: 1920px; height: 1080px; display: block; background: #000C0F; object-position: 50% 50%; }

/* mask reveal: clip-path (not overflow) so the text keeps its baseline; padding gives accents room */
.gt .gm, .sm .gm { display: inline-block; padding: .24em .1em 0; margin: -.24em -.1em 0; clip-path: inset(0); white-space: nowrap; }
.gt .gm-i, .sm .gm-i { display: inline-block; }

/* ---------- GOLO (the player-card layout: column centred on x 595, photo / crest on the right) ---------- */
.gt .gt-layer, .gt .gt-host, .gt .gt-hero, .gt .gt-block { pointer-events: none; }
.gt .crest { filter: none; }
.gt .gt-word, .gt .gt-name, .gt .gt-num, .gt .gt-score { line-height: 1; color: #fff; white-space: nowrap; }
.gt .gt-name { letter-spacing: .005em; }
.gt .gt-num { letter-spacing: -.01em; }
.gt .gt-score { font-variant-numeric: tabular-nums; }
/* the one accent: GOLO in flat orange on a home goal; the visitors' goal stays white */
.gt.gt-home .gt-word { color: var(--accent); }
/* the photo region of the scorer's card (box x 880–1920), masked exactly like scenes/cards.css:
   soft left edge ∩ (x ≥ 1100 ∪ y ≥ 650) — hides the card's own name and number */
.gt .gt-photo { will-change: transform, opacity;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 130px), linear-gradient(90deg, transparent 220px, #000 330px), linear-gradient(180deg, transparent 545px, #000 650px);
  -webkit-mask-composite: source-in, source-over, source-over;
  mask-image: linear-gradient(90deg, transparent 0, #000 130px), linear-gradient(90deg, transparent 220px, #000 330px), linear-gradient(180deg, transparent 545px, #000 650px);
  mask-composite: intersect, add, add; }
.gt .gt-crest { object-fit: contain; }

/* ---------- RESUMO DE GOLOS (scoreboard grid) ---------- */
.sm .crest { filter: none; }
.sm .sm-title { line-height: 1; color: #fff; text-align: center; white-space: nowrap; letter-spacing: 4px; }
.sm .sm-svg { position: absolute; left: 0; top: 0; overflow: visible; }
.sm .sm-svg text { fill: #fff; transform-box: fill-box; transform-origin: center; }
.sm .sm-score { font-family: var(--font-num); font-weight: 700; font-variant-numeric: tabular-nums; }
/* scorers: one centred block per side — one entry per line (up to 3), otherwise the entries wrap like text.
   Name and minutes share one size, the minutes quieter; lines are separated by space only */
.sm .sm-list { display: flex; flex-direction: column; align-items: center; row-gap: .3em; line-height: 1; pointer-events: none; }
.sm .sm-list.flow { flex-direction: row; flex-wrap: wrap; justify-content: center; align-content: flex-end; column-gap: .9em; }
.sm .sm-item { flex: none; display: flex; align-items: baseline; gap: .4em; white-space: nowrap; }
.sm .sm-name { color: #fff; letter-spacing: .01em; }
.sm .sm-min { color: rgba(255, 255, 255, .6); }
.sm .sm-item.none .sm-min { color: rgba(255, 255, 255, .5); }
/* minutes of goals without a scorer: always a line of their own, so they never read as someone else's */
.sm .sm-list.flow .sm-item.none { flex-basis: 100%; justify-content: center; }
.sm .sm-none { text-align: center; font-size: 30px; line-height: 44px; letter-spacing: .2em; color: rgba(255, 255, 255, .55); }

/* fundo próprio deste ecrã (⚙ PREPARAR JOGO → ECRÃS): aparece inteiro, sem escurecer */
#bg.has-ecra[data-ecra="goalTeam"] .bg-img { opacity: 1; }
