﻿/* Public website: restrained club colours and clearer visual hierarchy. */
:root {
    --primary: #071c15;
    --primary-light: #0c281e;
    --accent: #5bda96;
    --accent-dark: #00883d;
    --accent-glow: rgba(91, 218, 150, .16);
    --mint: #a6efc5;
    --text: #e7efeb;
    --text-muted: #b0c5b9;
    --card-bg: #102e23;
    --card-border: rgba(199, 229, 211, .13);
    --radius: 16px;
    --shadow: 0 12px 32px rgba(0, 0, 0, .18);
}
body { background-image: none; }
::selection { background: #a6efc5; color: #071c15; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--mint); outline-offset: 5px;
}
.skip-link { position: fixed; top: 12px; left: 16px; z-index: 1100; padding: 12px 20px; background: white; color: #071c15; border-radius: 8px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
#main-content { scroll-margin-top: 84px; }
.navbar { background: rgba(7, 28, 21, .96); border-image: none; border-bottom: 1px solid var(--card-border); }
.navbar-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 24px; }
.navbar-brand { min-width: 0; white-space: normal; font-size: .95rem; letter-spacing: .6px; line-height: 1.25; }
.navbar-brand .logo { flex-shrink: 0; background: white; border: 0; padding: 3px; }
.nav-links { grid-column: 2; gap: 2px; }
.nav-links li a { color: #bdcfc5; }
.nav-links li a.active { color: var(--accent); border-bottom-color: var(--accent); }
.nav-links .nav-admin a { background: #174832; color: white; }
.hero { min-height: 650px; min-height: min(780px, 88svh); margin-top: 0; padding-top: 68px; isolation: isolate; }
.hero > .container { width: 100%; }
.hero-content { max-width: 760px; padding: 90px 0 100px; z-index: 2; }
.hero-bg { background: radial-gradient(ellipse at 90% 30%, #175b39 0, transparent 58%), linear-gradient(120deg, #071c15, #0a3020); }
.hero-bg::before { background: linear-gradient(125deg, transparent 60%, rgba(166, 239, 197, .035) 60%, rgba(166, 239, 197, .035) 80%, transparent 80%); }
.hero-bg::after { width: 480px; height: 480px; right: -120px; border: 1px solid rgba(166, 239, 197, .16); box-shadow: 0 0 0 80px rgba(166, 239, 197, .025), 0 0 0 160px rgba(166, 239, 197, .025); }
.hero-bg--overlay { background: none; }
.hero-slide-overlay { background: linear-gradient(90deg, rgba(4, 20, 13, .9), rgba(4, 20, 13, .58) 60%, rgba(4, 20, 13, .3)); }
.hero-badge { padding: 8px 14px; background: rgba(91, 218, 150, .09); border-color: rgba(166, 239, 197, .3); border-radius: 6px; letter-spacing: 2px; color: var(--mint); }
.hero h1 { font-size: clamp(2.6rem, 5.7vw, 4.75rem); line-height: 1.12; letter-spacing: -.7px; text-wrap: balance; }
.hero h1 span { background: none; -webkit-text-fill-color: currentColor; color: var(--mint); }
.hero p { color: #d0dfd6; max-width: 560px; font-size: 1.08rem; }
.btn { border-radius: 8px; min-height: 46px; letter-spacing: .7px; transition: background .2s, border-color .2s, box-shadow .2s; }
.btn-primary { background: #a6efc5; color: #082719; box-shadow: none; }
.btn-primary:hover { background: #c7f7dc; color: #082719; transform: none; box-shadow: 0 4px 16px rgba(0, 0, 0, .15); }
.btn-outline { background: rgba(255, 255, 255, .025); border-color: rgba(211, 236, 221, .35); }
.btn-outline:hover { background: rgba(166, 239, 197, .09); color: white; border-color: var(--mint); transform: none; }
.hero-carousel-btn { top: auto; bottom: 24px; transform: none; background: rgba(7, 28, 21, .65); }
.hero-carousel-prev { left: auto; right: 82px; }
.hero-carousel-next { right: 24px; }
.hero-carousel-dot { min-width: 24px; height: 24px; border: 7px solid transparent; background-clip: padding-box; }
.hero-carousel-dot--active { width: 38px; border-radius: 12px; }
.destaques-strip { background: #0c281e; }
.destaque-item { padding: 30px 20px; }
.destaque-icon { font-size: 1.1rem; margin-bottom: 10px; }
.destaque-num { font-size: 2.25rem; }
.destaque-label { color: #bdcfc5; letter-spacing: 1.5px; }
.section { padding: 76px 0; }
.section-alt { background: #0a231a; }
.section-header { margin-bottom: 36px; }
.section-label { padding: 0; border: 0; border-radius: 0; background: none; color: var(--mint); letter-spacing: 2.5px; margin-bottom: 12px; }
.section-header h2 { font-size: clamp(1.85rem, 3.4vw, 2.7rem); line-height: 1.2; }
.section-divider { height: 3px; width: 44px; background: var(--accent); box-shadow: none; margin-top: 18px; }
.page-header { background: radial-gradient(ellipse at 100% 0, #174b32, transparent 65%), #0c281e; }
.page-header::after { height: 2px; background: linear-gradient(90deg, var(--accent), transparent); }
.card, .noticia-card, .jogo-card, .evento-card, .atleta-card, .orgao-card, .pat-card, .sponsor-card { box-shadow: 0 4px 20px rgba(0, 0, 0, .08); }
.card:hover, .noticia-card:hover, .jogo-card:hover, .atleta-card:hover, .orgao-card:hover, .pat-card:hover, .sponsor-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: rgba(166, 239, 197, .35); }
.noticia-body { padding: 26px; }
.noticia-body h3 { line-height: 1.35; }
.noticia-body p { line-height: 1.8; }
.noticias-grid--featured .noticia-card:first-child .noticia-body { padding: 36px; }
.jogo-card-header { background: rgba(166, 239, 197, .04); }
.jogo-vs { text-shadow: none; color: var(--mint); background: transparent; border-color: var(--card-border); }
.sponsor-card { min-width: 0; }
.sponsor-card .sponsor-logo-area { background: #fff; height: 170px; padding: 24px; }
.sponsor-card img { filter: none; }
.sponsor-card .sponsor-info { padding: 18px; }
.sponsor-card .sponsor-nome { color: var(--text); }
.sponsor-card .sponsor-tipo { color: var(--mint); font-size: .65rem; }
.form-control { background: #091f17; border-color: rgba(199, 229, 211, .24); }
.footer { background: #051710; border-top: 1px solid rgba(166, 239, 197, .2); padding-top: 60px; }
.footer-brand .brand-text { line-height: 1.35; }
.footer-col h4 { color: var(--mint); }
.footer-bottom { border-color: var(--card-border); }
.footer-bottom p { color: #a8bfb1; }
@media (min-width: 1101px) {
    .nav-links li a { width: 42px; padding: 0 10px; font-size: 1.05rem; }
    .nav-links .nav-admin a { width: auto; }
}
@media (max-width: 1100px) {
    .navbar-inner { gap: 16px; }
    .nav-links { background: #0c281e; }
    .nav-links .mobile-nav-header { background: #0c281e; }
    .hero-content { padding-right: 20px; }
}
@media (max-width: 768px) {
    .hero { min-height: 580px; margin-top: 0; padding-top: 60px; }
    .hero-content { padding: 60px 0 92px; max-width: 620px; }
    .hero h1 { font-size: clamp(2.3rem, 7.5vw, 3.5rem); }
    .hero p { font-size: 1rem; }
    .hero-carousel-prev { left: auto; right: 74px; }
    .hero-carousel-next { right: 20px; }
    .hero-carousel-dots { left: 24px; bottom: 25px; transform: none; }
    .section { padding: 52px 0; }
    .destaque-item { padding: 24px 12px; }
    .noticias-grid--featured .noticia-card:first-child .noticia-body { padding: 24px; }
    .footer { padding-top: 40px; }
}
@media (max-width: 576px) {
    .navbar-brand .brand-name { display: block; font-size: .78rem; max-width: 230px; }
    .hero { min-height: 540px; }
    .hero-content { padding: 48px 0 70px; }
    .hero h1 { font-size: clamp(2.15rem, 9vw, 3rem); }
    .hero-buttons { gap: 12px; }
    .hero-badge { font-size: .65rem; }
    .hero-carousel-btn { display: none; }
    .hero-carousel-dots { bottom: 20px; }
    .destaque-num { font-size: 2rem; }
    .destaque-label { font-size: .65rem; }
    .section { padding: 44px 0; }
    .footer-grid { gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
