/* Layout público global A.S.V.R - menu e rodapé unificados */
:root{
  --asvr-primary:#0b2f55;
  --asvr-primary-2:#164f86;
  --asvr-accent:#e23d3d;
  --asvr-border:#dbe4ee;
  --asvr-muted:#64748b;
  --asvr-bg:#f4f7fb;
}
.asvr-global-header *,.asvr-global-footer *{box-sizing:border-box}
.asvr-global-header{position:sticky;top:0;z-index:5000;width:100%;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--asvr-border);box-shadow:0 10px 28px rgba(11,47,85,.10);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a}
.asvr-global-header-inner{width:min(1500px,calc(100% - 28px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.asvr-global-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--asvr-primary);min-width:220px}
.asvr-global-brand img{width:48px!important;height:48px!important;object-fit:contain!important;flex:0 0 auto}
.asvr-global-brand span{font-weight:950;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;line-height:1.2}
.asvr-global-nav{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;flex:1}
.asvr-global-nav a,.asvr-global-drop-btn{display:inline-flex;align-items:center;gap:7px;text-decoration:none;border:1px solid transparent;background:#fff;color:var(--asvr-primary);border-radius:999px;padding:8px 11px;font-size:.84rem;font-weight:850;line-height:1;white-space:nowrap;cursor:pointer;font-family:inherit}
.asvr-global-nav a:hover,.asvr-global-drop-btn:hover{border-color:#cbd5e1;box-shadow:0 8px 20px rgba(11,47,85,.10);transform:translateY(-1px)}
.asvr-global-nav .asvr-global-reserved{background:linear-gradient(135deg,#e23d3d,#b91c1c);color:#fff;box-shadow:0 10px 22px rgba(226,61,61,.22)}
.asvr-global-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.asvr-global-actions a{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;text-decoration:none;font-size:.82rem;font-weight:900;white-space:nowrap}
.asvr-global-actions .socio{background:linear-gradient(135deg,#facc15,#f97316);color:#111827}.asvr-global-actions .treino{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.asvr-global-actions .pontuacao{background:#0b2f55;color:#fff}.asvr-global-actions .admin{background:#111827;color:#fff}
.asvr-global-dropdown{position:relative;display:inline-flex}
.asvr-global-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:#fff;border:1px solid var(--asvr-border);border-radius:16px;box-shadow:0 18px 38px rgba(15,23,42,.16);padding:8px;display:none;z-index:5010}
.asvr-global-dropdown:hover .asvr-global-dropdown-menu,.asvr-global-dropdown:focus-within .asvr-global-dropdown-menu{display:grid;gap:5px}.asvr-global-dropdown-menu a{justify-content:flex-start;border-radius:12px;width:100%;padding:10px 11px}
.asvr-global-menu-toggle{display:none;border:0;background:#0b2f55;color:#fff;border-radius:12px;padding:10px 12px;font-weight:950;cursor:pointer}
.asvr-global-footer{margin-top:44px;background:linear-gradient(90deg,#071f3a,#0b2f55 58%,#164f86);color:#dbe7f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.asvr-global-footer-inner{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:34px 0 22px}.asvr-global-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:28px;align-items:start}.asvr-global-footer-brand{display:flex;gap:14px;align-items:flex-start}.asvr-global-footer-brand img{width:62px;height:62px;object-fit:contain;flex:0 0 auto}.asvr-global-footer h3,.asvr-global-footer h4{margin:0 0 10px;color:#fff;font-weight:950}.asvr-global-footer p{margin:0;color:#cbd5e1;line-height:1.65;font-size:.92rem}.asvr-global-footer a{display:block;color:#dbeafe;text-decoration:none;font-size:.88rem;margin:7px 0}.asvr-global-footer a:hover{color:#fff;text-decoration:underline}.asvr-global-sponsors{border-top:1px solid rgba(255,255,255,.14);margin-top:26px;padding-top:22px}.asvr-global-sponsors-title{display:flex;align-items:center;gap:9px;color:#fff;font-weight:950;margin-bottom:14px}.asvr-global-sponsor-list{display:grid;grid-template-columns:repeat(auto-fit,205px);gap:16px;align-items:stretch;justify-content:center;justify-items:center}.asvr-global-sponsor-group{width:100%;margin-top:10px}.asvr-global-sponsor-group-title{width:100%;grid-column:1/-1;text-align:center;color:#cbd5e1;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.16em;margin:8px 0 2px}.asvr-global-sponsor{width:205px;max-width:205px;height:112px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:16px;box-shadow:0 10px 24px rgba(0,0,0,.18);text-decoration:none;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.asvr-global-sponsor:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.25)}.asvr-global-sponsor img{display:block;width:100%;height:100%;max-width:168px;max-height:78px;object-fit:contain;object-position:center}.asvr-global-sponsor span{color:#0b2f55;font-weight:900;font-size:.85rem;text-align:center;line-height:1.15}.asvr-global-copy{border-top:1px solid rgba(255,255,255,.14);margin-top:22px;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#cbd5e1;font-size:.82rem}.asvr-global-copy a{display:inline;margin:0;color:#fff;font-weight:850}
@media(max-width:1100px){.asvr-global-header-inner{flex-wrap:wrap}.asvr-global-brand{min-width:auto}.asvr-global-nav{order:3;width:100%;justify-content:center}.asvr-global-actions{flex:1}}
@media(max-width:720px){.asvr-global-sponsor-list{grid-template-columns:repeat(2, minmax(145px, 1fr));gap:12px;justify-content:center}.asvr-global-sponsor{width:100%;max-width:205px;height:96px;padding:12px}.asvr-global-header-inner{align-items:flex-start}.asvr-global-brand span{font-size:.68rem}.asvr-global-brand img{width:42px!important;height:42px!important}.asvr-global-menu-toggle{display:inline-flex;margin-left:auto}.asvr-global-nav,.asvr-global-actions{display:none;width:100%;justify-content:flex-start}.asvr-global-header.open .asvr-global-nav,.asvr-global-header.open .asvr-global-actions{display:flex}.asvr-global-nav{flex-direction:column;align-items:stretch}.asvr-global-nav a,.asvr-global-drop-btn{width:100%;justify-content:center}.asvr-global-dropdown{width:100%;display:block}.asvr-global-dropdown-menu{position:static;box-shadow:none;margin-top:6px;width:100%;display:none}.asvr-global-dropdown.open .asvr-global-dropdown-menu{display:grid}.asvr-global-actions a{flex:1;justify-content:center}.asvr-global-footer-grid{grid-template-columns:1fr;text-align:center}.asvr-global-footer-brand{justify-content:center}.asvr-global-sponsor-list{justify-content:center}.asvr-global-copy{justify-content:center;text-align:center}}

/* Páginas institucionais adicionais */
.asvr-info-page{width:min(1200px,calc(100% - 28px));margin:0 auto;padding:34px 0 46px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a}
.asvr-info-hero{background:linear-gradient(135deg,#fff 0%,#f8fbff 55%,#eef5ff 100%);border:1px solid #dbe4ee;border-radius:28px;padding:30px;box-shadow:0 16px 36px rgba(15,23,42,.09);margin-bottom:22px}
.asvr-info-kicker{margin:0 0 8px;color:#dc2626;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:950}
.asvr-info-hero h1{margin:0;color:#0b2f55;font-size:clamp(2rem,5vw,4rem);line-height:.98;font-weight:950;letter-spacing:-.04em}
.asvr-info-hero p{max-width:820px;color:#475569;line-height:1.65;font-size:1rem}
.asvr-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.asvr-info-card{background:#fff;border:1px solid #dbe4ee;border-radius:22px;padding:20px;box-shadow:0 10px 24px rgba(15,23,42,.07)}
.asvr-info-card h2,.asvr-info-card h3{margin:0 0 10px;color:#0b2f55;font-weight:950}
.asvr-info-card p,.asvr-info-card li{color:#475569;line-height:1.6}
.asvr-info-card ul{margin:.5rem 0 0;padding-left:1.25rem}
.asvr-info-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:900;background:#0b2f55;color:#fff;margin-top:10px}
.asvr-info-btn.red{background:#dc2626}.asvr-info-btn.light{background:#eef5ff;color:#0b2f55}
.asvr-faq-item{border:1px solid #dbe4ee;border-radius:18px;background:#fff;margin-bottom:12px;overflow:hidden}
.asvr-faq-item summary{cursor:pointer;padding:16px 18px;color:#0b2f55;font-weight:950;list-style:none}
.asvr-faq-item summary::-webkit-details-marker{display:none}
.asvr-faq-item div{padding:0 18px 16px;color:#475569;line-height:1.65}
.asvr-hof-section{margin-top:22px}
.asvr-hof-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.asvr-hof-card{background:#fff;border:1px solid #dbe4ee;border-radius:20px;padding:18px;box-shadow:0 10px 22px rgba(15,23,42,.06)}
.asvr-hof-rank{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#0b2f55;color:#fff;font-weight:950;margin-bottom:10px}
.asvr-hof-value{font-size:1.8rem;color:#dc2626;font-weight:950;line-height:1}
.asvr-share-box{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.asvr-share-box button,.asvr-share-box a{border:0;border-radius:999px;padding:10px 14px;background:#eef5ff;color:#0b2f55;font-weight:900;text-decoration:none;cursor:pointer}
@media(max-width:720px){.asvr-info-page{width:min(100% - 18px,1200px);padding:20px 0 34px}.asvr-info-hero{border-radius:22px;padding:22px}.asvr-info-card{border-radius:18px;padding:16px}}


/* Menu público reformulado - versão mais limpa */
.asvr-menu-clean .asvr-global-header-inner{
  max-width:1500px;
  gap:18px;
}
.asvr-menu-clean .asvr-global-brand{
  min-width:250px;
}
.asvr-menu-clean .asvr-global-nav{
  gap:8px;
}
.asvr-menu-clean .asvr-global-nav a,
.asvr-menu-clean .asvr-global-drop-btn{
  padding:9px 13px;
  font-size:.86rem;
}
.asvr-menu-clean .asvr-global-dropdown-menu{
  min-width:260px;
}
.asvr-menu-clean .asvr-global-dropdown-menu a{
  border-radius:12px;
  justify-content:flex-start;
  gap:9px;
}
.asvr-menu-clean .asvr-global-reserved{
  background:linear-gradient(135deg,#e23d3d,#b91c1c)!important;
  color:#fff!important;
}
.asvr-menu-clean .asvr-global-actions .pontuacao{
  background:#0b2f55;
  color:#fff;
}
.asvr-menu-clean .asvr-global-actions .admin{
  background:#111827;
  color:#fff;
}
.asvr-menu-clean .asvr-global-actions a{
  padding:9px 13px;
}
@media(max-width:1220px){
  .asvr-menu-clean .asvr-global-brand span{
    max-width:190px;
  }
  .asvr-menu-clean .asvr-global-nav a,
  .asvr-menu-clean .asvr-global-drop-btn,
  .asvr-menu-clean .asvr-global-actions a{
    font-size:.8rem;
    padding:8px 10px;
  }
}
@media(max-width:720px){
  .asvr-menu-clean .asvr-global-brand{
    min-width:auto;
  }
  .asvr-menu-clean .asvr-global-dropdown-menu a{
    justify-content:center;
  }
}


/* Correcção: tamanho do texto do menu igual na página inicial e restantes páginas */
.asvr-global-header .asvr-global-nav a,
.asvr-global-header .asvr-global-drop-btn,
.asvr-global-header .asvr-global-actions a {
    font-size: 0.84rem !important;
    line-height: 1 !important;
}

.asvr-global-header .asvr-global-brand span {
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
}

.asvr-global-header .asvr-global-dropdown-menu a {
    font-size: 0.84rem !important;
    line-height: 1.15 !important;
}

@media (max-width: 1220px) {
    .asvr-global-header .asvr-global-nav a,
    .asvr-global-header .asvr-global-drop-btn,
    .asvr-global-header .asvr-global-actions a {
        font-size: 0.8rem !important;
    }
}

@media (max-width: 720px) {
    .asvr-global-header .asvr-global-nav a,
    .asvr-global-header .asvr-global-drop-btn,
    .asvr-global-header .asvr-global-actions a {
        font-size: 0.92rem !important;
        line-height: 1.2 !important;
    }
}


/* Correcção visual: jogadores inscritos no detalhe da competição */
#content-camp-jogadores h2,
#content-camp-jogadores .text-white,
#content-camp-jogadores .font-bold,
#content-camp-jogadores .font-semibold {
    color: #0b2f55 !important;
}

#content-camp-jogadores .input-field,
#search-camp-jogadores {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

#content-camp-jogadores .bg-gray-800,
#content-camp-jogadores .bg-gray-700,
#content-camp-jogadores [class*="bg-gray-8"],
#content-camp-jogadores [class*="bg-gray-7"] {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #dbe4ee !important;
}

#content-camp-jogadores .text-gray-400,
#content-camp-jogadores .text-gray-500 {
    color: #64748b !important;
}

.asvr-camp-player-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem;
    border-radius: 1rem;
    border: 1px solid #dbe4ee;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.asvr-camp-player-card:hover {
    transform: translateY(-2px);
    border-color: rgba(11, 47, 85, 0.28);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.13);
}

.asvr-camp-player-photo {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    object-fit: cover;
    flex: 0 0 auto;
    background: #e2e8f0;
    border: 2px solid #ffffff;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
}

.asvr-camp-player-photo.placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0b2f55;
    background: #eef5ff;
}

.asvr-camp-player-info {
    min-width: 0;
}

.asvr-camp-player-name {
    margin: 0;
    color: #0b2f55 !important;
    font-weight: 950;
    font-size: 0.95rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.asvr-camp-player-team {
    margin: 0.18rem 0 0;
    color: #64748b !important;
    font-size: 0.78rem;
    font-weight: 750;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 720px) {
    .asvr-camp-player-card {
        padding: 0.85rem;
    }
    .asvr-camp-player-name {
        font-size: 0.9rem;
    }
}


/* Correcção visual: equipas inscritas no detalhe da competição */
#content-camp-equipas h2,
#content-camp-equipas .text-white,
#content-camp-equipas .font-bold,
#content-camp-equipas .font-semibold {
    color: #0b2f55 !important;
}

#content-camp-equipas .input-field,
#search-camp-equipas {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

#content-camp-equipas .bg-gray-800,
#content-camp-equipas .bg-gray-700,
#content-camp-equipas [class*="bg-gray-8"],
#content-camp-equipas [class*="bg-gray-7"] {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #dbe4ee !important;
}

#content-camp-equipas .text-gray-400,
#content-camp-equipas .text-gray-500 {
    color: #64748b !important;
}

.asvr-camp-team-card {
    min-height: 165px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.2rem;
    border-radius: 1.15rem;
    border: 1px solid #dbe4ee;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    text-align: center;
}

.asvr-camp-team-card:hover {
    transform: translateY(-3px);
    border-color: rgba(226, 61, 61, 0.35);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.14);
}

.asvr-camp-team-logo {
    width: 78px;
    height: 78px;
    object-fit: contain;
    border-radius: 0.9rem;
    background: #ffffff;
    border: 1px solid #dbe4ee;
    padding: 0.35rem;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.asvr-camp-team-logo.placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef5ff;
    color: #0b2f55;
    font-size: 1.45rem;
}

.asvr-camp-team-name {
    margin: 0;
    color: #0b2f55 !important;
    font-weight: 950;
    font-size: 1.05rem;
    line-height: 1.25;
    word-break: break-word;
}

@media(max-width:420px){.asvr-global-sponsor-list{grid-template-columns:1fr}.asvr-global-sponsor{width:100%;max-width:240px}}


/* Patrocínios e apoios - hierarquia profissional */
.asvr-global-sponsor-list{grid-template-columns:repeat(auto-fit,minmax(150px,190px));gap:12px}
.asvr-global-sponsor-group-title{margin:16px 0 1px;color:#94a3b8;font-size:.68rem;letter-spacing:.15em}
.asvr-global-sponsor-group-title.is-principal{color:#fcd34d}
.asvr-global-sponsor{width:100%;max-width:190px;height:92px;padding:12px;border-radius:15px}
.asvr-global-sponsor.is-principal{grid-column:auto;max-width:260px;height:116px;padding:16px;border:2px solid rgba(251,191,36,.48);box-shadow:0 16px 32px rgba(0,0,0,.27)}
.asvr-global-sponsor.is-oficial{height:102px}
.asvr-global-sponsor.is-institucional{background:#f8fafc}
.asvr-global-sponsor img{max-width:158px;max-height:68px}
.asvr-global-sponsor.is-principal img{max-width:220px;max-height:82px}
@media(max-width:720px){.asvr-global-sponsor-list{grid-template-columns:repeat(2,minmax(135px,1fr))}.asvr-global-sponsor,.asvr-global-sponsor.is-principal{max-width:220px;width:100%}}
@media(max-width:420px){.asvr-global-sponsor-list{grid-template-columns:1fr}.asvr-global-sponsor,.asvr-global-sponsor.is-principal{max-width:260px}}


/* Rodapé público unificado — modelo do Calendário Geral */
.asvr-global-footer.asvr-calendar-footer{margin-top:auto;width:100%;background:linear-gradient(90deg,#071f3a,#0b2f55);color:#cbd5e1}
.asvr-calendar-footer-inner{width:min(1024px,calc(100% - 2rem));margin:0 auto;padding:2rem 0}
.asvr-calendar-footer-title{margin:0 0 1rem;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.18em;font-size:.875rem;line-height:1.25rem;font-weight:800}
.asvr-calendar-sponsor-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;min-height:72px}
.asvr-calendar-sponsor-card{display:flex!important;align-items:center;justify-content:center;width:auto;min-width:110px;max-width:180px;height:72px;margin:0!important;padding:10px 14px;overflow:hidden;border:0;border-radius:14px;background:#fff;color:#0b2f55;text-decoration:none!important;box-shadow:0 8px 20px rgba(0,0,0,.16);transition:.16s ease}
.asvr-calendar-sponsor-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.23)}
.asvr-calendar-sponsor-card img{display:block;width:auto;height:auto;max-width:150px;max-height:52px;object-fit:contain;object-position:center}
.asvr-calendar-sponsor-card span{color:#0b2f55;text-align:center;font-size:.78rem;line-height:1.15;font-weight:900}
.asvr-calendar-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem}
.asvr-calendar-footer-links a{display:inline!important;margin:0!important;color:#cbd5e1;text-decoration:none;font-size:.75rem;line-height:1rem}
.asvr-calendar-footer-links a:hover{color:#fff;text-decoration:none}
.asvr-calendar-footer-copy{margin:1.25rem 0 0!important;color:#cbd5e1!important;text-align:center;font-size:.72rem!important;line-height:1.1rem!important;opacity:.75}
@media(max-width:640px){.asvr-calendar-footer-inner{width:min(100% - 1rem,1024px);padding:1.5rem 0}.asvr-calendar-sponsor-list{gap:.75rem}.asvr-calendar-sponsor-card{min-width:94px;max-width:145px;height:62px;padding:8px 10px}.asvr-calendar-sponsor-card img{max-width:125px;max-height:44px}.asvr-calendar-footer-links{gap:.7rem 1rem}}

/* ==========================================================
   A.S.V.R. PÚBLICO — TIPOGRAFIA COMPACTA E LEGÍVEL v1.4
   Reduz cabeçalhos de páginas e títulos dos blocos da home.
   ========================================================== */

/* Cabeçalhos principais das vistas públicas dentro da página inicial */
body .public-view .section-header .section-title,
body .public-view > .section-header > h1,
body #view-campeonatos .section-title,
body #view-tacas .section-title,
body #view-ranking .section-title,
body #view-registo-socio .section-title,
body #view-direcao .section-title,
body #view-contactos .section-title {
    font-size: clamp(1.85rem, 2.7vw, 2.65rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
}

/* Título do detalhe de campeonato / taça */
body #view-campeonato-detalhe #camp-titulo,
body #view-taca-detalhe #taca-titulo,
body .camp-pro-header h1 {
    font-size: clamp(2rem, 3.25vw, 3rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em !important;
    max-width: 800px;
}

/* Cabeçalho visual dos blocos da página inicial */
body #view-inicio .home-section-card > div:first-child h2,
body #view-inicio #portal-asvr h2,
body #view-inicio .asvr-sponsors-home-header h2,
body #view-inicio .home-section-card .section-title,
body #view-inicio section > header h2 {
    font-size: clamp(1.4rem, 2vw, 1.85rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.018em !important;
}

/* Títulos dos cartões do portal rápido */
body #view-inicio .asvr-portal-card h3 {
    font-size: clamp(1.22rem, 1.6vw, 1.5rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.015em !important;
    margin-top: .8rem !important;
    margin-bottom: .35rem !important;
}

/* Texto dos cartões ligeiramente mais compacto */
body #view-inicio .asvr-portal-card p {
    font-size: .94rem !important;
    line-height: 1.48 !important;
}

body #view-inicio .asvr-portal-action {
    font-size: .86rem !important;
}

/* Banner inicial: manter impacto sem ocupar demasiado espaço */
body #view-inicio .banner-content h2 {
    font-size: clamp(1.9rem, 3.2vw, 3rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.025em !important;
}

body #view-inicio .banner-content p {
    font-size: clamp(.92rem, 1.15vw, 1.05rem) !important;
}

/* Cartões-resumo das competições */
body .camp-overview-card .value {
    font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
    line-height: 1.05 !important;
}

body .camp-overview-card .label,
body .camp-overview-card .hint {
    letter-spacing: .06em !important;
}

/* Cabeçalhos secundários dentro das páginas públicas */
body .public-view h2:not(.banner-content h2):not(.asvr-sponsors-home-header h2),
body .camp-pro-section-title,
body .competition-section-title {
    font-size: clamp(1.3rem, 1.9vw, 1.7rem) !important;
    line-height: 1.15 !important;
}

/* Páginas institucionais que usam o layout global */
body .asvr-info-hero h1 {
    font-size: clamp(1.9rem, 3.6vw, 3rem) !important;
    line-height: 1.04 !important;
}

body .asvr-info-card h2,
body .asvr-info-card h3 {
    font-size: clamp(1.22rem, 1.7vw, 1.55rem) !important;
    line-height: 1.18 !important;
}

@media (max-width: 768px) {
    body .public-view .section-header .section-title,
    body .public-view > .section-header > h1,
    body #view-campeonato-detalhe #camp-titulo,
    body #view-taca-detalhe #taca-titulo,
    body .camp-pro-header h1 {
        font-size: 1.9rem !important;
        line-height: 1.08 !important;
    }

    body #view-inicio .home-section-card > div:first-child h2,
    body #view-inicio #portal-asvr h2,
    body #view-inicio .asvr-sponsors-home-header h2 {
        font-size: 1.4rem !important;
    }

    body #view-inicio .asvr-portal-card h3 {
        font-size: 1.22rem !important;
    }

    body #view-inicio .banner-content h2 {
        font-size: 1.85rem !important;
    }
}


/* HOME - cartões de jogos com logótipos */
.home-match-card {
  list-style: none;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.home-match-card + .home-match-card { margin-top: 10px; }

.home-match-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.home-match-teams {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.home-match-team {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.home-match-team--away {
  justify-content: flex-end;
  text-align: right;
}

.home-team-logo-img,
.home-team-logo {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #dbe2ea;
  padding: 4px;
  object-fit: contain;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08);
}

.home-team-logo--placeholder {
  background: #f8fafc;
  color: #64748b;
}

.home-match-team-name {
  font-size: 0.98rem;
  font-weight: 800;
  color: #0f2850;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-match-vs,
.home-match-score {
  font-weight: 900;
  color: #153d75;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.home-match-score {
  font-size: 1.08rem;
}

.home-match-score span { opacity: 0.6; }

.home-match-meta {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.home-match-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #5b6c84;
  font-size: 0.8rem;
  font-weight: 700;
}

.home-match-actions {
  margin-top: 12px;
}

.home-match-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: #113a6b;
  color: #fff;
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 800;
}

.home-match-card--result .home-match-button {
  background: #0f4f9c;
}

@media (max-width: 720px) {
  .home-match-teams {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .home-match-team,
  .home-match-team--away {
    justify-content: flex-start;
    text-align: left;
  }

  .home-match-vs,
  .home-match-score {
    justify-self: start;
  }
}


/* ============================================================
   LOGÓTIPOS DAS EQUIPAS — PADRÃO PÚBLICO GLOBAL
   ============================================================ */
.asvr-public-team-logo,
.asvr-public-team-logo-img {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 11px;
  border: 1px solid #dbe3ec;
  background: #fff;
  padding: 4px;
  object-fit: contain;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 5px 13px rgba(15,23,42,.08);
}
.asvr-public-team-logo--sm,
.asvr-public-team-logo-img.asvr-public-team-logo--sm { width:30px;height:30px;min-width:30px;border-radius:9px;padding:3px; }
.asvr-public-team-logo--lg,
.asvr-public-team-logo-img.asvr-public-team-logo--lg { width:52px;height:52px;min-width:52px;border-radius:14px;padding:5px; }
.asvr-public-team-logo--placeholder { background:#f8fafc;color:#64748b; }
.asvr-public-team-cell { display:flex;align-items:center;gap:10px;min-width:0; }
.asvr-public-team-cell.right { justify-content:flex-end;text-align:right; }
.asvr-public-team-name { min-width:0;overflow:hidden;text-overflow:ellipsis; }
.asvr-player-team-line { display:flex;align-items:center;gap:7px; }
.asvr-player-team-line .asvr-public-team-logo-img,
.asvr-player-team-line .asvr-public-team-logo { width:24px;height:24px;min-width:24px;border-radius:7px;padding:2px; }

@media(max-width:720px){
  .asvr-public-team-logo,
  .asvr-public-team-logo-img { width:34px;height:34px;min-width:34px; }
  .asvr-public-team-logo--lg,
  .asvr-public-team-logo-img.asvr-public-team-logo--lg { width:44px;height:44px;min-width:44px; }
}
