/* assets/css/home_ritocchi.css
   Home: ritocchi sopra il foglio originale (home.css). Impianto, layout e identita
   restano quelli originali; qui si tolgono ombre, bagliori, gradienti su box e righe,
   rosa decorativo, corsivo e testi minuscoli, e si applicano font e scala nuovi. */

/* --- Base --- */
html,
body {
    background-color: var(--bg) !important;
}
body {
    font-family: var(--font-ui) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    padding-bottom: 0;
}
body::before {
    background:
        linear-gradient(rgba(18, 0, 40, 0.5), rgba(18, 0, 40, 0.5)),
        url('/assets/imm/gradiente26.webp') center / cover no-repeat;
}
.home-container {
    font-size: 14px !important;
    line-height: 1.4;
    color: var(--text);
}
.home-container a:focus-visible,
.home-container button:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 2px;
}

/* --- Titoli di sezione: DrukWide dritto, bianco, piccolo --- */
.home-container h2,
.home-container .box-classifica h2,
.home-container .partite-banner-container h2,
.home-container .oggi-in-campo-container h2 {
    font-family: var(--font-display) !important;
    font-style: normal !important;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0 !important;
    text-transform: none;
    color: var(--text);
    margin: 0 0 12px;
    text-align: center;
}
.home-h2-esterno {
    margin-bottom: 10px !important;
}

/* --- Box: superfici piene, bordo da 1px, niente bordi animati ne ombre --- */
.partite-banner-container,
.box-classifica,
.oggi-in-campo-container,
.history-banner-link {
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
    border-radius: 6px;
    box-shadow: none !important;
}
.partite-banner-container::before,
.box-classifica::before,
.fantasy-section::before,
.history-banner-link::before {
    display: none !important;
}
.partite-banner-container,
.oggi-in-campo-container {
    padding: 16px;
}
.box-classifica {
    padding: 16px;
}

/* --- Card partita dello slider --- */
.programma-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 10px;
}
.partita-box {
    background-color: var(--surface-2);
    border: 1px solid var(--line);
    border-radius: 6px;
    box-shadow: none;
    transition: none;
    scroll-snap-align: start;
}
.partita-box:hover {
    transform: none;
}
.partita-fase {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-2);
}
.partita-ora {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-2);
    font-variant-numeric: tabular-nums;
}
.partita-logo {
    width: 30px;
    height: 30px;
}
.partita-box {
    flex: 0 0 264px !important;
    min-width: 264px !important;
    max-width: 264px !important;
}
.partita-teams {
    align-items: flex-start;
    gap: 6px;
}
.team-info {
    gap: 6px;
}
.team-name {
    font-size: 12px !important;
    font-weight: 500;
    /* Due righe intere, mai tagliate: l'originale fissava l'altezza a 1.6em */
    line-height: 1.25 !important;
    min-height: 2.5em !important;
    max-height: none !important;
    -webkit-line-clamp: 2;
    overflow: visible !important;
    overflow-wrap: break-word;
}
/* Nomi lunghi (es. "Autocarrozzeria Mattiacci"): un punto in meno per stare in due righe */
.team-name--lungo {
    font-size: 11px !important;
    letter-spacing: -0.01em;
}
.partita-score {
    padding-top: 4px;
}
.partita-score {
    font-family: var(--font-ui);
    font-style: normal;
    font-size: 20px;
    font-weight: 800;
    color: var(--text);
    font-variant-numeric: tabular-nums;
}
.programma-banner-container .partita-score .score-value {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-2);
}
.partita-footer {
    border-top: 1px solid var(--line);
}
.partita-data {
    font-size: 11px;
    color: var(--text-2);
    font-variant-numeric: tabular-nums;
}
.slider-control {
    width: 28px;
    height: 28px;
    background: transparent;
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 4px;
    font-family: var(--font-ui);
    font-size: 13px;
}
.slider-control:hover {
    background-color: var(--surface-2);
}
.no-data {
    font-style: normal;
    font-size: 13px;
    color: var(--text-2);
}

