/* ==========================================================================
   Shiga Dragon Futsal — refinamento visual v2 (cópia de teste)
   Carregado depois do main.css; tudo prefixado com .v2 (classe no <body>) para
   vencer os <style> das páginas sem mexer neles. Remover a classe = visual antigo.
   Mesmas cores (preto/azul-noite + dourado) e fontes (Barlow / Barlow Condensed).
   ========================================================================== */

.v2 {
  --space-section: clamp(1.5rem, 3.2vw, 2.5rem);
  --photo-veil: linear-gradient(90deg, rgba(9,13,20,.96) 0%, rgba(9,13,20,.82) 42%, rgba(9,13,20,.45) 100%);
  --photo-veil-up: linear-gradient(0deg, rgba(9,13,20,1) 0%, rgba(9,13,20,.55) 45%, rgba(9,13,20,.35) 100%);
  --card-edge: 1px solid var(--dark-border);
  --gold-line: linear-gradient(90deg, var(--gold-light), rgba(245,192,0,0));
  font-feature-settings: "tnum" 1;
}
.v2 .container { max-width: 1180px; padding-inline: clamp(1rem, 3vw, 1.5rem); }

/* ── Ritmo vertical: menos vão entre as seções ───────────────────────────── */
.v2 .section,
.v2 .home-section { padding: var(--space-section) 0; }
.v2 .portal-section { padding: 1.25rem 0 var(--space-section); }
.v2 .hs-head { margin-bottom: .9rem; }
.v2 .section-title { margin-bottom: 1rem !important; }
.v2 .section-eyebrow { margin-bottom: .25rem; }

/* títulos de seção com a barrinha dourada do clube */
.v2 .hs-title,
.v2 .section-title { display: flex; align-items: center; gap: .55rem; letter-spacing: .01em; text-wrap: balance; }
.v2 .hs-title::before,
.v2 .section-title::before { content: ''; flex: none; width: 5px; height: .95em; border-radius: 2px; background: var(--gold-light); }
.v2 .section-title { font-size: clamp(1.5rem, 4.2vw, 2.2rem); }

/* ── Hero das páginas internas: compacto, com foto do time ao fundo ─────── */
.v2 .hero { min-height: 0; padding: clamp(1.6rem, 4vw, 2.6rem) 0 !important; text-align: left; justify-content: flex-start; }
.v2 .hero .container { width: 100%; }
.v2 .hero-title { font-size: clamp(1.9rem, 6vw, 3.2rem) !important; line-height: .95; margin-bottom: .35rem; }
.v2 .hero-subtitle { margin-left: 0; max-width: 60ch; }
.v2 .hero-badge { margin-bottom: .8rem; }
.v2.has-hero-photo .hero { background: var(--photo-veil), var(--hero-photo) center 30% / cover no-repeat, var(--dark-2); }
.v2.has-hero-photo .hero::before { opacity: .55; }

