/* =====================================================================
   Tema A.S.D. Prata Ondabiancoverde (asdprata.it)
   Palette dal logo ufficiale: verde bosco, oro antico, bianco pietra.
   ===================================================================== */

:root {
    --asd-deep: #1c2a20;
    --asd-green: #2e4233;
    --asd-green-soft: #3c5544;
    --asd-gold: #c9a24b;
    --asd-gold-soft: #a9873c;
    --asd-stone: #ede8dd;
    --asd-stone-dim: #c8c2ae;
    --asd-paper: #f7f5f0;
    --asd-ink: #23301f;
    --asd-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    --asd-sans: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

body.asd-body {
    font-family: var(--asd-sans);
    background: var(--asd-paper);
    color: var(--asd-ink);
}

h1, h2, h3, .asd-serif { font-family: var(--asd-serif); }

/* ---------- navbar ---------- */
.asd-navbar {
    background: linear-gradient(180deg, var(--asd-green), var(--asd-deep));
    border-bottom: 2px solid var(--asd-gold);
}
.asd-navbar .navbar-brand {
    font-family: var(--asd-serif);
    color: var(--asd-stone);
    display: flex;
    align-items: center;
    gap: 10px;
}
.asd-navbar .navbar-brand img { height: 44px; }
.asd-navbar .nav-link {
    color: var(--asd-stone-dim);
    letter-spacing: .04em;
}
.asd-navbar .nav-link:hover,
.asd-navbar .nav-link.active { color: var(--asd-gold); }

/* ---------- hero ---------- */
.asd-hero {
    background:
        radial-gradient(120% 80% at 50% 0%, rgba(201,162,75,.16), rgba(201,162,75,0) 55%),
        linear-gradient(180deg, var(--asd-green), var(--asd-deep) 80%);
    color: var(--asd-stone);
    text-align: center;
    padding: 56px 16px 48px;
}
.asd-hero img.logo { width: clamp(150px, 20vw, 210px); filter: drop-shadow(0 14px 30px rgba(0,0,0,.5)); }
.asd-hero h1 { font-size: clamp(28px, 4.5vw, 44px); margin: 18px 0 6px; }
.asd-hero .eyebrow {
    font-size: 11px;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--asd-gold);
}
.asd-hero .tagline { color: var(--asd-stone-dim); font-size: 17px; }

/* ---------- sezioni ---------- */
.asd-section { padding: 44px 0; }
.asd-section-title {
    font-size: clamp(22px, 3vw, 30px);
    margin-bottom: 6px;
}
.asd-section-title::after {
    content: "";
    display: block;
    width: 64px;
    height: 2px;
    background: var(--asd-gold);
    margin-top: 10px;
}
.asd-section-dark {
    background: linear-gradient(180deg, var(--asd-green), var(--asd-deep));
    color: var(--asd-stone);
}
.asd-section-dark .asd-section-title { color: var(--asd-stone); }

/* ---------- card partita ---------- */
.asd-match-card {
    background: #fff;
    border: 1px solid rgba(46,66,51,.15);
    border-top: 3px solid var(--asd-gold);
    border-radius: 6px;
    padding: 22px;
    height: 100%;
}
.asd-match-card .kicker {
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--asd-gold-soft);
}
.asd-match-card .teams {
    font-family: var(--asd-serif);
    font-size: clamp(18px, 2.2vw, 23px);
    margin: 8px 0 4px;
}
.asd-match-card .score {
    font-family: var(--asd-serif);
    font-size: 34px;
    color: var(--asd-green);
}
.asd-match-card .meta { color: #6a705f; font-size: 14px; }

/* ---------- giocatori ---------- */
.asd-player-card {
    background: #fff;
    border: 1px solid rgba(46,66,51,.15);
    border-radius: 6px;
    overflow: hidden;
    text-align: center;
    height: 100%;
}
.asd-player-card .foto {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    width: 100%;
    background: var(--asd-green);
}
.asd-player-card .foto-placeholder {
    aspect-ratio: 3 / 4;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, var(--asd-green), var(--asd-deep));
    color: var(--asd-gold);
    font-size: 56px;
}
.asd-player-card .numero {
    font-family: var(--asd-serif);
    color: var(--asd-gold-soft);
    font-size: 22px;
}
.asd-player-card .nome { font-weight: 700; }
.asd-player-card .ruolo { color: #6a705f; font-size: 13px; }

/* ---------- classifica ---------- */
.asd-table thead {
    background: var(--asd-green);
    color: var(--asd-stone);
}
.asd-table td, .asd-table th { vertical-align: middle; }
.asd-table .noi {
    background: rgba(201,162,75,.18) !important;
    font-weight: 700;
}
.asd-table .pos {
    font-family: var(--asd-serif);
    color: var(--asd-gold-soft);
}

/* ---------- news ---------- */
.asd-news-card {
    background: #fff;
    border: 1px solid rgba(46,66,51,.15);
    border-radius: 6px;
    overflow: hidden;
    height: 100%;
    transition: transform .2s ease;
}
.asd-news-card:hover { transform: translateY(-3px); }
.asd-news-card img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.asd-news-card .titolo {
    font-family: var(--asd-serif);
    font-size: 18px;
    color: var(--asd-ink);
}
.asd-news-card a { text-decoration: none; }
.asd-news-card .data { color: var(--asd-gold-soft); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- sponsor ---------- */
.asd-sponsor-logo {
    background: #fff;
    border: 1px solid rgba(46,66,51,.12);
    border-radius: 6px;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 96px;
}
.asd-sponsor-logo img { max-height: 64px; max-width: 100%; object-fit: contain; }
.asd-sponsor-nome { font-family: var(--asd-serif); color: var(--asd-green); }

/* ---------- bottoni ---------- */
.btn-asd-gold {
    background: var(--asd-gold);
    border: none;
    color: #24301f;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: 13px;
    padding: 12px 28px;
    border-radius: 3px;
}
.btn-asd-gold:hover { background: var(--asd-gold-soft); color: #fff; }
.btn-asd-outline {
    border: 1px solid rgba(201,162,75,.6);
    color: var(--asd-gold);
    background: transparent;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: 13px;
    padding: 12px 28px;
    border-radius: 3px;
}
.btn-asd-outline:hover { background: rgba(201,162,75,.15); color: var(--asd-gold); }

/* ---------- footer ---------- */
.asd-footer {
    background: var(--asd-deep);
    color: var(--asd-stone-dim);
    padding: 36px 0 24px;
    border-top: 2px solid var(--asd-gold);
    font-size: 14px;
}
.asd-footer a { color: var(--asd-gold); text-decoration: none; }
.asd-footer .titolo {
    font-family: var(--asd-serif);
    color: var(--asd-stone);
    font-size: 16px;
    margin-bottom: 10px;
}
.asd-footer .social a { font-size: 22px; margin-right: 14px; }

/* ---------- live badge ---------- */
.asd-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #b02a2a;
    color: #fff;
    font-weight: 700;
    letter-spacing: .12em;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
}
.asd-live-badge::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    animation: asd-pulse 1.2s infinite;
}
@keyframes asd-pulse { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) {
    .asd-live-badge::before { animation: none; }
    .asd-news-card { transition: none; }
}
