/* Modelo Arena — CSS da maquete (maq/arena.html), com as regras globais só para body.vwm-arena. */
:root {
  --bg: #0c0e11; --bg2: #13161b; --bg3: #1b1f26; --line: rgba(255,255,255,.1);
  --tx: #eef0f2; --tx2: #a9b0b8; --tx3: #7c848d;
  --c1l: color-mix(in oklab, var(--c1) 55%, white);
  --c1d: color-mix(in oklab, var(--c1) 60%, black);
  --on1: #fff; --on2: #15171a;
  --c2t: var(--c2);
  --t: "Exo 2", "Arial Black", "Segoe UI", sans-serif;
  --b: "Titillium Web", "Segoe UI", system-ui, sans-serif;
  --wrap: 1240px; --g: 24px;
}
@supports (color: oklch(from red l c h)) {
  :root {
    --on1: oklch(from var(--c1) calc((0.7 - l) * 1000) 0 0);
    --on2: oklch(from var(--c2) calc((0.7 - l) * 1000) 0 0);
    --c2t: oklch(from var(--c2) max(l, 0.78) c h);
    --c1l: oklch(from var(--c1) max(l, 0.72) min(c, 0.2) h);
    --c1d: oklch(from var(--c1) min(l, 0.3) c h);
  }
}
body.vwm-arena, body.vwm-arena *, body.vwm-arena *::before, body.vwm-arena *::after { box-sizing: border-box; }
html:has(> body.vwm-arena) { -webkit-text-size-adjust: 100%; background: var(--bg); }
body.vwm-arena { margin: 0; background: var(--bg); color: var(--tx); font: 400 16px/1.55 var(--b); }
:where(body.vwm-arena) img { display: block; max-width: 100%; }
html :where(body.vwm-arena) a { color: inherit; }
html :where(body.vwm-arena) :is(h1, h2, h3, h4, h5, h6) { text-transform: none; font-family: var(--t); font-weight: 800; margin: 0; line-height: 1.05; letter-spacing: -.005em; text-wrap: balance; }
:where(body.vwm-arena) :focus-visible { outline: 3px solid var(--c2t); outline-offset: 3px; }
/* Elementos com clip-path cortam o contorno exterior: foco desenhado por dentro. */
.btn:focus-visible, .hd__brandin:focus-visible, .hd__nav a.hd__cta:focus-visible, .filt button:focus-visible { outline: 3px solid currentColor; outline-offset: -7px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tn { font-variant-numeric: tabular-nums; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--g); }
.sec { padding: 64px 0; }
/* Blocos da página inicial: margens (colapsam entre vizinhos) para que um bloco desligado não deixe buraco. */
#v-inicio { display: flow-root; }
.isec { margin: 64px 0; }
.sh__p { margin: 8px 0 0; color: var(--tx2); font-size: 16px; }
.sh { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
.sh h2 { font-size: clamp(28px, 4vw, 44px); text-transform: uppercase; position: relative; padding-left: 20px; }
.sh h2::before { content: ""; position: absolute; left: 0; top: .12em; bottom: .12em; width: 8px; background: var(--c2t); transform: skewX(-14deg); }
.sh a, .lnk { display: inline-flex; align-items: center; min-height: 44px; font: 700 13px/1 var(--b); text-transform: uppercase; letter-spacing: .08em; color: var(--c2t); text-decoration: none; padding: 8px 0; }
.sh a:hover, .lnk:hover { text-decoration: underline; }
.kick { font: 700 12px/1 var(--b); text-transform: uppercase; letter-spacing: .16em; color: var(--c2t); }
.btn { display: inline-flex; align-items: center; gap: 8px; font: 800 15px/1 var(--t); text-transform: uppercase; letter-spacing: .03em; padding: 15px 26px; text-decoration: none; clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%); }
.btn--2 { background: var(--c2); color: var(--on2); }
.btn--g { background: rgba(255,255,255,.12); color: #fff; }
.btn:hover { filter: brightness(1.08); }
.sigla { display: grid; place-items: center; border-radius: 50%; background: var(--bg3); border: 2px solid rgba(255,255,255,.28); font: 800 14px/1 var(--t); color: #fff; }
.emb { object-fit: contain; }

/* Cabeçalho: bloco de marca cortado na diagonal, na cor do clube, com filete --c2 */
.hd { position: relative; z-index: 20; display: flex; align-items: stretch; height: 84px; }
.hd__brand { flex: 0 0 auto; background: var(--c2); clip-path: polygon(0 0, 100% 0, calc(100% - 46px) 100%, 0 100%); padding-right: 7px; }
.hd__brandin { height: 100%; display: flex; align-items: center; gap: 14px; padding: 0 70px 0 max(var(--g), calc((100vw - var(--wrap)) / 2 + var(--g))); background: var(--c1); color: var(--on1); clip-path: polygon(0 0, 100% 0, calc(100% - 46px) 100%, 0 100%); text-decoration: none; }
.hd__brandin img { width: 54px; height: 54px; }
.hd__brandin b { font: 900 22px/1 var(--t); text-transform: uppercase; display: block; }
.hd__brandin small { font: 600 11px/1.2 var(--b); letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.hd__nav { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 4px; padding: 0 max(var(--g), calc((100vw - var(--wrap)) / 2 + var(--g))) 0 20px; }
.hd__nav a { text-shadow: 0 1px 8px rgba(0,0,0,.6); font: 700 14px/1 var(--t); text-transform: uppercase; letter-spacing: .04em; text-decoration: none; padding: 10px 12px; color: #fff; }
.hd__nav a:hover, .hd__nav a[aria-current] { color: var(--c2t); }
.hd__nav a.hd__cta { text-shadow: none; background: var(--c2); color: var(--on2); margin-left: 10px; clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%); padding: 12px 18px; }
.hd__btn { display: none; }
.hd--solid { background: var(--bg2); border-bottom: 1px solid var(--line); }

/* Destaque com foto grande e cartão de vidro */
.hero { position: relative; min-height: 700px; display: flex; flex-direction: column; overflow: hidden; }
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,10,12,.72) 0%, rgba(8,10,12,.25) 35%, rgba(8,10,12,.55) 70%, var(--bg) 100%), linear-gradient(90deg, rgba(8,10,12,.75), rgba(8,10,12,0) 60%); }
.hero > *:not(img) { position: relative; z-index: 1; }
.hero__in { width: 100%; }
/* O cabeçalho vem antes do <main>: sobre a fotografia (início, equipa) fica por cima, em posição absoluta. */
body.vwm-arena { position: relative; }
.hd--sobre { position: absolute; top: 0; left: 0; right: 0; }
.hero, .th { padding-top: 84px; }
#v-inicio > .last:first-child { margin-top: 40px; }
.hero__in { flex: 1; display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: center; padding-top: 50px; padding-bottom: 130px; }
.hero h1 { font-size: clamp(52px, 8.6vw, 116px); font-weight: 900; text-transform: uppercase; line-height: .9; margin: 16px 0 14px; text-shadow: 0 4px 30px rgba(0,0,0,.4); }
.hero h1 span { display: block; color: transparent; -webkit-text-stroke: 2px #fff; }
.hero__full { font-size: 17px; color: #d5d9dd; max-width: 520px; margin: 0 0 28px; }
.hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.hero__in:not(:has(> [data-bloco="proximo-jogo"]:not([hidden]))) { grid-template-columns: 1fr; }
.hero__in:not(:has(> [data-bloco="destaque"]:not([hidden]))) { grid-template-columns: minmax(0, 560px); justify-content: center; }
.hero:not(:has(+ .last)) .hero__in { padding-bottom: 70px; }
.glass { background: rgba(20,24,30,.48); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.nm { padding: 24px 26px; }
.nm__top { display: flex; justify-content: space-between; gap: 10px; align-items: center; font: 700 12px/1.2 var(--b); text-transform: uppercase; letter-spacing: .12em; color: #d6dade; }
.nm__top b { background: var(--c2); color: var(--on2); padding: 5px 9px; border-radius: 4px; letter-spacing: .08em; }
.nm__teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin: 22px 0 18px; text-align: center; }
.nm__teams img, .nm__teams .sigla { width: 72px; height: 72px; margin: 0 auto 10px; }
.nm__teams .sigla { font-size: 18px; }
.nm__teams strong { font: 800 16px/1.15 var(--t); text-transform: uppercase; display: block; }
.nm__vs { font: 900 italic 30px/1 var(--t); color: var(--c2t); }
.nm__when { text-align: center; font: 800 20px/1.2 var(--t); text-transform: uppercase; }
.nm__when small { display: block; font: 400 14px/1.4 var(--b); text-transform: none; color: #cdd2d7; margin-top: 4px; }
.cd { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 20px 0 16px; }
.cd div { background: rgba(0,0,0,.35); border-radius: 10px; padding: 10px 4px 8px; text-align: center; border-top: 3px solid var(--c1l); }
.cd b { display: block; font: 800 32px/1 var(--t); font-variant-numeric: tabular-nums; }
.cd span { font: 600 11px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; color: #c4c9ce; }
.cd__t { margin: -6px 0 16px; text-align: center; font: 700 11px/1.2 var(--b); text-transform: uppercase; letter-spacing: .16em; color: #c4c9ce; }
.nm__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; color: #d6dade; }

/* Último resultado: régua de marcador que morde a foto */
.last { position: relative; z-index: 3; margin-top: -86px; }
.last__bar { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: stretch; background: var(--bg2); border: 1px solid var(--line); box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.last__lab { background: var(--c1); color: var(--on1); padding: 18px 40px 18px 22px; clip-path: polygon(0 0, 100% 0, calc(100% - 22px) 100%, 0 100%); display: flex; flex-direction: column; justify-content: center; }
.last__lab b { font: 800 18px/1.1 var(--t); text-transform: uppercase; }
.last__lab small { font-size: 13px; opacity: .94; }
.last__t { display: flex; align-items: center; gap: 14px; padding: 14px 20px; font: 800 20px/1.1 var(--t); text-transform: uppercase; }
.last__t--r { justify-content: flex-end; text-align: right; }
.last__t img, .last__t .sigla { width: 46px; height: 46px; flex: 0 0 auto; }
.last__sc { display: flex; align-items: center; gap: 4px; padding: 0 8px; }
.last__sc span { font: 900 46px/1 var(--t); font-variant-numeric: tabular-nums; background: #000; padding: 8px 14px; min-width: 62px; text-align: center; }
.last__sc span.w { color: var(--c2t); }
.last__act { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 12px 22px; border-left: 1px solid var(--line); }
.res { display: inline-block; font: 800 12px/1 var(--t); text-transform: uppercase; letter-spacing: .06em; padding: 6px 8px; border-radius: 3px; }
.res--V { background: var(--c1); color: var(--on1); }
.res--E { background: #5a616a; color: #fff; }
.res--D { background: transparent; color: #e7e9eb; box-shadow: inset 0 0 0 2px #8b939b; }

/* Próximos jogos de todos os escalões: bilhetes de bancada verticais */
.fx { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.fx__c { position: relative; background: var(--bg2); border: 1px solid var(--line); padding: 18px 18px 16px; overflow: hidden; }
.fx__c::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 5px; background: var(--c1l); }
.fx__c.casa::before { background: var(--c2t); }
.fx__d { font: 800 13px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; color: var(--tx2); }
.fx__h { font: 900 44px/1 var(--t); font-variant-numeric: tabular-nums; margin: 6px 0 10px; }
.fx__e { display: inline-block; font: 700 11px/1.2 var(--b); text-transform: uppercase; letter-spacing: .08em; color: var(--c2t); margin-bottom: 12px; }
.fx__vs { display: flex; align-items: center; gap: 10px; border-top: 1px dashed rgba(255,255,255,.18); padding-top: 12px; }
.fx__vs .sigla { width: 40px; height: 40px; font-size: 11px; flex: 0 0 auto; }
.fx__vs strong { font: 700 16px/1.15 var(--t); display: block; }
.fx__vs small { font-size: 12px; color: var(--tx3); }
.fx__big { position: absolute; right: 10px; top: 14px; font: 900 italic 15px/1 var(--t); letter-spacing: .1em; color: var(--tx3); pointer-events: none; }

/* Classificação numa faixa escura, cortada */
.band { position: relative; background: #050607; padding: 96px 0; clip-path: polygon(0 48px, 100% 0, 100% calc(100% - 48px), 0 100%); margin: 0; }
.band::before { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 400px at 85% 30%, color-mix(in oklab, var(--c1) 35%, transparent), transparent 70%); pointer-events: none; }
.band > * { position: relative; }
.band__g { display: grid; grid-template-columns: 1fr 1.6fr; gap: 50px; align-items: center; }
.band__big { font: 900 clamp(80px, 12vw, 170px)/.8 var(--t); color: transparent; -webkit-text-stroke: 2px var(--c2t); }
.band__big small { font-size: .35em; -webkit-text-stroke: 0; color: #fff; vertical-align: top; margin-left: 6px; }
.band p { color: var(--tx2); margin: 18px 0 20px; }
.band__t { font-size: clamp(28px, 4vw, 44px); text-transform: uppercase; margin: 12px 0 22px; }
.band__f { margin-bottom: 22px; }
.band__f .frm { margin-top: 10px; }
.rows { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.rw { display: grid; grid-template-columns: 54px 1fr 150px 52px; align-items: center; gap: 14px; background: rgba(255,255,255,.04); padding: 10px 16px 10px 0; font-variant-numeric: tabular-nums; }
.rw__p { font: 900 26px/1 var(--t); text-align: center; color: var(--tx2); align-self: stretch; display: grid; place-items: center; background: rgba(255,255,255,.05); }
.rw__n { font: 700 17px/1.2 var(--t); }
.rw__n small { display: block; font: 400 12px/1.2 var(--b); color: var(--tx3); }
.rw__b { height: 8px; background: rgba(255,255,255,.08); position: relative; transform: skewX(-18deg); }
.rw__b i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--c1l); }
.rw__pt { font: 900 26px/1 var(--t); text-align: right; }
.rw--nos { background: var(--c1); color: var(--on1); }
.rw--nos .rw__p { background: var(--c2); color: var(--on2); }
.rw--nos .rw__n small { color: color-mix(in srgb, var(--on1) 92%, transparent); }
.rw--nos .rw__b i { background: var(--c2t); }
.frm { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.frm li { width: 34px; height: 34px; display: grid; place-items: center; font: 800 14px/1 var(--t); }

/* Notícias em grelha de 4 com imagem */
.news { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px; }
.nw { position: relative; display: flex; flex-direction: column; background: var(--bg2); text-decoration: none; overflow: hidden; border: 1px solid var(--line); }
.nw__img { aspect-ratio: 16/10; overflow: hidden; background: var(--c1); display: grid; place-items: center; }
.nw__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.nw:hover .nw__img img { transform: scale(1.05); }
.nw__img img.emb { width: 40%; height: auto; object-fit: contain; filter: drop-shadow(0 6px 16px rgba(0,0,0,.35)); }
.nw__b { padding: 16px 18px 20px; }
.nw__m { font: 700 11px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; color: var(--tx3); display: flex; gap: 10px; }
.nw__m b { color: var(--c2t); }
.nw h3 { font-size: 20px; line-height: 1.15; margin: 10px 0 8px; }
.nw p { margin: 0; color: var(--tx2); font-size: 14.5px; }
.nw--big { grid-row: span 2; }
.nw--big .nw__img { aspect-ratio: auto; flex: 1; min-height: 300px; }
.nw--big h3 { font-size: 30px; }
.nw--big .nw__b { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(0deg, rgba(0,0,0,.9), rgba(0,0,0,0)); padding: 80px 26px 26px; }
.nw--big p { color: #d9dde1; }
.nw--wide { grid-column: span 2; flex-direction: row; }
.nw--wide .nw__img { aspect-ratio: auto; width: 34%; flex: 0 0 34%; }

/* As 6 equipas: placas com o código gigante */
.teams { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.tm { position: relative; min-height: 190px; background: linear-gradient(160deg, var(--bg3), var(--bg2)); border: 1px solid var(--line); padding: 16px; display: flex; flex-direction: column; justify-content: flex-end; text-decoration: none; overflow: hidden; }
.tm__code { position: absolute; top: 4px; left: 12px; font: 900 76px/1 var(--t); color: transparent; -webkit-text-stroke: 1.5px var(--c1l); }
.tm:first-child { background: var(--c1); color: var(--on1); }
.tm:first-child .tm__code { -webkit-text-stroke-color: var(--c2t); }
.tm strong { font: 800 18px/1.1 var(--t); text-transform: uppercase; }
.tm small { display: block; font-size: 13px; color: var(--tx2); margin-top: 4px; }
.tm:first-child small { color: color-mix(in srgb, var(--on1) 92%, transparent); }
.tm__pos { position: absolute; top: 14px; right: 14px; font: 800 13px/1 var(--t); background: rgba(0,0,0,.35); padding: 5px 7px; }

/* Números sobre fotografia */
.nums { position: relative; overflow: hidden; }
.nums img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.6); }
.nums::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in oklab, var(--c1) 70%, black) 0%, rgba(0,0,0,.72) 100%); }
.nums__in { position: relative; z-index: 1; padding-top: 70px; padding-bottom: 70px; }
.nums__g { display: grid; grid-template-columns: repeat(4, 1fr); }
.nums .sh h2 { color: #fff; }
.num { padding: 6px 24px; border-left: 2px solid rgba(255,255,255,.2); transform: skewX(-10deg); }
.num > * { transform: skewX(10deg); display: block; }
.num b { font: 900 clamp(46px, 6vw, 78px)/1 var(--t); font-variant-numeric: tabular-nums; }
.num span { font: 700 13px/1.3 var(--b); text-transform: uppercase; letter-spacing: .14em; color: var(--c2t); margin-top: 6px; }

/* Faz-te sócio: faixa diagonal na cor secundária */
.socio { background: var(--c2); color: var(--on2); clip-path: polygon(0 0, 100% 36px, 100% 100%, 0 calc(100% - 36px)); padding: 90px 0; margin-top: 64px; }
.socio .wrap { display: grid; grid-template-columns: auto 1fr auto; gap: 40px; align-items: center; }
.socio__n { font: 900 clamp(90px, 12vw, 160px)/.8 var(--t); font-variant-numeric: tabular-nums; }
.socio__n small { display: block; font: 700 13px/1.2 var(--b); letter-spacing: .14em; text-transform: uppercase; margin-top: 8px; }
.socio h2 { text-wrap: balance; font-size: clamp(34px, 4.4vw, 56px); text-transform: uppercase; font-weight: 900; }
.socio p { margin: 10px 0 0; font-size: 17px; max-width: 560px; }
.socio .btn { background: var(--on2); color: var(--c2); }
.socio .kick { color: var(--on2); display: block; margin-bottom: 10px; }
.perks { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.perks li { display: flex; align-items: center; gap: 9px; font: 800 14px/1.2 var(--t); text-transform: uppercase; letter-spacing: .02em; }
.perks li::before { content: ""; flex: 0 0 auto; width: 10px; height: 12px; background: var(--on2); transform: skewX(-14deg); }

/* Formação: painel com foto cortada na diagonal */
.frmc { display: grid; grid-template-columns: 1.05fr 1fr; background: var(--bg2); border: 1px solid var(--line); border-top: 5px solid var(--c2t); overflow: hidden; }
.frmc__img { position: relative; min-height: 380px; }
.frmc__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: polygon(0 0, 100% 0, calc(100% - 70px) 100%, 0 100%); }
.frmc__img span { position: absolute; left: 20px; bottom: 20px; background: var(--c1); color: var(--on1); font: 800 13px/1 var(--t); text-transform: uppercase; letter-spacing: .06em; padding: 9px 14px; clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%); }
.frmc__b { padding: 44px 44px 40px 24px; display: flex; flex-direction: column; justify-content: center; }
.frmc__b h2 { font-size: clamp(36px, 4.6vw, 58px); font-weight: 900; text-transform: uppercase; line-height: .95; margin: 14px 0 18px; }
.frmc__n { border-left: 5px solid var(--c1l); padding: 4px 0 4px 16px; margin-bottom: 26px; }
.frmc__n h3 { font-size: 21px; line-height: 1.15; margin: 8px 0 6px; }
.frmc__n p { margin: 0; color: var(--tx2); font-size: 15px; }
.frmc__btns { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.frmc__p { margin: 0 0 22px; color: var(--tx2); font-size: 16.5px; max-width: 540px; }
.steps { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 8px; counter-reset: passo; }
.steps li { counter-increment: passo; display: flex; align-items: center; gap: 12px; font: 700 16px/1.25 var(--t); }
.steps li::before { content: counter(passo); flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; background: var(--c1); color: var(--on1); font: 900 15px/1 var(--t); clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); }

/* A nossa casa: painel espelhado do da formação, foto à direita cortada na diagonal */
.lar { display: grid; grid-template-columns: 1fr 1.05fr; background: var(--bg2); border: 1px solid var(--line); border-bottom: 5px solid var(--c1l); overflow: hidden; }
.lar__b { padding: 44px 24px 40px 44px; display: flex; flex-direction: column; justify-content: center; }
.lar__b h2 { font-size: clamp(36px, 4.6vw, 58px); font-weight: 900; text-transform: uppercase; line-height: .95; margin: 14px 0 16px; }
.lar__p { margin: 0 0 22px; color: var(--tx2); font-size: 16.5px; max-width: 520px; }
.lar__l { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.lar__l li { font: 800 15px/1.2 var(--t); text-transform: uppercase; padding: 14px 14px 14px 16px; background: var(--bg3); border-left: 5px solid var(--c2t); display: flex; align-items: center; }
.lar__m { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 26px; font-size: 15px; }
.lar__m::before { content: ""; flex: 0 0 auto; width: 12px; height: 14px; margin-top: 4px; background: var(--c2t); transform: skewX(-14deg); }
.lar__img { position: relative; min-height: 420px; }
.lar__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: polygon(70px 0, 100% 0, 100% 100%, 0 100%); }
.lar__img::after { content: ""; position: absolute; right: 22px; bottom: 22px; width: 90px; height: 8px; background: var(--c2t); transform: skewX(-14deg); }

/* Palmarés: placas de troféu */
.trof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.tro { position: relative; overflow: hidden; padding: 26px 24px 24px; background: linear-gradient(160deg, var(--bg3), var(--bg2)); border: 1px solid var(--line); border-bottom: 5px solid var(--c1l); }
.tro::before { content: ""; position: absolute; right: -30px; top: 0; bottom: 0; width: 80px; background: var(--c1); transform: skewX(-14deg); opacity: .3; }
.tro > * { position: relative; }
.tro__ep { display: block; font: 900 clamp(44px, 5vw, 62px)/.9 var(--t); font-variant-numeric: tabular-nums; color: transparent; -webkit-text-stroke: 1.5px var(--c1l); }
.tro strong { display: block; font: 800 24px/1.1 var(--t); text-transform: uppercase; margin-top: 18px; }
.tro small { display: block; color: var(--tx2); font-size: 14px; margin-top: 6px; }
.tro:first-child { background: var(--c1); color: var(--on1); border-bottom-color: var(--c2t); }
.tro:first-child::before { background: var(--c2); opacity: .9; width: 60px; right: -24px; }
.tro:first-child .tro__ep { -webkit-text-stroke-color: var(--c2t); }
.tro:first-child small { color: inherit; opacity: .94; }

/* Patrocinadores */
.spon { display: grid; grid-template-columns: 1fr 2fr; gap: 30px; align-items: start; }
.spon h3 { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--tx3); font-family: var(--b); font-weight: 700; margin-bottom: 12px; }
.spon__p { display: grid; gap: 10px; }
.spon__p span { font: 800 22px/1.1 var(--t); text-transform: uppercase; padding: 20px 22px; background: var(--bg2); border-left: 5px solid var(--c2t); }
.spon__o { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.spon__o span { font: 700 17px/1.2 var(--t); padding: 18px 20px; border: 1px solid var(--line); color: var(--tx2); }

/* Rodapé com topo cortado e filete */
.ft { margin-top: 20px; background: var(--c2t); clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%); padding-top: 7px; }
.ft__in { background: var(--c1d); clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%); color: #fff; padding: 90px 0 0; }
.ft__g { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; padding-bottom: 40px; }
.ft__br { display: flex; gap: 16px; align-items: flex-start; }
.ft__br img { width: 72px; height: 72px; }
.ft__br b { font: 900 24px/1 var(--t); text-transform: uppercase; display: block; margin-bottom: 6px; }
.ft__br p { margin: 0; font-size: 14px; color: rgba(255,255,255,.8); }
.ft h4 { font: 700 12px/1 var(--b); text-transform: uppercase; letter-spacing: .16em; color: var(--c2t); margin-bottom: 14px; }
.ft ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 15px; }
.ft ul a { text-decoration: none; color: rgba(255,255,255,.88); }
@media (max-width: 900px) { .ft ul { gap: 0; } .ft ul a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; } }
.ft ul a:hover { color: #fff; text-decoration: underline; }
.ft__bt { background: rgba(0,0,0,.3); font-size: 13px; color: rgba(255,255,255,.75); }
.ft__bt .wrap { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }

/* ===== Ficha do jogo ===== */
.mh { position: relative; overflow: hidden; }
.mh__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mh::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,10,12,.8), rgba(8,10,12,.7) 50%, var(--bg)); }
.mh > *:not(img) { position: relative; z-index: 1; }
.mh__in { text-align: center; padding-top: 50px; padding-bottom: 60px; }
.mh__meta { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.chip { font: 700 12px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; padding: 8px 12px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); }
.chip--2 { background: var(--c2); color: var(--on2); border-color: transparent; }
.mh__sb { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; margin: 36px auto 22px; max-width: 900px; }
.mh__tm img, .mh__tm .sigla { width: 110px; height: 110px; margin: 0 auto 14px; }
.mh__tm .sigla { font-size: 26px; }
.mh__tm strong { font: 800 clamp(18px, 2.6vw, 30px)/1.1 var(--t); text-transform: uppercase; display: block; }
.mh__sc { display: flex; align-items: center; gap: 10px; }
.mh__sc span { font: 900 clamp(64px, 10vw, 128px)/1 var(--t); font-variant-numeric: tabular-nums; background: rgba(0,0,0,.55); padding: 10px 22px; min-width: 1.2em; }
.mh__sc span.w { color: var(--c2t); }
.mh__sc i { width: 16px; height: 6px; background: #fff; }
.mh__ht { font: 700 14px/1 var(--b); letter-spacing: .12em; text-transform: uppercase; color: var(--tx2); }
.mh__info { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1000px; margin: 34px auto 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mh__info div { padding: 16px 12px; border-left: 1px solid var(--line); text-align: left; }
.mh__info div:nth-child(3n+1) { border-left: 0; }
.mh__info div:nth-child(n+4) { border-top: 1px solid var(--line); }
.mh__info small { display: block; font: 700 11px/1 var(--b); text-transform: uppercase; letter-spacing: .12em; color: var(--c2t); margin-bottom: 6px; }
.mh__info b { font: 700 15px/1.3 var(--b); }

.tl { background: var(--bg2); border: 1px solid var(--line); padding: 28px 30px 20px; }
.tl__track { position: relative; height: 230px; margin: 0 10px; }
.tl__line { position: absolute; left: 0; right: 0; top: 50%; height: 6px; margin-top: -3px; background: linear-gradient(90deg, var(--c1l) 50%, rgba(255,255,255,.22) 50%); }
.tl__line::before, .tl__line::after { position: absolute; top: -20px; font: 700 12px/1 var(--b); color: var(--tx3); }
.tl__line::before { content: "0'"; left: 0; }
.tl__line::after { content: "90'"; right: 0; }
.tl__ht { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -30px); font: 700 11px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; color: var(--tx3); }
.tl__ev { position: absolute; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 4px; width: 0; }
.tl__ev.casa { bottom: calc(50% + 8px); }
.tl__ev.fora { top: calc(50% + 8px); flex-direction: column-reverse; }
.tl__ev::before { content: ""; width: 2px; height: var(--st, 18px); background: rgba(255,255,255,.35); order: 2; }
.tl__ev.fora::before { order: 2; }
.tl__ic { order: 1; width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--bg3); border: 2px solid rgba(255,255,255,.3); font: 800 11px/1 var(--t); }
.tl__ev.fora .tl__ic { order: 1; }
.tl__m { order: 0; font: 800 13px/1 var(--t); white-space: nowrap; }
.ico-golo { background: #fff !important; color: #111; border-color: #fff !important; }
.ico-amarelo { border-radius: 3px !important; width: 20px !important; height: 28px !important; background: var(--c2t) !important; border: 0 !important; }
.ico-sub { background: var(--c1) !important; color: #fff; border-color: var(--c1l) !important; }
.tl__sides { display: flex; justify-content: space-between; font: 700 12px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; color: var(--tx3); margin-bottom: 8px; }
.evl { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 30px; }
.evl li { display: grid; grid-template-columns: 44px 34px 1fr; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid var(--line); font-size: 15px; }
.evl li b { font: 800 18px/1 var(--t); font-variant-numeric: tabular-nums; }
.evl .tl__ic { width: 26px; height: 26px; font-size: 11px; order: 0; }
.evl small { color: var(--tx3); display: block; font-size: 12.5px; }

.xi { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.pc { position: relative; min-height: 118px; background: var(--bg2); border: 1px solid var(--line); padding: 12px 14px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; }
.pc__n { position: absolute; top: -8px; right: 4px; font: 900 78px/1 var(--t); font-variant-numeric: tabular-nums; color: transparent; -webkit-text-stroke: 1.5px color-mix(in oklab, var(--c1l) 70%, transparent); }
.pc strong { position: relative; font: 800 17px/1.1 var(--t); }
.pc small { position: relative; display: block; font: 700 11px/1 var(--b); letter-spacing: .12em; text-transform: uppercase; color: var(--c2t); margin-bottom: 6px; }
.pc__cap { position: absolute; top: 10px; left: 12px; background: var(--c2); color: var(--on2); font: 800 12px/1 var(--t); width: 22px; height: 22px; display: grid; place-items: center; }
.pc--s { min-height: 80px; background: transparent; }
.pc--s .pc__n { font-size: 56px; }
.pc--t { background: var(--c1); color: var(--on1); }
.pc--t small { color: var(--on1); }
.xih { font: 800 15px/1 var(--t); text-transform: uppercase; letter-spacing: .06em; color: var(--tx2); margin: 28px 0 12px; }
.cron { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: center; }
.cron__img { position: relative; }
.cron__img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; clip-path: polygon(0 0, 100% 0, 100% 100%, 30px 100%, 0 calc(100% - 30px)); }
.cron__img::after { content: ""; position: absolute; right: -10px; bottom: -10px; width: 60%; height: 60%; border-right: 6px solid var(--c2t); border-bottom: 6px solid var(--c2t); pointer-events: none; }
.cron blockquote { margin: 0; font: 800 italic clamp(22px, 2.6vw, 30px)/1.2 var(--t); border-left: 6px solid var(--c2t); padding-left: 20px; margin-bottom: 20px; }
.cron p { color: var(--tx2); font-size: 17px; margin: 0; }

/* ===== Equipa ===== */
.th { position: relative; overflow: hidden; min-height: 470px; display: flex; flex-direction: column; }
.th__img { position: absolute; right: 0; top: 0; width: 70%; height: 100%; object-fit: cover; }
.th::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--bg) 30%, rgba(12,14,17,.25) 70%, rgba(12,14,17,.6)); }
.th > *:not(img) { position: relative; z-index: 1; }
.th__in { width: 100%; }
.th__in { flex: 1; display: flex; align-items: center; gap: 30px; padding-top: 30px; padding-bottom: 50px; }
.th__code { font: 900 clamp(130px, 18vw, 230px)/.8 var(--t); color: var(--c1l); flex: 0 0 auto; }
.th__code { background: var(--c1); color: var(--on1); padding: 20px 50px 20px 26px; clip-path: polygon(0 0, 100% 0, calc(100% - 36px) 100%, 0 100%); box-shadow: 8px 0 0 var(--c2t); }
.th h1 { font-size: clamp(44px, 7vw, 92px); text-transform: uppercase; font-weight: 900; }
.th p { margin: 8px 0 0; font-size: 18px; color: #d4d8dc; }
.th p b { color: var(--c2t); }
.stats { display: grid; grid-template-columns: repeat(4, 1fr) 1.4fr; gap: 0; background: var(--bg2); border: 1px solid var(--line); margin-top: -40px; position: relative; z-index: 2; }
.st { padding: 22px 24px; border-left: 1px solid var(--line); }
.st:first-child { border-left: 0; background: var(--c1); color: var(--on1); }
.st small { display: block; font: 700 11px/1 var(--b); text-transform: uppercase; letter-spacing: .14em; color: var(--tx3); margin-bottom: 10px; }
.st:first-child small { color: color-mix(in srgb, var(--on1) 92%, transparent); }
.st b { font: 900 48px/1 var(--t); font-variant-numeric: tabular-nums; }
.grp { margin-bottom: 34px; }
.grp__h { display: flex; align-items: center; gap: 12px; font: 800 20px/1 var(--t); text-transform: uppercase; margin-bottom: 14px; }
.grp__h span { font: 700 12px/1 var(--b); color: var(--tx3); letter-spacing: .1em; }
.grp__h::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--c1l), transparent); }
.sq { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
@media (max-width: 1100px) { .sq { gap: 10px; } .pl strong { font-size: 17px; } .pl__n { font-size: 96px; } }
@media (max-width: 900px) { .sq { grid-template-columns: repeat(3, 1fr); } }
.pl { position: relative; aspect-ratio: 5/6; background: linear-gradient(170deg, var(--bg3), #0a0b0d); border: 1px solid var(--line); overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; padding: 16px; }
.pl__n { position: absolute; top: -6px; left: 10px; font: 900 116px/1 var(--t); font-variant-numeric: tabular-nums; color: var(--c1l); opacity: .9; letter-spacing: -.04em; }
.pl::before { content: ""; position: absolute; right: -40px; top: 0; bottom: 0; width: 90px; background: var(--c1); transform: skewX(-14deg); opacity: .35; }
.pl strong { position: relative; font: 800 20px/1.05 var(--t); text-transform: uppercase; }
.pl small { position: relative; color: var(--tx2); font-size: 13px; }
.pl strong::before { content: ""; display: block; width: 36px; height: 4px; background: var(--c2t); margin-bottom: 10px; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.staff { display: grid; gap: 8px; }
.staff div { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: baseline; padding: 14px 18px; background: var(--bg2); border-left: 4px solid var(--c1l); }
.staff small { color: var(--tx3); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.staff b { font: 700 17px/1.2 var(--t); }
.sc { display: grid; gap: 12px; }
.sc__r { display: grid; grid-template-columns: 30px 1fr 60px; gap: 12px; align-items: center; }
.sc__r > span { font: 900 20px/1 var(--t); color: var(--tx3); }
.sc__r div b { font: 700 17px/1.2 var(--t); display: block; margin-bottom: 6px; }
.sc__r div i { display: block; height: 14px; background: var(--c1l); transform: skewX(-18deg); transform-origin: left; }
.sc__r:first-child div i { background: var(--c2t); }
.sc__r strong { font: 900 34px/1 var(--t); text-align: right; font-variant-numeric: tabular-nums; }
.gl { display: grid; gap: 8px; }
.gl__r { display: grid; grid-template-columns: 88px 1fr auto; gap: 14px; align-items: center; padding: 12px 16px; background: var(--bg2); border: 1px solid var(--line); }
.gl__r > b { font: 800 14px/1.2 var(--t); text-transform: uppercase; color: var(--tx2); }
.gl__r > span { font: 700 16px/1.2 var(--t); }
.gl__r > span small { display: block; font: 400 12.5px/1.3 var(--b); color: var(--tx3); }
.gl__s { font: 900 22px/1 var(--t); font-variant-numeric: tabular-nums; display: flex; align-items: center; gap: 10px; }

/* ===== Classificação ===== */
.ch { padding: 50px 0 34px; background: linear-gradient(180deg, var(--bg2), var(--bg)); }
.ch h1 { font-size: clamp(40px, 6vw, 76px); text-transform: uppercase; font-weight: 900; }
.ch p { margin: 8px 0 0; color: var(--tx2); }
.filt { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 26px; }
.filt button { font: 800 14px/1 var(--t); text-transform: uppercase; letter-spacing: .03em; padding: 15px 20px; min-height: 44px; color: var(--tx2); background: var(--bg3); border: 0; cursor: pointer; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
.filt button[aria-pressed="true"] { background: var(--c2); color: var(--on2); }
.filt button:hover { color: #fff; }
.filt button[aria-pressed="true"]:hover { color: var(--on2); }
.tbwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tb { width: 100%; border-collapse: separate; border-spacing: 0 6px; font-variant-numeric: tabular-nums; min-width: 640px; }
.tb th { font: 700 11px/1 var(--b); text-transform: uppercase; letter-spacing: .12em; color: var(--tx3); text-align: center; padding: 6px 8px; }
.tb th:nth-child(2) { text-align: left; }
.tb td { background: rgba(255,255,255,.04); padding: 13px 8px; text-align: center; font-size: 16px; }
.tb td:first-child { width: 58px; font: 900 22px/1 var(--t); color: var(--tx2); border-left: 5px solid transparent; }
.tb td:nth-child(2) { text-align: left; font: 700 17px/1.2 var(--t); }
.tb td:last-child { font: 900 22px/1 var(--t); background: rgba(255,255,255,.08); width: 70px; }
.tb tr.up td:first-child { border-left-color: var(--c2t); }
.tb tr.down td:first-child { border-left-color: #9aa1a8; }
.tb tr.down td { background: repeating-linear-gradient(-45deg, rgba(255,255,255,.04) 0 8px, rgba(255,255,255,.07) 8px 16px); }
.tb tr.nos td { background: var(--c1); color: var(--on1); }
.tb tr.nos td:first-child { color: var(--on1); }
.tb tr.nos td:last-child { background: var(--c2); color: var(--on2); }
.leg { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 16px; font-size: 14px; color: var(--tx2); }
.leg span { display: inline-flex; align-items: center; gap: 8px; }
.leg i { width: 18px; height: 12px; display: inline-block; }
.cal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.jr { position: relative; background: var(--bg2); border: 1px solid var(--line); padding: 16px 18px; }
.jr__h { display: flex; justify-content: space-between; align-items: center; font: 700 12px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; color: var(--tx3); margin-bottom: 12px; }
.jr__h b { font: 900 30px/1 var(--t); color: var(--tx); letter-spacing: 0; }
.jr__m { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; font: 700 15px/1.25 var(--t); }
.jr__m span.us { color: var(--c2t); }
.jr__m em { font-style: normal; font-variant-numeric: tabular-nums; text-align: right; }
.jr__f { margin-top: 12px; display: flex; justify-content: space-between; align-items: center; }
.jr--next { background: var(--c1); color: var(--on1); border-color: var(--c2t); box-shadow: 0 0 0 3px var(--c2t); }
.jr--next .jr__h, .jr--next .jr__h b { color: var(--on1); }
.jr--next .jr__m span.us { color: var(--on1); text-decoration: underline; text-decoration-color: var(--c2t); text-underline-offset: 4px; }
.jr__flag { position: absolute; top: -12px; right: 14px; background: var(--c2); color: var(--on2); font: 800 11px/1 var(--t); text-transform: uppercase; letter-spacing: .08em; padding: 6px 9px; }

/* ===== Responsivo ===== */
/* O menu completo só cabe ao lado da marca a partir de ~1180 px: abaixo disso, botão. */
@media (max-width: 1180px) {
  .hd__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; margin: auto var(--g) auto auto; font: 800 14px/1 var(--t); text-transform: uppercase; background: rgba(255,255,255,.12); color: #fff; border: 0; padding: 12px 14px; cursor: pointer; }
  .hd__btn i, .hd__btn i::before, .hd__btn i::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; }
  .hd__btn i::before, .hd__btn i::after { content: ""; position: absolute; left: 0; }
  .hd__btn i::before { top: -6px; } .hd__btn i::after { top: 6px; }
  .hd__nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; background: var(--bg2); padding: 10px max(var(--g), calc((100vw - var(--wrap)) / 2 + var(--g))) 18px; border-bottom: 4px solid var(--c2t); box-shadow: 0 24px 40px rgba(0,0,0,.45); }
  .hd.open .hd__nav { display: flex; }
  .hd__nav a { display: flex; align-items: center; min-height: 48px; padding: 12px 4px; border-bottom: 1px solid var(--line); font-size: 17px; }
  .hd__nav a.hd__cta { margin: 12px 0 0; text-align: center; justify-content: center; }
}
@media (max-width: 1100px) {
  .fx { grid-template-columns: repeat(3, 1fr); }
  .teams { grid-template-columns: repeat(3, 1fr); }
  .cal { grid-template-columns: repeat(2, 1fr); }
  .ft__g { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  :root { --g: 20px; }
  .hd { height: 70px; }
  .hero, .th { padding-top: 70px; }
  .hd__brandin { padding-right: 60px; }
  .hd__brandin img, .hd__brandin .sigla { width: 44px; height: 44px; }
  .hd__brandin b { font-size: 18px; }
  .hero { min-height: 0; }
  .hero__in { grid-template-columns: 1fr; padding-top: 30px; padding-bottom: 110px; gap: 30px; }
  .last__bar { grid-template-columns: 1fr auto 1fr; }
  .last__lab { grid-column: 1 / -1; clip-path: none; padding: 12px 18px; flex-direction: row; justify-content: space-between; align-items: center; gap: 10px; }
  .last__act { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); flex-direction: row; justify-content: space-between; align-items: center; padding: 10px 18px; }
  .last__t { font-size: 15px; padding: 14px 12px; flex-direction: column; gap: 8px; text-align: center; }
  .last__t--r { flex-direction: column-reverse; text-align: center; justify-content: center; }
  .last__sc span { font-size: 36px; min-width: 46px; padding: 8px 10px; }
  .band__g, .spon, .two, .cron { grid-template-columns: 1fr; gap: 30px; }
  .frmc, .lar { grid-template-columns: 1fr; }
  .lar__img { order: -1; min-height: 260px; }
  .lar__img img { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 34px)); }
  .lar__b { padding: 22px 24px 30px; }
  .frmc__img { min-height: 260px; }
  .frmc__img img { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 34px), 0 100%); }
  .frmc__b { padding: 22px 24px 30px; }
  .news { grid-template-columns: 1fr 1fr; }
  .nw--big { grid-column: span 2; grid-row: auto; }
  .nw--big .nw__img { min-height: 340px; }
  .nums__g { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
  .socio .wrap { grid-template-columns: 1fr; gap: 20px; }
  .mh__info { grid-template-columns: repeat(2, 1fr); }
  .mh__info div { border-left: 1px solid var(--line); }
  .mh__info div:nth-child(odd) { border-left: 0; }
  .mh__info div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .evl { grid-template-columns: 1fr; }
  .th__img { width: 100%; }
  .th::after { background: linear-gradient(0deg, var(--bg) 25%, rgba(12,14,17,.4)); }
  .th__in { flex-direction: column; align-items: flex-start; padding-top: 110px; }
  .stats { grid-template-columns: repeat(2, 1fr); margin-top: 0; }
  .st:nth-child(odd) { border-left: 0; }
  .st:nth-child(n+3) { border-top: 1px solid var(--line); }
  .st:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  :root { --g: 18px; }
  .sec { padding: 46px 0; }
  .isec { margin: 46px 0; }
  .hd__brandin small { display: none; }
  .hd__brandin { gap: 10px; padding-right: 52px; }
  .hd__brand, .hd__brandin { clip-path: polygon(0 0, 100% 0, calc(100% - 34px) 100%, 0 100%); }
  .hd__btn span { display: none; }
  .hero h1 span { -webkit-text-stroke-width: 1.5px; }
  .nm { padding: 20px 16px; }
  .nm__teams img, .nm__teams .sigla { width: 58px; height: 58px; }
  .nm__teams strong { font-size: 14px; }
  .cd b { font-size: 26px; }
  .cd span { font-size: 11px; letter-spacing: .04em; }
  .fx { grid-template-columns: 1fr; }
  .fx__c { display: grid; grid-template-columns: auto 1fr; gap: 0 16px; align-items: center; }
  .fx__h { grid-row: span 2; font-size: 36px; margin: 0; }
  .fx__d { grid-column: 2; }
  .fx__e { grid-column: 2; margin: 4px 0 0; }
  .fx__vs { grid-column: 1 / -1; margin-top: 10px; padding-top: 10px; }
  .fx__c { padding: 14px 16px 12px; }
  .fx { gap: 10px; }
  .band { padding: 70px 0; clip-path: polygon(0 24px, 100% 0, 100% calc(100% - 24px), 0 100%); }
  .rw { grid-template-columns: 42px 1fr 44px; gap: 10px; }
  .rw__b { display: none; }
  .rw__p, .rw__pt { font-size: 22px; }
  .news { grid-template-columns: 1fr; }
  .nw--big, .nw--wide { grid-column: auto; }
  .nw--big h3 { font-size: 24px; }
  .nw--big .nw__img { min-height: 380px; }
  .nw:not(.nw--big) { flex-direction: row; }
  .nw:not(.nw--big) .nw__img { width: 34%; flex: 0 0 34%; aspect-ratio: auto; }
  .nw:not(.nw--big) .nw__b { padding: 12px 14px 14px; }
  .nw:not(.nw--big) h3 { font-size: 17px; margin: 8px 0 0; }
  .nw:not(.nw--big) p { display: none; }
  .nw__img img.emb { width: 60%; }
  .ft__g { grid-template-columns: 1fr 1fr; }
  .ft__br { grid-column: 1 / -1; }
  .ft__g > div:last-child { grid-column: 1 / -1; }
  .teams { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .tm { min-height: 160px; padding: 12px; }
  .tm__code { font-size: 60px; }
  .tm strong { font-size: 16px; }
  .num { padding: 4px 14px; }
  .spon__o { grid-template-columns: 1fr; }
  .socio { clip-path: polygon(0 0, 100% 20px, 100% 100%, 0 calc(100% - 20px)); padding: 60px 0; }
  .ft, .ft__in { clip-path: polygon(0 22px, 100% 0, 100% 100%, 0 100%); }
  .ft__in { padding-top: 60px; }
  .mh__sb { gap: 8px; margin-top: 26px; }
  .mh__tm img, .mh__tm .sigla { width: 64px; height: 64px; }
  .mh__tm .sigla { font-size: 16px; }
  .mh__tm strong { font-size: 15px; }
  .mh__sc { gap: 4px; }
  .mh__sc span { font-size: 50px; padding: 8px 10px; }
  .mh__sc i { width: 8px; height: 4px; }
  .tl { padding: 20px 14px 14px; }
  .tl__track { margin: 0 12px; }
  .tl__m { font-size: 12px; }
  .tl__ic { width: 26px; height: 26px; font-size: 11px; }
  .ico-amarelo { width: 16px !important; height: 22px !important; }
  .xi { grid-template-columns: repeat(2, 1fr); }
  .pc__n { font-size: 60px; }
  .pc strong { font-size: 15px; }
  .sq { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .pl { padding: 12px; }
  .pl__n { font-size: 92px; }
  .pl strong { font-size: 16px; }
  .gl__r { grid-template-columns: 1fr auto; }
  .gl__r > b { grid-column: 1 / -1; font-size: 12px; }
  .cal { grid-template-columns: 1fr; }
  .frmc__b { padding: 20px 18px 26px; }
  .frmc__img { min-height: 220px; }
  .lar__b { padding: 20px 18px 26px; }
  .lar__img { min-height: 220px; }
  .lar__l { grid-template-columns: 1fr; }
  .trof { grid-template-columns: 1fr; gap: 10px; }
  .tro { padding: 20px 18px; }
  .tro strong { font-size: 20px; margin-top: 12px; }
  .tb { min-width: 0; }
  .tb th:nth-child(7), .tb td:nth-child(7), .tb th:nth-child(8), .tb td:nth-child(8) { display: none; }
  .tb td { padding: 11px 5px; font-size: 14px; }
  .tb th { padding: 6px 4px; letter-spacing: .04em; }
  .tb td:first-child { width: 38px; font-size: 18px; }
  .tb td:nth-child(2) { font-size: 14.5px; }
  .tb td:last-child { width: 44px; font-size: 18px; }
  .th__code { padding: 14px 40px 14px 18px; }
  .st { padding: 16px; }
  .st b { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) { body.vwm-arena *, body.vwm-arena *::before, body.vwm-arena *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* ===== Acrescentos do modelo PHP (dados reais, submenu, páginas do WordPress) ===== */
:where(body.vwm-arena) {
  --vwm-tinta: var(--tx); --vwm-suave: var(--tx2); --vwm-linha: rgba(255,255,255,.16); --vwm-fundo: var(--bg); --vwm-raio: 0;
}
.sec--seg { padding-top: 0; }
.vazio { margin: 0; padding: 22px 24px; background: var(--bg2); border: 1px solid var(--line); border-left: 5px solid var(--c1l); color: var(--tx2); }
.gl .vazio { padding: 14px 16px; }
.hd__brandin .sigla { width: 54px; height: 54px; flex: 0 0 auto; font-size: 13px; background: rgba(0,0,0,.25); }
.ft__br .sigla { width: 72px; height: 72px; flex: 0 0 auto; font-size: 16px; }
.nw__img .sigla { width: 90px; height: 90px; font-size: 20px; }
.hd__sl { font: 700 14px/1 var(--t); text-transform: uppercase; letter-spacing: .04em; padding: 10px 12px; color: #fff; }

/* Submenu: no computador abre ao passar, focar ou clicar na seta. */
.hd__it { position: relative; display: flex; align-items: center; }
.hd__sbtn { width: 26px; min-height: 44px; margin-left: -8px; padding: 0; background: none; border: 0; color: #fff; cursor: pointer; display: grid; place-items: center; }
.hd__sbtn::before { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); filter: drop-shadow(0 1px 4px rgba(0,0,0,.6)); }
.hd__sub { position: absolute; top: 100%; left: 0; z-index: 30; min-width: 230px; margin: 0; padding: 8px 0; list-style: none; background: var(--bg2); border-top: 4px solid var(--c2t); box-shadow: 0 24px 40px rgba(0,0,0,.45); display: none; }
.hd__it:not(.fechado):hover .hd__sub, .hd__it:not(.fechado):focus-within .hd__sub, .hd__it.aberto .hd__sub { display: block; }
.hd__it.aberto .hd__sbtn::before { transform: translateY(2px) rotate(225deg); }
.hd__sub a { display: flex; align-items: center; min-height: 44px; padding: 10px 18px; text-shadow: none; text-transform: none; font-size: 15px; letter-spacing: 0; }
.hd__sub a:hover { background: var(--bg3); }

/* Destaque sem fotografia: fundo na cor do clube. */
.hero--sem-img { background: linear-gradient(135deg, var(--c1d), var(--bg) 75%); }
.hero--sem-img::after { background: linear-gradient(180deg, rgba(8,10,12,0) 60%, var(--bg) 100%); }
.nm__est { display: block; width: fit-content; margin: 0 auto 8px; background: var(--c2); color: var(--on2); font: 800 13px/1 var(--t); padding: 6px 10px; }
.nm__lk { display: flex; gap: 18px; flex-wrap: wrap; }
a.fx__c, a.nw, a.tm, a.jr, a.gl__r { color: inherit; text-decoration: none; }
a.fx__c:hover strong, a.jr:hover .jr__h span, a.gl__r:hover > span { text-decoration: underline; text-decoration-color: var(--c2t); }
a.fx__c:hover, a.tm:hover, a.jr:hover, a.gl__r:hover { border-color: rgba(255,255,255,.3); }
.fx--n1, .fx--n2, .fx--n3, .fx--n4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.fx__vs img.emb { width: 40px; height: 40px; flex: 0 0 auto; }
.last__t img.emb { width: 46px; height: 46px; flex: 0 0 auto; }
.nm__teams img.emb { object-fit: contain; }
.band--so { padding: 70px 0; }
.band--tab { margin-top: 0; }
.news--n1 { grid-template-columns: 1fr; }
.news--n2 { grid-template-columns: 2fr 1fr; }
.news--n2 .nw--big, .news--n1 .nw--big { grid-row: auto; }
.nw--big .nw__img img.emb { width: 30%; }
.teams--n1 { grid-template-columns: minmax(0, 320px); }
.teams--n2 { grid-template-columns: repeat(2, 1fr); }
.teams--n3 { grid-template-columns: repeat(3, 1fr); }
.teams--n4 { grid-template-columns: repeat(4, 1fr); }
.teams--n5 { grid-template-columns: repeat(5, 1fr); }
.frmc--so, .lar--so, .cron--so { grid-template-columns: 1fr; }
.frmc--so .frmc__b { padding: 44px; }
.lar--so .lar__b { padding: 44px; }
.frmc__n h3 a { color: inherit; text-decoration: none; }
.frmc__n h3 a:hover { text-decoration: underline; text-decoration-color: var(--c2t); }
.nums--sem-img { background: var(--c1d); }
.nums__g--n1 { grid-template-columns: 1fr; }
.nums__g--n2 { grid-template-columns: repeat(2, 1fr); }
.nums__g--n3 { grid-template-columns: repeat(3, 1fr); }
.num b { overflow-wrap: break-word; }
.num--txt b { font-size: clamp(30px, 3.8vw, 52px); line-height: 1.1; padding-top: .25em; }
.trof--n1 { grid-template-columns: minmax(0, 420px); }
.trof--n2 { grid-template-columns: repeat(2, 1fr); }
.socio .wrap.socio--sem-n { grid-template-columns: 1fr auto; }
.spon--1 { grid-template-columns: 1fr; }
.spon .spon__h2 { margin-top: 24px; }
.spon__a { display: flex; flex-wrap: wrap; gap: 8px; }
.spon__a span { font: 600 15px/1.2 var(--b); padding: 10px 14px; border: 1px dashed var(--line); color: var(--tx2); }
.ft__redes { margin-top: 10px !important; }
.ft__br p a, .ft__bt a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ft__br p a:hover, .ft__bt a:hover { color: #fff; }
.ft ul li { overflow-wrap: anywhere; }

/* Ficha do jogo */
.mh--sem-img { background: linear-gradient(180deg, var(--c1d), var(--bg)); }
.mh--sem-img::after { display: none; }
.mh__vs { font: 900 italic clamp(44px, 7vw, 90px)/1 var(--t); color: var(--c2t); }
.chip--est { background: #fff; color: #111; border-color: transparent; }
.mh__info--n1, .mh__info--n2 { grid-template-columns: repeat(2, 1fr); max-width: 700px; }
.mh__info--n1 { grid-template-columns: 1fr; max-width: 420px; }
.mh__info--n1 div, .mh__info--n2 div { border-top: 0 !important; }
.mh__info--n2 div:nth-child(2) { border-left: 1px solid var(--line); }
.antev { max-width: 760px; margin: 0 auto; text-align: center; background: var(--bg2); border: 1px solid var(--line); border-top: 5px solid var(--c2t); padding: 34px 28px; }
.antev p { margin: 12px 0 22px; color: var(--tx2); font-size: 17px; }
.ico-vermelho { background: #d9302c !important; }
.pc__cap .vh { position: absolute; }
.cron > div > p { color: var(--tx2); font-size: 17px; margin: 0 0 14px; }
.cron--so > div { max-width: 820px; }

/* Equipa */
.th--sem-img { background: linear-gradient(120deg, var(--bg) 35%, var(--c1d)); }
.th--sem-img::after { display: none; }
.stats--n1, .stats--n2, .stats--n3, .stats--n4 { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.two:not(:has(> :nth-child(2))) { grid-template-columns: 1fr; }
.pl__n { pointer-events: none; }

/* Classificação */
.tb caption { text-align: left; padding-bottom: 8px; }
.cl[hidden] { display: none; }
.cl + .cl { margin-top: 40px; }
.jr__pj { color: inherit; }
a.jr:focus-visible { outline-offset: 4px; }

/* Páginas do WordPress */
.pg { padding-bottom: 40px; }
.pg h1 { overflow-wrap: anywhere; }
.pg__sec { padding-top: 40px; }
body.vwm-arena .vwm-conteudo { color: var(--tx); font-family: var(--b); }
body.vwm-arena .vwm-conteudo :is(h2, h3, h4) { font-family: var(--t); font-weight: 800; text-transform: uppercase; letter-spacing: 0; }
body.vwm-arena .vwm-conteudo h2 { font-size: clamp(26px, 3.4vw, 36px); }
body.vwm-arena .vwm-conteudo h3 { font-size: 22px; }
body.vwm-arena .vwm-conteudo :is(p, li, td, dd, figcaption, blockquote) > a:not([class]) { color: var(--c2t); text-decoration-color: currentColor; }
body.vwm-arena .vwm-conteudo :is(p, li, td, dd, figcaption, blockquote) > a:not([class]):hover { color: #fff; }
body.vwm-arena .vwm-conteudo blockquote { border-left: 6px solid var(--c2t); font: 800 italic 22px/1.3 var(--t); }
body.vwm-arena .vwm-conteudo th { font: 700 12px/1.2 var(--b); text-transform: uppercase; letter-spacing: .1em; color: var(--tx2); }
body.vwm-arena .vwm-conteudo td, body.vwm-arena .vwm-conteudo th { border-bottom-color: var(--line); }
body.vwm-arena .vwm-conteudo tbody tr:nth-child(odd) td { background: rgba(255,255,255,.03); }
body.vwm-arena .vwm-conteudo hr { border: 0; height: 4px; background: var(--c2t); width: 80px; transform: skewX(-14deg); }
body.vwm-arena .vwm-capa img { border-radius: 0; clip-path: polygon(0 0, 100% 0, 100% 100%, 30px 100%, 0 calc(100% - 30px)); }
body.vwm-arena .vwm-lista { gap: 16px; }
body.vwm-arena .vwm-cartao a { gap: 0; height: 100%; background: var(--bg2); border: 1px solid var(--line); }
body.vwm-arena .vwm-cartao__img { border-radius: 0; background: var(--c1); }
body.vwm-arena .vwm-cartao a { align-content: start; grid-template-rows: auto 1fr; }
body.vwm-arena .vwm-cartao a:not(:has(.vwm-cartao__img)) { grid-template-rows: 1fr; }
body.vwm-arena .vwm-cartao__txt { padding: 16px 18px 20px; gap: 8px; align-content: start; }
body.vwm-arena .vwm-cartao__txt small { font: 700 11px/1 var(--b); text-transform: uppercase; letter-spacing: .1em; color: var(--c2t); }
body.vwm-arena .vwm-cartao__txt b { font: 800 20px/1.15 var(--t); }
body.vwm-arena .vwm-cartao__txt span { color: var(--tx2); font-size: 14.5px; }
body.vwm-arena .vwm-cartao a:hover b, body.vwm-arena .vwm-cartao a:focus-visible b { text-decoration-color: var(--c2t); }
body.vwm-arena .vwm-paginas a, body.vwm-arena .vwm-paginas span { border-radius: 0; border-color: var(--line); font: 700 15px/1 var(--t); }
body.vwm-arena .vwm-paginas .current { background: var(--c2); color: var(--on2); border-color: var(--c2); }
body.vwm-arena .vwm-btn { border-radius: 0; background: var(--c2); color: var(--on2); font: 800 15px/1 var(--t); text-transform: uppercase; padding: 0 26px; clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%); }

body.vwm-arena .vwm-conteudo .vwm-cartao a { color: var(--tx); text-decoration: none; }
@media (max-width: 1180px) {
  .hd__it { display: block; }
  .hd__sbtn { display: none; }
  .hd__sub { position: static; display: block; min-width: 0; padding: 0 0 6px 16px; background: none; border: 0; box-shadow: none; }
  .hd__sub a { font-size: 15px; min-height: 44px; }
  .hd__nav .hd__sl { display: flex; align-items: center; min-height: 48px; padding: 12px 4px; border-bottom: 1px solid var(--line); font-size: 17px; }
}
@media (max-width: 1100px) {
  .teams--n4, .teams--n5 { grid-template-columns: repeat(3, 1fr); }
  .teams--n4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .news--n2 { grid-template-columns: 1fr 1fr; }
  .news--n2 .nw:not(.nw--big), .news--n1 .nw { grid-column: span 2; }
  .news--n1 { grid-template-columns: 1fr 1fr; }
  .frmc--so .frmc__b, .lar--so .lar__b { padding: 26px 24px 30px; }
  .nums__g--n3 { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
  .socio .wrap.socio--sem-n { grid-template-columns: 1fr; }
  .th--sem-img .th__in { padding-top: 40px; }
  .hd__brandin .sigla { width: 44px; height: 44px; font-size: 12px; }
  .mh__info--n2 div:nth-child(2) { border-left: 1px solid var(--line); }
}
@media (max-width: 600px) {
  .teams--n3, .teams--n4, .teams--n5 { grid-template-columns: repeat(2, 1fr); }
  .teams--impar .tm:last-child { grid-column: 1 / -1; }
  .teams--n1 { grid-template-columns: 1fr; }
  .news--n2 .nw:not(.nw--big), .news--n1 .nw { grid-column: auto; }
  .trof--n1, .trof--n2 { grid-template-columns: 1fr; }
  .nums__g--n2, .nums__g--n3 { grid-template-columns: repeat(2, 1fr); }
  .mh__info--n2 { grid-template-columns: 1fr; }
  .mh__info--n2 div:nth-child(2) { border-left: 0; border-top: 1px solid var(--line) !important; }
  .antev { padding: 26px 18px; }
  .pg__sec { padding-top: 26px; }
  /* Calendário longo (época inteira): duas colunas compactas. */
  .cal--longo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 8px; }
  .cal--longo .jr { padding: 12px; }
  .cal--longo .jr__h { margin-bottom: 8px; }
  .cal--longo .jr__h b { font-size: 22px; }
  .cal--longo .jr__m { font-size: 13.5px; gap: 3px 6px; overflow-wrap: anywhere; }
  .cal--longo .jr__f { flex-direction: column; align-items: flex-start; gap: 6px; font-size: 13px; margin-top: 10px; }
  .cal--longo .jr__f .res, .cal--longo .jr__pj { font-size: 11px; }
  .cal--longo .jr__flag { right: 8px; font-size: 11px; padding: 5px 7px; }
}

/* =====================================================================
   Coerência: os blocos do plugin (.vwc-*) com o vocabulário da Arena —
   fundo escuro, cantos retos, cortes em paralelogramo, filetes --c2,
   Exo 2 em maiúsculas nos títulos e números, rótulos pequenos espaçados.
   ===================================================================== */
body.vwm-arena {
  --vwc-primary: var(--c1); --vwc-secondary: var(--c2); --vwc-accent: var(--c2);
  --vwc-on-primary: var(--on1); --vwc-on-accent: var(--on2);
  --vwc-radius: 0px; --vwc-line: rgba(255,255,255,.12); --vwc-soft: rgba(255,255,255,.04); --vwc-muted: var(--tx2);
  --vwc-deep: #050607; --vwc-deep2: var(--bg);
  --vwc-win: var(--c1); --vwc-draw: #5a616a; --vwc-draw-strong: #5a616a; --vwc-loss: #8b939b;
  --ar-par: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  --ar-par-s: polygon(7px 0, 100% 0, calc(100% - 7px) 100%, 0 100%);
  --ar-corte: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
  --ar-campo: #0f1216;
}
body.vwm-arena .vwc { color: inherit; }
body.vwm-arena .vwc :is(h2, h3, h4) { font-family: var(--t); }

/* Títulos de secção dentro das páginas: como os do início (barra inclinada --c2 à esquerda). */
body.vwm-arena .vwm-conteudo > :is(h2.wp-block-heading, h2.vw-section-title), body.vwm-arena .vwc-tp__sec h2, body.vwm-arena .vwc-gallery h2, body.vwm-arena .vwc-pp__desc h2 { position: relative; padding-left: 20px; font-size: clamp(26px, 3.4vw, 40px); font-weight: 800; text-transform: uppercase; line-height: 1.05; }
body.vwm-arena .vwm-conteudo > :is(h2.wp-block-heading, h2.vw-section-title)::before, body.vwm-arena .vwc-tp__sec h2::before, body.vwm-arena .vwc-gallery h2::before, body.vwm-arena .vwc-pp__desc h2::before { content: ""; position: absolute; left: 0; top: .1em; bottom: .1em; width: 8px; background: var(--c2t); transform: skewX(-14deg); }
body.vwm-arena .vwc-tp__sec h2::after { display: none; }
body.vwm-arena .vwm-conteudo > h2.wp-block-heading { margin-top: 1.9em; margin-bottom: .2em; }
body.vwm-arena .vwm-conteudo .vw-lead { font-size: clamp(18px, 2vw, 21px); line-height: 1.5; color: var(--tx); border-left: 5px solid var(--c2t); padding-left: 18px; }
body.vwm-arena .vwm-conteudo .vw-small { font-size: 14px; color: var(--tx2); }
body.vwm-arena .vwm-conteudo figure img, body.vwm-arena .vwm-conteudo .wp-block-image img { border-radius: 0; }
body.vwm-arena .vwm-conteudo .wp-block-embed iframe, body.vwm-arena .vwm-conteudo video { border-radius: 0; border-bottom: 5px solid var(--c2t); }
body.vwm-arena .vwm-conteudo :is(ul, ol):not([class]) li::marker { color: var(--c2t); font-weight: 800; }
body.vwm-arena .vwm-conteudo .wp-block-separator { opacity: 1; }
body.vwm-arena .vwm-conteudo a.vwn-cta { border-radius: 0 !important; background: var(--c2) !important; color: var(--on2) !important; font: 800 15px/1 var(--t) !important; text-transform: uppercase; padding: 15px 26px !important; clip-path: var(--ar-par); }

/* Botões: o .btn da Arena (paralelogramo, Exo 2, maiúsculas). */
body.vwm-arena :is(.vwc-btn, .vwc-join-form__btn, .vwc-pay__phone button, .vwc-ma__show, .vwc-showcard__pay) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 15px 28px; border: 0; border-radius: 0;
  background: var(--c2); color: var(--on2) !important; font: 800 15px/1.1 var(--t); text-transform: uppercase; letter-spacing: .03em; text-align: center;
  clip-path: var(--ar-par); transform: none; box-shadow: none; }
body.vwm-arena :is(.vwc-btn, .vwc-join-form__btn, .vwc-pay__phone button, .vwc-ma__show):hover { filter: brightness(1.08); transform: none; }
body.vwm-arena :is(.vwc-btn, .vwc-join-form__btn, .vwc-pay__phone button, .vwc-ma__show, .vwc-shop__add, .vwc-shop__opts, .vwc-cart-btn, .vwc-share__btn, .vwc-ct__social, .vwc-join-form__back, .vwc-ma__print, .vwc-filters__open, .vwc-chip, .vwc-shop__cats button, .vwc-seasons__btn):focus-visible { outline: 3px solid currentColor; outline-offset: -7px; }
body.vwm-arena .vwc-btn--gold { background: var(--c2); color: var(--on2) !important; }
body.vwm-arena .vwc-btn:disabled { opacity: .45; filter: none; }
/* Botão secundário: vidro claro, como o .btn--g */
body.vwm-arena :is(.vwc-join-form__back, .vwc-ma__print, .vwc-share__btn, .vwc-ct__social) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 22px; border: 0; border-radius: 0;
  background: rgba(255,255,255,.12); color: #fff !important; font: 800 13px/1 var(--t); text-transform: uppercase; letter-spacing: .04em; text-decoration: none !important;
  clip-path: var(--ar-par); transform: none; cursor: pointer; }
body.vwm-arena :is(.vwc-join-form__back, .vwc-ma__print, .vwc-share__btn, .vwc-ct__social):hover { background: rgba(255,255,255,.2); transform: none; border-color: transparent; }

/* Rótulos pequenos (kick): Titillium 700, maiúsculas espaçadas */
body.vwm-arena :is(.vwc-cta__eyebrow, .vwc-ma__eyebrow, .vwc-tp__eyebrow, .vwc-join-form__step, .vwc-shop__cat, .vwc-ma__box h3, .vwc-ct__card h3, .vwc-sponsors__title, .vwc-squad__group small, .vwc-seasons__label, .vwc-share__label) {
  font: 700 12px/1.2 var(--b); text-transform: uppercase; letter-spacing: .14em; }

/* Campos de formulário: escuros, retos, filete --c2 ao focar */
body.vwm-arena :is(.vwc-field, .vwc-join-form input[type=text], .vwc-join-form input:not([type]), .vwc-join-form input[type=email], .vwc-join-form input[type=tel], .vwc-join-form input[type=date], .vwc-join-form input[type=password], .vwc-join-form input[type=number], .vwc-ct__form input:not([type=checkbox]):not([type=radio]), .vwc-ct__form select, .vwc-ct__form textarea, .vwc-ma__form input:not([type=checkbox]):not([type=radio]), .vwc-cart input:not([type=radio]):not([type=checkbox]), .vwc-cart textarea, .vwc-pp__pers input, .vwc-pay__phone input, .vwc-filters__field select, .vwc-tp__season select) {
  min-height: 48px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 0; background-color: var(--ar-campo); color: var(--tx); font: 400 16px/1.3 var(--b); box-shadow: inset 4px 0 0 transparent; }
body.vwm-arena :is(.vwc-filters__field select, .vwc-tp__season select, .vwc-ct__form select) { appearance: none; -webkit-appearance: none; padding-right: 40px; font-weight: 600; cursor: pointer;
  background: var(--ar-campo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23eef0f2' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; }
body.vwm-arena :is(.vwc-filters__field select, .vwc-tp__season select, .vwc-ct__form select) option { background: var(--bg2); color: var(--tx); }
body.vwm-arena .vwc :is(input, select, textarea)::placeholder { color: #8b939b; opacity: 1; }
body.vwm-arena .vwc :is(input, select, textarea):not([type=radio]):not([type=checkbox]):focus { outline: 0; border-color: var(--c2t); background-color: #14181d; box-shadow: inset 4px 0 0 var(--c2t); }
body.vwm-arena .vwc :is(input, select, textarea):not([type=radio]):not([type=checkbox]):focus-visible { outline: 2px solid var(--c2t); outline-offset: 2px; }
body.vwm-arena .vwc input[type=date]::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .8; }
body.vwm-arena .vwc :is(input[type=checkbox], input[type=radio]) { accent-color: var(--c2); width: 20px; height: 20px; }
body.vwm-arena .vwc :is(input[type=checkbox], input[type=radio]):focus-visible { outline: 2px solid var(--c2t); outline-offset: 2px; }
body.vwm-arena .vwm-conteudo .vwc :is(li, td, dd) > a:not([class]) { color: inherit; }
body.vwm-arena .vwc :is(h2, h3) { margin-top: 0; }
body.vwm-arena :is(.vwc-join-form label, .vwc-ct__form label, .vwc-ma__form label, .vwc-cart label, .vwc-pp__pers label) { font: 700 13px/1.3 var(--b); text-transform: uppercase; letter-spacing: .08em; color: var(--tx2); }
body.vwm-arena :is(.vwc-join-form__consent label, .vwc-ct__consent label, .vwc-cart__consent label, .vwc-cart__ship > label, .vwc-cart__pays > label) { font: 400 14.5px/1.45 var(--b); text-transform: none; letter-spacing: 0; color: var(--tx); }
body.vwm-arena :is(.vwc-join-form__err, .vwc-ct__err, .vwc-cart__err, .vwc-ma__note.is-err, .vwc-pay__err) { border-radius: 0; background: #2a1413; color: #ffb4ab; border-left: 5px solid #ef6a5e; }
body.vwm-arena :is(.vwc-ma__note.is-ok, .vwc-pay__ok, .vwc-pay-return.is-paid) { border-radius: 0; background: var(--bg3); color: var(--tx); border-left: 5px solid var(--c1l); }
body.vwm-arena .vwc-pay-return { border-radius: 0; background: var(--bg3); color: var(--tx); border-left: 5px solid var(--c2t); }

/* Painéis (formulários, cartões brancos do plugin): o cartão escuro da Arena, com filete de 5px */
body.vwm-arena :is(.vwc-join-form, .vwc-ct__form, .vwc-ma__form, .vwc-ma__box) { border-radius: 0; background: var(--bg2); color: var(--tx); border: 1px solid var(--line); border-top: 5px solid var(--c2t); box-shadow: none; }
body.vwm-arena :is(.vwc-ct__form, .vwc-ma__form) h3 { font: 800 22px/1.1 var(--t); text-transform: uppercase; margin: 0 0 18px; }

/* Mensagem vazia: a .vazio da Arena */
body.vwm-arena .vwc-empty, body.vwm-arena .vwc-palmares.is-empty p, body.vwm-arena .vwc-palmares__none { margin: 0; padding: 22px 24px; border: 1px solid var(--line); border-left: 5px solid var(--c1l); border-radius: 0; background: var(--bg2); color: var(--tx2); text-align: left; }

/* ---------- Clube: números, direção, documentos ---------- */
body.vwm-arena .vwc-nums__grid { border-radius: 0; background: linear-gradient(90deg, color-mix(in oklab, var(--c1) 70%, black), #050607); color: #fff; clip-path: var(--ar-corte); padding: 10px 0; }
body.vwm-arena .vwc-nums__grid div { padding: 22px 28px; transform: skewX(-10deg); }
body.vwm-arena .vwc-nums__grid div > * { transform: skewX(10deg); }
body.vwm-arena .vwc-nums__grid div + div { border-left: 2px solid rgba(255,255,255,.2); }
body.vwm-arena .vwc-nums__grid dd { font: 900 clamp(40px, 5vw, 64px)/1 var(--t); font-variant-numeric: tabular-nums; }
body.vwm-arena .vwc-nums__grid dt { font: 700 12px/1.3 var(--b); text-transform: uppercase; letter-spacing: .14em; color: var(--c2t); }
body.vwm-arena .vwc-board__grid { gap: 10px; }
body.vwm-arena .vwc-board__item { min-height: 84px; background: var(--bg2); color: var(--tx); border: 1px solid var(--line); border-left: 5px solid var(--c1l); border-radius: 0; }
body.vwm-arena .vwc-board__item.is-first { background: var(--c1); color: var(--on1); border-color: var(--c1); border-left-color: var(--c2t); }
body.vwm-arena .vwc-board__avatar { width: 52px; height: 46px; border-radius: 0; background: var(--bg3); color: #fff; font: 900 16px/1 var(--t); clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-board__item.is-first .vwc-board__avatar { background: var(--c2); color: var(--on2); }
body.vwm-arena .vwc-board__item small { opacity: 1; color: var(--tx2); font: 700 11px/1.2 var(--b); letter-spacing: .12em; }
body.vwm-arena .vwc-board__item.is-first small { color: color-mix(in srgb, var(--on1) 92%, transparent); }
body.vwm-arena .vwc-board__item b { font: 800 18px/1.15 var(--t); }
body.vwm-arena .vwc-docs__list a { border-radius: 0; background: var(--bg2); border: 1px solid var(--line); border-left: 5px solid var(--c2t); color: var(--tx); }
body.vwm-arena .vwc-docs__list a:hover { transform: none; border-color: rgba(255,255,255,.3); border-left-color: var(--c2t); }
body.vwm-arena .vwc-docs__ext { border-radius: 0; background: var(--c1); color: var(--on1); font-family: var(--t); clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-docs__list b { font: 700 16px/1.25 var(--t); }
body.vwm-arena .vwc-docs__list small { color: var(--tx2); }
body.vwm-arena .vwc-docs__dl { border-radius: 0; background: var(--bg3); color: var(--c2t); }

/* ---------- Chamada: a faixa diagonal "Faz-te sócio" ---------- */
body.vwm-arena .vwc-cta { margin-top: 56px !important; }
body.vwm-arena .vwc-cta__in { border-radius: 0; background: var(--c2); color: var(--on2); clip-path: polygon(0 0, 100% 24px, 100% 100%, 0 calc(100% - 24px)); padding: 64px clamp(24px, 5vw, 56px); gap: 24px 40px; }
body.vwm-arena .vwc-cta__eyebrow { color: var(--on2); margin-bottom: 10px; }
body.vwm-arena .vwc-cta h2 { color: var(--on2); font: 900 clamp(30px, 4vw, 50px)/1.1 var(--t); text-transform: uppercase; margin: 0; }
body.vwm-arena .vwc-cta p:not(.vwc-cta__eyebrow) { color: var(--on2); font-size: 17px; }
body.vwm-arena .vwc-cta .vwc-btn { background: var(--on2); color: var(--c2) !important; }

/* ---------- Equipas (Futebol): as placas .tm com o código gigante em contorno ---------- */
body.vwm-arena .vwc-teams__grid { gap: 12px; }
body.vwm-arena .vwc-team { --acc: var(--c2t); }
body.vwm-arena .vwc-team a { min-height: 250px !important; border-radius: 0; background: var(--bg2); border: 1px solid var(--line) !important; border-bottom: 5px solid var(--c1l) !important; box-shadow: none !important; color: var(--tx) !important; }
body.vwm-arena .vwc-team a:hover { border-color: rgba(255,255,255,.3) !important; border-bottom-color: var(--c2t) !important; }
body.vwm-arena .vwc-team__img { background: linear-gradient(160deg, var(--bg3), var(--bg2)) !important; }
body.vwm-arena .vwc-team.has-photo a::after { background: linear-gradient(0deg, rgba(8,10,12,.92) 0%, rgba(8,10,12,.45) 50%, rgba(8,10,12,.1) 80%); }
body.vwm-arena .vwc-team__mono, body.vwm-arena .vwc-team__mono.is-two { top: 6px; right: auto; left: 14px; font: 900 88px/1 var(--t); letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1.5px var(--c1l); }
body.vwm-arena .vwc-team a:hover .vwc-team__mono { color: transparent; -webkit-text-stroke-color: var(--c2t); }
body.vwm-arena .vwc-team__title { font: 800 26px/1.05 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-team__line { font: 700 12px/1.3 var(--b); text-transform: uppercase; letter-spacing: .12em; color: var(--c2t); }
body.vwm-arena .vwc-team__comp { color: var(--tx2) !important; font-size: 14px !important; }
body.vwm-arena .vwc-team__cta { color: var(--c2t) !important; font: 700 13px/1 var(--b); text-transform: uppercase; letter-spacing: .08em; }
body.vwm-arena .vwc-team__cta span { color: inherit; }
body.vwm-arena .vwc-team:first-child a { background: var(--c1); color: var(--on1) !important; border-color: var(--c1) !important; border-bottom-color: var(--c2t) !important; }
body.vwm-arena .vwc-team:first-child .vwc-team__img { background: var(--c1) !important; }
body.vwm-arena .vwc-team:first-child .vwc-team__mono { -webkit-text-stroke-color: var(--c2t); }
body.vwm-arena .vwc-team:first-child :is(.vwc-team__line, .vwc-team__comp, .vwc-team__cta) { color: var(--on1) !important; }
body.vwm-arena .vwc-team:first-child.has-photo :is(.vwc-team__line, .vwc-team__comp, .vwc-team__cta) { color: #fff !important; }

/* ---------- Filtros e chips: os botões .filt da classificação ---------- */
body.vwm-arena .vwc-filters { border-bottom: 1px solid var(--line) !important; gap: 14px 16px; }
body.vwm-arena .vwc-filters__field span { font: 700 12px/1.2 var(--b) !important; text-transform: uppercase !important; letter-spacing: .12em !important; color: var(--tx2) !important; }
body.vwm-arena .vwc-filters__reset { color: var(--c2t); font: 700 13px/1 var(--b); text-transform: uppercase; letter-spacing: .08em; min-height: 44px; display: inline-flex; align-items: center; }
body.vwm-arena :is(.vwc-chip, .vwc-shop__cats button, .vwc-seasons__btn) { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 20px; border: 0; border-radius: 0; background: var(--bg3); color: var(--tx2); font: 800 14px/1 var(--t); text-transform: uppercase; letter-spacing: .03em; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); cursor: pointer; }
body.vwm-arena :is(.vwc-chip, .vwc-shop__cats button, .vwc-seasons__btn):hover { color: #fff; }
body.vwm-arena :is(.vwc-chip.is-on, .vwc-shop__cats button.is-active, .vwc-seasons__btn.is-active) { background: var(--c2); color: var(--on2); }
body.vwm-arena .vwc-filters__chips .vwc-chip:not(a) { cursor: default; }
body.vwm-arena .vwc-filters__open { min-height: 44px; padding: 10px 22px; border: 0; border-radius: 0; background: rgba(255,255,255,.12); color: #fff; font: 800 14px/1 var(--t); text-transform: uppercase; clip-path: var(--ar-par); }
body.vwm-arena .vwc-filters__open b { border-radius: 0; background: var(--c2); color: var(--on2); font-family: var(--t); }
body.vwm-arena dialog.vwc-sheet { background: var(--bg2); color: var(--tx); border-radius: 0; border-top: 5px solid var(--c2t); box-shadow: 0 -20px 50px rgba(0,0,0,.5); }
body.vwm-arena dialog.vwc-sheet::backdrop { background: rgba(5,6,7,.75); }
body.vwm-arena .vwc-sheet__head h2 { font: 800 22px/1 var(--t); text-transform: uppercase; }
body.vwm-arena :is(.vwc-sheet__x, .vwc-cart__x, .vwc-showcard__x) { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 0; background: rgba(255,255,255,.12); color: #fff; font: 400 26px/1 var(--b); cursor: pointer; }
body.vwm-arena :is(.vwc-sheet__x, .vwc-cart__x):hover { background: rgba(255,255,255,.2); }

/* ---------- Lista de jogos: faixas como as linhas da classificação ---------- */
body.vwm-arena .vwc-list { display: grid; gap: 6px; border: 0; border-radius: 0; overflow: visible; }
body.vwm-arena .vwc-row + .vwc-row { border-top: 0; }
body.vwm-arena .vwm-conteudo .vwc-row > a { color: var(--tx); }
body.vwm-arena .vwc-row a { background: rgba(255,255,255,.04); border-left: 5px solid transparent; padding: 12px 16px 12px 12px; transition: background .15s, border-color .15s; }
body.vwm-arena .vwc-row a:hover, body.vwm-arena .vwc-row a:focus-visible { background: rgba(255,255,255,.08); border-left-color: var(--c2t); }
body.vwm-arena .vwc-row a:focus-visible { outline: 3px solid var(--c2t); outline-offset: 2px; }
body.vwm-arena .vwc-row__date { border-right: 1px solid var(--line) !important; }
body.vwm-arena .vwc-row__date strong { font: 900 24px/1 var(--t); font-variant-numeric: tabular-nums; }
body.vwm-arena .vwc-row__date small { font: 700 11px/1.2 var(--b); letter-spacing: .12em; color: var(--tx2) !important; }
body.vwm-arena .vwc-row__team { font: 700 16px/1.2 var(--t); }
body.vwm-arena .vwc-row__team.is-us span { color: var(--c2t); }
body.vwm-arena .vwc-row__meta { color: var(--tx2); font-size: 13px; }
body.vwm-arena :is(.vwc-row__time, .vwc-row__score) { border-radius: 0; font: 900 17px/1 var(--t); font-variant-numeric: tabular-nums; padding: 8px 10px; background: #000; color: #fff; }
body.vwm-arena .vwc-row__score.is-v { background: var(--c1); color: var(--on1); }
body.vwm-arena .vwc-row__score.is-e { background: #5a616a; color: #fff; }
body.vwm-arena .vwc-row__score.is-d { background: transparent; color: #e7e9eb; box-shadow: inset 0 0 0 2px #8b939b; }
body.vwm-arena .vwc-row__photos { color: var(--c2t); }
body.vwm-arena .vwc-logo--placeholder { border-radius: 50%; background: var(--bg3); border: 2px solid rgba(255,255,255,.28); color: #fff; font-family: var(--t); font-weight: 800; }
body.vwm-arena .vwc-logo--sm.vwc-logo--placeholder { border-width: 1px; }
body.vwm-arena :is(.vwc-res, .vwc-badge, .vwc-cc__badge) { border-radius: 3px; font-family: var(--t); }
body.vwm-arena :is(.vwc-res.is-v, .vwc-badge.is-v, .vwc-cc__badge.is-v) { background: var(--c1); color: var(--on1); }
body.vwm-arena :is(.vwc-res.is-d, .vwc-badge.is-d, .vwc-cc__badge.is-d) { background: transparent; color: #e7e9eb; box-shadow: inset 0 0 0 2px #8b939b; }

/* ---------- Tabelas do plugin (marcadores, percurso, classificação): a .tb da Arena ---------- */
body.vwm-arena .vwc-table-wrap { border: 0; border-radius: 0; }
body.vwm-arena .vwc-table { border-collapse: separate; border-spacing: 0 6px; font-size: 15px; }
body.vwm-arena .vwc-table thead th { background: transparent; font: 700 11px/1.2 var(--b); text-transform: uppercase; letter-spacing: .12em; color: var(--tx2); border: 0; padding: 6px 8px; }
body.vwm-arena .vwc-table td { background: rgba(255,255,255,.04); border: 0 !important; padding: 12px 8px; }
body.vwm-arena .vwc-table tbody tr td:first-child { border-left: 5px solid transparent !important; font: 900 18px/1 var(--t); color: var(--tx2); }
body.vwm-arena .vwc-table td.is-team { font: 700 16px/1.2 var(--t); color: var(--tx); }
body.vwm-arena .vwc-table td.is-team a { color: inherit; }
body.vwm-arena .vwc-table td.is-pts { font: 900 19px/1 var(--t); background: rgba(255,255,255,.08); }
body.vwm-arena .vwc-table tr.is-us td { background: var(--c1); color: var(--on1); }
body.vwm-arena .vwc-table tr.is-us td.is-team, body.vwm-arena .vwc-table tr.is-us td:first-child { color: var(--on1); box-shadow: none; }
body.vwm-arena .vwc-table tr.is-us td:first-child { border-left-color: var(--c2t) !important; }
body.vwm-arena .vwc-table tr.is-us td.is-pts { background: var(--c2); color: var(--on2); }
body.vwm-arena .vwc-table__btn:focus-visible { outline: 2px solid var(--c2t); border-radius: 0; }
body.vwm-arena .vwc-table__more td { background: var(--bg3) !important; }
body.vwm-arena .vwc-table__more dt { color: var(--tx2) !important; font: 700 11px/1.2 var(--b); text-transform: uppercase; letter-spacing: .1em; }
body.vwm-arena .vwc-table__more dd { font: 800 17px/1.2 var(--t); }
body.vwm-arena .vwc-table__logo.is-empty { background: var(--bg3); }
body.vwm-arena .vwc-pl__career tbody tr:first-child td { background: rgba(255,255,255,.04); }

/* ---------- Partilha ---------- */
body.vwm-arena .vwc-share__label { color: var(--tx2); margin-right: 6px; }
body.vwm-arena .vwc-share__btn.is-wa { background: #0f7a3c; }
body.vwm-arena .vwc-share__btn.is-fb { background: #1459c7; }
body.vwm-arena .vwc-share__btn.is-x { background: #000; box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
body.vwm-arena .vwc-share__btn.is-native { background: var(--c2); color: var(--on2) !important; }
body.vwm-arena .vwc-share__btn.is-copy.is-done { background: var(--c1); color: var(--on1) !important; }

/* ---------- Sócios ---------- */
body.vwm-arena .vwc-choice { gap: 14px; }
body.vwm-arena .vwc-choice__card { padding: 26px 24px 24px; background: var(--bg2); color: var(--tx); border: 1px solid var(--line); border-top: 5px solid var(--c2t); border-radius: 0; box-shadow: none; }
body.vwm-arena .vwc-choice__card:hover { transform: none; box-shadow: none; border-color: rgba(255,255,255,.3); border-top-color: var(--c2t); }
body.vwm-arena .vwc-choice__card.is-member { border-top-color: var(--c1l); }
body.vwm-arena .vwc-choice__card.is-member:hover { border-top-color: var(--c1l); }
body.vwm-arena .vwc-choice__card small { color: var(--c2t); font: 700 12px/1.2 var(--b); text-transform: uppercase; letter-spacing: .14em; }
body.vwm-arena .vwc-choice__card.is-member small { color: var(--c1l); }
body.vwm-arena .vwc-choice__card b { color: #fff; font: 900 clamp(24px, 2.6vw, 32px)/1.05 var(--t); text-transform: uppercase; margin-top: 4px; }
body.vwm-arena .vwc-choice__card span { color: var(--tx2); font-size: 15px; }
body.vwm-arena .vwc-choice__card em { align-self: flex-start; margin-top: 14px; border-radius: 0; border: 0; background: var(--c2); color: var(--on2); font: 800 15px/1 var(--t); text-transform: uppercase; letter-spacing: .03em; clip-path: var(--ar-par); padding: 15px 26px; }
body.vwm-arena .vwc-choice__card.is-member em { background: rgba(255,255,255,.12); color: #fff; }
body.vwm-arena .vwc-choice__card:focus-visible { outline: 3px solid var(--c2t); outline-offset: 3px; }
/* Vantagens (colunas do editor): placas numeradas */
body.vwm-arena .vwm-conteudo .vw-perks { gap: 12px !important; counter-reset: perk; }
body.vwm-arena .vwm-conteudo .vw-perks > .wp-block-column { counter-increment: perk; position: relative; padding: 22px 22px 20px; background: var(--bg2); border: 1px solid var(--line); border-left: 5px solid var(--c2t); }
body.vwm-arena .vwm-conteudo .vw-perks > .wp-block-column::before { content: "0" counter(perk); display: block; font: 900 36px/1 var(--t); color: transparent; -webkit-text-stroke: 1.5px var(--c1l); margin-bottom: 10px; }
body.vwm-arena .vwm-conteudo .vw-perks h3 { margin: 0 0 8px; font-size: 20px; }
body.vwm-arena .vwm-conteudo .vw-perks p { margin: 0; color: var(--tx2); font-size: 15.5px; }
/* Quotas: placas de troféu (.tro) */
body.vwm-arena .vwc-fees { gap: 14px; }
body.vwm-arena .vwc-fee { position: relative; overflow: hidden; padding: 26px 24px 24px; border-radius: 0; background: linear-gradient(160deg, var(--bg3), var(--bg2)); border: 1px solid var(--line); border-bottom: 5px solid var(--c1l); color: var(--tx); }
body.vwm-arena .vwc-fee::before { content: ""; position: absolute; right: -30px; top: 0; bottom: 0; width: 80px; background: var(--c1); transform: skewX(-14deg); opacity: .3; }
body.vwm-arena .vwc-fee > * { position: relative; }
body.vwm-arena .vwc-fee.is-main { background: var(--c1); color: var(--on1); border-color: var(--c1); border-bottom-color: var(--c2t); }
body.vwm-arena .vwc-fee.is-main::before { background: var(--c2); opacity: .9; width: 60px; right: -24px; }
body.vwm-arena .vwc-fee__name { font: 700 12px/1.2 var(--b); letter-spacing: .14em; opacity: 1; }
body.vwm-arena .vwc-fee__price { font: 900 clamp(44px, 5vw, 60px)/1 var(--t); font-variant-numeric: tabular-nums; margin: 6px 0 4px; }
body.vwm-arena .vwc-fee__price small { font: 700 16px/1 var(--b); opacity: 1; }
body.vwm-arena .vwc-fee__sub { font-size: 14px; opacity: 1; color: var(--tx2); }
body.vwm-arena .vwc-fee.is-main .vwc-fee__sub { color: inherit; }
body.vwm-arena .vwc-fees__note { color: var(--tx2); }
body.vwm-arena .vwc-counter strong { font: 900 56px/1 var(--t); color: var(--c2t); }
/* Inscrição por passos */
body.vwm-arena .vwc-join-form { padding: clamp(22px, 3vw, 36px); }
body.vwm-arena .vwc-join-form__step { display: inline-block; color: var(--on2); background: var(--c2); padding: 8px 14px; clip-path: var(--ar-par-s); margin-bottom: 18px; }
body.vwm-arena .vwc-join-form label small, body.vwm-arena :is(.vwc-join-form__hint, .vwc-join-form__small, .vwc-join-form__amount span, .vwc-join-form__doc small) { color: var(--tx2); }
body.vwm-arena .vwc-join-form__hint { text-transform: none; letter-spacing: 0; font-size: 13.5px; }
body.vwm-arena .vwc-join-form__quota { border-radius: 0; background: var(--bg3); color: var(--tx); border-left: 5px solid var(--c2t); font: 800 18px/1.2 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-join-form__sum { border-radius: 0; background: var(--bg3); color: var(--tx); border-left: 5px solid var(--c1l); }
body.vwm-arena .vwc-join-form__nav { gap: 12px; flex-wrap: wrap; }
body.vwm-arena .vwc-join-form__nav .vwc-join-form__btn { flex: 1 1 150px; }
body.vwm-arena .vwc-join-form__nav .vwc-join-form__back { flex: 0 0 auto; }
body.vwm-arena .vwc-join-form__ok > span, body.vwm-arena :is(.vwc-ct__ok, .vwc-cart__ok) { width: 64px; height: 56px; border-radius: 0; background: var(--c1); color: var(--on1); font-family: var(--t); clip-path: var(--ar-par); }
body.vwm-arena .vwc-join-form__ok h3 { font: 900 28px/1.1 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-join-form__amount strong { font: 900 40px/1 var(--t); }
body.vwm-arena :is(.vwc-join-form__linkbtn, .vwc-ma__link-btn) { color: var(--c2t); min-height: 44px; }
body.vwm-arena :is(.vwc-join-form__linkbtn, .vwc-ma__link-btn):disabled { color: var(--tx3); }
/* Perguntas frequentes (details do editor) */
body.vwm-arena .vwm-conteudo .wp-block-details { margin-top: 6px; background: var(--bg2); border: 1px solid var(--line); border-left: 5px solid var(--c1l); }
body.vwm-arena .vwm-conteudo .wp-block-details[open] { border-left-color: var(--c2t); }
body.vwm-arena .vwm-conteudo .wp-block-details summary { display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 12px 18px; font: 700 17px/1.25 var(--t); cursor: pointer; list-style: none; }
body.vwm-arena .vwm-conteudo .wp-block-details summary::-webkit-details-marker { display: none; }
body.vwm-arena .vwm-conteudo .wp-block-details summary::before { content: "+"; flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 26px; background: var(--c2); color: var(--on2); font: 900 18px/1 var(--t); clip-path: var(--ar-par-s); }
body.vwm-arena .vwm-conteudo .wp-block-details[open] summary::before { content: "−"; }
body.vwm-arena .vwm-conteudo .wp-block-details summary:hover { color: var(--c2t); }
body.vwm-arena .vwm-conteudo .wp-block-details summary:focus-visible { outline: 3px solid var(--c2t); outline-offset: -3px; }
body.vwm-arena .vwm-conteudo .wp-block-details > :not(summary) { margin: 0; padding: 0 18px 16px 60px; color: var(--tx2); }

/* ---------- Área de sócio ---------- */
body.vwm-arena .vwc-ma__eyebrow { color: var(--c2t); }
body.vwm-arena .vwc-ma__pitch h2, body.vwm-arena .vwc-ma__top h2 { font: 900 clamp(32px, 4.4vw, 54px)/.98 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-ma__pitch > p:not(.vwc-ma__eyebrow) { color: var(--tx2); font-size: 17px; }
body.vwm-arena .vwc-ma__pitch h2 { margin-top: 10px; }
body.vwm-arena .vwc-ma__list { gap: 10px; }
body.vwm-arena .vwc-ma__list li { align-items: center; gap: 12px; font: 700 16px/1.25 var(--t); }
body.vwm-arena .vwc-ma__list li::before { content: "✓"; width: 30px; height: 30px; border-radius: 0; background: var(--c1); color: var(--on1); font: 900 14px/1 var(--t); clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-ma__form .vwc-btn { width: 100%; }
body.vwm-arena :is(.vwc-ma__small, .vwc-ma__amount span, .vwc-ma__pays span, .vwc-ma__data dt) { color: var(--tx2); }
body.vwm-arena .vwc-ma__small a, body.vwm-arena .vwc-ma__link, body.vwm-arena .vwc-ma__out { color: var(--c2t); }
body.vwm-arena .vwc-ma__box h3 { color: var(--c2t); }
body.vwm-arena .vwc-mcard-digital { border-radius: 0; clip-path: var(--ar-corte); background: linear-gradient(135deg, var(--c1), var(--c1d)); color: var(--on1); box-shadow: none; border-bottom: 6px solid var(--c2t); }
body.vwm-arena .vwc-mcard-digital::after { border-radius: 0; border: 0; width: 90px; right: -20px; top: 0; bottom: 0; aspect-ratio: auto; background: var(--c2); opacity: .85; transform: skewX(-14deg); }
body.vwm-arena .vwc-mcd__num strong { font: 900 clamp(36px, 6vw, 52px)/1 var(--t); }
body.vwm-arena .vwc-mcd__name { font-family: var(--t); font-weight: 800; }
body.vwm-arena .vwc-mcd__state { border-radius: 0; clip-path: var(--ar-par-s); padding: 6px 12px; }
body.vwm-arena .vwc-ma__ways li { border-radius: 0; background: var(--bg3); }
body.vwm-arena .vwc-ma__amount strong { font: 900 40px/1 var(--t); }
body.vwm-arena .vwc-ma__paid span { border-radius: 0; background: var(--c1); color: var(--on1); clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-ma__owed span { color: #ffb4ab; }
body.vwm-arena .vwc-ma__code, body.vwm-arena .vwc-join-form__codein { font-family: var(--t) !important; font-weight: 800 !important; }

/* ---------- Loja ---------- */
body.vwm-arena .vwc-shop__cats { gap: 6px; }
body.vwm-arena .vwc-shop__grid { gap: 14px; }
body.vwm-arena .vwc-shop__item { border-radius: 0; background: var(--bg2); color: var(--tx); border: 1px solid var(--line); border-bottom: 5px solid var(--c1l); }
body.vwm-arena .vwc-shop__item:hover { transform: none; box-shadow: none; border-color: rgba(255,255,255,.3); border-bottom-color: var(--c2t); }
body.vwm-arena .vwc-shop__img { background: var(--bg3); }
body.vwm-arena .vwc-shop__noimg { font: 900 120px/1 var(--t); color: transparent; -webkit-text-stroke: 1.5px var(--c1l); background: linear-gradient(160deg, var(--bg3), #0a0b0d); position: relative; overflow: hidden; }
body.vwm-arena .vwc-shop__noimg::after { content: ""; position: absolute; right: -40px; top: 0; bottom: 0; width: 90px; background: var(--c1); transform: skewX(-14deg); opacity: .35; }
body.vwm-arena .vwc-shop__badge { border-radius: 0; background: var(--c2); color: var(--on2); font: 800 12px/1 var(--t); letter-spacing: .06em; padding: 7px 12px; clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-shop__badge.is-out { background: #fff; color: #111; }
body.vwm-arena .vwc-shop__body { padding: 16px 18px 18px; gap: 6px; }
body.vwm-arena .vwc-shop__cat { color: var(--c2t); }
body.vwm-arena .vwc-shop__body .vwc-shop__name, body.vwm-arena .vwc-shop__body h3 { font: 800 20px/1.15 var(--t); text-transform: uppercase; margin: 0; }
body.vwm-arena .vwc-shop__body :is(.vwc-shop__name, h3) a { color: var(--tx); }
body.vwm-arena .vwc-shop__body :is(.vwc-shop__name, h3) a:hover { text-decoration: underline; text-decoration-color: var(--c2t); }
body.vwm-arena .vwc-shop__price, body.vwm-arena .vwc-price__normal { color: var(--tx); font: 900 20px/1 var(--t); font-variant-numeric: tabular-nums; }
body.vwm-arena .vwc-shop__price s, body.vwm-arena .vwc-price__normal s { color: var(--tx3); font: 600 14px/1 var(--b); }
body.vwm-arena .vwc-shop__price small { opacity: 1; color: var(--tx2); font: 600 13px/1 var(--b); }
body.vwm-arena .vwc-price__socio { border-radius: 0; background: var(--c1); color: var(--on1); font: 800 16px/1 var(--t); padding: 6px 12px; clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-price__socio small { opacity: 1; font: 700 10.5px/1 var(--b); letter-spacing: .12em; }
body.vwm-arena .vwc-shop__add { width: 50px; height: 44px; border-radius: 0; background: var(--c2); color: var(--on2) !important; font: 900 22px/1 var(--t); clip-path: var(--ar-par-s); transform: none; }
body.vwm-arena .vwc-shop__add:hover { transform: none; filter: brightness(1.1); }
body.vwm-arena .vwc-shop__add.is-added { background: var(--c1); color: var(--on1) !important; }
body.vwm-arena .vwc-shop__opts { min-height: 44px; padding: 0 18px; border: 0; border-radius: 0; background: rgba(255,255,255,.12); color: #fff !important; font: 800 13px/1 var(--t); text-transform: uppercase; letter-spacing: .03em; clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-shop__opts:hover { background: var(--c2); color: var(--on2) !important; }
body.vwm-arena .vwc-shop__perks li { border-top: 0 !important; border-left: 5px solid var(--c2t) !important; background: var(--bg2) !important; padding: 16px 18px !important; }
body.vwm-arena .vwc-shop__perks { gap: 10px !important; }
body.vwm-arena .vwc-shop__perks b { font: 800 16px/1.2 var(--t); text-transform: uppercase; margin-bottom: 4px; }
body.vwm-arena .vwc-shop__perks span { color: var(--tx2); }
body.vwm-arena .vwc-shop__empty { border: 1px solid var(--line); border-left: 5px solid var(--c1l); border-radius: 0; background: var(--bg2); }
body.vwm-arena .vwc-shop__empty > span .vwc-ic { color: var(--c2t); }
/* Artigo */
body.vwm-arena .vwc-pp { padding-top: 0; }
body.vwm-arena .vwc-pp__crumbs { color: var(--tx2); font: 700 12px/1 var(--b); text-transform: uppercase; letter-spacing: .12em; }
body.vwm-arena .vwc-pp__crumbs a { color: var(--c2t); display: inline-flex; align-items: center; min-height: 44px; }
body.vwm-arena :is(.vwc-pp__stage img.vwc-pp__main, .vwc-shop__img img, .vwc-pp__thumb img, .vwc-cart__img img) { height: 100% !important; }
body.vwm-arena .vwc-pp__perks { margin-top: 24px; }
body.vwm-arena .vwc-pp__stage { border-radius: 0; background: var(--bg3); clip-path: polygon(0 0, 100% 0, 100% 100%, 30px 100%, 0 calc(100% - 30px)); }
body.vwm-arena .vwc-pp__thumb { border-radius: 0; background: var(--bg3); border-color: var(--line); width: 76px; height: 76px; }
body.vwm-arena .vwc-pp__thumb.is-active { border-color: var(--c2t); }
body.vwm-arena .vwc-pp__info h1 { font: 900 clamp(34px, 4.6vw, 58px)/.95 var(--t); text-transform: uppercase; margin: 0 0 18px; }
body.vwm-arena .vwc-pp__info .vwc-shop__price, body.vwm-arena .vwc-pp__info .vwc-price__normal { font-size: 36px; }
body.vwm-arena .vwc-pp__info .vwc-price__socio { font-size: 20px; padding: 8px 16px; }
body.vwm-arena .vwc-pp__lead, body.vwm-arena .vwc-pp__perks { color: var(--tx2); }
body.vwm-arena .vwc-pp__socio { color: var(--c2t); }
body.vwm-arena .vwc-pp__socio small { color: var(--tx2); }
body.vwm-arena .vwc-pp__sizes legend { font: 700 12px/1.2 var(--b); letter-spacing: .14em; color: var(--tx2); }
body.vwm-arena .vwc-pp__sizes span { min-width: 52px; min-height: 44px; border: 0; border-radius: 0; background: var(--bg3); color: var(--tx); font: 800 15px/1 var(--t); clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-pp__sizes label:hover span { background: #262b33; }
body.vwm-arena .vwc-pp__sizes input:checked + span { background: var(--c2); color: var(--on2); }
body.vwm-arena .vwc-pp__sizes input:focus-visible + span { outline: 3px solid var(--c2t); outline-offset: -3px; clip-path: none; }
body.vwm-arena .vwc-pp__sizes.is-err span { box-shadow: inset 0 0 0 2px #ef6a5e; }
body.vwm-arena .vwc-pp__qty { border: 1px solid rgba(255,255,255,.24); border-radius: 0; background: var(--ar-campo); }
body.vwm-arena .vwc-pp__qty button { color: #fff; width: 46px; height: 50px; font: 800 20px/1 var(--t); }
body.vwm-arena .vwc-pp__qty button:hover { background: rgba(255,255,255,.08); }
body.vwm-arena .vwc-pp__qty input { color: var(--tx); font: 800 18px/1 var(--t); }
body.vwm-arena .vwc-pp__buy .vwc-btn { font-size: 16px; }
body.vwm-arena .vwc-pp__msg { color: var(--c2t); }
body.vwm-arena .vwc-pp__msg.is-err, body.vwm-arena .vwc-pp__stock.is-out { color: #ffb4ab; }
body.vwm-arena .vwc-pp__stock.is-ok { color: var(--c1l); }
body.vwm-arena .vwc-pp__stock.is-low { color: #f3c969; }
body.vwm-arena .vwc-pp__perks { border-top-color: var(--line); }
body.vwm-arena .vwc-pp__perks li::before { content: ""; display: inline-block; width: 10px; height: 12px; margin-right: 10px; background: var(--c2t); transform: skewX(-14deg); }
body.vwm-arena .vwc-pp__out { border-radius: 0; background: var(--bg3); border-left: 5px solid var(--c1l); }
/* Carrinho (fica fora do .vwm-conteudo) */
body.vwm-arena .vwc-cart-btn { border-radius: 0; background: var(--c2); color: var(--on2); font: 800 15px/1 var(--t); text-transform: uppercase; min-height: 52px; padding: 14px 26px; clip-path: var(--ar-par); box-shadow: none; filter: drop-shadow(0 12px 22px rgba(0,0,0,.5)); }
body.vwm-arena .vwc-cart-btn__n { border-radius: 0; background: var(--on2); color: var(--c2); font-family: var(--t); }
body.vwm-arena .vwc-cart__backdrop { background: rgba(5,6,7,.75); }
body.vwm-arena .vwc-cart__panel { background: var(--bg2); color: var(--tx); border-left: 5px solid var(--c2t); box-shadow: -30px 0 60px rgba(0,0,0,.5); font-family: var(--b); }
body.vwm-arena .vwc-cart__panel > header { border-bottom-color: var(--line); }
body.vwm-arena .vwc-cart__panel h2 { font: 900 24px/1 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-cart__list li, body.vwm-arena .vwc-cart__step footer { border-color: var(--line); }
body.vwm-arena .vwc-cart__img { border-radius: 0; background: var(--bg3); }
body.vwm-arena .vwc-cart__name b { font: 700 16px/1.2 var(--t); }
body.vwm-arena .vwc-cart__name small, body.vwm-arena .vwc-cart__empty, body.vwm-arena .vwc-cart__payone small { color: var(--tx2); }
body.vwm-arena .vwc-cart__q { border-radius: 0; border-color: rgba(255,255,255,.24); padding: 0; gap: 2px; }
body.vwm-arena .vwc-cart__q button { width: 40px; height: 40px; color: #fff; font: 800 18px/1 var(--t); }
body.vwm-arena .vwc-cart__q button:hover { background: rgba(255,255,255,.08); }
body.vwm-arena .vwc-cart__line b { font: 800 16px/1 var(--t); }
body.vwm-arena .vwc-cart__rm { color: #ffb4ab; min-height: 32px; font-size: 13px; }
body.vwm-arena .vwc-cart__total { font: 700 13px/1 var(--b); text-transform: uppercase; letter-spacing: .12em; color: var(--tx2); }
body.vwm-arena .vwc-cart__total strong { font: 900 30px/1 var(--t); color: var(--tx); letter-spacing: 0; }
body.vwm-arena .vwc-cart__step.is-form fieldset { border-radius: 0; border-color: var(--line); background: rgba(255,255,255,.03); }
body.vwm-arena .vwc-cart__step.is-form legend { font: 700 12px/1 var(--b); text-transform: uppercase; letter-spacing: .14em; color: var(--c2t); }
body.vwm-arena .vwc-cart__ship > label, body.vwm-arena .vwc-cart__pays > label { min-height: 44px; }
body.vwm-arena .vwc-cart__row2 label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.vwm-arena .vwc-cart__back { color: var(--c2t); font: 700 13px/1 var(--b); text-transform: uppercase; letter-spacing: .08em; min-height: 44px; }
body.vwm-arena .vwc-cart__addr { border-radius: 0; background: var(--bg3); }
body.vwm-arena .vwc-cart__howto { border-radius: 0; background: var(--bg3); border-left: 5px solid var(--c2t); }
body.vwm-arena .vwc-cart__step.is-done h3 { font: 900 26px/1.1 var(--t); text-transform: uppercase; }
/* Pagamentos online */
body.vwm-arena .vwc-pay { border-radius: 0; background: var(--bg3); border: 1px solid var(--line); border-left: 5px solid var(--c2t); color: var(--tx); }
body.vwm-arena .vwc-pay__title { font-family: var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-pay__methods button { border-radius: 0; background: var(--bg2); color: var(--tx); border: 2px solid var(--line); min-height: 56px; }
body.vwm-arena .vwc-pay__methods button b { font-family: var(--t); }
body.vwm-arena .vwc-pay__methods button small { opacity: 1; color: var(--tx2); }
body.vwm-arena .vwc-pay__methods button:is(:hover, .is-on) { border-color: var(--c2t); }
body.vwm-arena .vwc-pay__phone label { color: var(--tx2); }
body.vwm-arena :is(.vwc-pay__wait, .vwc-pay__mb div) { border-radius: 0; background: var(--bg2); }
body.vwm-arena .vwc-pay__mb dd { font-family: var(--t); }

/* ---------- Contactos ---------- */
body.vwm-arena .vwc-ct__info { gap: 10px; }
body.vwm-arena .vwc-ct__card { border-radius: 0; background: var(--bg2); color: var(--tx); border: 1px solid var(--line); border-left: 5px solid var(--c2t); }
body.vwm-arena .vwc-ct__card .vwc-ico { width: 48px; height: 44px; padding: 11px 13px; border-radius: 0; background: var(--c1); color: var(--on1); clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-ct__card h3 { color: var(--tx2); margin-bottom: 6px; }
body.vwm-arena .vwc-ct__card p { font: 700 17px/1.45 var(--t); }
body.vwm-arena .vwm-conteudo .vwc-ct__card p > a { color: inherit; text-decoration: none; border-bottom: 2px solid var(--c2t); }
body.vwm-arena .vwm-conteudo .vwc-ct__card p > a:hover { color: var(--c2t); }
body.vwm-arena .vwc-ct__social .vwc-ico { fill: currentColor; }
body.vwm-arena .vwc-ct__form { padding: clamp(22px, 3vw, 34px); }
body.vwm-arena .vwc-ct__map { border-radius: 0; border: 1px solid var(--line); border-bottom: 5px solid var(--c1l); background: var(--bg2); }
/* O comum.css põe height:auto nos iframes do conteúdo: o mapa tem de encher a sua caixa. */
body.vwm-arena .vwc-ct__map iframe { height: 100%; }
body.vwm-arena .vwc-ct__form.is-done h3 { font: 900 26px/1.1 var(--t); }

/* ---------- Patrocinadores: placas como no início ---------- */
body.vwm-arena .vwc-sponsors__title { color: var(--tx2); text-align: left; display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
body.vwm-arena .vwc-sponsors__title::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--c1l), transparent); }
body.vwm-arena .vwc .vwc-sponsors__grid, body.vwm-arena .vwc-sponsors__grid { gap: 10px; max-width: none; justify-content: flex-start; }
body.vwm-arena .vwc .vwc-sponsors__grid + .vwc-sponsors__grid { margin-top: 10px; padding-top: 0; }
body.vwm-arena .vwc .vwc-sponsors__grid + .vwc-sponsors__grid::before { display: none; }
body.vwm-arena .vwc-sponsors__grid .vwc-sponsor { flex: 0 1 calc((100% - (var(--cols, 5) - 1) * 10px) / var(--cols, 5)); max-width: 380px; }
body.vwm-arena .vwc-sponsors__grid.is-principal .vwc-sponsor { max-width: 520px; }
body.vwm-arena .vwc-sponsors__grid .vwc-sponsor a { display: grid; place-items: center; width: 100%; min-height: 110px; padding: 20px 22px; background: #f1f2f3; border-left: 5px solid var(--c2t); border-radius: 0; line-height: 1.1; }
body.vwm-arena .vwc-sponsors__grid.is-principal .vwc-sponsor a { min-height: 150px; }
body.vwm-arena .vwc-sponsors__grid.is-apoio .vwc-sponsor a { min-height: 84px; }
body.vwm-arena .vwc-sponsor .vwc-sponsor__name { color: #15171a; font: 800 22px/1.1 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-sponsors__grid .vwc-sponsor a:focus-visible { outline: 3px solid var(--c2t); outline-offset: 3px; }
body.vwm-arena .vwc-sponsors__grid .vwc-sponsor img.vwc-sponsor__logo[style*="--lw"] { max-width: 100%; }

/* ---------- Palmarés: placas de troféu ---------- */
body.vwm-arena .vwc-palmares__sum b { font: 900 clamp(64px, 8vw, 110px)/.85 var(--t); color: transparent; -webkit-text-stroke: 2px var(--c2t); }
body.vwm-arena .vwc-palmares__sum span { font: 800 22px/1 var(--t); }
body.vwm-arena .vwc-palmares__sum small, body.vwm-arena .vwc-palmares__none, body.vwm-arena .vwc-palmares__what small, body.vwm-arena .vwc-palmares__group h3 small { color: var(--tx2); }
body.vwm-arena .vwc-palmares__group h3 { font: 800 20px/1 var(--t); }
body.vwm-arena .vwc-palmares__code { border-radius: 0; background: var(--c1); color: var(--on1); font-family: var(--t); font-weight: 900; clip-path: var(--ar-par-s); min-width: 44px; }
body.vwm-arena .vwc-palmares__list { display: grid; gap: 6px; }
body.vwm-arena .vwc-palmares__list li { border: 0 !important; background: rgba(255,255,255,.04); border-left: 5px solid var(--c1l) !important; padding: 14px 18px; }
body.vwm-arena .vwc-palmares__season { color: var(--c2t); font: 900 18px/1 var(--t); }
body.vwm-arena .vwc-palmares__what b { font: 800 17px/1.2 var(--t); }
body.vwm-arena .vwc-palmares__what > span { color: var(--tx2) !important; }
body.vwm-arena .vwc-palmares__list li :is(.vwc-palmares__what b)::before { border-radius: 0 !important; width: 10px !important; height: 12px !important; background: var(--c2t) !important; transform: skewX(-14deg); }
body.vwm-arena .vwc-palmares__more a { color: var(--c2t); font: 700 13px/1 var(--b); text-transform: uppercase; letter-spacing: .08em; display: inline-flex; align-items: center; min-height: 44px; }

/* ---------- Jogador e plantel ---------- */
body.vwm-arena .vwc-pl__hero { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--c1d), #050607 70%); border-bottom: 5px solid var(--c2t); }
body.vwm-arena .vwc-pl__hero::before { content: ""; position: absolute; right: -60px; top: 0; bottom: 0; width: 200px; background: var(--c1); transform: skewX(-14deg); opacity: .35; pointer-events: none; }
body.vwm-arena .vwc-pl__in { position: relative; }
body.vwm-arena .vwc-pl__photo { border-radius: 0; background: rgba(255,255,255,.05); clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); }
body.vwm-arena .vwc-pl__photo.is-empty { font: 900 150px/1 var(--t); color: transparent; -webkit-text-stroke: 2px var(--c1l); }
body.vwm-arena .vwc-pl__num { border-radius: 0; background: var(--c2); color: var(--on2); font: 900 34px/1 var(--t); clip-path: var(--ar-par-s); padding: 0 16px; }
body.vwm-arena .vwc-tp__eyebrow { color: var(--c2t); }
body.vwm-arena .vwc-pl__name { font: 900 clamp(44px, 7vw, 92px)/.9 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-tp__stats { border-top-color: rgba(255,255,255,.2); }
body.vwm-arena .vwc-tp__stats dt { font: 700 11px/1.2 var(--b); letter-spacing: .14em; color: #c4c9ce; }
body.vwm-arena .vwc-tp__stats dd { font: 900 clamp(26px, 3.4vw, 40px)/1 var(--t); font-variant-numeric: tabular-nums; }
body.vwm-arena .vwc-pl__stats dd.is-text { font: 800 clamp(18px, 2vw, 22px)/1.1 var(--t); text-transform: uppercase; }
body.vwm-arena .vwc-pl__team { font: 700 13px/1 var(--b); text-transform: uppercase; letter-spacing: .08em; color: var(--c2t) !important; border-bottom: 0; display: inline-flex; align-items: center; min-height: 44px; }
body.vwm-arena .vwc-pl__team:hover { text-decoration: underline; }
body.vwm-arena .vwc .vwc-squad__group { display: flex; align-items: center; gap: 12px; font: 800 20px/1 var(--t); text-transform: uppercase; letter-spacing: 0; color: var(--tx); border-bottom: 0; padding-bottom: 0; margin: 34px 0 14px; }
body.vwm-arena .vwc .vwc-squad__group::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--c1l), transparent); }
body.vwm-arena .vwc-squad__group small { opacity: 1; color: var(--tx2); margin-left: 0; }
body.vwm-arena .vwc-squad__grid { gap: 12px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
body.vwm-arena .vwc-player a { position: relative; border-radius: 0; background: linear-gradient(170deg, var(--bg3), #0a0b0d); border: 1px solid var(--line); overflow: hidden; }
body.vwm-arena .vwc-player a:hover, body.vwm-arena .vwc-player a:focus-visible { transform: none; box-shadow: none; border-color: rgba(255,255,255,.3); }
body.vwm-arena .vwc-player a::before { content: ""; position: absolute; right: -40px; top: 0; bottom: 0; width: 90px; background: var(--c1); transform: skewX(-14deg); opacity: .35; pointer-events: none; }
body.vwm-arena .vwc-player__photo { background: transparent; position: relative; }
body.vwm-arena .vwc-player__photo--empty { font: 900 100px/1 var(--t); letter-spacing: -.04em; color: var(--c1l); opacity: .9; background: transparent; place-items: start; padding: 0 0 0 12px; }
body.vwm-arena .vwc-player__info { position: relative; align-items: flex-start; padding: 12px 14px 14px; }
body.vwm-arena .vwc-player__num { font: 900 18px/1.1 var(--t); color: var(--c2t); min-width: 0; }
body.vwm-arena .vwc-player__name { font: 800 16px/1.1 var(--t); text-transform: uppercase; color: var(--tx); }
body.vwm-arena .vwc-player__extra { color: var(--tx2); text-transform: none; font: 400 12.5px/1.3 var(--b); }
body.vwm-arena .vwc-captain { border-radius: 0; background: var(--c2); color: var(--on2); font-family: var(--t); }
body.vwm-arena .vwc-left { border-radius: 0; background: var(--bg2); border: 1px solid var(--line); border-left: 5px solid var(--c1l); }
body.vwm-arena .vwc-left h3 { font: 700 12px/1.2 var(--b); letter-spacing: .14em; opacity: 1; color: var(--tx2); }
body.vwm-arena .vwc-left small { opacity: 1; color: var(--tx2); }
body.vwm-arena .vwc-staff__item { border-radius: 0; background: var(--bg2); border: 1px solid var(--line); border-left: 4px solid var(--c1l); color: var(--tx); }
body.vwm-arena .vwc-staff__item.is-head { background: var(--c1); color: var(--on1); border-color: var(--c1); border-left-color: var(--c2t); }
body.vwm-arena .vwc-staff__avatar { border-radius: 0; background: var(--bg3); color: #fff; font-family: var(--t); clip-path: var(--ar-par-s); }
body.vwm-arena .vwc-staff__item.is-head .vwc-staff__avatar { background: var(--c2); color: var(--on2); }
body.vwm-arena .vwc-tp__resumo .vwc-card { border-radius: 0; }

/* Galeria */
body.vwm-arena .vwc-gallery__grid a { border-radius: 0; background: var(--bg3); }
body.vwm-arena .vwc-gallery__credit, body.vwm-arena .vwc-gallery h2 small { color: var(--tx2); }
body.vwm-arena .vwc-lb button { border-radius: 0; clip-path: var(--ar-par-s); }

/* Notícias ligadas a jogos */
body.vwm-arena .vwc-match-news a { border-radius: 0; background: var(--bg2); border: 1px solid var(--line); border-left: 5px solid var(--c2t); }
body.vwm-arena .vwc-match-news img { border-radius: 0; }
body.vwm-arena .vwc-match-news small { color: var(--tx2); }

@media (max-width: 600px) {
  body.vwm-arena .vwc-nums__grid { grid-template-columns: repeat(2, 1fr); }
  body.vwm-arena .vwc-nums__grid div { padding: 18px 18px; }
  body.vwm-arena .vwc-nums__grid div:nth-child(odd) { border-left: 0; }
  body.vwm-arena .vwc-cta__in { clip-path: polygon(0 0, 100% 16px, 100% 100%, 0 calc(100% - 16px)); padding: 48px 20px; }
  body.vwm-arena .vwc-team a { min-height: 7.75rem !important; }
  body.vwm-arena .vwc-team__mono, body.vwm-arena .vwc-team__mono.is-two { left: auto; right: 14px; top: 50%; transform: translateY(-50%); font-size: 72px; }
  body.vwm-arena .vwc-row a { padding: 10px 10px 10px 6px; }
  body.vwm-arena .vwc-row__team { font-size: 14.5px; }
  body.vwm-arena .vwc-row__date strong { font-size: 20px; }
  body.vwm-arena :is(.vwc-row__time, .vwc-row__score) { font-size: 15px; padding: 7px 8px; }
  body.vwm-arena .vwc-table td { padding: 11px 5px; }
  body.vwm-arena .vwc-shop__grid { gap: 10px; }
  body.vwm-arena .vwc-shop__body { padding: 12px 12px 14px; }
  body.vwm-arena .vwc-shop__body .vwc-shop__name, body.vwm-arena .vwc-shop__body h3 { font-size: 16px; }
  body.vwm-arena .vwc-shop__noimg { font-size: 84px; }
  body.vwm-arena .vwc-price__socio { font-size: 14px; padding: 5px 10px; }
  body.vwm-arena .vwc-shop__price, body.vwm-arena .vwc-price__normal { font-size: 17px; }
  body.vwm-arena .vwc-sponsors__grid .vwc-sponsor { flex-basis: calc((100% - 10px) / 2); }
  body.vwm-arena .vwc-sponsors__grid.is-principal .vwc-sponsor { flex-basis: 100%; }
  body.vwm-arena .vwc-squad__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  body.vwm-arena .vwc-player__photo--empty { font-size: 80px; }
  body.vwm-arena .vwc-choice__card em { align-self: stretch; text-align: center; justify-content: center; }
  body.vwm-arena .vwm-conteudo .wp-block-details > :not(summary) { padding-left: 18px; }
  body.vwm-arena .vwc-pl__photo.is-empty { font-size: 110px; }
  body.vwm-arena .vwc-palmares__list li { padding: 12px 14px; }
}
body.vwm-arena .vwc .vwc-sponsors__grid + .vwc-sponsors__title { margin-top: 40px; }
body.vwm-arena .vwc .vwc-squad__group:first-child { margin-top: 0; }
body.vwm-arena .vwc-pl__career td.is-n { font-family: var(--t); font-weight: 700; }
body.vwm-arena .vwc-shop__price .vwc-price__socio small { color: inherit; }
body.vwm-arena .vwc :is(input[type=checkbox], input[type=radio]):focus:not(:focus-visible) { outline: 0; }
/* Página do jogador: dentro do .wrap do modelo o corpo do plugin não precisa da sua própria margem lateral. */
body.vwm-arena .vwm-conteudo .vwc-tp__body { padding-left: 0; padding-right: 0; }

/* ── Revisão de sobreposições ─────────────────────────────────────────────
   Texto nunca passa por cima das faixas diagonais nem dos números de fundo. */
/* Classificação (início): o "3" gigante tem line-height .8 e descia para cima do parágrafo. */
.band__big { padding-bottom: .12em; }
/* Sócios (início): "Anos de clube" colado ao número grande. */
.socio__n small { margin-top: 16px; }
/* Cronologia do jogo: "Intervalo" passa a ser uma etiqueta com fundo próprio em cima da linha
   (as hastes dos eventos começam a 8px da linha e já não a cruzam). */
.tl__ht { top: 50%; transform: translate(-50%, -50%); padding: 2px 8px; line-height: 11px; background: var(--bg2); box-shadow: inset 0 0 0 1px var(--line); z-index: 1; }
/* Jogaram / Suplentes: o texto começa sempre abaixo do número de fundo. */
.pc { padding-top: 74px; }
.pc--s { padding-top: 52px; }
@media (max-width: 600px) { .pc { padding-top: 58px; } .pc--s { padding-top: 50px; } }
/* Plantel (equipa e página do jogador): a faixa diagonal fica atrás do número de fundo e
   desvanece antes da zona do nome, que já não lhe passa por cima. */
.pl::before { -webkit-mask-image: linear-gradient(180deg, #000 20%, transparent 46%); mask-image: linear-gradient(180deg, #000 20%, transparent 46%); }
body.vwm-arena .vwc-player a::before { -webkit-mask-image: linear-gradient(180deg, #000 34%, transparent 64%); mask-image: linear-gradient(180deg, #000 34%, transparent 64%); }
/* Quotas e troféus: o texto não chega à faixa da direita. */
body.vwm-arena .vwc-fee, .tro { padding-right: 96px; }
/* Ficha do jogador: faixa mais estreita e texto com margem para ela. */
body.vwm-arena .vwc-pl__hero::before { width: 130px; }
body.vwm-arena .vwc-pl__txt { padding-right: 100px; }
/* Quando não há fotografia o número gigante já está no quadro: sem o segundo número em cima dele. */
body.vwm-arena .vwc-pl__photo.is-empty + .vwc-pl__num { display: none; }
@media (max-width: 700px) {
  /* Uma coluna: a faixa fica só atrás do quadro da fotografia, onde não há texto. */
  body.vwm-arena .vwc-pl__hero::before { bottom: auto; height: calc(clamp(2.5rem, 6vw, 4.5rem) + 325px); }
  body.vwm-arena .vwc-pl__txt { padding-right: 0; }
  /* Percurso no clube cabe no ecrã sem cortar colunas. */
  body.vwm-arena .vwc-table.vwc-pl__career :is(thead th, td) { padding-left: 4px; padding-right: 4px; }
  body.vwm-arena .vwc-table.vwc-pl__career thead th { letter-spacing: .04em; }
  body.vwm-arena .vwc-table.vwc-pl__career .is-team { min-width: 0; }
  body.vwm-arena .vwc-table.vwc-pl__career td:first-child { font-size: 15px; }
}
@media (max-width: 600px) {
  body.vwm-arena .vwc-team__body { padding-right: 7.5rem !important; }
}
body.vwm-arena .vwc-player__num { flex: 0 0 auto; }
body.vwm-arena .vwc-player__info > :not(.vwc-player__num) { min-width: 0; }
/* Seta dos selects: a regra geral dos campos (:is com mais especificidade) anulava o padding-right
   e o texto passava por baixo da seta (filtros de Jogos, época da Futebol/equipa, contactos). */
body.vwm-arena :is(.vwc-filters__field select, .vwc-tp__season select, .vwc-ct__form select, select[data-vwc-go]) { padding-right: 44px !important; text-overflow: clip; }
/* 0' e 90' também em etiqueta sobre as pontas da linha: um evento aos 2' ou aos 88' já não lhes passa por cima. */
.tl__line::before, .tl__line::after { top: 50%; transform: translateY(-50%); padding: 2px 5px; font-size: 11px; line-height: 11px; background: var(--bg2); box-shadow: inset 0 0 0 1px var(--line); z-index: 1; }
.tl__line::before { left: -12px; } .tl__line::after { right: -12px; }