/* ── Hero da home ────────────────────────────────────────────────────────── */
.v2 .hero--compact { padding: clamp(2rem, 6vw, 4rem) 0 !important; min-height: clamp(380px, 52vw, 560px); align-items: center; }
.v2 .hero--compact .hero-content-flex { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.25rem); text-align: left; justify-content: flex-start; }
.v2 .hero--compact .hero-visual { flex: none; margin: 0; }
.v2 .hero--compact .hero-logo { width: clamp(92px, 16vw, 190px); height: auto; filter: drop-shadow(0 10px 30px rgba(0,0,0,.6)); }
.v2 .hero--compact .hero-title { font-size: clamp(2.3rem, 7.5vw, 4.6rem) !important; text-shadow: 0 4px 24px rgba(0,0,0,.6); }
.v2 .hero--compact .hero-subtitle { font-size: clamp(.95rem, 2.2vw, 1.15rem); color: #d7deea; text-shadow: 0 2px 10px rgba(0,0,0,.7); }
.v2 .hero--compact .hero-ctas { justify-content: flex-start; margin-top: 1.25rem; gap: .6rem; flex-wrap: wrap; }
.v2.has-hero-photo .hero--compact { background: var(--photo-veil), var(--hero-photo) 70% 35% / cover no-repeat, var(--dark-2); }
@media (max-width: 640px) {
  .v2 .hero--compact { min-height: 0; }
  .v2.has-hero-photo .hero--compact { background: var(--photo-veil-up), var(--hero-photo) 60% 30% / cover no-repeat, var(--dark-2); }
  .v2 .hero--compact .hero-content-flex { flex-direction: column; align-items: flex-start; }
  .v2 .hero--compact .hero-ctas .btn { flex: 1 1 auto; text-align: center; }
}

/* faixa de números: encosta no hero, mais firme */
.v2 .stats-strip { background: linear-gradient(180deg, #0d1626, #0b1220); border-block: 1px solid var(--dark-border); }
.v2 .stats-strip-inner { padding: .6rem 0; }
.v2 .ss-val { font-size: clamp(1.25rem, 3.4vw, 1.6rem); }

/* ── Cards do portal (próximo jogo, resultados, tabela, artilharia) ─────── */
.v2 .portal-grid { gap: .9rem; }
.v2 .pw-head { padding: .6rem .9rem; background: linear-gradient(90deg, rgba(245,192,0,.10), rgba(245,192,0,0) 70%); }
.v2 .pw-label { font-size: .8rem; }
.v2 .pw-more { font-size: .74rem; }
.v2 .pw-more:hover, .v2 .hs-see-all:hover { color: var(--gold-light); }

/* ── Notícias: card com imagem em cima, sem caixa preta vazia ───────────── */
.v2 .home-news-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: .9rem; }
.v2 .home-news-card { flex-direction: column; gap: 0; border-radius: var(--radius-lg); }
.v2 .home-news-card:hover { border-color: var(--dark-border-2); transform: translateY(-2px); }
.v2 .home-news-img { width: 100%; min-width: 0; aspect-ratio: 16 / 9; }
.v2 .home-news-img img { width: 100%; height: 100%; object-fit: cover; }
.v2 .home-news-img--empty { background: radial-gradient(circle at 50% 40%, rgba(245,192,0,.18), transparent 60%), url('/assets/img/vetor.png') center / 72px auto no-repeat, var(--dark-2); }
.v2 .home-news-body { padding: .75rem .9rem .9rem; }
.v2 .home-news-title { font-size: 1.12rem; }
.v2 .home-news-sum { font-size: .84rem; }
.v2 .home-news-date { color: var(--text-muted); font-size: .74rem; }

/* ── Sobre / apoio ───────────────────────────────────────────────────────── */
.v2 .home-section--alt { background: var(--dark-2); border-block: 1px solid var(--dark-border); }
.v2 .card { border-radius: var(--radius-lg); }

/* ── "Junte-se ao Shiga Dragon" com foto do time ─────────────────────────── */
.v2 .join-banner { padding: clamp(1.75rem, 5vw, 3rem) clamp(1rem, 4vw, 2.5rem); border-radius: var(--radius-lg); overflow: hidden; }
.v2.has-join-photo .join-banner { background: linear-gradient(0deg, rgba(9,13,20,.94), rgba(9,13,20,.62)), var(--join-photo) center 35% / cover no-repeat; border-color: rgba(245,192,0,.45); }
.v2 .join-banner-title { font-size: clamp(1.7rem, 5vw, 2.6rem); text-shadow: 0 3px 18px rgba(0,0,0,.6); }
.v2 .join-banner-sub { color: #d7deea; }

/* ── Jogos: cartões de partida e placares ────────────────────────────────── */
.v2 .matches-list, .v2 .results-list { gap: .6rem; }
.v2 .match-card { border-radius: var(--radius-lg); padding: .85rem 1rem; }
.v2 .result-card { border-radius: var(--radius-lg); padding: .7rem 1rem; gap: .75rem; }
.v2 .rc-score { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 1.55rem; letter-spacing: .02em;
  background: #0a0f19; border: 1px solid var(--dark-border-2); border-radius: .6rem; padding: .15rem .7rem; min-width: 5.2rem; justify-content: center; }
.v2 .rc-shield, .v2 .mc-shield img { object-fit: contain; }
.v2 .rc-competition { color: var(--text-muted); }
.v2 .match-empty { padding: 1.25rem 1rem; margin-bottom: 1.25rem; }
@media (max-width: 640px) {
  .v2 .result-card { grid-template-columns: auto 1fr auto; row-gap: .25rem; }
  .v2 .rc-date { grid-column: 2 / -1; font-size: .72rem; }
  .v2 .rc-score { font-size: 1.3rem; min-width: 4.4rem; }
}

/* ── Tabelas (classificação, artilharia) ─────────────────────────────────── */
.v2 .cls-group { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 1rem; }
.v2 .cls-group-header { background: linear-gradient(90deg, rgba(245,192,0,.14), transparent); }
.v2 .cls-table th { font-size: .7rem; letter-spacing: .08em; }
.v2 .cls-table td, .v2 .cls-table th { padding-block: .6rem; }
.v2 .cls-table tbody tr:nth-child(even) td { background: rgba(255,255,255,.015); }
.v2 .cls-table .row-us td { background: rgba(245,192,0,.07) !important; }
.v2 .col-pts-val { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 1.15rem; color: var(--gold-light); }

/* ── Elenco: cards de jogador com número grande e nome sobre a foto ─────── */
.v2 .players-grid { gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(min(46%, 230px), 1fr)); }
.v2 .player-card { border-radius: var(--radius-lg); overflow: hidden; position: relative; }
.v2 .player-photo-wrap { aspect-ratio: 4 / 5; }
.v2 .player-photo { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .35s ease; }
.v2 .player-card:hover .player-photo { transform: scale(1.04); }
.v2 .player-photo-placeholder { background: radial-gradient(circle at 50% 40%, rgba(245,192,0,.14), transparent 60%), url('/assets/img/vetor.png') center / 38% auto no-repeat, var(--dark-2) !important; }
.v2 .player-photo-placeholder > * { opacity: 0; }
.v2 .player-number { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 1.15rem; min-width: 2.1rem; height: 2.1rem; display: flex; align-items: center; justify-content: center; border-radius: .5rem; box-shadow: 0 4px 14px rgba(0,0,0,.45); }
.v2 .player-info { padding: .7rem .85rem .85rem; }
.v2 .player-nickname { font-size: 1.2rem; letter-spacing: .02em; }
@media (max-width: 480px) {
  .v2 .player-info { padding: .55rem .65rem .7rem; }
  .v2 .player-nickname { font-size: 1.02rem; }
}

/* ── Galeria / patrocinadores: menos borda vazia ────────────────────────── */
.v2 .sponsors-section { padding: 1rem 0 !important; }

/* ── Rodapé mais curto no celular ────────────────────────────────────────── */
@media (max-width: 640px) {
  .v2 .site-footer { padding-top: 1.5rem; }
  .v2 .footer-grid { gap: 1.25rem; }
}

/* ── Torneio: hero com foto ──────────────────────────────────────────────── */
.v2.has-tour-photo .tp-hero { background: var(--photo-veil), var(--tour-photo) center 40% / cover no-repeat, var(--dark-2); }
@media (max-width: 640px) { .v2.has-tour-photo .tp-hero { background: var(--photo-veil-up), var(--tour-photo) center 35% / cover no-repeat, var(--dark-2); } }
.v2 .tp-section { padding: var(--space-section) 0; }
.v2 .tp-section--tight { padding: 1rem 0; }

/* acessibilidade: sem animação para quem pediu */
@media (prefers-reduced-motion: reduce) {
  .v2 *, .v2 *::before, .v2 *::after { animation: none !important; transition: none !important; }
}

/* ── Ajustes da 2ª passada ───────────────────────────────────────────────── */
/* escudo do hero: o main.css força 360px com !important */
.v2 .hero--compact img.hero-logo { width: clamp(84px, 15vw, 190px) !important; max-width: none !important; }
.v2 .hero--compact .hero-visual { max-width: none !important; }
@media (max-width: 640px) { .v2 .hero--compact .hero-content-flex { flex-direction: row; align-items: center; flex-wrap: wrap; } .v2 .hero--compact .hero-content-flex > .reveal { flex: 1 1 100%; } }

/* artilheiros da home: número e "gols" na mesma linha = cards da direita mais baixos */
.v2 .scorer-row { padding-block: .45rem !important; }
.v2 .scorer-goals { display: flex; align-items: baseline; gap: .25rem; }

/* notícia única: card horizontal largo em vez de um card estreito e um vazio ao lado */
.v2 .home-news-grid:has(> .home-news-card:only-child) { grid-template-columns: 1fr; }
@media (min-width: 640px) {
  .v2 .home-news-grid:has(> .home-news-card:only-child) .home-news-card { flex-direction: row; }
  .v2 .home-news-grid:has(> .home-news-card:only-child) .home-news-img { width: 38%; aspect-ratio: 16 / 10; }
  .v2 .home-news-grid:has(> .home-news-card:only-child) .home-news-body { padding: 1.1rem 1.25rem; align-self: center; }
}

/* "Sobre o time": no celular vira lista enxuta */
.v2 .card--compact { padding: 1rem 1.1rem; }
.v2 .card--compact .card-title { margin-bottom: .45rem; padding-bottom: .45rem; }
@media (max-width: 640px) { .v2 .grid-3 { gap: .6rem; } .v2 .card--compact .card-text { font-size: .9rem; line-height: 1.5; } }

/* ── Torneio: topo no estilo do cartaz de referência ("Torneo de Futbol") ───
   coroa sobre o título e letras metálicas (sem as pinceladas atravessando) */
.v2 .tp-hero { overflow: hidden; }
.v2 .tp-hero::before { content: none; }
.v2 .tp-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 38%; pointer-events: none;
  background: linear-gradient(0deg, rgba(20,48,22,.55), transparent); }
.v2 .tp-hero > * { position: relative; z-index: 1; }
.v2 .tp-title { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; font-style: italic; letter-spacing: .015em; }
.v2 .tp-crown { display: block; margin-left: clamp(.2rem, 2vw, 1.2rem); filter: drop-shadow(0 3px 8px rgba(0,0,0,.6)); }
.v2 .tp-title-text { font-size: clamp(2.1rem, 8vw, 4rem);
  background: linear-gradient(180deg, #ffffff 0%, #e9edf3 38%, #9aa3ad 52%, #f4f6f8 64%, #c7ccd3 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  -webkit-text-stroke: 1px rgba(245,192,0,.75);
  filter: drop-shadow(0 3px 0 #7a5a00) drop-shadow(0 8px 16px rgba(0,0,0,.65)); }
.v2 .tp-eyebrow { color: var(--gold-vivid); text-shadow: 0 2px 8px rgba(0,0,0,.7); }
.v2 .tp-hero-meta { color: #d3dae6; text-shadow: 0 1px 6px rgba(0,0,0,.85); }

/* fundo "ginásio Shiga" (assets/img/fundos): já é escuro, véu mais leve para mostrar faixas e refletores */
.v2.bg-arena { --photo-veil: linear-gradient(90deg, rgba(9,13,20,.78) 0%, rgba(9,13,20,.45) 45%, rgba(9,13,20,.15) 100%);
  --photo-veil-up: linear-gradient(0deg, rgba(9,13,20,.96) 0%, rgba(9,13,20,.45) 50%, rgba(9,13,20,.15) 100%); }
.v2.bg-arena.has-hero-photo .hero--compact { background-position: 0 0, center 40%; }
.v2.bg-arena.has-hero-photo .hero:not(.hero--compact) { background-position: 0 0, center 30%; }