/* --- Sponsor: griglia fissa, loghi trasparenti su tessera chiara --- */
.sponsor-banner {
    margin: 0 0 13px;
    padding: 0;
    overflow: visible;
}
.sponsor-scroll {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 10px;
    width: auto;
    animation: none;
}
.sponsor-item {
    position: relative;
    width: auto;
    height: auto;
    margin: 0;
    aspect-ratio: 16 / 9;
    padding: 0;
    background-color: var(--tile);
    border: 0;
    border-radius: 4px;
    box-shadow: none;
    overflow: hidden;
}
.sponsor-item img {
    position: absolute;
    inset: 8px;
    display: block;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    max-width: none;
    max-height: none;
    object-fit: contain;
}

/* --- Classifiche della colonna laterale --- */
a.classifica-item {
    animation: none;
    opacity: 1;
    transition: none;
    background: var(--surface-2);
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 8px 10px;
    text-align: left;
}
a.classifica-item:hover {
    background: var(--surface-2);
    border-color: var(--line);
    transform: none;
    box-shadow: none;
}
.position {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-2);
    width: 16px;
    font-variant-numeric: tabular-nums;
}
.giocatore-foto-container {
    width: 32px;
    height: 32px;
}
.giocatore-foto {
    border-radius: 4px;
    border: 0;
}
.team-logo-overlay {
    width: 14px;
    height: 14px;
    background: var(--surface-2);
}
.giocatore-nome {
    font-size: 13px;
    font-weight: 600;
}
.giocatore-team {
    font-size: 11px;
    font-weight: 400;
    color: var(--text-2) !important;
    text-transform: none;
    letter-spacing: 0;
}
.stat-value {
    font-family: var(--font-ui);
    font-style: normal;
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
/* Il primo resta distinto solo dalla posizione: niente gradiente, bagliore o rosa */
a.classifica-item.rank-1 {
    background: var(--surface-2);
    padding: 8px 10px;
    border: 1px solid transparent;
}
a.classifica-item.rank-1 .position {
    color: var(--text);
    font-size: 12px;
    font-weight: 700;
}
a.classifica-item.rank-1 .giocatore-foto {
    border: 0;
    box-shadow: none;
}
a.classifica-item.rank-1 .stat-value {
    color: var(--text);
    font-size: 14px;
}
.view-more {
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--text) !important;
    font-size: 12px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    text-decoration: none;
    transition: none;
}
.view-more:hover {
    background: var(--surface-2);
    color: var(--text) !important;
    border-color: var(--line);
}

/* --- Podio, Hall of Fame, squadra della settimana, notizie, video --- */
.podium-rank {
    font-family: var(--font-ui) !important;
    font-style: normal !important;
    font-weight: 800;
}
.history-banner-link {
    overflow: hidden;
}
.history-bg {
    animation: none;
}
.history-title {
    font-family: var(--font-display);
    font-style: normal;
    font-size: 16px;
    color: var(--text);
}
.history-subtitle {
    font-family: var(--font-ui);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--text);
}
.totw-box,
.box-classifica:has(.totw-container) {
    width: 100%;
    box-sizing: border-box;
}
a.totw-card {
    background: var(--surface-2);
    border: 1px solid var(--line);
    border-radius: 6px;
    transition: none;
}
a.totw-card:hover {
    background: var(--surface-2);
    border-color: var(--text-2);
    transform: none;
    box-shadow: none;
}
.totw-role {
    box-shadow: none;
    text-shadow: none;
    background: none;
    color: var(--text-2);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.06em;
    padding: 0;
}
.totw-img {
    border: 0;
    border-radius: 4px;
}
.totw-name {
    font-size: 12px;
    font-weight: 600;
}
.news-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 6px;
    text-decoration: none;
}
.news-img {
    transition: none;
}
.news-card:hover .news-img {
    transform: none;
}
.news-img-container::before,
.news-img-container::after,
.news-card::before,
.news-card::after {
    display: none;
}
.news-content {
    padding: 10px 12px 12px;
    text-align: center;
}
.news-date {
    font-size: 11px;
    color: var(--text-2);
    font-variant-numeric: tabular-nums;
}
.news-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}
.video-box {
    border: 1px solid var(--line);
    border-radius: 6px;
    box-shadow: none;
    background: var(--surface);
}

