/* Afinações pequenas do tema (carregado depois do style.css). */
@container (max-width: 560px) {
	.vwc-row a { padding: 1rem 1.1rem; column-gap: 1rem; row-gap: .55rem; align-items: center; }
	.vwc-row__teams { row-gap: .55rem; column-gap: 1rem; }
	.vwc-row__team { gap: .6rem; }
	.vwc-row__team .vwc-logo, .vwc-row__team img { width: 26px !important; height: 26px !important; flex: none; object-fit: contain; }
	.vwc-row__meta { gap: .45rem; padding-top: .4rem; border-top: 1px dashed var(--vwc-line, #e3e7e4); }
	.vwc-row__complogo { width: 20px !important; height: 20px !important; }
	.vwc-row__date { align-self: stretch; }
}
/* Páginas com filtros (Jogos, Classificações): conteúdo mais largo e filtros sem texto cortado */
.wp-block-post-content:has(.vwc-filters-wrap) { --wp--style--global--content-size: 1240px; }
.vwc-filters__field { min-width: 220px; }
.vwc-filters__field select { min-width: 0; width: 100%; text-overflow: ellipsis; }
.vwc-row__meta { justify-self: center; }
@container (max-width: 560px) { .vwc-row__meta { justify-self: stretch; } }
/* Cartão do jogo (também no destaque): associação pequena · competição em destaque · detalhes por baixo */
.vwc-card__head { align-items: center !important; }
.vw-hero .vwc-card__head { flex-direction: column !important; flex-wrap: nowrap !important; justify-content: center; gap: .4rem !important; }
.vw-hero .vwc-card__comp { font-size: 1.1rem; color: #fff; }
.vw-hero .vwc-card__sub { font-size: .82rem; }
/* Centro de jogo por baixo do destaque: cartões a sobrepor a base do hero */
.vw-cc { background: var(--vw-soft) !important; border-bottom: 1px solid var(--vw-line); padding-bottom: 3rem !important; position: relative; z-index: 2; }
.vw-cc .vwc-cc { margin-top: -3rem !important; margin-bottom: 0 !important; }
.vw-cc .vwc-cc__panel { border-color: transparent; box-shadow: 0 24px 50px -30px rgba(0,0,0,.55), 0 2px 6px -2px rgba(0,0,0,.08); }
.vw-cc .vwc-cc__more { border-bottom: 2px solid var(--vw-gold); padding-bottom: .1rem; }
@media (max-width: 781px) { .vw-cc .vwc-cc { margin-top: -1.75rem !important; } .vw-cc { padding-bottom: 2rem !important; } }
/* Logos das equipas maiores no Centro de jogo e no Hub */
.vwc-mm__side .vwc-logo { width: 66px !important; height: 66px !important; }
.vwc-cc__side .vwc-logo { width: 76px !important; height: 76px !important; }
.vwc-cc__next .vwc-logo { width: 42px !important; height: 42px !important; }
/* Empate a cinzento (o verde-oliva confundia-se com vitória) */
.vwc { --vwc-draw: #8b9490 !important; }
/* Cabeçalho das páginas: resumo por baixo do título */
.vw-pagehead__lead { max-width: 62ch; margin: .9rem 0 0 !important; font-size: clamp(1rem, 1.6vw, 1.15rem); line-height: 1.55; color: rgba(255,255,255,.82); }
.vw-pagehead__lead p { margin: 0; }
/* Faixa branca por baixo da risca dourada do cabeçalho: o bloco escuro seguinte sobe mais para trás do cabeçalho
   (a quantidade antiga não chegava quando o cabeçalho é mais alto, em ecrãs largos). */
.vw-pagehead { margin-top: -5rem !important; padding-top: calc(104px + 2.2rem) !important; }
.vwc-tp__hero, .vwc-pl__hero { margin-top: -3.5rem; padding-top: 3.5rem; }
/* Cabeçalho mais baixo: logo e margens menores, corte diagonal mais suave. */
@media (min-width: 601px) {
	.vw-header { padding-top: .7rem !important; padding-bottom: 1.9rem !important; margin-bottom: -1rem; }
	.vw-header::before { clip-path: polygon(0 0, 100% 0, 100% 74%, 0 100%); }
	.vw-header::after { clip-path: polygon(0 100%, 100% 74%, 100% 77%, 0 103%); }
	.vw-brand .wp-block-site-logo img { width: 58px; }
	.vw-brand .wp-block-site-title { font-size: clamp(1.2rem, 1.9vw, 1.55rem); }
	.vw-brand .wp-block-site-tagline { display: none; }
	.vw-pagehead { margin-top: -3.4rem !important; padding-top: calc(64px + 2.2rem) !important; }
}
/* Páginas com blocos do clube (Clube, Contactos, Loja, Área de sócio, Futebol, Patrocinadores): conteúdo largo, texto com linhas confortáveis */
.wp-block-post-content:has(.vwc-nums, .vwc-ct, .vwc-shop, .vwc-ma, .vwc-board, .vwc-cta, .vwc-docs) { --wp--style--global--content-size: 1240px; }
.wp-block-post-content:has(.vwc-nums, .vwc-ct, .vwc-shop, .vwc-ma, .vwc-board, .vwc-cta, .vwc-docs) > p { max-width: 75ch; margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; }
.wp-block-post-content:has(.vwc-nums, .vwc-ct, .vwc-shop, .vwc-ma, .vwc-board, .vwc-cta, .vwc-docs) > .vw-section-title { margin-top: 3rem; }
body:has(.vwc-cta.is-patrocinio) .vw-sponsors-band { display: none; }
/* Sócios: vantagens em cartões e perguntas frequentes em acordeão */
.vw-perks { gap: 1rem !important; counter-reset: perk; }
.vw-perks > .wp-block-column { position: relative; padding: 1.4rem 1.4rem 1.3rem; border-radius: 14px; background: #fff; border: 1px solid var(--vw-line); counter-increment: perk; }
.vw-perks > .wp-block-column::before { content: "0" counter(perk); display: block; font-size: .8rem; font-weight: 800; letter-spacing: .14em; color: var(--vw-gold); margin-bottom: .5rem; }
.vw-perks h3 { margin: 0 0 .4rem !important; }
.vw-perks p { margin: 0; color: #3c4540; line-height: 1.55; }
.wp-block-post-content details.wp-block-details { border: 1px solid var(--vw-line); border-radius: 12px; padding: 0; margin-top: 0 !important; margin-bottom: .6rem !important; background: #fff; }
.wp-block-post-content details.wp-block-details summary { padding: 1rem 3rem 1rem 1.2rem; font-weight: 700; cursor: pointer; list-style: none; position: relative; }
.wp-block-post-content details.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-post-content details.wp-block-details summary::after { content: "+"; position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); font-size: 1.3rem; color: var(--vw-green); }
.wp-block-post-content details.wp-block-details[open] summary::after { content: "–"; }
.wp-block-post-content details.wp-block-details > :not(summary) { padding: 0 1.2rem 1rem; margin: 0; color: #3c4540; }
/* Notícias sem foto de capa: o cartão em destaque não encolhe (fundo verde do clube) e os outros ganham uma faixa verde */
.vw-section .vw-news .wp-block-post:first-child:not(:has(.wp-block-post-featured-image img)) { min-height: 340px; background: linear-gradient(135deg, var(--vw-green), var(--vw-green-deep)); }
.vw-news .wp-block-post:not(:first-child):not(:has(.wp-block-post-featured-image img))::before { content: ""; display: block; aspect-ratio: 16 / 10; background: linear-gradient(135deg, var(--vw-green), var(--vw-green-deep)); }
@media (max-width: 781px) { .vw-section .vw-news .wp-block-post:first-child:not(:has(.wp-block-post-featured-image img)) { min-height: 240px; } }