/* --- Mobile --- */
@media (max-width: 1023px) {
    .sponsor-scroll {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 515px) {
    .home-container h2,
    .home-container .box-classifica h2,
    .home-container .partite-banner-container h2 {
        font-size: 13px !important;
        margin-bottom: 10px !important;
    }
    .main-content > h2 {
        margin-bottom: 10px !important;
    }
    .partite-banner-container,
    .oggi-in-campo-container,
    .box-classifica {
        padding: 12px 10px !important;
    }
    /* Carosello: card intere, la successiva che si intravede, scroll snap */
    .partite-banner-container {
        padding: 12px 0 12px 10px !important;
    }
    .partite-slider {
        gap: 8px !important;
        scroll-padding-left: 0;
        padding-right: 10px;
    }
    .partita-box {
        flex: 0 0 148px !important;
        min-width: 148px !important;
        max-width: 148px !important;
        padding: 10px 8px;
    }
    .programma-banner-container {
        padding: 12px 10px !important;
    }
    .partita-fase { font-size: 11px; }
    .partita-ora { font-size: 11px; }
    .mobile-date { font-size: 11px; font-weight: 400; opacity: 1; }
    .partita-logo { width: 24px; height: 24px; }
    .team-name { display: none !important; }
    .team-short { display: block; font-size: 12px; font-weight: 600; }
    .partita-teams { align-items: center; }
    .partita-score { padding-top: 0; }
    .partita-score { font-size: 17px; min-width: 34px; }
    .sponsor-banner { margin: 0 !important; padding: 0 !important; }
    .sponsor-scroll { gap: 6px; }
    .sponsor-item { margin: 0 !important; width: auto !important; height: auto !important; padding: 0; }
    .sponsor-item img { inset: 5px; width: calc(100% - 10px); height: calc(100% - 10px); }
    a.classifica-item { padding: 7px 8px !important; }
    .giocatore-foto-container { width: 30px; height: 30px; }
    .giocatore-nome { font-size: 13px; }
    .giocatore-team { font-size: 11px; }
    .stat-value { font-size: 14px; }
    .podium-rank { font-size: 14px !important; width: auto; height: auto; }
    .rank-1 .podium-rank { font-size: 18px !important; }
    .totw-role { font-size: 11px !important; padding: 0 !important; }
    .totw-name { font-size: 11px; }
    .totw-img { width: 38px; height: 38px; }
    .history-title { font-size: 14px; }
    .history-subtitle { font-size: 12px; }
    .news-title { font-size: 13px; }
    .news-date { font-size: 11px; }
}

/* Correzione del 12 ottobre: piu aria tra il video degli highlights e "Classifica finale" */
.video-box + .standings-box,
.video-box + .box-classifica {
    margin-top: 32px !important;
}
@media (max-width: 767px) {
    .video-box + .standings-box,
    .video-box + .box-classifica {
        margin-top: 24px !important;
    }
}

/* ==== Correzioni giro 2: meta inferiore della home ==== */
/* Le due colonne finiscono alla stessa altezza: l'ultimo box della colonna destra si allunga quanto serve */
@media (min-width: 687px) {
    .content-container {
        align-items: stretch !important;
    }
    .main-content,
    .main-content > div:first-child {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }
    .main-content > div:first-child > .box-classifica:last-child {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .main-content > div:first-child > .box-classifica + .box-classifica {
        margin-top: 20px;
    }
}

/* Hall of Fame: fascia a tutta larghezza tra le colonne e gli editoriali */
.home-hof {
    margin-top: 20px;
}
.home-hof .history-banner-link {
    display: block;
    position: relative;
    height: 200px !important;
}
.home-hof .history-bg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
}
.home-hof .history-content {
    opacity: 1 !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    padding: 20px 24px;
    box-sizing: border-box;
    background: rgba(15, 2, 31, 0.55) !important;
    transition: none !important;
}
.home-hof .history-title {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.home-hof .history-subtitle {
    font-size: 13px;
}

/* Editoriali: elenco a tutta larghezza in fondo alla pagina, un articolo sotto l'altro */
.home-editoriali {
    margin-top: 32px;
}
.home-editoriali .home-h2-esterno {
    text-align: left;
    margin: 0 0 12px !important;
}
.ed-elenco {
    border-top: 1px solid var(--line);
}
a.ed-riga {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    padding: 20px 0;
    border-bottom: 1px solid var(--line);
    color: var(--text);
    text-decoration: none;
    text-align: left;
}
.ed-riga__img {
    aspect-ratio: 16 / 9;
    border-radius: 6px;
    overflow: hidden;
    background: var(--surface-2);
}
.ed-riga__img img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
}
.ed-riga__data {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-2);
    font-variant-numeric: tabular-nums;
    margin-bottom: 6px;
}
.ed-riga__titolo {
    font-family: var(--font-ui) !important;
    font-size: 22px !important;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-transform: none !important;
    color: var(--text);
    margin: 0 0 8px;
}
.ed-riga__sottotitolo {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text);
    margin: 0 0 8px;
}
.ed-riga__anteprima {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--text-2);
    margin: 0;
    max-width: 75ch;
}
a.ed-riga:hover .ed-riga__titolo {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
@media (max-width: 767px) {
    .home-hof .history-banner-link {
        height: 150px !important;
    }
    .home-hof .history-content {
        padding: 14px 16px;
    }
    .home-hof .history-title {
        font-size: 16px;
    }
    .home-editoriali {
        margin-top: 24px;
    }
    /* Su mobile: miniatura a sinistra con data e titolo, poi sottotitolo e anteprima a tutta larghezza */
    a.ed-riga {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 10px 12px;
        padding: 16px 0;
    }
    .ed-riga__testo {
        display: contents;
    }
    .ed-riga__img {
        grid-row: 1 / span 2;
        align-self: start;
    }
    .ed-riga__data {
        grid-column: 2;
        margin: 0;
        font-size: 11px;
    }
    .ed-riga__titolo {
        grid-column: 2;
        font-size: 16px !important;
        margin: 0;
    }
    .ed-riga__sottotitolo,
    .ed-riga__anteprima {
        grid-column: 1 / -1;
    }
    .ed-riga__sottotitolo {
        font-size: 14px;
        margin: 0;
    }
    .ed-riga__anteprima {
        font-size: 13px;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}
@media (max-width: 686px) {
    /* In colonna unica i blocchi occupano tutta la larghezza */
    .content-container > .main-content,
    .content-container > .sidebar {
        width: 100% !important;
        align-self: stretch;
        box-sizing: border-box;
    }
}

/* Correzione giro 3: sotto i 768px "Ultime partite" perde il contenitore scuro e restano solo le card */
@media (max-width: 767px) {
    .home-container > .partite-banner-container {
        background: none !important;
        border: 0 !important;
        border-radius: 0;
        padding: 0 !important;
    }
    .home-container > .partite-banner-container .partite-slider {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Correzione giro 3: su desktop piu aria tra i contenitori della home. Un solo passo della scala (32px)
   sia in verticale sia tra le due colonne. Ordine e contenuti non cambiano; mobile invariato. */
@media (min-width: 768px) {
    .home-container > .partite-banner-container,
    .home-container > .oggi-in-campo-container,
    .home-container > .sponsor-banner {
        margin-bottom: 32px !important;
    }
    .home-container > .content-container {
        gap: 32px !important;
    }
    .home-container .sidebar {
        gap: 32px !important;
    }
    .home-container .sidebar > * {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .home-container .main-content > div:first-child > .box-classifica {
        margin-bottom: 0 !important;
    }
    .home-container .main-content > div:first-child > .video-box + .box-classifica,
    .home-container .main-content > div:first-child > .box-classifica + .box-classifica {
        margin-top: 32px !important;
    }
    .home-container > .home-hof {
        margin-top: 32px;
    }
    .home-container > .home-editoriali {
        margin-top: 32px;
    }
}

/* Pronostico nelle partite da giocare: una riga piccola e discreta in fondo alla card */
.partita-box .partita-pronostico {
    margin-top: 8px;
    text-align: center;
    font-family: var(--font-ui);
    font-size: 12px;
    font-weight: 400;
    color: var(--text-2);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
@media (max-width: 599px) {
    /* nelle card strette la parola va sopra le percentuali */
    .partita-box .partita-pronostico__parola {
        display: block;
    }
}

/* Indovina il giocatore: una riga discreta sotto la fascia Hall of Fame */
a.home-gioco {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
    padding: 14px 16px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 6px;
    font-family: var(--font-ui);
    color: var(--text);
    text-decoration: none;
    text-align: left;
}
a.home-gioco:hover {
    background: var(--surface-2);
}
a.home-gioco:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 2px;
}
.home-gioco__testi {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.home-gioco__titolo {
    font-size: 14px;
    font-weight: 700;
}
.home-gioco__testo {
    font-size: 13px;
    color: var(--text-2);
}
.home-gioco__vai {
    flex: none;
    padding: 6px 12px;
    border: 1px solid var(--line);
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
}
