/* =================================================================== */
/* == RESET GLOBALE, BOX-SIZING E TIPOGRAFIA FLUIDA (BASE FONDAMENTALE) == */
/* =================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
    font-size: clamp(0.875rem, 1.5vw + 0.5rem, 1rem); /* da 14px a 16px */
    background-color: var(--body-gradient-start); /* <-- AGGIUNTA QUESTA RIGA */
}
h1 { font-size: clamp(2.0rem, 5vw + 1rem, 3.0rem); }
h2 { font-size: clamp(1.5rem, 4vw + 0.8rem, 2.2rem); }
h3 { font-size: clamp(1.2rem, 3vw + 0.6rem, 1.8rem); }

/* Inizio del tuo codice originale, con minime correzioni */
:root {
    /* Palette colori per i grafici */
    --goahead-color: #02bae3; --goahead-color-light: #21d7ff;
    --opener-color: #44c70c; --opener-color-light: #5fe327;
    --equalizer-color: #ffaa00; --equalizer-color-light: #fcb932;
    --insurance-color: #fc4503; --insurance-color-light: #fa4605;
    --consolation-color: #faee05; --consolation-color-light: #faf02d;
    --autogol-color: #8503ff; --autogol-color-light: #8503ff;

    /* Variabili di tema generali (da style.css originale) */
    --nav-link-color: #ffffff;
    --nav-link-hover-bg: rgba(255, 255, 255, 0.2);
    --nav-link-active-bg: #ffffff;
    --nav-link-active-color: #2c3e50;
    
  /* === VARIABILI SPOSTATE DA theme_colors.json (per Home) === */
    --body-gradient-start: #3195b5;
    --body-gradient-mid: #3195b5;
    --body-gradient-end: #3195b5;
    --body-text-color: #ffffff;
    --header-bg: #3195b5;
    --header-border-bottom: #50d3e9;
    --header-title-color: #f4f5f3;
    --header-title-shadow: rgba(0, 0, 0, 0.5);
    --news-item-bg: rgba(255, 255, 255, 0.1);
    --news-item-bg-hover: rgba(255, 255, 255, 0.1);
    --news-item-border-left: #ffffff;
    --news-item-shadow-hover: rgba(0, 0, 0, 0.7);
    --new-item-bg: rgba(251, 191, 36, 0.2);
    --new-item-border-left: #10b981;
    --new-item-shadow-animation: rgba(16, 185, 129, 0.7);
    --special-pinned-news-border-left: #ef4444;
    --special-pinned-news-bg: rgba(245, 247, 239, 1);
    --special-pinned-news-title-color: #000000;
    --special-pinned-news-title-hover-color: #000000;
    --special-pinned-news-title-hover-shadow: rgba(196, 198, 191, 1);
    --special-pinned-news-meta-color: #1e3a8a;
    --special-pinned-news-source-bg: rgba(30, 58, 138, 0.2);
    --special-pinned-news-source-color: #1e3a8a;
    --special-pinned-news-source-border: rgba(30, 58, 138, 0.2);
    --news-title-color: #ffffff;
    --news-title-hover-color: #ffffff;
    --news-title-hover-shadow: #ffffff;
    --news-meta-color: #f4f5f3;
    --news-source-bg: rgba(220, 222, 215,0.5);
    --tag-wall-bg: rgba(255, 255, 255, 0.1);
    --tag-wall-title-color: #f5f7ef;
    --tag-item-bg: #f5f7ef;
    --tag-item-text-color: #000000;
    --tag-item-hover-bg: #dcded7;
    --tag-item-active-bg: #ef4444;
    --tag-item-active-text-color: #ffffff;
    --tag-item-active-shadow: rgba(239, 68, 68, 0.7);
    --ad-banner-gradient-start: #f5f7ef;
    --ad-banner-gradient-end: #dcded7;
    --ad-banner-text-color: #000000;
    --loading-text-color: #1b1b1a;
    --loading-bg: rgba(255, 255, 255, 0.1);
    --update-indicator-bg: #10b981;
    --update-indicator-text-color: white;
    --live-indicator-bg: #cf0404;
    --live-indicator-text-color: white;
    --refresh-button-bg: #f5f7ef;
    --refresh-button-text-color: #000000;
    --refresh-button-hover-bg: #dcded7;
    
  /* === VARIABILI PER PAGINA LAVAGNA === */
    --primary-color: #FFFFFF;
    --secondary-color: #000000;
    --jersey-stripes: none;
    --jersey-bg-color: var(--primary-color);
    --gk-jersey-color: #FF4500;

    /* === VARIABILI PER PAGINA REGOLAMENTO === */
    --content-block-bg: rgba(255, 255, 255, 0.1);
    --content-block-border-left: #ffffff;
    --content-title-color: #ffffff;
    --content-meta-color: #f4f5f3;
    --special-section-bg: rgba(245, 247, 239, 1);
    --special-section-border-left: #ef4444;
    --special-title-color: #000000;
    --special-text-color: #1e3a8a;
    --special-text-strong-color: #000000;
    --highlight-section-bg: rgba(251, 191, 36, 0.1);
    --highlight-section-border-left: #10b981;
    --highlight-title-color: #fce9b5;
    --highlight-text-color: #e0e0e0;
    --toc-bg: rgba(0, 0, 0, 0.2);
    --toc-title-color: #f5f7ef;
    --toc-item-bg: #f5f7ef;
    --toc-item-text-color: #000000;
    --toc-item-hover-bg: #dcded7;
    --link-color: #93e8f5;
    --table-header-bg: rgba(0, 0, 0, 0.4);
    --table-border-color: rgba(255, 255, 255, 0.2);
}

 /* === VARIABILI PER PAGINA CRONACA === */
    --cronaca-article-bg: rgba(0, 0, 0, 0.4); /* Sfondo della card articolo, simile a Regolamento */
    --cronaca-article-border: var(--header-border-bottom);
    --cronaca-title-color: #ffffff;
    --cronaca-meta-color: #d1d5db; /* Un grigio chiaro per data/autore */
    --cronaca-text-color: #f4f5f3;
    --cronaca-blockquote-bg: rgba(255, 255, 255, 0.1);
    --cronaca-blockquote-border: var(--goahead-color);
    --cronaca-link-color: var(--link-color);

body {
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%);
    color: var(--body-text-color);
    font-family: 'Roboto', 'Segoe UI', sans-serif;
    font-weight: normal; 
    text-transform: none; 
    letter-spacing: 0.5px;
    min-height: 100vh;
}

/* --- STILI HEADER UNIFICATI (CORRETTI) --- */
.header {
    background: var(--header-bg);
    padding: 15px 40px;
    border-bottom: 3px solid var(--header-border-bottom);
    position: sticky; top: 0; z-index: 1000;
    display: flex; 
    justify-content: stretch;
    align-items: center;
 /* margin-bottom: 20px; */ /* <-- RIGA CANCELLATA O COMMENTATA */
}
.header-title-wrapper h1 a,
.header-title-wrapper h1 a:visited,
.header-title-wrapper h1 a:hover,
.header-title-wrapper h1 a:active {
    font-size: clamp(1.2rem, 3vw + 0.8rem, 2.0rem);
    color: var(--header-title-color);
    text-shadow: 2px 2px 4px var(--header-title-shadow);
    font-family: 'Playfair Display', serif; 
    font-weight: 900;
    text-transform: uppercase;
    text-decoration: none;
}
.live-indicator {
    background: var(--live-indicator-bg);
    color: white; padding: 5px 10px;
    border-radius: 10px; font-size: 0.7rem;
    animation: pulse 2s infinite;
   text-decoration: none;
   display: block;
    text-align: left;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } }

/* --- NAVIGAZIONE E DROPDOWN --- */
.main-nav { overflow: visible; }
.main-nav ul { list-style-type: none; display: flex; }
.main-nav li a { display: block; padding: 10px 15px; color: var(--nav-link-color); text-decoration: none; font-size: 0.9rem; font-weight: bold; text-transform: uppercase; transition: background-color 0.3s ease, color 0.3s ease; border-radius: 8px; }
.main-nav li a:hover, .main-nav li a.active { background-color: var(--nav-link-active-bg); color: var(--nav-link-active-color); }
.dropdown { position: relative; }
.submenu { position: absolute; top: 100%; left: 0; min-width: 220px; background-color: white; box-shadow: 0 4px 12px rgba(0,0,0,0.1); border-radius: 5px; z-index: 9999; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(5px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; list-style: none; padding: 8px 0; display: flex; flex-direction: column; }
.dropdown:hover .submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.main-nav .submenu li a { width: 100%; padding: 10px 20px; font-size: 14px; white-space: nowrap; color: #333; background-color: transparent; }
.main-nav .submenu li a:hover { background-color: #f5f5f5; }

/* --- Inizio del tuo codice originale per le pagine specifiche (INTATTO) --- */

.content-card { background: #ffffff; border-radius: 15px; padding: 30px; color: #333; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.content-card header { text-align: center; margin-bottom: 30px; border-bottom: 1px solid #e0e0e0; padding-bottom: 20px; }
.content-card header h1 { font-family: sans-serif; font-size: 3.8em; margin: 0; color: #2c3e50; text-transform: uppercase; }
.content-card header p { font-size: 1.15em; color: #555; margin: 10px auto 0; text-transform: none; letter-spacing: 0.5px; font-weight: 400; }
.sidebar {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    position: sticky;
    top: 95px;
    gap: 20px;
}

@media (min-width: 993px) {
    .sidebar .ad-banner:first-child,
    .sidebar-container .ad-banner:first-child {
        margin-top: 20px;
    }
}

.controls { padding: 20px; background-color: #f7f7f7; border-radius: 8px; margin-bottom: 30px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.05); }
.slider-control { display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap; margin-bottom: 20px; }
.slider-control label { font-weight: bold; text-transform: uppercase; }
.slider-control input[type="range"] { width: 250px; cursor: pointer; }
#slider-value { font-weight: bold; font-size: 1.1em; min-width: 25px; text-align: center; background-color: #2c3e50; color: white; padding: 4px 8px; border-radius: 4px; }
#category-filters { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; border-top: 1px solid #e0e0e0; padding-top: 20px; }
.filter-group { position: relative; display: flex; align-items: center; cursor: pointer; padding: 5px 10px; border-radius: 5px; transition: background-color 0.2s; }
.filter-group:hover { background-color: #e9e9e9; }
.filter-group input[type="checkbox"] { width: 18px; height: 18px; margin-right: 10px; cursor: pointer; flex-shrink: 0; }
.legend-color-box { width: 15px; height: 15px; border-radius: 3px; margin-right: 8px; display: inline-block; border: 1px solid #aaa; }
.chart-container { height: 800px; width: 100%; }
#message-container { text-align: center; font-size: 1.2em; min-height: 200px; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.container { max-width: 1200px; margin: 0 auto; padding: 20px; display: grid; grid-template-columns: 1fr 300px; gap: 30px;background: #3195b5; }
.news-feed { display: flex; flex-direction: column; gap: 20px; }
.news-item { background: #3195b5; backdrop-filter: blur(10px); border-radius: 15px; padding: 12px 25px; border-left: 5px solid var(--news-item-border-left); transition: all 0.3s ease; animation: slideIn 0.5s ease-out; opacity: 1;font-weight: bold; }
.news-item:hover { transform: translateY(-5px); box-shadow: 0 10px 30px var(--news-item-shadow-hover); background: var(--news-item-bg-hover); }
.news-item.new-item { background: var(--new-item-bg); border-left: 5px solid var(--new-item-border-left); animation: slideInNew 0.6s ease-out; }
.news-item.special-pinned-news { border-left-color: var(--special-pinned-news-border-left); background: var(--special-pinned-news-bg); }
.news-title { color: var(--news-title-color); font-size: 1.1rem; line-height: 1.4; text-decoration: none; display: block; margin-bottom: 15px; transition: color 0.3s ease; }
.news-title:hover { color: var(--news-title-hover-color); text-shadow: 0 0 10px var(--news-title-hover-shadow); }
.news-meta { font-size: 0.8rem; color: var(--news-meta-color); display: flex; justify-content: space-between; align-items: center; }
.news-source { background: var(--news-source-bg); padding: 5px 10px; border-radius: 15px; font-size: 0.7rem; }
.sidebar > * + * { margin-top: -10px; }
.tag-wall-container { background: var(--tag-wall-bg); backdrop-filter: blur(10px); border-radius: 15px; padding: 15px; margin-bottom: 0; }
.tag-wall-container h3 { color: var(--tag-wall-title-color); font-size: 1rem; margin-bottom: 10px; text-align: center; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.tag-item { background: var(--tag-item-bg); color: var(--tag-item-text-color); padding: 5px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: bold; cursor: pointer; transition: all 0.2s ease; text-transform: lowercase; border: none; font-family: 'Arial', sans-serif; letter-spacing: 0.5px; }
.tag-item:hover { background: var(--tag-item-hover-bg); transform: scale(1.05); }
.tag-item.active { background: var(--tag-item-active-bg); color: var(--tag-item-active-text-color); box-shadow: 0 0 10px var(--tag-item-active-shadow); }
.sidebar .ad-banner,
.sidebar-container .ad-banner {
    width: 300px;
    height: 300px; /* Dimensione di default per i banner quadrati */
    
    background-color: #e9ecef;
    border: 2px dashed #ccc;
    border-radius: 8px;
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #888;
    font-style: italic;
    font-weight: bold;
    
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.sidebar .ad-banner:hover,
.sidebar-container .ad-banner:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

/* 
 * REGOLA SPECIFICA PER I BANNER 300x600
 * Sovrascrive solo l'altezza dove necessario.
 */
.page-calciomercato-single .ad-banner,
.page-articolo .ad-banner {
    height: 300px;
margin-bottom: 10px;
}
.ad-banner h3 { font-size: 1.2rem; margin-bottom: 10px; }
.loading { text-align: center; padding: 20px; font-size: 1rem; color: var(--loading-text-color); background: var(--loading-bg); backdrop-filter: blur(10px); border-radius: 15px; margin-bottom: 20px; transition: opacity 0.3s ease; }
@keyframes slideIn { from { opacity: 0; transform: translateX(-50px); } to { opacity: 1; transform: translateX(0); } }
@keyframes slideInNew { from { opacity: 0; transform: translateY(-30px) scale(0.95); box-shadow: 0 0 20px var(--new-item-shadow-animation); } to { opacity: 1; transform: translateY(0) scale(1); box-shadow: none; } }
.news-item.special-pinned-news { color: #343a40; }
.news-item.special-pinned-news .news-title { color: #1a2530; text-shadow: none; }
.news-item.special-pinned-news .news-title:hover { color: #0056b3; text-shadow: 0 0 5px rgba(0, 86, 179, 0.3); }
.news-item.special-pinned-news .news-meta span { color: #495057 !important; }
.news-item.special-pinned-news .news-source { background-color: #e9ecef; color: #495057 !important; border: 1px solid #ced4da; }
body.page-regolamento { background: linear-gradient(180deg, var(--body-gradient-start), var(--body-gradient-mid), var(--body-gradient-end)); background-attachment: fixed; line-height: 1.6; }
/* .page-regolamento .container { max-width: 960px; margin: 0 auto; padding: 20px; display: block; } */
.page-regolamento .page-container h1, .page-regolamento .page-container h2, .page-regolamento .page-container h3, .page-regolamento .page-container h4 { font-family: inherit; font-weight: 700; margin-top: 1.5em; margin-bottom: 0.8em; }
#cover-page { text-align: center; margin-bottom: 2rem; padding: 2rem; background: var(--header-bg); border-radius: 8px; }
.cover-image { padding: 1rem; color: var(--header-title-color); height: 15vh; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.toc { background-color: var(--toc-bg); padding: 20px; border-radius: 8px; margin-bottom: 2rem; }
.toc-title { color: var(--toc-title-color); text-align: center; margin-top: 0; font-size: 2em; border-bottom: 2px solid var(--header-border-bottom); padding-bottom: 10px; }
.toc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 15px; margin-top: 1.5rem; }
.toc-section h3 { color: var(--toc-title-color); border-bottom: 1px solid rgba(255,255,255,0.3); padding-bottom: 8px; }
.toc ul { list-style: none; padding: 0; margin: 0; }
.toc li { margin-bottom: 10px; }
.toc a { display: block; background-color: var(--toc-item-bg); color: var(--toc-item-text-color); padding: 10px 15px; text-decoration: none; border-radius: 5px; transition: background-color 0.3s, transform 0.2s; font-weight: bold; }
.toc a:hover { background-color: var(--toc-item-hover-bg); transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.toc .sub-item a { background-color: #e9ecef; padding-left: 30px; font-weight: normal; }
.toc .sub-item a:hover { background-color: #ced4da; }
main article { margin-bottom: 3rem; background-color: var(--header-bg); padding: 1px 20px 20px 20px; border-radius: 8px; }
main article:last-child { margin-bottom: 0; }
.page-regolamento .page-container article .rule-header h1  { color: var(--header-title-color); font-size: 2.8em; text-align: center; border-bottom: 3px solid var(--header-border-bottom); padding-bottom: 15px; margin-bottom: 1em; }
article .rule-header .rule-number { display: block; font-size: 0.5em; color: var(--header-border-bottom); margin-top: 5px; }
.content-block { padding: 20px; margin-top: 2rem; border-radius: 6px; border-left: 5px solid; }
.content-block h2 { margin-top: 0; padding-bottom: 10px; border-bottom: 2px solid; font-size: 1.8em; }
.content-block h3 { font-size: 1.4em; }
.content-block ul { padding-left: 20px; }
.content-block li { margin-bottom: 0.5rem; }
.regolamento { background-color: var(--content-block-bg); border-left-color: var(--content-block-border-left); }
.regolamento h2 { color: var(--content-title-color); border-bottom-color: var(--content-meta-color); }
.decisioni-figc { background-color: var(--special-section-bg); border-left-color: var(--special-section-border-left); color: var(--special-text-color); }
.decisioni-figc h2 { color: var(--special-title-color); border-bottom-color: var(--special-section-border-left); }
.decisioni-figc strong { color: var(--special-text-strong-color); }
.decisioni-figc h3 { color: var(--special-title-color); }
.guida-pratica { background-color: var(--highlight-section-bg); border-left-color: var(--highlight-section-border-left); color: #000000; }
.guida-pratica h2 { color: #000000; border-bottom-color: var(--highlight-section-border-left); }
.guida-pratica h3 { color: #000000; }
.guida-pratica strong { color: #ffffff; }
.image-placeholder { max-width: 100%; height: auto; display: block; margin: 1.5rem auto; border-radius: 6px; background-color: rgba(255,255,255,0.1); border: 2px dashed rgba(255,255,255,0.5); min-height: 150px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); font-style: italic; }
.diagram-center { text-align: center; }
.diagram-caption { text-align: center; font-style: italic; margin-top: -1rem; margin-bottom: 1.5rem; color: var(--content-meta-color); }
.table-container { overflow-x: auto; }
.page-regolamento table { width: 100%; border-collapse: collapse; margin: 2rem 0; font-size: 0.9em; }
.page-regolamento th, .page-regolamento td { border: 1px solid var(--table-border-color); padding: 12px; text-align: left; }
.page-regolamento th { background-color: var(--table-header-bg); font-weight: bold; }
.page-regolamento tbody tr:nth-child(odd) { background-color: rgba(0, 0, 0, 0.1); }
.page-regolamento tbody tr:nth-child(even) { background-color: rgba(0, 0, 0, 0.2); }
.decisioni-figc table, .guida-pratica table { color: var(--special-text-color); }
.decisioni-figc th, .guida-pratica th { background-color: var(--special-section-bg); color: var(--special-title-color); border: 1px solid #ccc; }
.decisioni-figc td, .guida-pratica td { border: 1px solid #ccc; }
.decisioni-figc tbody tr:nth-child(odd), .guida-pratica tbody tr:nth-child(odd) { background-color: #f8f9fa; }
.decisioni-figc tbody tr:nth-child(even), .guida-pratica tbody tr:nth-child(even) { background-color: #e9ecef; }
.decisioni-figc table strong, .guida-pratica table strong { color: inherit; }
.page-regolamento footer { text-align: center; padding: 20px; margin-top: 2rem; background-color: var(--header-bg); border-top: 2px solid var(--header-border-bottom); font-style: italic; }
.back-to-top { position: fixed; bottom: 25px; right: 25px; background-color: var(--refresh-button-bg); color: var(--refresh-button-text-color); width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: bold; text-decoration: none; box-shadow: 0 4px 8px rgba(0,0,0,0.3); z-index: 1000; transition: opacity 0.4s, visibility 0.4s, transform 0.3s; opacity: 0; visibility: hidden; transform: translateY(10px); }
.back-to-top:hover { background-color: var(--refresh-button-hover-bg); transform: translateY(-2px); }
.back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.page-candlestick .candlestick-content-wrapper { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px; width: 100%; }
.page-candlestick #ad-banner-container { width: 100%; max-width: 1200px; height: 90px; margin-bottom: 20px; background-color: #f0f0f0; border: 2px dashed #ccc; display: flex; align-items: center; justify-content: center; color: #888; font-style: italic; }
.page-candlestick #chart-wrapper { position: relative; max-width: 1200px; width: 100%; background-color: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); }
.page-candlestick #chart-wrapper h2 { margin: 0 0 10px 10px; font-size: 1.2rem; font-weight: 600; color: #333; }
.page-candlestick .controls-container { position: absolute; top: 25px; right: 25px; z-index: 10; display: flex; gap: 15px; align-items: center; }
.page-candlestick select, .page-candlestick input, .page-candlestick label { font-size: 14px; color: #333; }
.page-candlestick select, .page-candlestick input { padding: 5px; border: 1px solid #ccc; border-radius: 4px; }
.page-candlestick .chart-explanation-text { color: var(--body-text-color); margin-top: 25px; max-width: 1000px; width: 100%; text-align: center; font-size: 14px; line-height: 1.5; }
.apexcharts-tooltip { color: #333; }
[data-tooltip] { position: relative; }
[data-tooltip]::after, [data-tooltip]::before { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out; z-index: 10; }
[data-tooltip]::before { content: attr(data-tooltip); background-color: #2c3e50; color: #ffffff; padding: 6px 10px; border-radius: 4px; font-size: 0.8rem; white-space: nowrap; margin-bottom: 10px; transform: translateX(-50%) translateY(5px); }
[data-tooltip]::after { content: ''; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #2c3e50; margin-bottom: 4px; transform: translateX(-50%) translateY(5px); }
[data-tooltip]:hover::before, [data-tooltip]:hover::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
body.page-lavagna { background: var(--body-gradient-start); color: #333; }
.page-lavagna .lavagna-container { display: flex; align-items: flex-start; gap: 20px; padding: 0 20px; }
.page-lavagna .lavagna-sidebar { background-color: white; padding: 20px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); flex-basis: 300px; flex-shrink: 0; display: flex; flex-direction: column; max-height: calc(100vh - 120px); overflow-y: auto; }
.page-lavagna .lavagna-sidebar h1, .page-lavagna .lavagna-sidebar h2 { text-align: center; margin-top: 0; margin-bottom: 20px; color: #2c3e50; flex-shrink: 0; }
.page-lavagna .controls, .page-lavagna .customization-controls { margin-bottom: 20px; flex-shrink: 0; }
.page-lavagna .control-group, .page-lavagna .controls { display: flex; flex-direction: column; gap: 8px; margin-bottom: 15px; }
.page-lavagna label { font-weight: bold; font-size: 14px; }
.page-lavagna select, .page-lavagna input[type="color"] { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; }
.page-lavagna input[type="color"] { height: 40px; padding: 5px; }
.page-lavagna .instructions { font-style: italic; font-size: 13px; color: #666; text-align: center; margin-bottom: 15px; flex-shrink: 0; }
.page-lavagna .roster-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: 15px 10px; padding: 10px 5px; background-color: #f9f9f9; border: 1px solid #eee; border-radius: 4px; flex-grow: 1; min-height: 250px; }
.page-lavagna .player-container { width: 60px; display: flex; flex-direction: column; align-items: center; cursor: grab; user-select: none; position: absolute; }
.page-lavagna .roster-container .player-container { position: static; }
.page-lavagna .player-jersey { width: 42px; height: 38px; position: relative; border: 1px solid var(--secondary-color); background-image: var(--jersey-stripes, none); background-color: var(--jersey-bg-color); clip-path: polygon(25% 0%, 75% 0%, 100% 25%, 100% 100%, 0% 100%, 0% 25%); margin-bottom: 3px; }
.page-lavagna .player-jersey.jersey-gk { background-image: none; background-color: var(--gk-jersey-color); }
.page-lavagna .player-role { position: absolute; top: 3px; right: 3px; width: 14px; height: 14px; border-radius: 50%; font-size: 9px; font-weight: bold; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(0,0,0,0.4); }
.page-lavagna .role-p { background-color: #fca311; color: #000; }
.page-lavagna .role-d { background-color: #14213d; color: #fff; }
.page-lavagna .role-c { background-color: #007200; color: #fff; }
.page-lavagna .role-a { background-color: #d00000; color: #fff; }
.page-lavagna .player-name { font-size: 10px; font-weight: bold; color: #fff; background-color: rgba(0,0,0,0.7); padding: 2px 5px; border-radius: 3px; text-align: center; white-space: nowrap; }
.page-lavagna .board-wrapper { flex-grow: 1; display: grid; grid-template-columns: 1fr 300px; gap: 20px; }
.page-lavagna .main-content-column { display: flex; flex-direction: column; gap: 20px; }
.page-lavagna .action-bar { display: flex; gap: 10px; }
.page-lavagna .action-bar button { background-color: #fff; border: 1px solid #ccc; padding: 10px; border-radius: 5px; cursor: pointer; font-size: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.page-lavagna .action-bar button:hover { background-color: #e9e9e9; }
.page-lavagna .tactical-board-container { flex-grow: 1; display: flex; align-items: center; justify-content: center; }
.page-lavagna .tactical-board { position: relative; background-image: url('Lavagna_Tattica/campo.jpg'); background-size: contain; background-repeat: no-repeat; background-position: center; width: 100%; aspect-ratio: 1260 / 870; }
.page-lavagna .banner-container { display: flex; flex-direction: column; gap: 20px; width: 300px; }
.page-lavagna .banner-ad { background-color: #333; border: 2px dashed #555; color: #ccc; display: flex; align-items: center; justify-content: center; font-style: italic; width: 300px; height: 250px; border-radius: 8px; }
.page-lavagna .dragging { opacity: 0.5; cursor: grabbing; }
.page-cronaca .container,
.page-articolo .container {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    align-items: flex-start;
}

/* --- Stili per la lista di articoli (storie_analisi_commenti.html) --- */
.page-cronaca main.main-content-column { 
    background-color: #ffffff; 
    color: #333333; 
    padding: 20px 30px; 
    border-radius: 8px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); 
}

.page-cronaca .article-preview { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 25px; 
    border-bottom: 1px solid #e9ecef; 
    padding: 25px 0; 
   border-bottom: 1px solid #e0e0e0; /* <-- AGGIUNGI QUESTA RIGA */
}
.page-cronaca .article-preview:first-of-type { 
    padding-top: 10px; 
}
.page-cronaca .article-preview:last-of-type { 
    border-bottom: none; 
    padding-bottom: 10px; 
}

.page-cronaca .article-preview:nth-child(odd) {
    background-color: #f9f9f9; /* Bianco puro */
margin: 0 -30px; 
    padding: 25px 30px;
    border-radius: 8px;
}

/* Esistente: Sfondo grigio chiaro per le schede pari (2, 4, 6...) */
.page-cronaca .article-preview:nth-child(even) {
    background-color: #f1f1f1; /* Grigio molto chiaro */
    margin: 0 -30px; 
    padding: 25px 30px;
    border-radius: 8px;
}

.page-cronaca .preview-image-container { 
    flex-shrink: 0; width: 180px; height: 120px; 
    border-radius: 6px; 
}
.page-cronaca .preview-image-container img { 
    width: 100%; height: 100%; object-fit: cover; 
}
.page-cronaca .preview-content { 
    flex-grow: 1; flex-basis: 400px; 
}
.page-cronaca .article-preview h2 { 
    margin-top: 0; font-size: 1.6rem; line-height: 1.2; 
}
.page-cronaca .article-preview h2 a { 
    text-decoration: none; color: #212529; transition: color 0.2s; 
}
.page-cronaca .article-preview h2 a:hover { color: #007bff; }
.page-cronaca .article-preview-meta { 
    font-size: 0.85rem; color: #6c757d; margin-bottom: 10px; 
}
.page-cronaca .article-preview-summary { 
    color: #495057; line-height: 1.6; margin-top: 5px; 
}
.page-cronaca .read-more-link { 
    display: inline-block; margin-top: 10px; font-weight: bold; 
    text-decoration: none; color: #007bff; 
}
.page-cronaca .read-more-link:hover { text-decoration: underline; }
.page-articolo .article-full { background-color: var(--cronaca-article-bg); border-radius: 15px; padding: 30px 40px; border-top: 4px solid var(--cronaca-article-border); box-shadow: 0 10px 30px rgba(0,0,0,0.3); color: var(--cronaca-text-color); }
.page-articolo .article-header { text-align: center; margin-bottom: 25px; padding-bottom: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.page-articolo .article-meta { font-size: 0.85rem; color: var(--cronaca-meta-color); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; }
.page-articolo .article-meta span { margin: 0 5px; }
.page-articolo .article-header h1 { font-family: 'Georgia', 'Times New Roman', serif; font-size: 2.5rem; color: var(--cronaca-title-color); line-height: 1.2; margin-bottom: 15px; text-shadow: none; }
.page-articolo .article-subtitle { font-size: 1.3rem; font-style: italic; color: var(--cronaca-meta-color); max-width: 80%; margin: 0 auto; }
.page-articolo .featured-image { margin-bottom: 30px; }
.page-articolo .featured-image img { width: 100%; height: auto; border-radius: 8px; }
.page-articolo .article-content { font-size: 1.2rem; line-height: 1.7; font-family: 'Roboto', sans-serif; }
.page-articolo .article-content p { margin-bottom: 1.5em; }
.page-articolo .article-content h2 { font-size: 1.6rem; margin-top: 2em; margin-bottom: 1em; padding-bottom: 0.5em; border-bottom: 1px solid rgba(255, 255, 255, 0.2); color: var(--cronaca-title-color); }
.page-articolo .article-content blockquote { margin: 2em 0; padding: 20px; background-color: var(--cronaca-blockquote-bg); border-left: 5px solid var(--cronaca-blockquote-border); border-radius: 0 8px 8px 0; font-size: 1.1rem; font-style: italic; color: #ffffff; }
.page-cronaca .sidebar, .page-articolo .sidebar { position: -webkit-sticky; position: sticky; top: 20px; }
.page-cronaca .sidebar .ad-banner, .page-articolo .sidebar .sticky-banner { background: var(--tag-wall-bg, rgba(255, 255, 255, 0.1)); backdrop-filter: blur(10px); border-radius: 15px; padding: 20px; margin-bottom: 20px; text-align: center; }
.page-cronaca .sidebar .sidebar-widget { background: var(--tag-wall-bg, rgba(255, 255, 255, 0.1)); backdrop-filter: blur(10px); border-radius: 15px; padding: 20px; margin-bottom: 20px; }
.page-cronaca .sidebar .sidebar-widget:last-child { margin-bottom: 0; }
.page-cronaca .sidebar h3 { color: var(--tag-wall-title-color, #f5f7ef); font-size: 1.1rem; margin: 0 0 15px 0; padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.2); text-align: center; }
.page-cronaca .sidebar-widget ul { list-style: none; padding: 0; margin: 0; overflow-y: auto; padding-right: 5px; }
#sidebar-archive-list { max-height: 300px; }
#sidebar-category-list { max-height: 150px; }
.page-cronaca .sidebar-widget li a { display: block; padding: 8px 12px; color: #f0f2f5; text-decoration: none; border-radius: 5px; transition: background-color 0.2s; font-size: 0.9rem; font-weight: bold; }
.page-cronaca .sidebar-widget li a:hover { background-color: rgba(255, 255, 255, 0.1); color: #ffffff; }
.page-cronaca .sidebar-widget ul::-webkit-scrollbar { width: 8px; }
.page-cronaca .sidebar-widget ul::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.2); border-radius: 4px; }
.page-cronaca .sidebar-widget ul::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 4px; }
.page-cronaca .sidebar-widget ul::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.6); }
.page-cronaca .pagination-controls { display: flex; justify-content: center; align-items: center; padding: 20px 0 10px 0; gap: 10px; flex-wrap: wrap; border-top: 1px solid #e9ecef; margin-top: 10px; }
.page-cronaca .pagination-controls button { background-color: #f8f9fa; border: 1px solid #dee2e6; color: #495057; font-weight: bold; font-size: 1rem; cursor: pointer; border-radius: 8px; min-width: 45px; height: 45px; padding: 0 15px; transition: all 0.2s ease-in-out; }
.page-cronaca .pagination-controls button:hover:not(:disabled) { background-color: #e9ecef; border-color: #adb5bd; transform: translateY(-2px); }
.page-cronaca .pagination-controls button.active { background-color: #007bff; color: #ffffff; border-color: #007bff; box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3); transform: translateY(-2px); }
.page-cronaca .pagination-controls button:disabled { cursor: not-allowed; opacity: 0.5; }
body.page-diario { background-color: #3195b5; color: #333333; }
.page-diario .container { display: grid; grid-template-columns: 1fr 300px; gap: 30px; align-items: flex-start; }
.page-diario main.diary-content { background-color: #ffffff; border-radius: 8px; padding: 25px 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); color: #000000; overflow-x: auto; }
.page-diario main.diary-content pre {
    font-family: 'VT323', monospace;
    
    /* 
     * NUOVA DIMENSIONE:
     * - Minimo 1.1rem (circa 17.6px)
     * - Preferito: si adatta leggermente alla larghezza dello schermo
     * - Massimo 1.25rem (20px) su schermi molto grandi
     */
    font-size: clamp(1.1rem, 1vw + 0.8rem, 1.25rem);
    
    line-height: 1.4; /* Aumentato leggermente per migliorare la leggibilità */
    white-space: pre-wrap;      
    word-wrap: break-word;
}
.page-diario .diario-sidebar { position: -webkit-sticky; position: sticky; top: 20px; max-height: calc(100vh - 40px); display: flex; flex-direction: column; }
.page-diario .diario-sidebar .ad-banner, .page-diario .diario-sidebar .sidebar-widget { background-color: #ffffff; border-radius: 8px; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); border: 1px solid #e0e0e0; }
.page-diario .diario-sidebar .ad-banner { flex-shrink: 0; margin-bottom: 20px; text-align: center; }
.page-diario .sidebar-scroll-content { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.page-diario .diario-sidebar .sidebar-widget { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.page-diario .diario-sidebar h3 { flex-shrink: 0; color: #2c3e50; font-size: 1.1rem; margin: 0 0 15px 0; padding-bottom: 10px; border-bottom: 1px solid #e0e0e0; text-align: center; }
#diary-archive-list { flex: 1; min-height: 0; overflow-y: auto; list-style: none; padding: 0 5px 0 0; margin: 0; }
#diary-archive-list li a { display: block; padding: 8px 12px; text-decoration: none; color: #333333; border-radius: 5px; transition: background-color 0.2s, color 0.2s; font-size: 0.9rem; }
#diary-archive-list li a:hover { background-color: #e9ecef; }
#diary-archive-list li a.active { background-color: #007bff; color: #ffffff; font-weight: bold; }
#diary-archive-list::-webkit-scrollbar { width: 8px; }
#diary-archive-list::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; }
#diary-archive-list::-webkit-scrollbar-thumb { background: #cccccc; border-radius: 4px; }
#diary-archive-list::-webkit-scrollbar-thumb:hover { background: #aaaaaa; }
body.page-calciomercato { background-color: #3195b5; }
.page-calciomercato .container { max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; }
.page-calciomercato main.content-box { background-color: #ffffff; color: #000000; padding: 40px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
.page-calciomercato .report-mercato { background-color: #ffffff; color: #333333; }
.page-calciomercato .sidebar-widget { background-color: #ffffff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 25px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.page-calciomercato .sidebar-widget h3 { color: var(--mercato-highlight-color); font-family: 'Oswald', sans-serif; font-size: 1.4rem; margin-top: 0; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #f0f0f0; }
.page-calciomercato #archivio-list { list-style: none; padding: 0; margin: 0; max-height: 450px; overflow-y: auto; padding-right: 10px; }
.page-calciomercato #archivio-list li { padding: 4px 0; }
.page-calciomercato #archivio-list a { color: #0d4a81; text-decoration: none; font-weight: 700; font-size: 0.95rem; display: block; padding: 8px 10px; border-radius: 5px; transition: background-color 0.2s ease, color 0.2s ease; }
.page-calciomercato #archivio-list a:hover { background-color: #f0f3f5; color: #000000; }
.page-calciomercato #archivio-list a.active { color: #ffffff; background-color: var(--mercato-highlight-color); }
.page-calciomercato #archivio-list::-webkit-scrollbar { width: 8px; }
.page-calciomercato #archivio-list::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
.page-calciomercato #archivio-list::-webkit-scrollbar-thumb { background: #ccc; border-radius: 10px; }
.page-calciomercato #archivio-list::-webkit-scrollbar-thumb:hover { background: #aaa; }
.page-calciomercato .report-mercato h2 { font-family: 'Oswald', sans-serif; color: #0d4a81; font-size: 1.8rem; margin-top: 2.5em; margin-bottom: 1.5em; padding-bottom: 10px; border-bottom: 3px solid #1d6aae; }
.page-calciomercato .report-mercato section:first-of-type h2 { margin-top: 0; }
.page-calciomercato .sezione-articolo p { font-size: 1.1rem; line-height: 1.8; color: #333; margin-bottom: 1.2em; }
.page-calciomercato .sezione-articolo strong { color: var(--mercato-highlight-color); font-weight: 700; }
.page-calciomercato .sezione-articolo em { font-style: italic; color: #555; }
.page-calciomercato .sezione-trattative ul { list-style: none; padding: 0; margin: 0; }
.page-calciomercato .sezione-trattative li { padding: 20px 0; border-bottom: 1px solid #000000; }
.page-calciomercato .sezione-trattative li:last-child { border-bottom: none; }
.page-calciomercato .sezione-trattative .giocatore, .page-calciomercato .sezione-trattative .trasferimento { display: block; }
.page-calciomercato .sezione-trattative .giocatore { font-size: 1.2rem; font-weight: 700; color: var(--mercato-highlight-color); margin-bottom: 5px; }
.page-calciomercato .sezione-trattative .trasferimento { font-size: 1rem; color: #6c757d; margin-bottom: 10px; }
.page-calciomercato .sezione-trattative .dettagli { font-size: 1rem; color: #495057; }
.page-calciomercato .sezione-trattative .stato-trattativa, .page-calciomercato .sezione-trattative .valore-trattativa { font-weight: normal; }
.page-calciomercato .tabella-affari { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.page-calciomercato .tabella-affari th, .page-calciomercato .tabella-affari td { padding: 12px 15px; text-align: left; border: 1px solid #000000; vertical-align: middle; }
.page-calciomercato .tabella-affari thead th { background-color: #3b4a6b; color: #ffffff; font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: none; }
.page-calciomercato .tabella-affari thead tr:first-child th:first-child { border-top-left-radius: 6px; }
.page-calciomercato .tabella-affari thead tr:first-child th:last-child { border-top-right-radius: 6px; }
.page-calciomercato .tabella-affari tbody tr:nth-child(even) { background-color: #f8f9fa; }
.page-calciomercato .tabella-affari tbody td:first-child { font-weight: 700; color: var(--mercato-highlight-color); }
body.page-statistiche { background-color: #3195b5; color: #333333; }
.page-statistiche .container { max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; }
.page-statistiche main.content-box { background-color: #ffffff; color: #000000; padding: 40px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.page-statistiche h2 { font-family: 'Oswald', sans-serif; color: #0d4a81; font-size: 1.8rem; margin-top: 2.5em; margin-bottom: 1.5em; padding-bottom: 10px; border-bottom: 3px solid #1d6aae; }
.page-statistiche main.content-box section:first-of-type h2 { margin-top: 0; }
.page-statistiche .sezione-trattative ul { list-style: none; padding: 0; margin: 0; }
.page-statistiche .sezione-trattative li { padding: 20px 0; border-bottom: 1px solid #000000; }
.page-statistiche .sezione-trattative li:last-child { border-bottom: none; }
.page-statistiche .sezione-trattative .giocatore { display: block; font-size: 1.2rem; font-weight: 700; color: var(--statistiche-highlight-color); margin-bottom: 10px; }
.page-statistiche .sezione-trattative .dettagli { display: block; font-size: 1rem; color: #495057; line-height: 1.7; }
.page-statistiche .sezione-trattative .dettagli strong { font-weight: bold; color: #000; }
.page-statistiche .ultra-compact-table { font-size: 0.9rem; table-layout: fixed; width: 100%; border-collapse: collapse; }
.page-statistiche .ultra-compact-table thead th { text-align: center; vertical-align: middle; font-size: 0.75rem; padding: 8px 4px; white-space: normal; line-height: 1.2; background-color: #3b4a6b; color: #ffffff; border: 1px solid #4a5c81; }
.page-statistiche .ultra-compact-table tbody td { text-align: center; padding: 8px 4px; vertical-align: middle; border: 1px solid #dee2e6; transition: background-color 0.2s ease-in-out; }
.page-statistiche .ultra-compact-table tbody tr:nth-child(even) td { background-color: #f8f9fa; }
.page-statistiche .ultra-compact-table tbody tr:hover td { background-color: var(--row-hover-bg-color) !important; }
.page-statistiche .team-container { text-align: left; line-height: 1.4; padding: 4px 0; }
.page-statistiche .team-home, .page-statistiche .team-away { font-weight: bold; }
.page-statistiche .ultra-compact-table tbody td:not(:first-child):not(:last-child) { font-size: 0.95em; font-weight: bold; color: #2c3e50; }
.page-statistiche .ultra-compact-table tbody td:last-child { text-align: left; font-size: 0.9em; line-height: 1.5; }
.page-statistiche .ultra-compact-table td:nth-child(2), .page-statistiche .ultra-compact-table td:nth-child(3), .page-statistiche .ultra-compact-table td:nth-child(4) { background-color: var(--color-group-1x2); }
.page-statistiche .ultra-compact-table td:nth-child(5), .page-statistiche .ultra-compact-table td:nth-child(6) { background-color: var(--color-group-under-over); }
.page-statistiche .ultra-compact-table td:nth-child(7), .page-statistiche .ultra-compact-table td:nth-child(8) { background-color: var(--color-group-goal-nogoal); }
.page-statistiche .ultra-compact-table th:nth-child(1), .page-statistiche .ultra-compact-table td:nth-child(1) { width: 20%; }
.page-statistiche .ultra-compact-table th:nth-child(2), .page-statistiche .ultra-compact-table td:nth-child(2), .page-statistiche .ultra-compact-table th:nth-child(3), .page-statistiche .ultra-compact-table td:nth-child(3), .page-statistiche .ultra-compact-table th:nth-child(4), .page-statistiche .ultra-compact-table td:nth-child(4) { width: var(--col-1x2-width); }
.page-statistiche .ultra-compact-table th:nth-child(5), .page-statistiche .ultra-compact-table td:nth-child(5), .page-statistiche .ultra-compact-table th:nth-child(6), .page-statistiche .ultra-compact-table td:nth-child(6), .page-statistiche .ultra-compact-table th:nth-child(7), .page-statistiche .ultra-compact-table td:nth-child(7), .page-statistiche .ultra-compact-table th:nth-child(8) { width: calc(var(--col-1x2-width) * 1.5); }
.page-statistiche .ultra-compact-table th:nth-child(9), .page-statistiche .ultra-compact-table td:nth-child(9) { width: calc(var(--col-1x2-width) * 1.5); }
.page-statistiche .ultra-compact-table th:last-child, .page-statistiche .ultra-compact-table td:last-child { width: auto; }
.page-statistiche .sidebar-widget { background-color: #ffffff; color: #333; border-radius: 8px; padding: 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.page-statistiche .sidebar-widget h3 { font-family: 'Oswald', sans-serif; color: var(--sidebar-title-color); font-weight: 700; font-size: 1.4rem; text-align: left; margin: 0 0 15px 0; padding-bottom: 10px; border-bottom: 1px solid #e0e0e0; }
.page-statistiche .sidebar-widget ul { list-style: none; padding: 0; margin: 0; max-height: 400px; overflow-y: auto; padding-right: 10px; }
.page-statistiche .sidebar-widget li { padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.page-statistiche .sidebar-widget li:last-child { border-bottom: none; }
.page-statistiche .sidebar-widget a { text-decoration: none; color: var(--sidebar-link-color); font-weight: bold; font-size: 0.95rem; transition: color 0.2s; }
.page-statistiche .sidebar-widget a:hover { color: var(--statistiche-highlight-color); }
.page-statistiche .sidebar-widget a.active { color: var(--statistiche-highlight-color); font-weight: 900; }
.page-statistiche .sidebar-widget ul::-webkit-scrollbar { width: 6px; }
.page-statistiche .sidebar-widget ul::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; }
.page-statistiche .sidebar-widget ul::-webkit-scrollbar-thumb { background: #cccccc; border-radius: 3px; }
.page-statistiche .sidebar-widget ul::-webkit-scrollbar-thumb:hover { background: #aaaaaa; }
body#page-stats-sfida { margin: 0; padding: 0; background-color: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
#page-stats-sfida .container-confronto { max-width: 1200px; margin: 20px auto; background: white; border-radius: 15px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); overflow: hidden; }
#page-stats-sfida .page-title-header { background: linear-gradient(135deg, #3a4b60 0%, #2c3e50 100%); color: white; padding: 30px; text-align: center; }
#page-stats-sfida .page-title-header h1 { margin: 0 0 10px 0; font-size: 2.5em; font-weight: 300; }
#page-stats-sfida .page-title-header p { margin: 0; font-size: 1.1em; opacity: 0.9; }
#page-stats-sfida .controls { background: #f8f9fa; padding: 20px; border-bottom: 1px solid #dee2e6; }
#page-stats-sfida .select-container { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
#page-stats-sfida .select-group { display: flex; align-items: center; gap: 10px; }
#page-stats-sfida .select-group label { font-weight: bold; color: #333; }
#page-stats-sfida .controls select { padding: 10px 15px; border: 2px solid #dee2e6; border-radius: 8px; font-size: 16px; background: white; cursor: pointer; transition: border-color 0.3s ease; }
#page-stats-sfida .controls select:hover, #page-stats-sfida .controls select:focus { border-color: #007bff; outline: none; }
#page-stats-sfida .table-area { padding: 20px; max-height: none; overflow-y: visible; }
#page-stats-sfida #table-container { width: 100%; }
#page-stats-sfida #message-container { text-align: center; font-size: 1.5em; color: #6c757d; padding: 40px 0; }
#page-stats-sfida .comparison-table { width: 100%; border-collapse: collapse; font-size: 14px; }
#page-stats-sfida .comparison-table thead th { padding: 12px; text-align: center; font-weight: bold; color: white; position: sticky; top: -1px; z-index: 10; }
#page-stats-sfida .comparison-table th.stat-header { background-color: #343a40; text-align: left; }
#page-stats-sfida .comparison-table th.team1-header { background-color: #c82333; }
#page-stats-sfida .comparison-table th.team2-header { background-color: #0069d9; }
#page-stats-sfida .comparison-table th.total-header, #page-stats-sfida .comparison-table th.avg-header { background-color: #5a6268; }
#page-stats-sfida .comparison-table tbody th { background-color: #e9ecef; color: #212529; padding: 10px; font-size: 1.1em; text-align: left; }
#page-stats-sfida .comparison-table td { text-align: center; padding: 10px; border: 1px solid #dee2e6; }
#page-stats-sfida .comparison-table tbody tr:nth-child(even) td { background-color: #f8f9fa; }
#page-stats-sfida .comparison-table td:first-of-type { font-weight: bold; text-align: left; color: #343a40; }
#page-stats-sfida .comparison-table td:nth-of-type(2) { font-weight: bold; color: #c82333; }
#page-stats-sfida .comparison-table td:nth-of-type(3) { font-weight: bold; color: #0069d9; }
#page-stats-sfida .comparison-table tbody td:nth-of-type(4), #page-stats-sfida .comparison-table tbody td:nth-of-type(5) { color: #212529; }
#page-stats-sfida .comparison-table td[title] { cursor: help; }
.stats-hub-container { max-width: 1200px; margin: 20px auto; padding: 0 15px; }
.stats-hub-container .page-title-header { background: linear-gradient(135deg, #3a4b60 0%, #2c3e50 100%); color: white; padding: 30px; text-align: center; border-radius: 15px; margin-bottom: 30px; }
.stats-hub-container .page-title-header h1 { margin: 0 0 10px 0; font-size: 2.5em; font-weight: 300; }
.stats-hub-container .page-title-header p { margin: 0; font-size: 1.1em; opacity: 0.9; }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 25px; }
.stat-card { background-color: #ffffff; border-radius: 15px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; }
.stat-card:hover { transform: translateY(-8px); box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12); }
.stat-card .card-link-wrapper { text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%; }
.card-preview { width: 100%; height: 200px; background-color: #f4f6f9; display: flex; align-items: center; justify-content: center; }
.card-preview img { width: 100%; height: 100%; object-fit: cover; }
.card-content { padding: 20px 25px; flex-grow: 1; display: flex; flex-direction: column; }
.card-content h3 { margin: 0 0 10px 0; font-size: 1.4em; color: #2c3e50; }
.card-content h3 i { margin-right: 10px; color: #007bff; }
.card-content p { margin: 0 0 20px 0; font-size: 1em; line-height: 1.5; color: #6c757d; flex-grow: 1; }
.card-cta { display: inline-block; background-color: #007bff; color: white; padding: 10px 20px; border-radius: 8px; text-align: center; font-weight: bold; align-self: flex-start; transition: background-color 0.2s ease; }
.stat-card:hover .card-cta { background-color: #0056b3; }
body#page-stats-risultati { margin: 0; padding: 0; background-color: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
#page-stats-risultati .container-statistiche { max-width: 1400px; margin: 20px auto; background: white; border-radius: 15px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); overflow: hidden; }
#page-stats-risultati .chart-title-header { background: linear-gradient(135deg, #e6a700 0%, #b8860b 100%); color: white; padding: 30px; text-align: center; }
#page-stats-risultati .chart-title-header h1 { margin: 0 0 10px 0; font-size: 2.5em; font-weight: 300; display: flex; align-items: center; justify-content: center; gap: 15px; }
#page-stats-risultati .chart-title-header p { margin: 0; font-size: 1.1em; opacity: 0.9; }
#page-stats-risultati .controls { background: #f8f9fa; padding: 20px; border-bottom: 1px solid #dee2e6; }
#page-stats-risultati .select-container { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
#page-stats-risultati .select-group { display: flex; align-items: center; gap: 10px; }
#page-stats-risultati .select-group label { font-weight: bold; color: #333; }
#page-stats-risultati .controls select { padding: 10px 15px; border: 2px solid #dee2e6; border-radius: 8px; font-size: 16px; background: white; cursor: pointer; transition: border-color 0.3s ease; }
#page-stats-risultati .controls select:hover, #page-stats-risultati .controls select:focus { border-color: #e6a700; outline: none; }
#page-stats-risultati .chart-area { padding: 20px; overflow-x: auto; scrollbar-gutter: stable; }
#page-stats-risultati #chart-layout { display: flex; gap: 12px; min-width: 1200px; padding-bottom: 10px; border-bottom: 2px solid #e9ecef; align-items: flex-end; }
#page-stats-risultati .chart-column { flex: 1; min-width: 45px; display: flex; flex-direction: column; align-items: center; }
#page-stats-risultati .bar-value-label { font-size: 14px; font-weight: bold; color: #b8860b; margin-bottom: 5px; height: 20px; }
#page-stats-risultati .bar { width: 100%; background: linear-gradient(180deg, #ffc107 0%, #e6a700 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: height 0.5s ease-out; cursor: pointer; }
#page-stats-risultati .score-label { font-weight: bold; color: #333; font-size: 14px; margin-top: 10px; height: 20px; text-align: center; }
#page-stats-risultati #message-container { text-align: center; font-size: 1.5em; color: #6c757d; min-height: 400px; display: flex; align-items: center; justify-content: center; width: 100%; }
#page-stats-risultati .tooltip { position: absolute; background: rgba(0,0,0,.9); color: #fff; padding: 10px; border-radius: 8px; font-size: 14px; pointer-events: none; z-index: 1000; opacity: 0; transition: opacity .3s ease; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
#page-stats-risultati .tooltip.show { opacity: 1; }
body#page-stats-gol { margin: 0; padding: 0; background-color: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
#page-stats-gol .container-statistiche { max-width: 1400px; margin: 20px auto; background: white; border-radius: 15px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); overflow: hidden; }
#page-stats-gol .chart-title-header { background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); color: white; padding: 30px; text-align: center; }
#page-stats-gol .chart-title-header h1 { margin: 0 0 10px 0; font-size: 2.5em; font-weight: 300; }
#page-stats-gol .chart-title-header p { margin: 0; font-size: 1.1em; opacity: 0.9; }
#page-stats-gol .controls { background: #f8f9fa; padding: 20px; border-bottom: 1px solid #dee2e6; }
#page-stats-gol .select-container { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
#page-stats-gol .select-group { display: flex; align-items: center; gap: 10px; }
#page-stats-gol .select-group label { font-weight: bold; color: #333; }
#page-stats-gol .controls select { padding: 10px 15px; border: 2px solid #dee2e6; border-radius: 8px; font-size: 16px; background: white; cursor: pointer; transition: border-color 0.3s ease; }
#page-stats-gol .controls select:hover, #page-stats-gol .controls select:focus { border-color: #007bff; outline: none; }
#page-stats-gol .chart-area { padding: 20px; }
#page-stats-gol .chart-layout { display: flex; flex-direction: column; }
#page-stats-gol #chart-container { display: flex; flex-direction: column; width: 100%; }
#page-stats-gol .chart-bars-container { display: flex; align-items: flex-end; gap: 8px; min-height: 350px; padding: 10px 0; border-bottom: 2px solid #e9ecef; width: 100%; }
#page-stats-gol .chart-labels-container { display: flex; gap: 8px; margin-top: 5px; width: 100%; }
#page-stats-gol .bar-wrapper { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 0; padding: 5px 2px; }
#page-stats-gol .bar-value-label { font-size: 14px; font-weight: bold; color: #e67e22; margin-bottom: 5px; }
#page-stats-gol .bar { width: 100%; background: linear-gradient(180deg, #f39c12 0%, #e67e22 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: height 0.5s ease-out; }
#page-stats-gol .label-wrapper { display: flex; justify-content: center; align-items: flex-end; flex: 1; min-width: 0; height: 120px; }
#page-stats-gol .team-name { font-weight: bold; writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); padding-top: 10px; color: #333; font-size: 13px; }
#page-stats-gol #message-container { text-align: center; font-size: 1.5em; color: #6c757d; min-height: 350px; display: flex; align-items: center; justify-content: center; width: 100%; }
body#page-stats-arbitri { margin: 0; padding: 0; background-color: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
#page-stats-arbitri .container-statistiche { max-width: 1400px; margin: 20px auto; background: white; border-radius: 15px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); overflow: hidden; }
#page-stats-arbitri .chart-title-header { background: linear-gradient(135deg, #4c566a 0%, #3b4252 100%); color: white; padding: 30px; text-align: center; }
#page-stats-arbitri .chart-title-header h1 { margin: 0 0 10px 0; font-size: 2.5em; font-weight: 300; }
#page-stats-arbitri .chart-title-header p { margin: 0; font-size: 1.1em; opacity: 0.9; }
#page-stats-arbitri .controls { background: #f8f9fa; padding: 20px; border-bottom: 1px solid #dee2e6; }
#page-stats-arbitri .select-container { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
#page-stats-arbitri .select-group { display: flex; align-items: center; gap: 10px; }
#page-stats-arbitri .select-group label { font-weight: bold; color: #333; }
#page-stats-arbitri .controls select { padding: 10px 15px; border: 2px solid #dee2e6; border-radius: 8px; font-size: 16px; background: white; cursor: pointer; transition: border-color 0.3s ease; }
#page-stats-arbitri .controls select:hover, #page-stats-arbitri .controls select:focus { border-color: #5e81ac; outline: none; }
#page-stats-arbitri .chart-area { padding: 20px; }
#page-stats-arbitri #chart-container { display: flex; flex-direction: column; width: 100%; }
#page-stats-arbitri .chart-bars-container { display: flex; align-items: flex-end; gap: 8px; min-height: 350px; padding: 10px 0; border-bottom: 2px solid #e9ecef; width: 100%; }
#page-stats-arbitri .chart-labels-container { display: flex; gap: 8px; margin-top: 5px; width: 100%; }
#page-stats-arbitri .bar-wrapper { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 0; padding: 5px 2px; }
#page-stats-arbitri .bar-value-label { font-size: 14px; font-weight: bold; color: #3b4252; margin-bottom: 5px; }
#page-stats-arbitri .bar-container { width: 100%; display: flex; flex-direction: column-reverse; box-shadow: 0 4px 8px rgba(0,0,0,0.1); border-radius: 4px 4px 0 0; overflow: hidden; transition: height 0.5s ease-out; cursor: pointer; }
#page-stats-arbitri .bar-segment { width: 100%; transition: height 0.5s ease-out; }
#page-stats-arbitri .segment-green { background-color: #28a745; }
#page-stats-arbitri .segment-yellow { background-color: #ffc107; }
#page-stats-arbitri .segment-red { background-color: #dc3545; }
#page-stats-arbitri .label-wrapper { display: flex; justify-content: center; align-items: flex-end; flex: 1; min-width: 0; height: 120px; }
#page-stats-arbitri .entity-name { font-weight: bold; writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); padding-top: 10px; color: #333; font-size: 13px; text-align: center; }
#page-stats-arbitri #message-container { text-align: center; font-size: 1.5em; color: #6c757d; min-height: 350px; display: flex; align-items: center; justify-content: center; width: 100%; }
#page-stats-arbitri .tooltip { position: absolute; background: rgba(0,0,0,.9); color: #fff; padding: 12px; border-radius: 8px; font-size: 14px; pointer-events: none; z-index: 1000; opacity: 0; transition: opacity .3s ease; max-width: 350px; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
#page-stats-arbitri .tooltip.show { opacity: 1; }
#page-stats-arbitri .tooltip-header { font-weight: 700; margin-bottom: 8px; padding-bottom: 5px; color: #88c0d0; border-bottom: 1px solid rgba(255,255,255,.2); }
#page-stats-arbitri .tooltip-item { display: flex; justify-content: space-between; padding: 4px 0; font-size: 13px; }
#page-stats-arbitri .tooltip-item-label { display: flex; align-items: center; }
#page-stats-arbitri .tooltip-color-box { width: 12px; height: 12px; border-radius: 2px; margin-right: 8px; }
body#page-stats-tiri { margin: 0; padding: 0; background-color: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
#page-stats-tiri .container-statistiche { max-width: 1400px; margin: 20px auto; background: white; border-radius: 15px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); overflow: hidden; }
#page-stats-tiri .chart-title-header { background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); color: white; padding: 30px; text-align: center; }
#page-stats-tiri .chart-title-header h1 { margin: 0 0 10px 0; font-size: 2.5em; font-weight: 300; }
#page-stats-tiri .chart-title-header p { margin: 0; font-size: 1.1em; opacity: 0.9; }
#page-stats-tiri .controls { background: #f8f9fa; padding: 20px; border-bottom: 1px solid #dee2e6; }
#page-stats-tiri .select-container { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
#page-stats-tiri .select-group { display: flex; align-items: center; gap: 10px; }
#page-stats-tiri .select-group label { font-weight: bold; color: #333; }
#page-stats-tiri .controls select { padding: 10px 15px; border: 2px solid #dee2e6; border-radius: 8px; font-size: 16px; background: white; cursor: pointer; transition: border-color 0.3s ease; }
#page-stats-tiri .controls select:hover, #page-stats-tiri .controls select:focus { border-color: #007bff; outline: none; }
#page-stats-tiri .chart-area { padding: 20px; }
#page-stats-tiri .chart-layout { display: flex; flex-direction: column; }
#page-stats-tiri #chart-container { display: flex; flex-direction: column; width: 100%; }
#page-stats-tiri .chart-bars-container { display: flex; align-items: flex-end; gap: 8px; min-height: 350px; padding: 10px 0; border-bottom: 2px solid #e9ecef; width: 100%; }
#page-stats-tiri .chart-labels-container { display: flex; gap: 8px; margin-top: 5px; width: 100%; }
#page-stats-tiri .bar-wrapper { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 0; padding: 5px 2px; }
#page-stats-tiri .bar-value-label { font-size: 14px; font-weight: bold; color: #007bff; margin-bottom: 5px; }
#page-stats-tiri .bar { width: 100%; background: linear-gradient(180deg, #007bff 0%, #0056b3 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: height 0.5s ease-out; }
#page-stats-tiri .label-wrapper { display: flex; justify-content: center; align-items: flex-end; flex: 1; min-width: 0; height: 120px; }
#page-stats-tiri .team-name { font-weight: bold; writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); padding-top: 10px; color: #333; font-size: 13px; }
#page-stats-tiri #message-container { text-align: center; font-size: 1.5em; color: #6c757d; min-height: 350px; display: flex; align-items: center; justify-content: center; width: 100%; }
body#page-stats-sfida-risultati { margin: 0; padding: 0; background-color: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
#page-stats-sfida-risultati .container-statistiche { max-width: 1400px; margin: 20px auto; background: white; border-radius: 15px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); overflow: hidden; }
#page-stats-sfida-risultati .chart-title-header { background: linear-gradient(135deg, #e6a700 0%, #b8860b 100%); color: white; padding: 30px; text-align: center; }
#page-stats-sfida-risultati .chart-title-header h1 { margin: 0 0 10px 0; font-size: 2.5em; font-weight: 300; display: flex; align-items: center; justify-content: center; gap: 15px; }
#page-stats-sfida-risultati .chart-title-header p { margin: 0; font-size: 1.1em; opacity: 0.9; }
#page-stats-sfida-risultati .controls { background: #f8f9fa; padding: 20px; border-bottom: 1px solid #dee2e6; }
#page-stats-sfida-risultati .select-container { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
#page-stats-sfida-risultati .select-group { display: flex; align-items: center; gap: 10px; }
#page-stats-sfida-risultati .select-group label { font-weight: bold; color: #333; }
#page-stats-sfida-risultati .controls select { padding: 10px 15px; border: 2px solid #dee2e6; border-radius: 8px; font-size: 16px; background: white; cursor: pointer; transition: border-color 0.3s ease; }
#page-stats-sfida-risultati .controls select:hover, #page-stats-sfida-risultati .controls select:focus { border-color: #e6a700; outline: none; }
#page-stats-sfida-risultati .chart-area { padding: 20px; overflow-x: auto; scrollbar-gutter: stable; }
#page-stats-sfida-risultati #chart-layout { display: flex; gap: 12px; min-width: 1200px; padding-bottom: 10px; border-bottom: 2px solid #e9ecef; align-items: flex-end; }
#page-stats-sfida-risultati .chart-column { flex: 1; min-width: 45px; display: flex; flex-direction: column; align-items: center; }
#page-stats-sfida-risultati .bar-value-label { font-size: 14px; font-weight: bold; color: #b8860b; margin-bottom: 5px; height: 20px; }
#page-stats-sfida-risultati .bar { width: 100%; background: linear-gradient(180deg, #ffc107 0%, #e6a700 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: height 0.5s ease-out; cursor: pointer; }
#page-stats-sfida-risultati .score-label { font-weight: bold; color: #333; font-size: 14px; margin-top: 10px; height: 20px; text-align: center; }
#page-stats-sfida-risultati #message-container { text-align: center; font-size: 1.5em; color: #6c757d; min-height: 400px; display: flex; align-items: center; justify-content: center; width: 100%; }
#page-stats-sfida-risultati .tooltip { position: absolute; background: rgba(0,0,0,.9); color: #fff; padding: 10px; border-radius: 8px; font-size: 14px; pointer-events: none; z-index: 1000; opacity: 0; transition: opacity .3s ease; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
#page-stats-sfida-risultati .tooltip.show { opacity: 1; }


.page-regolamento .ad-banner { border: 1px solid #ddd; padding: 15px; background-color: #f9f9f9; text-align: center; }
.page-regolamento .main-content img { max-width: 100%; height: auto; display: block; }
body.page-calendario { background-color: #3195b5; color: #ffffff; }
.page-calendario .page-container { max-width: 1400px; margin: 30px auto; display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; }
.page-calendario .main-content-wrapper { display: grid; grid-template-columns: 320px 1fr; gap: 30px; align-items: flex-start; }
.page-calendario .sidebar { position: sticky; top: 30px; display: flex; flex-direction: column; gap: 30px; }
.page-calendario .sidebar-widget { background-color: #f4f5f3; color: #333; border-radius: 15px; padding: 20px; }
.page-calendario .sidebar-widget h3 { font-family: 'Oswald', sans-serif; color: #3195b5; font-size: 1.2rem; text-align: center; margin-bottom: 15px; }
.page-calendario .ad-placeholder { min-height: 250px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.page-calendario .league-list { list-style: none; }
.page-calendario .league-list li a { display: block; padding: 10px 0; text-decoration: none; color: #333; font-weight: bold; border-bottom: 1px solid #e0e0e0; transition: color 0.2s; }
.page-calendario .league-list li:last-child a { border-bottom: none; }
.page-calendario .league-list li a:hover, .page-calendario .league-list li a.active { color: #3195b5; }
.page-calendario .league-section { background-color: #3a9fc0; border-radius: 15px; padding: 25px 30px; }
.page-calendario .league-header { text-align: center; padding-bottom: 15px; margin-bottom: 15px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); }
.page-calendario .league-header h2 { font-family: 'Oswald', sans-serif; font-size: 1.6rem; color: #ffffff; text-transform: uppercase; }
.page-calendario .matchday-group h3 { font-size: 1.1rem; font-weight: bold; background-color: rgba(0, 0, 0, 0.15); display: inline-block; padding: 8px 15px; border-radius: 5px; margin: 25px 0 15px 0; }
.page-calendario .match-item { display: flex; align-items: center; padding: 8px 5px; font-size: 1rem; border-bottom: 2px solid rgba(255, 255, 255, 0.25); }
.page-calendario .matchday-group .match-item:last-child { border-bottom: none; }
.page-calendario .match-date { width: 120px; flex-shrink: 0; }
.page-calendario .match-teams-vertical { flex-grow: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; text-transform: uppercase; }
.page-calendario .match-score { width: 80px; flex-shrink: 0; display: flex; justify-content: center; }
.page-calendario .score-box { background-color: #34495e; border-radius: 8px; padding: 5px 0; width: 45px; display: flex; flex-direction: column; align-items: center; font-weight: bold; font-size: 1.1rem; line-height: 1.2; }
.article-block h2, .article-block h3, .article-block h4 { font-family: Helvetica, Arial, sans-serif; text-transform: uppercase; }
body.page-quotidiano { display: flex; flex-direction: column; background-color: #3195b5; color: #333; }
body.page-quotidiano .header { position: static; margin-bottom: 0; }
.page-quotidiano .news-ticker-container, .page-quotidiano .news-ticker-container-reverse { position: static; height: 35px; background-color: #444; color: #fff; display: flex; align-items: center; border-bottom: 4px solid #50d3e9; }
.page-quotidiano .news-ticker-container-reverse { height: 35px; }
.page-quotidiano .ticker-label { background-color: #3195b5;color: #ffffff; font-weight: 600; padding: 0 15px; height: 100%; display: flex; align-items: center; white-space: nowrap; font-family: sans-serif; font-size: 0.9em; text-transform: uppercase; }
.page-quotidiano .ticker-wrap { flex-grow: 1; overflow: hidden; height: 100%; }
.page-quotidiano .ticker-content { display: inline-block; white-space: nowrap; height: 100%; will-change: transform; line-height: 40px; }
.page-quotidiano .news-ticker-container-reverse .ticker-content { line-height: 35px; }
.page-quotidiano .ticker-item { display: inline-flex; align-items: center; height: 100%; padding: 0 25px; font-size: 0.9em; color: #f0f0f0; transition: color 0.3s ease; }
.page-quotidiano .ticker-item:hover { color: #fcf800; }
@keyframes ticker-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.page-quotidiano .animate-dynamic { animation: ticker-scroll var(--ticker-duration, 120s) linear infinite; }
.page-quotidiano .ticker-label-reverse { background-color: #3195b5; color: #ffffff;font-weight: 700; padding: 0 15px; height: 100%; display: flex; align-items: center; white-space: nowrap; font-family: sans-serif; font-size: 0.8em; text-transform: uppercase; }
.page-quotidiano .ticker-item-reverse { display: inline-flex; align-items: center; height: 100%; padding: 0 25px; font-size: 0.9em; color: #f0f0f0; font-style: italic; transition: color 0.3s ease; }
.page-quotidiano .ticker-item-reverse:hover { color: #fcf800; }
@keyframes ticker-scroll-reverse { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.page-quotidiano .animate-dynamic-reverse { animation: ticker-scroll-reverse var(--ticker-duration-reverse, 120s) linear infinite; }
.page-quotidiano .news-ticker-container:hover .ticker-content, .page-quotidiano .news-ticker-container-reverse:hover .ticker-content { animation-play-state: paused; }
.page-quotidiano .newspaper-container { max-width: 1200px; margin: 2rem auto; background-color: #f9f9f9; padding-top: 4rem; padding-right: 2rem; padding-bottom: 2rem; padding-left: 2rem; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); border: 1px solid #ddd; font-family: 'Lora', serif; line-height: 1.6; font-size: 18px; padding-top: 0; }
.page-quotidiano .newspaper-container h1, .page-quotidiano .newspaper-container h2, .page-quotidiano .newspaper-container h3, .page-quotidiano .newspaper-container h4 { font-family: 'Merriweather', serif; color: #1a1a1a; line-height: 1.2; margin-bottom: 0.5em; }
.page-quotidiano .newspaper-container a { color: inherit; text-decoration: none; }
.page-quotidiano .newspaper-container img { max-width: 100%; height: auto; display: block; }
.page-quotidiano .masthead { text-align: center; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 4px double #333; }
.page-quotidiano .masthead h1 { font-size: 4.5rem; font-weight: 600; margin: 0; text-transform: uppercase; letter-spacing: 2px; }
.page-quotidiano .masthead .date-line { font-style: italic; color: #666; margin-top: 0.5rem; }
.page-quotidiano .grid-content { display: grid; gap: 2rem; grid-template-columns: repeat(5, 1fr); grid-template-areas: "main-top main-top main-top side-1 side-1" "main-top main-top main-top side-2 side-2" "main-top main-top main-top side-3 side-3" "main-middle main-middle main-middle side-4 side-4" "main-bottom main-bottom main-bottom side-5 side-5" "main-bottom main-bottom main-bottom side-5 side-5"; }
.page-quotidiano .main-story-top { grid-area: main-top; } .page-quotidiano .main-story-middle { grid-area: main-middle; } .page-quotidiano .main-story-bottom { grid-area: main-bottom; } .page-quotidiano .side-story-1 { grid-area: side-1; } .page-quotidiano .side-story-2 { grid-area: side-2; } .page-quotidiano .side-story-3 { grid-area: side-3; } .page-quotidiano .side-story-4 { grid-area: side-4; } .page-quotidiano .side-story-5 { grid-area: side-5; }
.page-quotidiano .article-block { display: flex; flex-direction: column; padding-bottom: 1rem; border-bottom: 1px solid #eee; transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; background-color: #ffffff; } 
.page-quotidiano .article-block:hover { transform: translateY(-5px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); } 
.page-quotidiano .article-block h2, .page-quotidiano .article-block h3, .page-quotidiano .article-block h4 { transition: color 0.3s ease; } 
.page-quotidiano .article-block:hover h2, .page-quotidiano .article-block:hover h3, .page-quotidiano .article-block:hover h4 { color: #e74c3c; } 
.page-quotidiano .main-story-top img { margin-bottom: 1rem; height: 350px; width: 100%; object-fit: cover; } 
.page-quotidiano .main-story-top h2 { font-size: 2.8rem; } 
.page-quotidiano .main-story-top p, .page-quotidiano .main-story-top .content-snippet { font-size: 1.1rem; } 
.page-quotidiano .main-story-bottom { padding-top: 1rem; border-top: 1px solid #ccc; } 
.page-quotidiano .main-story-bottom > h3 { font-size: 1.8rem; } 
.page-quotidiano .side-story-1, .page-quotidiano .side-story-2, .page-quotidiano .side-story-3, .page-quotidiano .side-story-4, .page-quotidiano .side-story-5 { padding-left: 1.5rem; border-left: 1px solid #eee; } 
.page-quotidiano .side-story-2, .page-quotidiano .side-story-3, .page-quotidiano .side-story-4, .page-quotidiano .side-story-5 { margin-top: 1rem; } 
.page-quotidiano .side-story-1 h4, .page-quotidiano .side-story-2 h4, .page-quotidiano .side-story-3 h4, .page-quotidiano .side-story-4 h4 { font-size: 1.2rem; }
.main-story-top, .main-story-middle, .main-story-bottom { padding: 10px 20px; }
.page-quotidiano #latest-article .subtitle { font-style: italic; font-weight: normal; margin-top: 0.5rem; margin-bottom: 1rem; }
.page-quotidiano #calciomercato-latest .content-snippet { margin-top: 1rem; }
.page-quotidiano .content-snippet p { margin-bottom: 0.5em; }
.page-quotidiano .content-snippet p:last-child { margin-bottom: 0; }
.page-quotidiano #notiziario-latest ul { list-style-position: inside; padding-left: 0.5em; }
.page-quotidiano #notiziario-latest .content-container h3 { font-size: 1.1rem; font-weight: 500; line-height: 1.4; margin-bottom: 0.6em; }
.page-quotidiano .read-more { margin-top: 1em; font-size: 0.9em; font-style: italic; text-align: right; }
.page-quotidiano #notiziario-latest .score { font-size: 1.2em; font-weight: 700; margin-left: 0.25em; }
.page-quotidiano #diario-latest p { margin-top: 1rem; }
.page-quotidiano #pre-match-latest hr { border: 0; height: 1px; background-color: #eee; margin: 0.8em 0; }
.page-quotidiano #pre-match-latest .match-list h4 { font-size: 1rem; font-weight: 600; font-family: 'Lora', serif; margin-bottom: 0.4em;}
.page-quotidiano #pre-match-latest .match-snippet { font-style: italic; margin-top: 1rem; border-top: 1px solid #eee; padding-top: 1rem; }
.page-quotidiano .grid-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-areas: "main-top side-1" "main-top side-2" "main-middle side-3" "main-middle side-4" "main-bottom side-5" "pre-match-tbl side-5";
    gap: 20px; width: 95%; max-width: 1400px; margin: 20px auto;
}
.main-story-top { grid-area: main-top; }
.main-story-middle { grid-area: main-middle; }
.main-story-bottom { grid-area: main-bottom; }
.pre-match-table { grid-area: pre-match-tbl; }
.side-story-1 { grid-area: side-1; }
.side-story-2 { grid-area: side-2; }
.side-story-3 { grid-area: side-3; }
.side-story-4 { grid-area: side-4; }
.side-story-5 { grid-area: side-5; }
.article-block.pre-match-table { padding: 15px; display: flex; flex-direction: column; background-color: #fff; border: 1px solid #e0e0e0; }
.pre-match-table h3 { margin: 0 0 10px 0; font-family: 'Merriweather', serif; font-size: 1.4rem; border-bottom: 2px solid #333; padding-bottom: 5px; }
.match-table { font-family: 'Roboto', sans-serif; font-size: 0.9rem; width: 100%; display: flex; flex-direction: column; gap: 8px; }
.match-header, .match-row { display: grid; grid-template-columns: 2.5fr 1fr 1fr; align-items: center; padding: 5px 0; border-bottom: 1px solid #eee; }
.match-header { font-weight: 700; color: #555; border-bottom: 1px solid #ccc; }
.match-header-text-center { text-align: center; }
.match-row:last-child { border-bottom: none; }
.match-table .teams { font-weight: 700; }
.match-table .prediction { text-align: center; font-weight: bold; color: #0056b3; background-color: #e7f3ff; padding: 3px 5px; border-radius: 4px; font-size: 1rem; }
.match-table .result { text-align: center; font-weight: bold; }
body.page-top11 { background: linear-gradient(135deg, var(--body-gradient-start) 0%, var(--body-gradient-end) 100%); color: var(--body-text-color); }
.page-top11 .tactic-board { width: 100%; max-width: 1500px; margin: 0 auto; display: flex; flex-direction: column; }
.page-top11 h1 { text-align: center; margin-bottom: 10px; font-family: 'Merriweather', serif; font-size: 2.2rem; color: var(--header-title-color); text-shadow: 2px 2px 4px var(--header-title-shadow); }
.page-top11 .controls { text-align: center; margin-bottom: 20px; color: var(--header-title-color); }
.page-top11 .controls label { font-weight: bold; }
.page-top11 #league-selector { padding: 8px 12px; font-size: 1em; border-radius: 6px; border: 1px solid #ccc; color: #333; }
.page-top11 .main-content { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; }
.page-top11 .pitch-container { position: relative; grid-column: 2 / 3; }
.page-top11 .pitch { position: relative; width: 500px; aspect-ratio: 68 / 105; background-color: #3a8f3a; border: 2px solid var(--line-color); box-shadow: 0 10px 30px rgba(0,0,0,0.15); border-radius: 8px; overflow: hidden; }
.page-top11 .line { position: absolute; border-style: solid; border-color: var(--line-color); border-width: 0; }
.page-top11 .center-line { width: 100%; height: 0; top: 50%; left: 0; border-top-width: 2px; }
.page-top11 .center-circle { width: 28%; padding-bottom: 28%; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 50%; border-width: 2px; }
.page-top11 .penalty-area { width: 65%; height: 16.5%; left: 50%; transform: translateX(-50%); border-width: 2px; }
.page-top11 .penalty-area.home { bottom: 0; border-top-style: solid; border-left-style: solid; border-right-style: solid; } 
.page-top11 .penalty-area.away { top: 0; border-bottom-style: solid; border-left-style: solid; border-right-style: solid; }
.page-top11 .goal-area { width: 30%; height: 5.5%; left: 50%; transform: translateX(-50%); border-width: 2px; }
.page-top11 .goal-area.home { bottom: 0; border-top-style: solid; border-left-style: solid; border-right-style: solid; } 
.page-top11 .goal-area.away { top: 0; border-bottom-style: solid; border-left-style: solid; border-right-style: solid; }
.page-top11 .penalty-arc { width: 22%; height: 10%; left: 50%; transform: translateX(-50%); border-radius: 50%; border-color: transparent; border-style: solid; border-width: 2px; }
.page-top11 .penalty-arc.home { bottom: 8.5%; border-top-color: var(--line-color); } 
.page-top11 .penalty-arc.away { top: 8.5%; border-bottom-color: var(--line-color); }
.page-top11 .penalty-spot { position: absolute; width: 1.5%; height: 1.5%; background-color: var(--line-color); border-radius: 50%; left: 50%; transform: translateX(-50%); }
.page-top11 .penalty-spot.home { bottom: 11%; } 
.page-top11 .penalty-spot.away { top: 11%; }
.page-top11 .corner-arc { position: absolute; width: 3%; padding-bottom: 3%; border-radius: 50%; border-width: 2px; border-style: solid; border-color: transparent; }
.page-top11 .corner-arc.tl { top: -2px; left: -2px; border-right-color: var(--line-color); border-bottom-color: var(--line-color); }
.page-top11 .corner-arc.tr { top: -2px; right: -2px; border-left-color: var(--line-color); border-bottom-color: var(--line-color); }
.page-top11 .corner-arc.bl { bottom: -2px; left: -2px; border-right-color: var(--line-color); border-top-color: var(--line-color); }
.page-top11 .corner-arc.br { bottom: -2px; right: -2px; border-left-color: var(--line-color); border-top-color: var(--line-color); }
.page-top11 #connector-lines { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; }
.page-top11 #connector-lines .connector { stroke: var(--header-title-color); stroke-width: 2.5; stroke-dasharray: 4 4; opacity: 0.7; }
.page-top11 .player-marker { position: absolute; width: 50px; height: 50px; background-color: #000000; color: white; border: 2px solid grey; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; transform: translate(-50%, -50%); font-size: 16px; font-weight: bold; z-index: 20; box-shadow: 0 2px 5px rgba(0,0,0,0.3); }
.page-top11 .player-name-short { font-size: 20px; }
.page-top11 [data-player-id="0"]  { top: 92%; left: 50%; }
.page-top11 [data-player-id="1"]  { top: 73%; left: 88%; }
.page-top11 [data-player-id="2"]  { top: 80%; left: 65%; }
.page-top11 [data-player-id="3"]  { top: 80%; left: 35%; }
.page-top11 [data-player-id="4"]  { top: 73%; left: 12%; }
.page-top11 [data-player-id="5"]  { top: 59%; left: 50%; }
.page-top11 [data-player-id="6"]  { top: 50%; left: 75%; }
.page-top11 [data-player-id="7"]  { top: 50%; left: 25%; }
.page-top11 [data-player-id="8"]  { top: 25%; left: 80%; }
.page-top11 [data-player-id="9"]  { top: 17%; left: 50%; }
.page-top11 [data-player-id="10"] { top: 25%; left: 20%; }
.page-top11 .left-panel, .page-top11 .right-panel, .page-top11 .bottom-panel { z-index: 20; }
.page-top11 .left-panel, .page-top11 .right-panel { display: flex; flex-direction: column; gap: 15px; }
.page-top11 .bottom-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 20px; width: 100%; }
.page-top11 .player-card { background-color: var(--panel-bg, #ffffff); color: var(--primary-text, #1a2a4a); border-radius: 8px; padding: 12px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); text-align: left; border-left: 4px solid var(--accent-color); }
.page-top11 .player-card h3 { margin: 0 0 2px 0; font-size: 1.1em; }
.page-top11 .player-card .squad-role { font-size: 0.8em; color: var(--secondary-text); margin-bottom: 10px; font-style: italic; }
.page-top11 .player-card .stat-name { font-weight: bold; font-size: 0.85em; }
.page-top11 .player-card .stat-value { font-size: 1.6em; font-weight: bold; color: var(--accent-color); }
.page-top11 .player-card .commentary { font-size: 0.8em; line-height: 1.5; color: var(--secondary-text); margin-top: 8px; border-top: 1px solid #eee; padding-top: 8px; }


/* =================================================================== */
//* =================================================================== */
/* == STILI UNIFICATI PER PAGINE CLASSIFICA (TRADIZIONALE E FORMA) == */
/* =================================================================== */

/* --- 1. Layout Generale della Pagina --- */
.page-classifica-trad .page-wrapper,
.page-classifica-forma .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-classifica-trad .page-container,
.page-classifica-forma .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-classifica-trad .main-content,
.page-classifica-forma .main-content {
    min-width: 0; /* Forza il contenitore della griglia a potersi restringere */
}

/* RIMOSSO: overflow: hidden dalla .content-card */
/* SPOSTATO: overflow-x: auto direttamente sulla .content-card */
.page-classifica-trad .content-card,
.page-classifica-forma .content-card {
    overflow-x: auto; /* APPLICA QUI LA BARRA DI SCORRIMENTO */
    -webkit-overflow-scrolling: touch; /* Migliora lo scroll su mobile */
}

.page-classifica-trad .sidebar-container,
.page-classifica-forma .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}

/* --- 2. Elementi Comuni (Card, Controlli, Descrizione) --- */
.page-classifica-trad .content-card,
.page-classifica-forma .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    color: #333; box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
}
.page-classifica-trad .content-card header h1,
.page-classifica-forma .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: clamp(2.0rem, 5vw + 1rem, 2.9rem) !important;
}
.page-classifica-trad .page-description,
.page-classifica-forma .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin-bottom: 20px; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-classifica-trad .controls-wrapper,
.page-classifica-forma .controls-wrapper {
    display: flex; justify-content: center; align-items: center; gap: 30px;
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px 15px;
    background-color: #f8f9fa; border-radius: 8px; border: 1px solid #e0e0e0;
}
.page-classifica-trad .controls-container,
.page-classifica-forma .controls-container { display: flex; align-items: center; gap: 10px; }
.page-classifica-trad label,
.page-classifica-forma label { font-weight: bold; color: #3195b5; }
.page-classifica-trad select,
.page-classifica-forma select {
    padding: 8px 10px; font-size: 1em; border-radius: 5px;
    border: 2px solid #ddd; min-width: 250px; cursor: pointer;
    background-color: #fff; transition: border-color 0.2s ease;
}
.page-classifica-trad .view-selector,
.page-classifica-forma .view-selector { display: flex; gap: 10px; align-items: center; }
.page-classifica-trad .view-selector input[type="radio"] { display: none; }
.page-classifica-trad .view-selector label,
.page-classifica-forma .view-selector label {
    font-weight: normal; color: #34495e; cursor: pointer;
    padding: 8px 15px; border-radius: 5px; border: 1px solid #ddd;
    background-color: #fff; transition: all 0.2s ease;
}
.page-classifica-trad .view-selector input[type="radio"]:checked + label,
.page-classifica-forma .view-selector input[type="radio"]:checked + label { 
    background-color: #3195b5; color: white; border-color: #3195b5; 
}
.page-classifica-trad #loading-message,
.page-classifica-forma #loading-message { 
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; 
}
.page-classifica-trad .back-to-top-button,
.page-classifica-forma .back-to-top-button { 
    display: block; padding: 15px; background-color: #ffffff; color: #2c3e50; 
    border-radius: 8px; text-align: center; font-weight: bold; text-decoration: none; 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: all 0.3s ease; 
    opacity: 0; visibility: hidden; transform: translateY(10px); 
}
.page-classifica-trad .back-to-top-button.show,
.page-classifica-forma .back-to-top-button.show { 
    opacity: 1; visibility: visible; transform: translateY(0); 
}

/* --- 3. Stili per la Tabella (SOLUZIONE UNIFICATA E CORRETTA) --- */
.table-scroll-container {
    overflow-x: auto;
    width: 100%;
}
.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
}
.data-table th, 
.data-table td {
    white-space: nowrap;
    padding: 12px 10px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
}
.data-table thead th {
    background-color: #34495e;
    color: white;
    text-align: left;
    cursor: pointer;
    user-select: none;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 2;
}
.data-table thead th .sort-icon { margin-left: 5px; color: #95a5a6; }
.data-table thead th.sorted { color: #fae102; }
.data-table thead th.sorted .sort-icon { color: #ecf0f1; }
.data-table tbody tr { background-color: #ffffff; /* Sfondo righe dispari */ }
.data-table tbody tr:nth-child(even) { background-color: #f8f9fa; /* Sfondo righe pari */ }
.data-table tbody tr:hover { background-color: #eaf4ff !important; } /* Colore hover, !important per sovrascrivere `inherit` */

/* Colonne fisse (Sticky) */
.data-table th:nth-child(1), .data-table td:nth-child(1),
.data-table th:nth-child(2), .data-table td:nth-child(2) {
    position: -webkit-sticky;
    position: sticky;
    z-index: 1;
}
.data-table th:nth-child(1), .data-table td:nth-child(1) { left: 0; }
.data-table th:nth-child(2), .data-table td:nth-child(2) { left: 55px; border-right: 1px solid #d0d0d0; }

/* LA SOLUZIONE PER GLI SFONDI */
.data-table tbody td:nth-child(1),
.data-table tbody td:nth-child(2) {
    background: inherit; /* Eredita lo sfondo dalla <tr> genitore */
}

/* CORREZIONE PER IL TESTO VERTICALE */
.page-classifica-trad .data-table .team-name,
.page-classifica-forma .data-table .team-name {
    writing-mode: horizontal-tb;
    transform: none;
    text-orientation: mixed;
    padding-top: 12px;
    font-weight: bold;
    color: #2980b9;
}

/* Stili specifici per le celle */
.data-table th.center-text, .data-table td.center-text { text-align: center; }
.data-table td.monospace-font { font-family: monospace; font-size: 1.1em; }
.data-table .vertical-divider { border-left: 2px solid #bdc3c7; }
.data-table th:nth-child(1), .data-table td:nth-child(1) { min-width: 55px; text-align: center; }
.data-table th:nth-child(2), .data-table td:nth-child(2) { min-width: 160px; }

/* L'header sticky deve stare sopra le colonne sticky */
.data-table thead th:nth-child(1),
.data-table thead th:nth-child(2) {
    z-index: 3;
} =================================================================== */

/* --- 1. Layout Generale della Pagina --- */
.page-classifica-trad .page-wrapper,
.page-classifica-forma .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-classifica-trad .page-container,
.page-classifica-forma .page-container { 
    max-width: 1400px; 
    margin: 0 auto; 
    padding: 0 20px 20px 20px; 
    display: grid; 
    grid-template-columns: 1fr 320px; 
    gap: 30px; 
    align-items: flex-start; 
}
.page-classifica-trad .main-content,
.page-classifica-forma .main-content { 
    grid-column: 1 / 2; 
    min-width: 0; /* CORREZIONE FONDAMENTALE PER IL LAYOUT */
}
.page-classifica-trad .sidebar-container,
.page-classifica-forma .sidebar-container { 
    grid-column: 2 / 3; 
    position: sticky; 
    top: 95px; 
    display: flex; 
    flex-direction: column; 
    gap: 20px; 
}

/* --- 2. Elementi Comuni (Card, Controlli, Descrizione) --- */
.page-classifica-trad .content-card,
.page-classifica-forma .content-card { 
    background: #ffffff; 
    border-radius: 15px; 
    padding: 25px; 
    color: #333; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
    margin-top: 20px; 
}
.page-classifica-trad .content-card header h1,
.page-classifica-forma .content-card header h1 { 
    color: #2c3e50; 
    text-align: center; 
    margin-bottom: 15px; 
    font-family: 'Lora', serif; 
    font-size: clamp(2.0rem, 5vw + 1rem, 2.9rem) !important;
}
.page-classifica-trad .page-description,
.page-classifica-forma .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin-bottom: 20px; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-classifica-trad .controls-wrapper,
.page-classifica-forma .controls-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 25px;
    padding: 20px 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}
.page-classifica-trad .controls-container,
.page-classifica-forma .controls-container {
    display: flex;
    align-items: center;
    gap: 10px;
}
.page-classifica-trad label,
.page-classifica-forma label { font-weight: bold; color: #3195b5; }
.page-classifica-trad select,
.page-classifica-forma select {
    padding: 8px 10px; font-size: 1em; border-radius: 5px;
    border: 2px solid #ddd; min-width: 250px; cursor: pointer;
    background-color: #fff; transition: border-color 0.2s ease;
}
.page-classifica-trad .view-selector,
.page-classifica-forma .view-selector { display: flex; gap: 10px; align-items: center; }
.page-classifica-trad .view-selector input[type="radio"] { display: none; }
.page-classifica-trad .view-selector label,
.page-classifica-forma .view-selector label {
    font-weight: normal; color: #34495e; cursor: pointer;
    padding: 8px 15px; border-radius: 5px; border: 1px solid #ddd;
    background-color: #fff; transition: all 0.2s ease;
}
.page-classifica-trad .view-selector input[type="radio"]:checked + label,
.page-classifica-forma .view-selector input[type="radio"]:checked + label { 
    background-color: #3195b5; color: white; border-color: #3195b5; 
}
.page-classifica-trad #loading-message,
.page-classifica-forma #loading-message { 
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; 
}

/* --- 3. Stili per la Tabella (SOLUZIONE UNIFICATA E CORRETTA) --- */
.table-scroll-container {
    overflow-x: auto;
    width: 100%;
}
.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
}
.data-table th, .data-table td {
    white-space: nowrap;
    padding: 12px 10px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
}
.data-table thead th {
    background-color: #34495e;
    color: white;
    text-align: left;
    cursor: pointer;
    user-select: none;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 2;
}
.data-table thead th .sort-icon { margin-left: 5px; color: #95a5a6; }
.data-table thead th.sorted { color: #fae102; }
.data-table thead th.sorted .sort-icon { color: #ecf0f1; }
.data-table tbody tr { background-color: #ffffff; }
.data-table tbody tr:nth-child(even) { background-color: #f8f9fa; }
.data-table tbody tr:hover { background-color: #ecf0f1 !important; } /* !important per sovrascrivere `inherit` */

/* Colonne fisse (Sticky) */
.data-table th:nth-child(1), .data-table td:nth-child(1),
.data-table th:nth-child(2), .data-table td:nth-child(2) {
    position: -webkit-sticky;
    position: sticky;
    z-index: 1;
}
.data-table th:nth-child(1), .data-table td:nth-child(1) { left: 0; }
.data-table th:nth-child(2), .data-table td:nth-child(2) { left: 55px; border-right: 1px solid #d0d0d0; }

/* LA SOLUZIONE PER GLI SFONDI */
.data-table tbody td:nth-child(1),
.data-table tbody td:nth-child(2) {
    background: inherit; /* Eredita lo sfondo dalla <tr> genitore */
}

/* Stili specifici per le celle */
.data-table th.center-text, .data-table td.center-text { text-align: center; }
.data-table td.monospace-font { font-family: monospace; font-size: 1.1em; }
.data-table td.team-name { font-weight: bold; color: #2980b9; }
.data-table .vertical-divider { border-left: 2px solid #bdc3c7; }
.data-table th:nth-child(1), .data-table td:nth-child(1) { min-width: 55px; }
.data-table th:nth-child(2), .data-table td:nth-child(2) { min-width: 160px; }

/* L'header sticky deve stare sopra le colonne sticky */
.data-table thead th:nth-child(1),
.data-table thead th:nth-child(2) {
    z-index: 3;
}



/* =================================================================== */
/* == STILI SPECIFICI PER RASSEGNA_WEB.HTML                       == */
/* =================================================================== */

/* Definiamo lo sfondo di default per questa pagina */
body.page-rassegna-web {
    background: var(--body-gradient-start, #3195b5);
    color: var(--body-text-color, #ffffff);
}

.page-rassegna-web .news-item.special-pinned-news {
    padding-top: 6px;
    padding-bottom: 6px;
}

.page-rassegna-web #scrollToTopBtn {
    display: none; position: fixed; bottom: 20px; right: 30px; z-index: 99;
    border: none; outline: none; background-color: rgba(85, 85, 85, 0.7);
    color: white; cursor: pointer; padding: 12px 15px; border-radius: 50%;
    font-size: 18px; text-decoration: none; transition: background-color 0.3s, opacity 0.3s;
}
.page-rassegna-web #scrollToTopBtn:hover { 
    background-color: rgba(51, 51, 51, 1); opacity: 1; 
}

.page-rassegna-web .search-container { 
    display: flex; margin-bottom: 15px; 
}
.page-rassegna-web #keywordSearchInput {
    flex-grow: 1; border: 1px solid #ddd; padding: 8px 12px;
    border-radius: 5px 0 0 5px; font-family: 'Roboto', sans-serif;
    font-size: 14px; outline: none; transition: border-color 0.3s; border-right: none;
    color: #333; /* Aggiunto per leggibilità */
}
.page-rassegna-web #keywordSearchInput:focus { border-color: #555; }
.page-rassegna-web #keywordSearchBtn {
    background-color: #555; color: white; border: 1px solid #555; padding: 8px 12px;
    border-radius: 0 5px 5px 0; cursor: pointer; font-size: 14px;
    transition: background-color 0.3s; font-family: 'Roboto', sans-serif; white-space: nowrap;
}
.page-rassegna-web #keywordSearchBtn:hover { background-color: #333; border-color: #333; }

.page-rassegna-web .new-item-highlight {
    animation: slideIn 1.6s ease-out, highlightFade 3s ease-out forwards;
}
.page-rassegna-web .news-item {
    border: 1px solid #e0e0e0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

/* Queste animazioni possono essere globali, quindi non serve prefisso */
@keyframes slideIn {
    from { opacity: 0; transform: translateY(-20px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes highlightFade {
    0%   { background-color: #cf0404 ;}
    100% { background-color: transparent; }
}


/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA CANDLESTICK                        == */
/* =================================================================== */

body.page-candlestick .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
body.page-candlestick .page-container { 
    max-width: 1400px; 
    margin: 0 auto; 
    padding: 0 20px 20px 20px; 
    display: grid; 
    grid-template-columns: 1fr 320px; 
    gap: 30px; 
    align-items: flex-start; 
}
body.page-candlestick .main-content { 
    grid-column: 1 / 2; 
}
body.page-candlestick .sidebar-container { 
    grid-column: 2 / 3; 
    position: sticky; 
    top: 95px; 
    display: flex; 
    flex-direction: column; 
    gap: 20px; 
}
body.page-candlestick .content-card { 
    background: #ffffff; 
    border-radius: 15px; 
    padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
    margin-top: 20px; 
}
body.page-candlestick .content-card header h1 { 
    color: #2c3e50; 
    text-align: center; 
    margin-bottom: 15px; 
    font-family: 'Lora', serif; 
    font-size: 2.3rem !important; 
}
body.page-candlestick .controls-container { 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    gap: 20px; 
    flex-wrap: wrap; 
    margin-bottom: 25px; 
    padding: 20px; 
    background-color: #f8f9fa; 
    border-radius: 8px; 
}
body.page-candlestick .page-description { 
    background-color: #f0f7fa; 
    border-left: 5px solid #3195b5; 
    padding: 15px 20px; 
    margin: 20px 0; 
    border-radius: 0 8px 8px 0; 
    line-height: 1.6; 
    color: #34495e; 
}
body.page-candlestick .controls-container div { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}
body.page-candlestick .controls-container label { 
    font-weight: bold; 
    color: #3195b5; 
}
body.page-candlestick .controls-container select, 
body.page-candlestick .controls-container input { 
    padding: 8px 10px; 
    font-size: 1em; 
    border-radius: 5px; 
    border: 2px solid #ddd; 
}
body.page-candlestick .controls-container input { 
    width: 60px; 
    text-align: center; 
}
body.page-candlestick #chart { 
    width: 100%; 
    min-height: 550px; 
}
body.page-candlestick #chart .apexcharts-candlestick-series .apexcharts-series-markers-wrap:hover,
body.page-candlestick #chart .apexcharts-candlestick-series .apexcharts-candlestick-area:hover {
    opacity: 0.5;
    transition: opacity 0.2s ease-in-out;
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA ANATOMIA DEL GOL                 == */
/* =================================================================== */

.page-anatomia-gol .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); padding-bottom: 1px; 
}
.page-anatomia-gol .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-anatomia-gol .main-content { grid-column: 1 / 2; }
.page-anatomia-gol .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-anatomia-gol .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
}
.page-anatomia-gol .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-anatomia-gol .controls-container { 
    display: flex; flex-direction: column; gap: 25px; 
    margin-bottom: 25px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; 
}
.page-anatomia-gol .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-anatomia-gol #message-container { text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; }
.page-anatomia-gol .chart-container { position: relative; min-height: 600px; width: 100%; }

.page-anatomia-gol .top-controls-wrapper {
    display: flex;
    flex-wrap: wrap; 
    gap: 20px 30px;
    align-items: flex-end;
    width: 100%;
}
.page-anatomia-gol .control-group {
    flex: 1 1 180px; 
    display: flex;
    flex-direction: column;
}
.page-anatomia-gol .slider-control {
    flex: 2 1 300px; 
    display: flex;
    flex-direction: column;
}
.page-anatomia-gol .controls-container label {
    font-weight: bold;
    margin-bottom: 8px;
    font-size: 1em;
    color: #3195b5;
}
.page-anatomia-gol .slider-control > label {
    text-align: center;
    margin-bottom: 5px;
}
.page-anatomia-gol #slider-value {
    font-weight: bold;
    background-color: #34495e;
    color: white;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.9em;
}
.page-anatomia-gol .controls-container select, 
.page-anatomia-gol .controls-container input[type="range"] {
    width: 100%;
    padding: 8px 10px;
    font-size: 1em;
    border: 2px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.2s;
}
.page-anatomia-gol .controls-container select:hover {
    border-color: #888;
}

/* =================================================================== */
/* == STILI UNIFICATI PER PAGINE GRAFICHE (class, class_time, etc.) == */
/* =================================================================== */

/* --- 1. Stili di Layout Comuni a TUTTE le pagine grafiche --- */
.page-classifica-grafica .page-container,
.page-class-time .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-classifica-grafica .main-content,
.page-class-time .main-content { 
    grid-column: 1 / 2; 
}
.page-classifica-grafica .sidebar-container,
.page-class-time .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-classifica-grafica .content-card,
.page-class-time .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
}
.page-classifica-grafica .content-card header h1,
.page-class-time .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-classifica-grafica .page-description,
.page-class-time .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; 
    padding: 15px 20px; margin: 0 0 20px 0; border-radius: 0 8px 8px 0; 
    line-height: 1.6; color: #34495e; 
}
.page-classifica-grafica .controls-container label,
.page-class-time .controls-container label { 
    font-weight: bold; color: #3195b5; 
}
.page-classifica-grafica .controls-container select,
.page-class-time .controls-container select { 
    padding: 8px 10px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd; 
}

/* --- 2. Stili Specifici per singola pagina --- */

/* Controlli per class.html */
.page-classifica-grafica .controls-container { 
    display: flex; align-items: center; justify-content: center; gap: 30px; 
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px; 
    background-color: #f8f9fa; border-radius: 8px; 
}
.page-classifica-grafica .select-group { 
    display: flex; align-items: center; gap: 10px; 
}

/* Controlli per class_time.html */
.page-class-time .controls-container { 
    display: flex; flex-direction: column; align-items: center; gap: 25px; 
    margin-bottom: 25px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; 
}
.page-class-time .range-container { 
    width: 100%; max-width: 800px; display: flex; align-items: center; gap: 20px; 
}
.page-class-time .range-container label { 
    flex-shrink: 0; width: 160px; text-align: right; font-size: 1.1em;
}
.page-class-time .slider-wrapper, 
.page-class-time .select-wrapper { 
    flex-grow: 1; 
}
.page-class-time .select-wrapper select { width: 100%; }
.page-class-time .noUi-connect { background: #3195b5; }
.page-class-time .noUi-handle { 
    height: 28px; width: 28px; top: -10px; right: -14px; border-radius: 50%; 
    background: #fff; border: 2px solid #3195b5; box-shadow: 0 2px 5px rgba(0,0,0,0.15); 
    cursor: grab; display: flex; justify-content: center; align-items: center; 
    font-size: 11px; font-weight: bold; color: #34495e; 
}
.page-class-time .noUi-handle:focus { outline: none; }
.page-class-time .noUi-handle::before, 
.page-class-time .noUi-handle::after { display: none; }


/* --- 3. Stili GLOBALI per i Componenti dei Grafici --- */
/* (Funzionano su entrambe le pagine perché non hanno prefisso) */

.chart-area { padding: 10px; }
.chart-layout { display: flex; flex-direction: column; }
.chart-bars-container { 
    display: flex; align-items: flex-end; gap: 5px; 
    min-height: 320px; padding: 10px 0; border-bottom: 2px solid #e9ecef; 
}
.chart-labels-container { 
    display: flex; gap: 5px; margin-top: 5px; 
}
.bar-wrapper { 
    display: flex; flex-direction: column; align-items: center; 
    flex: 1 1 0; min-width: 0; padding: 10px 2px; border-radius: 6px; 
    transition: background-color 0.3s, transform 0.2s ease; cursor: help; 
}
.bar-wrapper:hover { transform: translateY(-5px); }
.zone-cl-winner { background-color: rgba(255, 215, 0, 0.2); }
.zone-cl { background-color: rgba(33, 150, 243, 0.15); }
.zone-el { background-color: rgba(255, 152, 0, 0.2); }
.zone-ecl { background-color: rgba(76, 175, 80, 0.2); }
.zone-relegation { background-color: rgba(220, 53, 69, 0.2); }
.zone-neutral { background-color: transparent; }
.zone-cl-qualifying { background-color: rgba(135, 206, 250, 0.2); }
.zone-relegation-playoff { background-color: rgba(240, 137, 147, 0.25); }
.zone-promotion-direct { background-color: rgba(40, 167, 69, 0.25); }
.zone-playoff-semifinal { background-color: rgba(32, 201, 151, 0.2); }
.zone-playoff-firstround { background-color: rgba(115, 226, 184, 0.2); }

.bar-container { 
    display: flex; flex-direction: column-reverse; width: 100%; 
    border-radius: 4px 4px 0 0; overflow: hidden; 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: transform 0.2s ease; 
}
.bar-segment { 
    width: 100%; min-height: 4px; cursor: pointer; 
    border: 1px solid rgba(0, 0, 0, 0.4); 
}
.bar-segment.win { background: linear-gradient(180deg, #28a745 0%, #20c997 100%); }
.bar-segment.draw { background: linear-gradient(180deg, #ffc107 0%, #ff9800 100%); }

.label-wrapper { 
    display: flex; justify-content: center; align-items: flex-end; 
    flex: 1 1 0; min-width: 0; height: 120px; 
}
.team-name { 
    font-weight: bold; writing-mode: vertical-rl; text-orientation: mixed; 
    transform: rotate(180deg); padding-top: 10px; color: #333; 
}
.points-label { 
    font-size: 14px; font-weight: bold; color: #3195b5; margin-bottom: 5px; 
}

#tooltip { 
    position:absolute; background:rgba(0,0,0,.9); color:#fff; padding:12px; 
    border-radius:8px; font-size:14px; pointer-events:none; z-index:1000; 
    opacity:0; transition:opacity .3s ease; max-width:300px; 
    box-shadow:0 4px 12px rgba(0,0,0,.3); 
}
#tooltip.show { opacity:1; }
#tooltip .tooltip-header { font-weight:700; margin-bottom:8px; color:#5dade2; }
#tooltip .match-info { margin:4px 0; padding:4px 0; border-bottom:1px solid rgba(255,255,255,.2); }
#tooltip .match-info:last-child { border-bottom:none; }
#tooltip .result-badge { display:inline-block; padding:2px 6px; border-radius:4px; font-size:12px; font-weight:700; margin-right:8px; }
#tooltip .result-badge.win { background:#28a745; color:#fff; }
#tooltip .result-badge.draw { background:#ff9800; color:#fff; }
#tooltip .stats-grid { 
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; 
    margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.2); 
    text-align: center; 
}
#tooltip .stats-grid span { font-size: 12px; color: #ccc; }
#tooltip .stats-grid strong { font-size: 14px; display: block; color: #fff; }

#h2h-details-container { 
    padding: 20px 0; margin-top: 20px; background-color: #fff; 
    border-top: 1px solid #dee2e6; 
}
#h2h-details-container h2, .no-h2h-message { 
    text-align: center; color: #343a40; margin-top: 0; margin-bottom: 20px; 
}
.h2h-group { 
    margin-bottom: 25px; padding: 15px; background: #f8f9fa; 
    border: 1px solid #e9ecef; border-radius: 8px; 
}
.h2h-group h3 { margin-top: 0; border-bottom: 2px solid; padding-bottom: 10px; }
.h2h-table { 
    width: 100%; border-collapse: collapse; margin-bottom: 15px; font-size: 14px; 
}
.h2h-table th, .h2h-table td { 
    text-align: center; padding: 10px; border: 1px solid #dee2e6; color: #333; 
}
.h2h-table th:first-child, .h2h-table td:first-child { text-align: left; }
.h2h-table th { background-color: #e9ecef; font-weight: 600; }
.h2h-table td { font-weight: bold; }
.h2h-notification { 
    margin-top: 15px; padding: 10px 15px; background-color: #f0f7fa; 
    border: 1px solid #d6d8db; border-left-width: 5px; border-radius: 4px; 
    font-size: 13px; color: #495057; 
}
.h2h-matches { margin-top: 15px; text-align: center; }
.determining-cell { font-weight: bold !important; color: white !important; }
.determining-cell.primato { background-color: #d6a100; }
.determining-cell.cl { background-color: #007bff; }
.determining-cell.el { background-color: #ff8c00; }
.determining-cell.ecl { background-color: #28a745; }
.determining-cell.retrocessione { background-color: #dc3545; }

.chart-notification { 
    padding: 10px 15px; background-color: #f0f7fa; border: 1px solid #d6d8db; 
    border-radius: 5px; text-align: center; margin-bottom: 15px; 
    font-weight: bold; color: #495057; 
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA MARCATORI COMPLETA               == */
/* =================================================================== */

.page-marcatori-completa .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-marcatori-completa .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-marcatori-completa .main-content { grid-column: 1 / 2; }
.page-marcatori-completa .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-marcatori-completa .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
}
.page-marcatori-completa .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-marcatori-completa .controls-container { 
    display: flex; flex-direction: column; gap: 15px; 
    margin-bottom: 25px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; 
}
.page-marcatori-completa .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-marcatori-completa .control-group { 
    display: flex; align-items: center; gap: 15px; 
}
.page-marcatori-completa .controls-container label { 
    font-weight: bold; color: #3195b5; flex-basis: 120px; text-align: right; 
}
.page-marcatori-completa .controls-container select { 
    flex-grow: 1; padding: 8px 10px; font-size: 1em; 
    border-radius: 5px; border: 2px solid #ddd; 
}
.page-marcatori-completa table { 
    width: 100%; border-collapse: collapse; font-size: 0.95em; color: #333;
}
.page-marcatori-completa th, 
.page-marcatori-completa td { 
    padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; 
}
.page-marcatori-completa th { 
    background-color: #f8f9fa; color: #34495e; font-weight: 600; 
    text-transform: uppercase; letter-spacing: 0.5px; 
}
.page-marcatori-completa tr:nth-child(even) { 
    background-color: #fdfdfd; 
}
.page-marcatori-completa tr:hover { 
    background-color: #f1f8ff; 
}
.page-marcatori-completa td:first-child { 
    font-weight: bold; color: #555; 
}
.page-marcatori-completa td:nth-child(2) { 
    font-weight: 500; 
}
.page-marcatori-completa td:last-child { 
    font-weight: bold; color: #3195b5; text-align: center; 
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA MARCATORI CUSTOM                 == */
/* =================================================================== */

.page-marcatori-custom .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-marcatori-custom .page-container { 
    max-width: 1400px; 
    margin: 0 auto; 
    padding: 0 20px 20px 20px; 
    display: grid; 
    grid-template-columns: 1fr 320px; 
    gap: 30px; 
    align-items: flex-start; 
}
.page-marcatori-custom .main-content { 
    grid-column: 1 / 2; 
}
.page-marcatori-custom .sidebar-container { 
    grid-column: 2 / 3; 
    position: sticky; 
    top: 95px; 
    display: flex; 
    flex-direction: column; 
    gap: 20px; 
}
.page-marcatori-custom .content-card { 
    background: #ffffff; 
    border-radius: 15px; 
    padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
    margin-top: 20px; 
}
.page-marcatori-custom .content-card header h1 { 
    color: #2c3e50; 
    text-align: center; 
    margin-bottom: 15px; 
    font-family: 'Lora', serif; 
    font-size: 2.9rem !important; 
}
.page-marcatori-custom .controls-container { 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    gap: 25px; 
    margin-bottom: 25px; 
    padding: 20px; 
    background-color: #f8f9fa; 
    border-radius: 8px; 
}
.page-marcatori-custom .page-description { 
    background-color: #f0f7fa; 
    border-left: 5px solid #3195b5; 
    padding: 15px 20px; 
    margin: 0 0 20px 0; 
    border-radius: 0 8px 8px 0; 
    line-height: 1.6; 
    color: #34495e; 
}
.page-marcatori-custom .range-container { 
    width: 100%; 
    max-width: 800px; 
    display: flex; 
    align-items: center; 
    gap: 20px; 
}
.page-marcatori-custom .range-container label { 
    flex-shrink: 0; 
    width: 160px; 
    text-align: right; 
    font-weight: bold; 
    font-size: 1.1em; 
    color: #3195b5; 
}
.page-marcatori-custom .slider-wrapper, 
.page-marcatori-custom .select-wrapper { 
    flex-grow: 1; 
}
.page-marcatori-custom .select-wrapper select { 
    width: 100%; 
    padding: 8px 10px; 
    font-size: 1em; 
    border-radius: 5px; 
    border: 2px solid #ddd; 
}
.page-marcatori-custom .noUi-connect { 
    background: #3195b5; 
}
.page-marcatori-custom .noUi-handle { 
    height: 28px; width: 28px; top: -10px; right: -14px; 
    border-radius: 50%; background: #fff; border: 2px solid #3195b5; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: grab; 
    display: flex; justify-content: center; align-items: center; 
    font-size: 11px; font-weight: bold; color: #34495e; 
}
.page-marcatori-custom .noUi-handle:focus { outline: none; }
.page-marcatori-custom .noUi-handle::before, 
.page-marcatori-custom .noUi-handle::after { display: none; }
.page-marcatori-custom .chart-area { 
    padding: 20px 10px; 
}
.page-marcatori-custom .chart-layout { 
    display: flex; flex-direction: column; 
}
.page-marcatori-custom .chart-bars-container { 
    display: flex; gap: 5px; min-height: 270px; 
    padding: 20px 0 5px 0; border-bottom: 2px solid #e9ecef; 
    align-items: flex-end; 
}
.page-marcatori-custom .chart-labels-container { 
    display: flex; gap: 5px; padding-top: 10px; 
}
.page-marcatori-custom .bar-wrapper, 
.page-marcatori-custom .label-wrapper {
    flex: 1 1 0;
    max-width: 60px;
    display: flex;
    justify-content: center;
}
.page-marcatori-custom .bar-wrapper { 
    flex-direction: column; align-items: center; 
    transition: transform 0.3s ease; position: relative; 
}
.page-marcatori-custom .bar-wrapper:hover { 
    transform: translateY(-5px); z-index: 10; 
}
.page-marcatori-custom .bar-container { 
    display: flex; flex-direction: column-reverse; width: 100%; 
    border-radius: 4px 4px 0 0; overflow: hidden; box-shadow: 0 4px 8px rgba(0,0,0,0.1); 
}
.page-marcatori-custom .goal-bar-segment { 
    width: 100%; min-height: 4px; cursor: pointer; 
    transition: all 0.2s ease; border: 1px solid rgba(0, 0, 0, 0.4); 
    background: linear-gradient(180deg, #5dade2 0%, #3195b5 100%); 
}
.page-marcatori-custom .goal-bar-segment:hover { opacity: 0.8; }
.page-marcatori-custom .label-wrapper { align-items: flex-start; }
.page-marcatori-custom .player-label { 
    font-weight: bold; color: #2c3e50; writing-mode: vertical-rl; 
    text-orientation: mixed; transform: rotate(180deg); 
    white-space: nowrap; padding-top: 10px; 
}
.page-marcatori-custom .player-label small { 
    font-size: 0.85em; color: #555; font-weight: normal; margin-left: 5px; 
}
.page-marcatori-custom .goals-label { 
    font-size: 14px; font-weight: bold; color: #3195b5; margin-bottom: 5px; 
}
.page-marcatori-custom .tooltip-header{font-weight:700;margin-bottom:8px;color:#5dade2;}
.page-marcatori-custom .goal-detail{margin:4px 0;}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA MARCATORI PER SQUADRA            == */
/* =================================================================== */

.page-marcatori-squadre .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-marcatori-squadre .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-marcatori-squadre .main-content { grid-column: 1 / 2; }
.page-marcatori-squadre .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-marcatori-squadre .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
}
.page-marcatori-squadre .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-marcatori-squadre .controls-container { 
    display: flex; justify-content: center; align-items: center; gap: 15px; 
    margin-bottom: 25px; padding: 10px; background-color: #f8f9fa; border-radius: 8px; 
}
.page-marcatori-squadre .controls-container label { 
    font-weight: bold; font-size: 1.1em; color: #3195b5; 
}
.page-marcatori-squadre #league-selector { 
    padding: 8px 10px; font-size: 1em; border-radius: 5px; 
    border: 2px solid #ddd; min-width: 250px; 
}
.page-marcatori-squadre .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-marcatori-squadre #loading-message { 
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; display: none; 
}
.page-marcatori-squadre #chart-container { 
    position: relative; height: 120vh; min-height: 800px; width: 100%; 
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA POWER SCORE                      == */
/* =================================================================== */

.page-power-score .page-wrapper {
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%);
    padding-bottom: 1px;
}
.page-power-score .page-container {
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px;
    display: grid; grid-template-columns: 1fr 320px;
    gap: 30px; align-items: flex-start;
}
.page-power-score .main-content { grid-column: 1 / 2; }
.page-power-score .sidebar-container {
    grid-column: 2 / 3; position: sticky; top: 95px;
    display: flex; flex-direction: column; gap: 20px;
}
.page-power-score .content-card {
    background: #ffffff; border-radius: 15px; padding: 10px; color: #333;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 10px;
}
.page-power-score .content-card header h1 {
    color: #2c3e50; text-align: center; margin-bottom: 5px;
    font-family: 'Lora', serif; font-size: 2.9rem !important;
}
.page-power-score .controls-container {
    display: flex; justify-content: center; align-items: center; gap: 15px;
    margin-bottom: 10px; padding: 5px; background-color: #f8f9fa; border-radius: 8px;
}
.page-power-score .controls-container label { font-weight: bold; font-size: 1.1em; color: #3195b5; }
.page-power-score #league-selector { padding: 5px 5px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd; min-width: 250px; }
.page-power-score .power-score-table { width: 100%; border-collapse: collapse; font-size: 0.85em; }
.page-power-score .power-score-table thead th {
    background-color: #34495e; color: white; padding: 12px 8px;
    text-align: left; cursor: pointer; position: relative; user-select: none;
}
.page-power-score .power-score-table thead th[title] { cursor: help; }
.page-power-score .power-score-table thead th .sort-icon { margin-left: 5px; color: #95a5a6; transition: color 0.2s; }
.page-power-score .power-score-table thead th.sorted { color: #fae102; }
.page-power-score .power-score-table thead th.sorted .sort-icon { color: #ecf0f1; }
.page-power-score .power-score-table tbody tr:nth-child(even) { background-color: #f8f9fa; }
.page-power-score .power-score-table tbody tr:hover { background-color: #ecf0f1; }
.page-power-score .power-score-table td { padding: 12px 8px; border-bottom: 1px solid #ddd; }
.page-power-score .power-score-table td:first-child { font-weight: bold; }
.page-power-score .power-score-table td:first-child a { text-decoration: none; color: #2980b9; }
.page-power-score .power-score-table td:first-child a:hover { text-decoration: underline; color: #3498db; }
.page-power-score .power-score-table td:not(:first-child) { text-align: center; font-family: monospace; font-size: 1.1em; }
.page-power-score .analysis-section h2 {
    color: #2c3e50; text-align: center; margin-top: 40px; margin-bottom: 25px;
    font-family: 'Playfair Display', serif; border-top: 2px solid #ecf0f1; padding-top: 30px;
}
.page-power-score .analysis-container { display: grid; grid-template-columns: 1fr; gap: 20px; }
.page-power-score .analysis-card {
    background-color: #fdfdfd; border: 1px solid #e0e0e0; 
    border-left: 5px solid #3498db; border-radius: 8px; padding: 20px; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.page-power-score .analysis-card h3 { margin: 0 0 5px 0; color: #2c3e50; }
.page-power-score .analysis-card .tactical-profile { font-style: italic; font-weight: bold; color: #7f8c8d; margin-bottom: 15px; text-transform: none; }
.page-power-score .analysis-card p { margin: 0; line-height: 1.6; color: #34495e; }
.page-power-score #loading-message { text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; display: none; }
.page-power-score .page-description {
    background-color: #f0f7fa; border-left: 5px solid #3195b5;
    padding: 5px; margin: 0 0 5px 0; border-radius: 0 8px 8px 0;
    line-height: 1.6; color: #34495e;
}
.page-power-score .sezione-articolo { color: #333; } /* Regola aggiunta per leggibilità testo "Fonte Dati" */

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA RISULTATI                        == */
/* =================================================================== */

.page-risultati .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-risultati .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-risultati .main-content { grid-column: 1 / 2; }
.page-risultati .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-risultati .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
    color: #333; /* Colore testo di base per la card */
}
.page-risultati .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-risultati .controls-container { 
    display: flex; align-items: center; justify-content: center; gap: 20px; 
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px; 
    background-color: #f8f9fa; border-radius: 8px; 
}
.page-risultati .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-risultati .controls-container label { 
    font-weight: bold; color: #3195b5; 
}
.page-risultati .controls-container select { 
    padding: 8px 10px; font-size: 1em; border-radius: 5px; 
    border: 2px solid #ddd; min-width: 250px; 
}
.page-risultati .league-section { 
    display: none; 
}
.page-risultati .league-section.active { 
    display: block; 
}
.page-risultati .league-header { 
    padding: 15px; background-color: #34495e; color: white; 
    border-radius: 8px 8px 0 0; margin-bottom: 15px; 
}
.page-risultati .league-header h2 { 
    margin: 0; font-size: 1.8rem; text-align: center; 
}
.page-risultati .matchday-group { 
    margin-bottom: 20px; 
}
.page-risultati .matchday-group h3 { 
    background-color: #f8f9fa; color: #3195b5; padding: 8px 15px; 
    margin: 0 0 5px 0; font-size: 1.1rem; border-radius: 4px; 
    border-left: 4px solid #3195b5; 
}
.page-risultati .match-item {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1px solid #e0e0e0; /* Bordo più leggero */
    font-size: 1.1em;
}
.page-risultati .match-item:last-child { 
    border-bottom: none; 
}
.page-risultati .match-date { 
    width: 80px; color: #7f8c8d; flex-shrink: 0; font-size: 0.9em;
}
.page-risultati .match-teams {
    flex-grow: 1;
    text-align: center;
    font-weight: 600;
}
.page-risultati .team-home { 
    color: #2c3e50; 
}
.page-risultati .team-away { 
    color: #7f8c8d; 
}
.page-risultati .match-score {
    width: 80px;
    text-align: center;
    font-weight: bold;
    font-size: 1.1em;
    background-color: #f0f7fa;
    color: #3195b5;
    padding: 2px 6px;
    border-radius: 4px;
    flex-shrink: 0;
}
.page-risultati .loading-message { 
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; 
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA STATISTICHE ARBITRI              == */
/* =================================================================== */

.page-stats-arbitri .page-wrapper {
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%);
    padding-bottom: 1px;
}
.page-stats-arbitri .page-container {
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px;
    display: grid; grid-template-columns: 1fr 320px;
    gap: 30px; align-items: flex-start;
}
.page-stats-arbitri .main-content { grid-column: 1 / 2; }
.page-stats-arbitri .sidebar-container {
    grid-column: 2 / 3; position: sticky; top: 95px;
    display: flex; flex-direction: column; gap: 20px;
}
.page-stats-arbitri .content-card {
    background: #ffffff; border-radius: 15px; padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px;
    color: #333;
}
.page-stats-arbitri .content-card header h1 {
    color: #2c3e50; text-align: center; margin-bottom: 15px;
    font-family: 'Lora', serif; font-size: 2.9rem !important;
}
.page-stats-arbitri .page-description {
    background-color: #f0f7fa; border-left: 5px solid #3195b5;
    padding: 15px 20px; margin: 0 0 20px 0; border-radius: 0 8px 8px 0;
    line-height: 1.6; color: #34495e;
}
.page-stats-arbitri .controls-container {
    display: flex; justify-content: center; align-items: center; gap: 20px; flex-wrap: wrap;
    margin-bottom: 25px; padding: 20px; background-color: #f8f9fa; border-radius: 8px;
}
.page-stats-arbitri .select-group { display: flex; align-items: center; gap: 10px; }
.page-stats-arbitri .controls-container label { font-weight: bold; color: #3195b5; }
.page-stats-arbitri .controls-container select { padding: 8px 10px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd; }
.page-stats-arbitri #loading-message { text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; display: none; }

.page-stats-arbitri .stats-table { width: 100%; border-collapse: collapse; font-size: 0.9em; }
.page-stats-arbitri .stats-table thead th {
    background-color: #34495e; color: white; padding: 12px 10px;
    text-align: left; cursor: pointer; position: relative; user-select: none;
}
.page-stats-arbitri .stats-table thead th[title] { cursor: help; }
.page-stats-arbitri .stats-table thead th .sort-icon { margin-left: 5px; color: #95a5a6; transition: color 0.2s; }
.page-stats-arbitri .stats-table thead th.sorted .sort-icon { color: #ecf0f1; }
.page-stats-arbitri .stats-table tbody tr:nth-child(even) { background-color: #f8f9fa; }
.page-stats-arbitri .stats-table tbody tr:hover { background-color: #ecf0f1; }
.page-stats-arbitri .stats-table td { padding: 12px 10px; border-bottom: 1px solid #ddd; }
.page-stats-arbitri .stats-table td:first-child { font-weight: bold; color: #2980b9; }
.page-stats-arbitri .stats-table td:not(:first-child) { text-align: center; font-family: monospace; font-size: 1.1em; }
.page-stats-arbitri .stats-table th.divider, 
.page-stats-arbitri .stats-table td.divider {
    border-right: 2px solid #bdc3c7;
}
.page-stats-arbitri .stats-table th:first-child, 
.page-stats-arbitri .stats-table td:first-child { text-align: left; }

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA STATISTICHE AVANZATE             == */
/* =================================================================== */

.page-stats-avanzate .page-wrapper {
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px;
}
.page-stats-avanzate .page-container {
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start;
}
.page-stats-avanzate .main-content { grid-column: 1 / 2; }
.page-stats-avanzate .sidebar-container {
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px;
}
.page-stats-avanzate .content-card {
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px;
    color: #333;
}
.page-stats-avanzate .content-card header h1 {
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important;
}
.page-stats-avanzate .controls-container {
    display: flex; align-items: center; justify-content: center; gap: 20px; 
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px; 
    background-color: #f8f9fa; border-radius: 8px;
}
.page-stats-avanzate .page-description {
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; 
    line-height: 1.6; color: #34495e;
}
.page-stats-avanzate .select-group {
    display: flex; align-items: center; gap: 10px;
}
.page-stats-avanzate .controls-container label {
    font-weight: bold; color: #3195b5;
}
.page-stats-avanzate .controls-container select {
    padding: 8px 10px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd;
}
.page-stats-avanzate .chart-area {
    padding: 10px;
}
.page-stats-avanzate #message-container {
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d;
}
.page-stats-avanzate .chart-layout {
    display: flex; flex-direction: column;
}
.page-stats-avanzate .chart-bars-container {
    display: flex; gap: 5px; min-height: 320px; padding: 20px 0 5px 0; 
    border-bottom: 2px solid #e9ecef; align-items: flex-end;
}
.page-stats-avanzate .chart-labels-container {
    display: flex; gap: 5px; padding-top: 10px;
}
.page-stats-avanzate .bar-wrapper, 
.page-stats-avanzate .label-wrapper {
    flex: 1 1 0; min-width: 0; max-width: 60px; 
    display: flex; justify-content: center;
}
.page-stats-avanzate .bar-wrapper {
    flex-direction: column; align-items: center; transition: transform 0.3s ease;
}
.page-stats-avanzate .bar-wrapper:hover {
    transform: translateY(-5px);
}
.page-stats-avanzate .bar {
    width: 100%; border-radius: 4px 4px 0 0; 
    background: linear-gradient(180deg, #5dade2 0%, #3195b5 100%); 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.page-stats-avanzate .label-wrapper {
    align-items: flex-start;
}
.page-stats-avanzate .team-name {
    font-weight: bold; color: #2c3e50; writing-mode: vertical-rl; 
    text-orientation: mixed; transform: rotate(180deg); 
    white-space: nowrap; padding-top: 10px;
}
.page-stats-avanzate .bar-value-label {
    font-size: 14px; font-weight: bold; color: #3195b5; margin-bottom: 5px;
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA STATISTICHE CORRELAZIONI         == */
/* =================================================================== */

.page-stats-correlazioni .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-stats-correlazioni .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-stats-correlazioni .main-content { grid-column: 1 / 2; }
.page-stats-correlazioni .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 115px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-stats-correlazioni .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
    color: #333;
}
.page-stats-correlazioni .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-stats-correlazioni .controls-container { 
    display: flex; justify-content: center; align-items: center; gap: 15px; 
    margin-bottom: 25px; padding: 10px; background-color: #f8f9fa; 
    border-radius: 8px; flex-wrap: wrap; 
}
.page-stats-correlazioni .controls-container label { 
    font-weight: bold; font-size: 1.1em; color: #3195b5; 
}
.page-stats-correlazioni .controls-container select { 
    padding: 8px 10px; font-size: 1em; border-radius: 5px; 
    border: 2px solid #ddd; min-width: 180px; transition: background-color 0.3s; 
}
.page-stats-correlazioni .controls-container select:disabled { 
    background-color: #e9ecef; cursor: not-allowed; 
}
.page-stats-correlazioni .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-stats-correlazioni #loading-message { 
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; display: none; 
}
.page-stats-correlazioni .table-container { 
    overflow-x: auto; margin-top: 25px; 
}
.page-stats-correlazioni table { 
    width: 100%; border-collapse: collapse; text-align: center; font-size: 0.95em; 
}
.page-stats-correlazioni th, 
.page-stats-correlazioni td { 
    padding: 12px 8px; border-bottom: 1px solid #ddd; 
}
.page-stats-correlazioni th { 
    background-color: #f8f9fa; color: #3195b5; font-weight: bold; 
}
.page-stats-correlazioni tbody tr:nth-child(even) { 
    background-color: #f9f9f9; 
}
.page-stats-correlazioni tbody tr:hover { 
    background-color: #f1f1f1; 
}
.page-stats-correlazioni .highlighted-row { 
    background-color: #d1ecf1 !important; font-weight: bold; 
}
.page-stats-correlazioni .rank-cell { 
    font-weight: bold; color: #2c3e50; 
}
.page-stats-correlazioni tbody tr { 
    position: relative; 
}
.page-stats-correlazioni .tooltip { 
    visibility: hidden; width: max-content; max-width: 450px; 
    background-color: #2c3e50; color: #fff; text-align: left; 
    border-radius: 6px; padding: 8px 12px; position: absolute; 
    z-index: 10; bottom: 125%; left: 50%;
    transform: translateX(-50%); opacity: 0; transition: opacity 0.3s; 
    white-space: pre-wrap; font-family: monospace; font-size: 0.9em; line-height: 1.4; 
}
.page-stats-correlazioni tr:hover .tooltip { 
    visibility: visible; opacity: 1; 
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA DISTRIBUZIONE GOL                == */
/* =================================================================== */

.page-distribuzione-gol .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px; 
}
.page-distribuzione-gol .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-distribuzione-gol .main-content { grid-column: 1 / 2; }
.page-distribuzione-gol .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 115px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-distribuzione-gol .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
    color: #333;
}
.page-distribuzione-gol .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-distribuzione-gol .controls-container { 
    display: flex; justify-content: center; align-items: center; gap: 15px; 
    margin-bottom: 25px; padding: 10px; background-color: #f8f9fa; 
    border-radius: 8px; flex-wrap: wrap; 
}
.page-distribuzione-gol .controls-container label { 
    font-weight: bold; font-size: 1.1em; color: #3195b5; 
}
.page-distribuzione-gol .controls-container select { 
    padding: 8px 10px; font-size: 1em; border-radius: 5px; 
    border: 2px solid #ddd; min-width: 180px; transition: background-color 0.3s; 
}
.page-distribuzione-gol .controls-container select:disabled { 
    background-color: #e9ecef; cursor: not-allowed; 
}
.page-distribuzione-gol .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-distribuzione-gol #loading-message { 
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; display: none; 
}

/* Stili Timeline */
.page-distribuzione-gol #timeline-wrapper { min-height: 200px; }
.page-distribuzione-gol #timeline-container { display: flex; flex-direction: column; gap: 10px; }
.page-distribuzione-gol .team-timeline { border-bottom: 1px solid #eee; padding-bottom: 10px; }
.page-distribuzione-gol .team-timeline h3 { margin: 0 0 10px 0; color: #2c3e50; text-align: left; font-size: 1.1em; }
.page-distribuzione-gol .timeline-bar { display: flex; width: 100%; height: 28px; border-radius: 5px; border: 1px solid #ced4da; }
.page-distribuzione-gol .timeline-segment { flex-grow: 1; flex-basis: 0; border-right: 1px dashed #ccc; position: relative; transition: background-color 0.3s; }
.page-distribuzione-gol .timeline-segment.recovery-time { flex-grow: 0.5; }
.page-distribuzione-gol .timeline-segment:last-child { border-right: none; }
.page-distribuzione-gol .goal-marker { font-size: 1.1em; font-weight: bold; color: #212529; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); cursor: pointer; transition: transform 0.2s ease; }
.page-distribuzione-gol .goal-marker:hover { transform: translate(-50%, -50%) scale(1.3); }
.page-distribuzione-gol #timeline-labels-container { 
    position: sticky; top: 100px; background-color: rgba(255,255,255,0.95); 
    backdrop-filter: blur(5px); z-index: 10; padding: 10px 15px; 
    margin: 0 -15px 15px -15px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); border-radius: 8px; 
}
.page-distribuzione-gol .timeline-labels-bar { display: flex; }
.page-distribuzione-gol .timeline-label { flex-grow: 1; flex-basis: 0; text-align: right; font-size: 0.9em; font-weight: bold; color: #34495e; padding-right: 2px; }
.page-distribuzione-gol .timeline-label.recovery-time { flex-grow: 0.5; }
.page-distribuzione-gol .timeline-label:first-child { text-align: left; padding-left: 2px; }

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA STATISTICHE GOL                  == */
/* =================================================================== */

.page-stats-gol .page-wrapper {
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); 
    padding-bottom: 1px;
}
.page-stats-gol .page-container {
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start;
}
.page-stats-gol .main-content { grid-column: 1 / 2; }
.page-stats-gol .sidebar-container {
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px;
}
.page-stats-gol .content-card {
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px;
    color: #333;
}
.page-stats-gol .content-card header h1 {
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important;
}
.page-stats-gol .controls-container {
    display: flex; align-items: center; justify-content: center; gap: 20px; 
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px; 
    background-color: #f8f9fa; border-radius: 8px;
}
.page-stats-gol .page-description {
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; 
    line-height: 1.6; color: #34495e;
}
.page-stats-gol .select-group {
    display: flex; align-items: center; gap: 10px;
}
.page-stats-gol .controls-container label {
    font-weight: bold; color: #3195b5;
}
.page-stats-gol .controls-container select {
    padding: 8px 10px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd;
}
.page-stats-gol .chart-area {
    padding: 10px;
}
.page-stats-gol #message-container {
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d;
}
.page-stats-gol .chart-layout {
    display: flex; flex-direction: column;
}
.page-stats-gol .chart-bars-container {
    display: flex; gap: 5px; min-height: 320px; padding: 20px 0 5px 0; 
    border-bottom: 2px solid #e9ecef; align-items: flex-end;
}
.page-stats-gol .chart-labels-container {
    display: flex; gap: 5px; padding-top: 10px;
}
.page-stats-gol .bar-wrapper, 
.page-stats-gol .label-wrapper {
    flex: 1 1 0; min-width: 0; max-width: 60px; 
    display: flex; justify-content: center;
}
.page-stats-gol .bar-wrapper {
    flex-direction: column; align-items: center; transition: transform 0.3s ease;
}
.page-stats-gol .bar-wrapper:hover {
    transform: translateY(-5px);
}
.page-stats-gol .bar {
    width: 100%; border-radius: 4px 4px 0 0; 
    background: linear-gradient(180deg, #5dade2 0%, #3195b5 100%); 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.page-stats-gol .label-wrapper {
    align-items: flex-start;
}
.page-stats-gol .team-name {
    font-weight: bold; color: #2c3e50; writing-mode: vertical-rl; 
    text-orientation: mixed; transform: rotate(180deg); 
    white-space: nowrap; padding-top: 10px;
}
.page-stats-gol .bar-value-label {
    font-size: 14px; font-weight: bold; color: #3195b5; margin-bottom: 5px;
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA GOL / NO GOL (DA FILE ORIGINALE)   == */
/* =================================================================== */

.page-stats-gol-no-gol .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); padding-bottom: 1px; 
}
.page-stats-gol-no-gol .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-stats-gol-no-gol .main-content { grid-column: 1 / 2; }
.page-stats-gol-no-gol .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-stats-gol-no-gol .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px;
    color: #333;
}
.page-stats-gol-no-gol .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-stats-gol-no-gol .controls-container { 
    display: flex; align-items: center; justify-content: center; gap: 15px; 
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px; 
    background-color: #f8f9fa; border-radius: 8px; 
}
.page-stats-gol-no-gol .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-stats-gol-no-gol .select-group { 
    display: flex; align-items: center; gap: 8px; 
}
.page-stats-gol-no-gol .controls-container label { 
    font-weight: bold; color: #3195b5; font-size: 0.9em;
}
.page-stats-gol-no-gol .controls-container select { 
    padding: 8px 10px; font-size: 0.9em; border-radius: 5px; border: 2px solid #ddd; 
}
.page-stats-gol-no-gol .chart-area { 
    padding: 10px; 
}
.page-stats-gol-no-gol #message-container { 
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; 
}
.page-stats-gol-no-gol #chart-layout { 
    display: flex; flex-direction: column; gap: 8px; 
}
.page-stats-gol-no-gol .chart-row { 
    display: grid; grid-template-columns: 180px 1fr; gap: 10px; 
    align-items: center; padding: 4px; border-radius: 4px; transition: background-color 0.2s; 
}
.page-stats-gol-no-gol .chart-row:hover { 
    background-color: #f8f9fa; 
}
.page-stats-gol-no-gol .row-label { 
    font-weight: bold; text-align: right; color: #34495e; 
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 
}
.page-stats-gol-no-gol .bar-wrapper { 
    position: relative; width: 100%; height: 28px; 
}
.page-stats-gol-no-gol .bar-container { 
    display: flex; height: 100%; background-color: #e9ecef; 
    border-radius: 4px; overflow: hidden; transition: width 0.5s ease-out; 
}
.page-stats-gol-no-gol .bar-segment { 
    height: 100%; 
}
.page-stats-gol-no-gol .row-value {
    position: absolute; left: 0; top: 50%;
    transform: translateY(-50%);
    font-weight: bold; font-size: 0.9em;
    pointer-events: none;
    transition: color 0.3s;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 8px;
}
.page-stats-gol-no-gol .row-value.outside {
    left: 100%; margin-left: 8px;
    color: #3195b5;
    width: auto;
    padding: 0;
    justify-content: flex-start;
    gap: 8px;
}
.page-stats-gol-no-gol .row-value.inside { 
    color: white; text-shadow: 1px 1px 2px rgba(0,0,0,0.7); 
}
.page-stats-gol-no-gol .segment-green { 
    background-color: #2ecc71; 
}
.page-stats-gol-no-gol .segment-blue { 
    background-color: #3498db; 
}
.page-stats-gol-no-gol .tooltip {
    position:absolute; background:rgba(0,0,0,.9); color:#fff; padding:12px;
    border-radius:8px; font-size:14px; pointer-events:none; z-index:1000;
    opacity:0; transition:opacity .3s ease; text-align: left; min-width: 220px;
}
.page-stats-gol-no-gol .tooltip.show {
    opacity:1
}
.page-stats-gol-no-gol .tooltip-header { 
    font-weight: 700; margin-bottom: 10px; padding-bottom: 5px; 
    border-bottom: 1px solid rgba(255,255,255,0.3); 
}
.page-stats-gol-no-gol .tooltip-item { 
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; 
}
.page-stats-gol-no-gol .tooltip-item-label { 
    display: flex; align-items: center; gap: 8px; 
}
.page-stats-gol-no-gol .tooltip-color-box { 
    width: 12px; height: 12px; border-radius: 2px; 
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA STATISTICHE RISULTATI            == */
/* =================================================================== */

.page-stats-risultati .page-wrapper {
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%);
    padding-bottom: 1px;
}
.page-stats-risultati .page-container {
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px;
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start;
}
.page-stats-risultati .main-content { grid-column: 1 / 2; }
.page-stats-risultati .sidebar-container {
    grid-column: 2 / 3; position: sticky; top: 95px;
    display: flex; flex-direction: column; gap: 20px;
}
.page-stats-risultati .content-card {
    background: #ffffff; border-radius: 15px; padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px;
    color: #333;
}
.page-stats-risultati .content-card header h1 {
    color: #2c3e50; text-align: center; margin-bottom: 15px;
    font-family: 'Lora', serif; font-size: 2.9rem !important;
}
.page-stats-risultati .controls-container {
    display: flex; align-items: center; justify-content: center; gap: 20px;
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px;
    background-color: #f8f9fa; border-radius: 8px;
}
.page-stats-risultati .page-description {
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px;
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0;
    line-height: 1.6; color: #34495e;
}
.page-stats-risultati .select-group {
    display: flex; align-items: center; gap: 10px;
}
.page-stats-risultati .controls-container label {
    font-weight: bold; color: #3195b5;
}
.page-stats-risultati .controls-container select {
    padding: 8px 10px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd;
}
.page-stats-risultati .chart-area {
    padding: 10px;
}
.page-stats-risultati #message-container {
    text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d;
}
.page-stats-risultati #chart-layout {
    display: flex; gap: 5px; justify-content: center;
}
.page-stats-risultati .chart-column {
    display: flex; flex-direction: column; align-items: center;
    flex: 1; min-width: 0; max-width: 50px;
}
.page-stats-risultati .bar-value-label {
    font-size: 14px; font-weight: bold; color: #3195b5; margin-bottom: 5px;
}
.page-stats-risultati .bar {
    width: 100%; border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, #5dade2 0%, #3195b5 100%);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease-in-out;
}
.page-stats-risultati .chart-column:hover .bar {
    transform: translateY(-5px);
}
.page-stats-risultati .score-label {
    font-weight: bold; color: #34495e; margin-top: 8px; transition: font-size 0.2s ease;
}
.page-stats-risultati .tooltip {
    position:absolute; background:rgba(0,0,0,.9); color:#fff; padding:8px 12px;
    border-radius:6px; font-size:14px; pointer-events:none; z-index:1000;
    opacity:0; transition:opacity .3s ease;
}
.page-stats-risultati .tooltip.show {
    opacity:1;
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA STATISTICHE SFIDA                == */
/* =================================================================== */

.page-stats-sfida .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); padding-bottom: 1px; 
}
.page-stats-sfida .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-stats-sfida .main-content { grid-column: 1 / 2; }
.page-stats-sfida .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-stats-sfida .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
    color: #333;
}
.page-stats-sfida .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-stats-sfida .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-stats-sfida .controls-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 25px;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
}
.page-stats-sfida .controls-row {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.page-stats-sfida .select-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 250px;
    min-width: 200px;
}
.page-stats-sfida .controls-wrapper label { font-weight: bold; color: #3195b5; }
.page-stats-sfida .controls-wrapper select { width: 100%; padding: 8px 10px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd; }
.page-stats-sfida #message-container { text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; }
.page-stats-sfida .table-area { overflow-x: auto; }
.page-stats-sfida .comparison-table { width: 100%; border-collapse: collapse; font-size: 0.95em; }
.page-stats-sfida .comparison-table th, 
.page-stats-sfida .comparison-table td { padding: 12px 15px; text-align: center; border-bottom: 1px solid #e0e0e0; }
.page-stats-sfida .comparison-table thead th { background-color: #34495e; color: #ffffff; text-transform: uppercase; letter-spacing: 0.5px; position: sticky; top: 0; z-index: 1; }
.page-stats-sfida .comparison-table tbody th { background-color: #f8f9fa; color: #3195b5; font-weight: 600; text-align: center; }
.page-stats-sfida .comparison-table td:first-child { font-weight: 500; text-align: left; }
.page-stats-sfida .comparison-table td:nth-child(2), 
.page-stats-sfida .comparison-table td:nth-child(3) { font-weight: bold; }
.page-stats-sfida .comparison-table tbody tr:hover { background-color: #f1f8ff; }
.page-stats-sfida .comparison-table .team1-header { background-color: #2980b9; }
.page-stats-sfida .comparison-table .team2-header { background-color: #c0392b; }
.page-stats-sfida .comparison-table .total-header, 
.page-stats-sfida .comparison-table .avg-header { background-color: #7f8c8d; }

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA SFIDA RISULTATI INCROCIATI       == */
/* =================================================================== */

.page-stats-sfida-risultati .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); padding-bottom: 1px; 
}
.page-stats-sfida-risultati .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-stats-sfida-risultati .main-content { grid-column: 1 / 2; }
.page-stats-sfida-risultati .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-stats-sfida-risultati .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
    color: #333;
}
.page-stats-sfida-risultati .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-stats-sfida-risultati .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-stats-sfida-risultati .controls-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 25px;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
}
.page-stats-sfida-risultati .controls-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    width: 100%;
}
.page-stats-sfida-risultati .select-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 250px;
    min-width: 200px;
}
.page-stats-sfida-risultati .controls-wrapper label { font-weight: bold; color: #3195b5; }
.page-stats-sfida-risultati .controls-wrapper select { width: 100%; padding: 8px 10px; font-size: 1em; border-radius: 5px; border: 2px solid #ddd; }
.page-stats-sfida-risultati .chart-area { padding: 10px; }
.page-stats-sfida-risultati #message-container { text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; }
.page-stats-sfida-risultati #chart-layout { display: flex; gap: 5px; justify-content: center; flex-wrap: wrap; }
.page-stats-sfida-risultati .chart-column { display: flex; flex-direction: column; align-items: center; flex: 0 0 45px; margin-bottom: 15px; }
.page-stats-sfida-risultati .bar-value-label { font-size: 14px; font-weight: bold; color: #3195b5; margin-bottom: 5px; }
.page-stats-sfida-risultati .bar { width: 100%; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, #5dade2 0%, #3195b5 100%); box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: transform 0.2s ease-in-out; }
.page-stats-sfida-risultati .chart-column:hover .bar { transform: translateY(-5px); }
.page-stats-sfida-risultati .score-label { font-weight: bold; color: #34495e; margin-top: 8px; }
.page-stats-sfida-risultati .tooltip { text-align: center; }

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA UNDER / OVER                     == */
/* =================================================================== */

.page-stats-under-over .page-wrapper { 
    background: linear-gradient(135deg, #3195b5 0%, #3195b5 100%); padding-bottom: 1px; 
}
.page-stats-under-over .page-container { 
    max-width: 1400px; margin: 0 auto; padding: 0 20px 20px 20px; 
    display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: flex-start; 
}
.page-stats-under-over .main-content { grid-column: 1 / 2; }
.page-stats-under-over .sidebar-container { 
    grid-column: 2 / 3; position: sticky; top: 95px; 
    display: flex; flex-direction: column; gap: 20px; 
}
.page-stats-under-over .content-card { 
    background: #ffffff; border-radius: 15px; padding: 25px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); margin-top: 20px; 
    color: #333;
}
.page-stats-under-over .content-card header h1 { 
    color: #2c3e50; text-align: center; margin-bottom: 15px; 
    font-family: 'Lora', serif; font-size: 2.9rem !important; 
}
.page-stats-under-over .controls-container { 
    display: flex; align-items: center; justify-content: center; gap: 15px; 
    flex-wrap: wrap; margin-bottom: 25px; padding: 20px; 
    background-color: #f8f9fa; border-radius: 8px; 
}
.page-stats-under-over .page-description { 
    background-color: #f0f7fa; border-left: 5px solid #3195b5; padding: 15px 20px; 
    margin: 0 0 20px 0; border-radius: 0 8px 8px 0; line-height: 1.6; color: #34495e; 
}
.page-stats-under-over .select-group { 
    display: flex; align-items: center; gap: 8px; 
}
.page-stats-under-over .controls-container label { 
    font-weight: bold; color: #3195b5; font-size: 0.9em;
}
.page-stats-under-over .controls-container select { 
    padding: 8px 10px; font-size: 0.9em; border-radius: 5px; border: 2px solid #ddd; 
}
.page-stats-under-over .chart-area { padding: 10px; }
.page-stats-under-over #message-container { text-align: center; padding: 40px; font-size: 1.2em; color: #7f8c8d; }
.page-stats-under-over #chart-layout { display: flex; flex-direction: column; gap: 8px; }
.page-stats-under-over .chart-row { 
    display: grid; grid-template-columns: 180px 1fr; gap: 10px; 
    align-items: center; padding: 4px; border-radius: 4px; transition: background-color 0.2s; 
}
.page-stats-under-over .chart-row:hover { background-color: #f8f9fa; }
.page-stats-under-over .row-label { 
    font-weight: bold; text-align: right; color: #34495e; 
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 
}
.page-stats-under-over .bar-wrapper { position: relative; width: 100%; height: 28px; }
.page-stats-under-over .bar-container { 
    display: flex; height: 100%; background-color: #e9ecef; 
    border-radius: 4px; overflow: hidden; transition: width 0.5s ease-out; 
}
.page-stats-under-over .bar-segment { height: 100%; }
.page-stats-under-over .row-value {
    position: absolute; left: 0; top: 50%;
    transform: translateY(-50%);
    font-weight: bold; font-size: 0.9em;
    pointer-events: none;
    transition: color 0.3s;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 8px;
}
.page-stats-under-over .row-value.outside {
    left: 100%; margin-left: 8px;
    color: #3195b5;
    width: auto;
    padding: 0;
    justify-content: flex-start;
    gap: 8px;
}
.page-stats-under-over .row-value.inside { color: white; text-shadow: 1px 1px 2px rgba(0,0,0,0.7); }
.page-stats-under-over .segment-green { background-color: #2ecc71; }
.page-stats-under-over .segment-blue { background-color: #3498db; }
.page-stats-under-over .tooltip { text-align: left; min-width: 220px; }
.page-stats-under-over .tooltip-header { font-weight: 700; margin-bottom: 10px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,0.3); }
.page-stats-under-over .tooltip-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
.page-stats-under-over .tooltip-item-label { display: flex; align-items: center; gap: 8px; }
.page-stats-under-over .tooltip-color-box { width: 12px; height: 12px; border-radius: 2px; }

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA TOP 11                           == */
/* =================================================================== */

.page-top11 .title-section-container { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    gap: 30px; 
    max-width: 1700px; 
    margin: 20px auto; 
    padding: 0 20px; 
}
.page-top11 .ad-banner-side { 
    width: 300px; 
    height: 250px; 
    flex-shrink: 0; 
    background-color: #f0f0f0; 
    border: 2px dashed #ccc; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    color: #888; 
    font-style: italic; 
    font-weight: bold; 
    text-align: center; 
}
.page-top11 .title-card {
    background: #ffffff;
    border-radius: 15px;
    padding: 10px;
    color: #333;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    margin: 0; 
    flex-grow: 1;
    max-width: 750px;
}
.page-top11 .title-card header h1 { 
    color: #2c3e50; 
    text-align: center; 
    margin-top: 0; 
    margin-bottom: 15px; 
    font-family: 'Lora', serif !important; 
    font-size: 2.9rem !important; 
    text-shadow: none !important; 
}
.page-top11 .controls-container { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    gap: 5px; 
    padding: 5px; 
    background-color: #f8f9fa; 
    border-radius: 8px; 
}
.page-top11 .controls-container label { 
    font-weight: bold; 
    font-size: 1.1em; 
    color: #3195b5; 
}
.page-top11 #league-selector { 
    padding: 5px 5px; 
    font-size: 1em; 
    border-radius: 5px; 
    border: 2px solid #ddd; 
    min-width: 250px; 
}
.page-top11 .stat-line {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 8px;
}
.page-top11 .player-card .stat-value {
    font-size: 1.8em;
    font-weight: bold;
    color: #d9534f;
    line-height: 1;
}
.page-top11 .player-card .stat-name {
    font-size: 0.9em;
    font-weight: bold;
    color: #6c757d;
    text-transform: uppercase;
}
.page-top11 .page-description {
    background-color: #f0f7fa;
    border-left: 5px solid #3195b5;
    padding: 5px;
    margin: 0 0 5px 0;
    border-radius: 0 8px 8px 0;
    line-height: 1.6;
    color: #34495e;
}
.page-top11 .sezione-articolo {
    color: #333; /* Colore per il testo 'Fonte Dati' */
}


/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA PRONOSTICI ARCHIVIO              == */
/* =================================================================== */

/* Layout di base per questa pagina (sovrascrive quello generico se serve) */
.page-pronostici-archivio .page-container {
    max-width: 1400px;
}
.page-pronostici-archivio .main-content {
    background: #ffffff;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    margin-top: 20px;
    color: #333;
}

.page-pronostici-archivio .filters-widget {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.page-pronostici-archivio .filters-widget select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
    font-weight: bold;
}
.page-pronostici-archivio .tooltip {
    position: relative;
    cursor: help;
    border-bottom: 2px dotted #0d4a81;
    color: #cf0404;
}
.page-pronostici-archivio .tooltip::before, 
.page-pronostici-archivio .tooltip::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 10;
}
.page-pronostici-archivio .tooltip::before {
    content: attr(data-tooltip);
    bottom: 150%;
    background-color: #2c3e50;
    color: #ffffff;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.9em;
    line-height: 1.4;
    white-space: normal;
    width: 280px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transform: translateX(-50%) translateY(10px);
}
.page-pronostici-archivio .tooltip::after {
    content: '';
    bottom: 150%;
    margin-bottom: -11px;
    border: 6px solid transparent;
    border-top-color: #2c3e50;
    transform: translateX(-50%) translateY(10px);
}
.page-pronostici-archivio .tooltip:hover::before, 
.page-pronostici-archivio .tooltip:hover::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Stili per il contenuto caricato dinamicamente */
.page-pronostici-archivio .sezione-trattative {
    margin-bottom: 20px;
}
.page-pronostici-archivio .sezione-trattative h2 {
    color: #3195b5;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.page-pronostici-archivio .sezione-trattative ul {
    list-style: none;
    padding: 0;
}
.page-pronostici-archivio .sezione-trattative li {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}
.page-pronostici-archivio .sezione-trattative li:last-child {
    border-bottom: none;
}
.page-pronostici-archivio .giocatore {
    font-weight: bold;
    font-size: 1.2em;
    color: #2c3e50;
    margin-bottom: 8px;
}
.page-pronostici-archivio .dettagli {
    line-height: 1.7;
    color: #555;
}
.page-pronostici-archivio .ultra-compact-table {
    font-size: 0.8rem !important;
}
.page-pronostici-archivio .sezione-articolo {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}
.page-pronostici-archivio .sezione-articolo ul {
    list-style-position: inside;
    padding-left: 10px;
}
.page-pronostici-archivio .sezione-articolo li {
    margin-bottom: 10px;
}

/* =================================================================== */
/* == STILI PER CONTENUTI DINAMICI (PRONOSTICI E ALTRI)           == */
/* =================================================================== */

/* Stili per le sezioni create da pronostici_archivio_viewer.js */
.sezione-trattative ul {
    list-style: none;
    padding: 0;
}
.sezione-trattative li {
    padding: 20px 0;
    border-bottom: 1px solid #e0e0e0;
}
.sezione-trattative li:last-child {
    border-bottom: none;
}
.sezione-trattative h2 {
    color: #3195b5;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
    margin: 20px 0 15px 0;
}
.sezione-trattative .giocatore {
    font-weight: bold;
    font-size: 1.2em;
    color: #2c3e50;
    margin-bottom: 8px;
}
.sezione-trattative .dettagli {
    line-height: 1.7;
    color: #555;
}

/* Stili per la tabella delle previsioni */
.sezione-affari-conclusi {
    margin-top: 30px;
}
.sezione-affari-conclusi h2 {
    color: #3195b5;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.tabella-affari {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95em;
    color: #333;
}
.tabella-affari th,
.tabella-affari td {
    padding: 12px 10px;
    text-align: center;
    border: 1px solid #e0e0e0;
}
.tabella-affari thead th {
    background-color: #34495e;
    color: white;
    font-weight: 600;
}
.tabella-affari tbody tr:nth-child(even) {
    background-color: #f8f9fa;
}
.tabella-affari td:first-child {
    text-align: left;
    width: 25%;
}
.ultra-compact-table {
    font-size: 0.8rem !important;
}
.team-container {
    text-align: left;
    line-height: 1.4;
}
.team-home { font-weight: bold; }
.team-away { color: #555; }

/* Stili per la legenda/glossario */
.sezione-articolo {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 2px solid #f0f0f0;
}
.sezione-articolo h2 {
    color: #3195b5;
    margin-bottom: 15px;
}
.sezione-articolo ul {
    list-style-type: none;
    padding-left: 0;
}
.sezione-articolo li {
    margin-bottom: 10px;
    line-height: 1.6;
}
.sezione-articolo a {
    color: #3195b5;
    text-decoration: none;
    font-weight: bold;
}
.sezione-articolo a:hover {
    text-decoration: underline;
}

/* Aggiunge un bordo più marcato sopra ogni blocco di analisi testuale */
.page-pronostici-archivio .sezione-trattative {
    border-top: 4px solid #e9ecef;
    padding-top: 20px;
    margin-top: 20px;
}
.page-pronostici-archivio .sezione-trattative:first-of-type {
    border-top: none;
    margin-top: 0;
    padding-top: 0;
}

/* Aggiunge un bordo più marcato sopra ogni blocco tabella */
.page-pronostici-archivio .sezione-affari-conclusi {
    border-top: 4px solid #e9ecef;
    padding-top: 20px;
}

/* --- NUOVO: Stili per i nomi delle squadre in tabella --- */
.page-pronostici-archivio .team-container .team-names {
    display: flex;
    flex-direction: column;
}

.page-pronostici-archivio .team-container .team-home,
.page-pronostici-archivio .team-container .team-away {
    font-weight: bold;
    color: #333; /* Entrambe scure per leggibilità */
}

.page-pronostici-archivio .team-container .separator {
    display: none; /* Nascondiamo il trattino, le squadre sono una sopra l'altra */
}

.page-pronostici-archivio .match-date-inline {
    float: right; 
    font-size: 0.8em; 
    color: #666; 
    font-weight: normal;
}
.page-pronostici-archivio .key-stat-mobile {
    display: none;
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA ARTICOLO SINGOLO (CORRETTI)      == */
/* =================================================================== */

/* Layout di base della pagina */
.page-articolo .container {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    align-items: flex-start;
}

/* Colonna principale dell'articolo */
.page-articolo .article-main-column {
    /* CORREZIONE COLORE: Usa la variabile globale per il colore del testo */
    color: var(--body-text-color, #ffffff); 
}

/* Stile per la sidebar */
.page-articolo .article-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 95px;
}
        


/* =================================================================== */
/* == STILI PER PAGINA CALCIOMERCATO (CON SIDEBAR DESKTOP)        == */
/* =================================================================== */
.page-calciomercato {
    background-color: #f0f2f5;
    color: #333;
}
.page-calciomercato .container {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
    align-items: flex-start;
    max-width: 1200px;
}
.page-calciomercato .content-box {
    background-color: #ffffff;
    border-radius: 15px;
    padding: 30px 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.page-calciomercato .sidebar-container {
    position: sticky;
    top: 95px;
}

/* Regola specifica e potente per il banner 300x600 */
.banner-300x600 {
    width: 300px;
    height: 600px;
    background-color: #e9ecef;
    border: 2px dashed #ccc;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #888;
    font-style: italic;
}

/* Stile per lo sfondo della pagina */
.page-calciomercato-single {
    background-color: #f0f2f5;
    color: #333;
}

/* Layout a 2 colonne per il .container di questa pagina */
.page-calciomercato-single .container {
    display: grid;
    grid-template-columns: 1fr 320px; /* Contenuto principale + sidebar fissa */
    gap: 30px;
    align-items: flex-start;
    max-width: 1200px;
}

/* Colonna del contenuto principale */
.page-calciomercato-single .main-content {
    background-color: #ffffff;
    border-radius: 15px;
    padding: 30px 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* Sidebar e banner specifico per questa pagina */
.page-calciomercato-single .sidebar-container {
    position: sticky;
    top: 95px;
}

.page-calciomercato-single .ad-banner-calciomercato {
    width: 300px;
    height: 300px;
    background-color: #e9ecef;
    border: 2px dashed #ccc;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #888;
    font-style: italic;
}
body.page-calciomercato-single .sidebar-container .ad-banner {
    width: 300px;
    height: 300px !important; /* L'!important è la garanzia finale */
    
    /* Manteniamo gli altri stili per coerenza */
    background-color: #e9ecef;
    border: 2px dashed #ccc;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #888;
    font-style: italic;
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA REGOLAMENTO                      == */
/* =================================================================== */

.page-regolamento {
    line-height: 1.6;

}
.page-regolamento .main-content {
    color: #333; /* Un colore di testo scuro standard */
    background-color: #fff;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.page-regolamento .page-container {
    max-width: 1200px;        /* <-- La larghezza che corrisponde al banner */
    margin: 0 auto 20px auto; /* Centra il contenitore e dà spazio sotto */
    padding: 0 20px;          /* Mantiene un po' di spazio ai lati per sicurezza */
}

.page-regolamento #cover-page {
    text-align: center;
    margin-bottom: 2rem;
    padding: 2rem;
    background-color: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}
.page-regolamento .cover-image h2 {
    color: #2c3e50;
}
.page-regolamento .cover-image h3 {
    color: #555;
    font-weight: normal;
}
.page-regolamento .toc {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 2rem;
    border: 1px solid #e0e0e0;
}
.page-regolamento .toc-title {
    color: #3195b5;
    text-align: center;
    margin-top: 0;
    font-size: 2em;
    border-bottom: 2px solid #3195b5;
    padding-bottom: 10px;
}
.page-regolamento .toc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px 30px;
    margin-top: 1.5rem;
}
.page-regolamento .toc-section h3 {
    color: #2c3e50;
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
}
.page-regolamento .toc ul { list-style: none; padding: 0; margin-top: 10px; }
.page-regolamento .toc li { margin-bottom: 10px; }
.page-regolamento .toc a {
    display: block;
    background-color: #e9ecef;
    color: #34495e;
    padding: 10px 15px;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s, transform 0.2s;
    font-weight: bold;
}
.page-regolamento .toc a:hover {
    background-color: #d1d5db;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.page-regolamento .toc .sub-item a {
    background-color: #f8f9fa;
    padding-left: 30px;
    font-weight: normal;
}
.page-regolamento .toc .sub-item a:hover {
    background-color: #e9ecef;
}
.page-regolamento main > article {
    margin-bottom: 3rem;
}
.page-regolamento .rule-header h1 {
    color: #2c3e50;
    font-size: 2.5rem;
    text-align: center;
    border-bottom: 3px solid #3195b5;
    padding-bottom: 15px;
    margin-bottom: 1.5em;
}
.page-regolamento article .rule-header .rule-number {
    display: block;
    font-size: 0.5em;
    color: #3195b5;
    margin-top: 5px;
}
.page-regolamento .content-block {
    padding: 20px;
    margin-top: 2rem;
    border-radius: 6px;
    border-left: 5px solid;
}
.page-regolamento .content-block h2 {
    margin-top: 0; padding-bottom: 10px;
    border-bottom: 2px solid;
    font-size: 1.8em;
}
.page-regolamento .content-block ul { padding-left: 20px; }
.page-regolamento .content-block li { margin-bottom: 0.5rem; }
.page-regolamento .regolamento { background-color: #fdfdff; border-left-color: #3498db; }
.page-regolamento .regolamento h2 { color: #2980b9; border-bottom-color: #a9cce3; }
.page-regolamento .decisioni-figc { background-color: #fffaf0; border-left-color: #f39c12; }
.page-regolamento .decisioni-figc h2 { color: #d35400; border-bottom-color: #f5cba7; }
.page-regolamento .guida-pratica { background-color: #f4f9f4; border-left-color: #27ae60; }
.page-regolamento .guida-pratica h2 { color: #229954; border-bottom-color: #a9dfbf; }

.page-regolamento main img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.5rem auto;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.page-regolamento .back-to-top {
    position: fixed; bottom: 25px; right: 25px;
    background-color: #34495e; color: #ffffff;
    width: 50px; height: 50px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; text-decoration: none;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3); z-index: 1000;
    transition: opacity 0.4s, transform 0.3s;
    opacity: 0; visibility: hidden; transform: translateY(10px);
}
.page-regolamento .back-to-top:hover {
    background-color: #2c3e50;
    transform: translateY(-2px);
}
.page-regolamento .back-to-top.show {
    opacity: 1; visibility: visible; transform: translateY(0);
}







.top-banner-regolamento {
    max-width: 1200px; /* Stessa larghezza massima del contenuto per allinearlo */
    height: 280px;
    margin: 20px auto; /* Centra il banner e gli dà spazio sopra e sotto */
    background-color: #e9ecef;
    border: 2px dashed #ccc;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #888;
}


/* Stile principale del footer */
.site-footer {
    background-color: #3195b5; /* Il tuo colore */
    color: #ffffff; /* Testo bianco */
    padding: 70px 0 0; /* Spaziatura interna (sopra, lati, sotto) */
    font-family: 'Playfair Display', serif;
}

/* Contenitore per centrare il contenuto */
.footer-container {
    max-width: 1170px;
    margin: auto;
    padding: 0 15px; /* Spaziatura laterale per i dispositivi mobili */
}

/* Riga che contiene le colonne, usa Flexbox */
.footer-row {
    display: flex;
    flex-wrap: wrap; /* Permette alle colonne di andare a capo su schermi piccoli */
}

/* Stile delle singole colonne */
.footer-col {
    width: 25%;
    padding: 0 15px;
    margin-bottom: 30px;
}

.footer-col h4 {
    font-size: 18px;
    color: #ffffff;
    text-transform: capitalize;
    margin-bottom: 35px;
    font-weight: 700;
    position: relative;
}

/* Sottolineatura decorativa sotto i titoli */
.footer-col h4::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    background-color: rgba(255, 255, 255, 0.5); /* Bianco con trasparenza */
    height: 2px;
    box-sizing: border-box;
    width: 50px;
}

/* Stile per le liste di link */
.footer-col ul {
    list-style: none;
}

.footer-col ul li:not(:last-child) {
    margin-bottom: 12px;
}

.footer-col ul li a {
    font-size: 16px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    display: block;
    transition: all 0.3s ease;
}

.footer-col ul li a:hover {
    color: #ffffff;
    padding-left: 8px; /* Effetto di spostamento al passaggio del mouse */
    opacity: 0.8;
}

/* Stile per il paragrafo nella prima colonna */
.footer-col p {
    font-size: 15px;
    margin-bottom: 20px;
    line-height: 1.8;
}

/* Stile per le icone social */
.social-links a {
    display: inline-block;
    height: 40px;
    width: 40px;
    background-color: rgba(255, 255, 255, 0.2);
    margin-right: 10px;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    color: #ffffff;
    transition: all 0.5s ease;
}

.social-links a:hover {
    background-color: #ffffff;
    color: #3195b5; /* Il tuo colore al contrario */
    transform: scale(1.1);
}

/* Stile per le icone di contatto */
.footer-col ul li i {
    margin-right: 10px;
    color: rgba(255, 255, 255, 0.8);
}

/* Barra inferiore per il copyright */
.footer-bottom {
    background-color: rgba(0, 0, 0, 0.1); /* Leggermente più scuro per staccare */
    padding: 20px 0;
    text-align: center;
    margin-top: 40px;
}

.footer-bottom p {
    font-size: 14px;
    word-spacing: 2px;
}

/* =================================================================== */
/* == STILI PER TOOLTIP MARCATORI (AGGIUNTO)                      == */
/* =================================================================== */

.page-risultati .match-score.has-tooltip {
    cursor: help;
    border-bottom: 1px dotted #3195b5; /* Indica che l'elemento è interattivo */
}

#match-tooltip {
    position: absolute;
    background-color: rgba(44, 62, 80, 0.95); /* #2c3e50 con trasparenza */
    color: #ffffff;
    padding: 10px 0;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    z-index: 1001;
    pointer-events: none; /* Il tooltip non deve intercettare il mouse */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    min-width: 250px;
}

#match-tooltip.show {
    opacity: 1;
    visibility: visible;
}

#match-tooltip .tooltip-content {
    display: flex;
    align-items: stretch; /* Fa sì che la linea verticale sia alta come il contenuto */
    justify-content: center;
}

#match-tooltip .tooltip-scorers {
    flex: 1;
    padding: 0 15px;
}

#match-tooltip .tooltip-scorers-home {
    text-align: right;
}

#match-tooltip .tooltip-scorers-away {
    text-align: left;
}

#match-tooltip .tooltip-scorers ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#match-tooltip .tooltip-scorers li {
    padding: 3px 0;
    white-space: nowrap;
}

#match-tooltip .tooltip-divider {
    width: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    flex-shrink: 0;
}

/* =================================================================== */
/* == STILI SPECIFICI PER PAGINA PRONOSTICI ARCHIVIO (NUOVO LAYOUT) == */
/* =================================================================== */

/* 1. Layout Generale della Pagina */
.page-pronostici-archivio .page-container {
    display: block; /* Rimuoviamo la griglia a 2 colonne */
    max-width: 1200px; /* Stringiamo e centriamo il contenuto */
    margin: 20px auto; /* Centra il container e aggiunge spazio sopra/sotto */
    padding: 0 15px; /* Spazio laterale di sicurezza per il mobile */
}

/* 2. Banner Orizzontale (Solo Desktop) */
.page-pronostici-archivio .top-banner-pronostici {
    width: 100%;
    height: 280px;
    margin-bottom: 30px; /* Spazio tra banner e card del contenuto */
    background-color: #e9ecef;
    border: 2px dashed #ccc;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
    font-style: italic;
    font-weight: bold;
}

/* 3. Card del Contenuto Principale */
.page-pronostici-archivio .main-content {
    background: #ffffff;
    border-radius: 15px;
    padding: 25px 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    color: #333;
}

/* 4. Contenitore dei Filtri */
.page-pronostici-archivio .filters-container {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px; /* Spazio tra filtri e contenuto dei pronostici */
    border: 1px solid #e0e0e0;
}

.page-pronostici-archivio .filters-container h3 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 20px;
    color: #3195b5;
    font-family: 'Lora', serif;
}

.page-pronostici-archivio .filters-widget {
    display: flex;
    gap: 20px;
}

.page-pronostici-archivio .filters-widget select {
    flex: 1; /* Fa sì che i due select occupino lo spazio disponibile */
    padding: 12px;
    font-size: 1.1em;
    font-weight: bold;
    border: 2px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
}

/* 5. Regole per il contenuto dinamico (le manteniamo) */
.page-pronostici-archivio .sezione-trattative h2 {
    color: #3195b5;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.page-rassegna-web .sidebar {
    top: -60px; 
}
/* =================================================================== */
/* == BLOCCO RESPONSIVE UNIFICATO (RIORGANIZZATO E CORRETTO)      == */
/* =================================================================== */

/* --- Stili di base per elementi che appaiono solo su mobile --- */
.menu-toggle {
    display: none; width: 40px; height: 40px; position: relative;
    border: none; background-color: transparent; cursor: pointer; z-index: 1001;
}
.hamburger-box { width: 40px; height: 24px; display: inline-block; position: relative; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 100%; height: 4px; background-color: var(--nav-link-color, #fff);
    border-radius: 4px; position: absolute; transition: all 0.25s ease-in-out;
}
.hamburger-inner::before, .hamburger-inner::after { content: ''; display: block; }
.hamburger-inner { top: 50%; transform: translateY(-50%); }
.hamburger-inner::before { top: -10px; }
.hamburger-inner::after { bottom: -10px; }
.menu-toggle.is-active .hamburger-inner { transform: rotate(225deg); }
.menu-toggle.is-active .hamburger-inner::before { top: 0; opacity: 0; }
.menu-toggle.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); }

.mobile-ad-container {
    display: none; /* Nascosto di default su desktop */
}
.page-pronostici-archivio .key-stat-mobile {
    display: none; /* Nascosto di default su desktop */
}

.ad-banner--600 {
    height: 300px !important;
    width: 300px !important;
}
.page-calciomercato .ad-banner {
    height: 300px;
margin-bottom: 20px;
}
.page-articolo .sticky-banner {
    width: 300px;
    height: 300px !important; /* Forza l'altezza a 600px */
    
    /* Manteniamo gli altri stili per l'aspetto */
    background-color: #f0f0f0;
    border: 2px dashed #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #888;
    font-style: italic;
    border-radius: 8px;
}
/* --- MEDIA QUERY PRINCIPALE PER IL MOBILE (sotto 992px) --- */
@media (max-width: 992px) {

    body {
        transition: padding-top 0.3s ease;
    }

    /* --- 1. Header, Menu e Banner Fissi --- */
    .header {
        position: fixed; top: 0; left: 0; width: 100%;
        padding: 10px 15px; z-index: 1001; margin-bottom: 0;
    }
    .header .menu-toggle { display: block; }
    .header .main-nav {
        display: block; position: absolute; top: 100%; left: 0; right: 0; z-index: 1000;
        background-color: #2c3e50; border-top: 1px solid var(--header-border-bottom, #50d3e9);
        box-shadow: 0 8px 16px rgba(0,0,0,0.3); max-height: 0; overflow: hidden;
        transition: max-height 0.4s ease-out;
    }
    .header .main-nav.is-open { max-height: calc(100vh - 70px); overflow-y: auto; }
    .header .main-nav ul { flex-direction: column; padding: 10px 0; }
    .header .main-nav li a { color: #ffffff; }
    .header .submenu { display: none; position: static; background-color: rgba(0,0,0,0.2); }
    .header .submenu.submenu-open { display: block; }
    .header .main-nav .submenu li a { padding-left: 40px; color: #e0e0e0; }
    
    .hide-on-mobile,
    .banner-container,
    .article-sidebar  {
        display: none !important;
    }

    .mobile-ad-container {
        display: flex; position: fixed; left: 0; width: 100%;
        justify-content: center; align-items: center;
        background-color: #f8f9fa; box-shadow: 0 4px 6px rgba(0,0,0,0.1); z-index: 1000;
    }
    .sticky-banner__content {
        background-color: #e9ecef; border: 1px dashed #adb5bd;
        display: flex; justify-content: center; align-items: center;
        color: #6c757d; font-size: 0.9rem;
    }
    .sticky-banner__close {
        position: absolute; top: 0; right: 0;
        background-color: rgba(0, 0, 0, 0.5); color: white;
        border: none; border-radius: 0 0 0 5px;
        width: 28px; height: 28px; font-size: 20px; line-height: 28px;
        text-align: center; cursor: pointer; padding: 0;
        opacity: 0.7; transition: opacity 0.2s;
    }
    .sticky-banner__close:hover { opacity: 1; }

    @media (orientation: portrait) {
        .mobile-ad-container { height: 60px; }
        .sticky-banner--portrait { display: flex; width: 320px; height: 50px; }
        .sticky-banner--landscape { display: none; }
    }
    @media (orientation: landscape) {
        .mobile-ad-container { height: 70px; }
        .sticky-banner--portrait { display: none; }
        .sticky-banner--landscape { display: flex; width: 468px; height: 60px; }
    }
    
    /* --- 2. Classi di Comportamento per il Layout --- */
    
    /* A) Layout Verticale */
    .responsive-vertical .page-container,
    .responsive-vertical .container {
        grid-template-columns: 1fr !important;
    }
    .responsive-vertical .sidebar,
    .responsive-vertical .sidebar-container {
        position: static !important;
        grid-row: 2;
    }
    
    /* B) Layout a Scorrimento Orizzontale (Tabelle) */
    .responsive-table-scroll .page-container,
    .responsive-table-scroll .container {
        display: block !important;
    }
    .responsive-table-scroll .main-content,
    .responsive-table-scroll .content-card,
    .responsive-table-scroll #data-content {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* C) Layout Orizzontale Forzato (Grafici) */
    @media (orientation: portrait) {
        .responsive-force-landscape .page-container,
        .responsive-force-landscape .container,
        .responsive-force-landscape .page-wrapper { display: none !important; }
        .responsive-force-landscape::after {
            content: "Per una visualizzazione ottimale, ruota il dispositivo in orizzontale.";
            display: flex; align-items: center; justify-content: center; text-align: center;
            position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
            background-color: #2c3e50; color: white;
            font-size: 1.2rem; font-weight: bold; padding: 20px; z-index: 9999;
        }
    }
    @media (orientation: landscape) {
        .responsive-force-landscape::after { display: none !important; }
        .responsive-force-landscape .page-container,
        .responsive-force-landscape .container,
        .responsive-force-landscape .page-wrapper { display: block !important; }
        .responsive-force-landscape .sidebar-container { display: none !important; }
    }

    /* --- 3. Stili Responsive Specifici per Pagina --- */

    /* Pagina Lavagna Tattica */
    .page-lavagna.responsive-horizontal-scroll .lavagna-container {
        display: flex; flex-direction: column; overflow-x: hidden; white-space: normal; padding: 10px;
    }
    .page-lavagna.responsive-horizontal-scroll .action-bar {
        display: flex; flex-wrap: wrap; gap: 10px; align-items: center; width: 100%; margin-bottom: 15px;
    }
    .page-lavagna.responsive-horizontal-scroll .lavagna-description {
        background-color: white; padding: 15px; border-radius: 8px;
        border: 1px solid #e0e0e0; color: #333; width: 100%; order: 3;
    }
    .page-lavagna.responsive-horizontal-scroll .action-bar button { order: 1; }
    .page-lavagna.responsive-horizontal-scroll .scrollable-content {
        width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
        white-space: nowrap; padding-bottom: 15px;
    }
    .page-lavagna.responsive-horizontal-scroll .lavagna-sidebar,
    .page-lavagna.responsive-horizontal-scroll .board-wrapper {
        display: inline-block; vertical-align: top; white-space: normal;
    }
    .page-lavagna.responsive-horizontal-scroll .lavagna-sidebar { width: 280px; margin-right: 20px; max-height: none; }
    .page-lavagna.responsive-horizontal-scroll .board-wrapper { width: 520px; }
    .page-lavagna.responsive-horizontal-scroll .tactical-board { width: 500px; }

  /* Pagina Pronostici Archivio */
    .page-pronostici-archivio.responsive-vertical .container,
    .page-pronostici-archivio.responsive-table-scroll .container {
        display: flex !important; /* CAMBIATO DA BLOCK A FLEX */
        flex-direction: column !important; /* Forziamo l'ordine verticale */
    }
    
    .page-pronostici-archivio .sidebar-widget {
        order: -1; /* <-- AGGIUNGI/MODIFICA QUESTA RIGA */
        background-color: #ffffff; 
        border-radius: 15px; 
        padding: 20px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1); 
        color: #333; 
        margin-bottom: 20px;
    }
    
    /* E aggiungiamo questa regola per il resto della sidebar */
    .page-pronostici-archivio .sidebar-container {
        order: 1; /* Manda i banner in fondo */
    }

    /* Le altre regole rimangono invariate */
    .page-pronostici-archivio .sidebar-widget h3 { text-align: center; margin-bottom: 15px; }
    .page-pronostici-archivio .filters-widget { flex-direction: column; gap: 10px; }
    .page-pronostici-archivio .filters-widget select { width: 100%; }
    .page-pronostici-archivio .key-stat-desktop { display: none; }
    .page-pronostici-archivio .key-stat-mobile {
        display: block; margin-top: 15px; padding-top: 10px;
        border-top: 1px dashed #ccc; font-size: 0.9em; line-height: 1.6;
    }
    .page-pronostici-archivio .key-stat-mobile strong { font-weight: bold; color: #3195b5; }
    

  .page-articolo .container {
        grid-template-columns: 1fr; /* Dice alla griglia di usare una sola colonna */
    }

    /* Riorganizzazione elementi */
    .page-articolo .article-sidebar {
        position: static;
        order: 2; 
        margin-top: 30px;
    }

    .page-articolo .article-main-column {
        order: 1;
    }

 .top-banner-regolamento {
        display: none; /* Il banner scompare completamente su schermi piccoli */
    }
   .page-regolamento .sidebar {
        display: none !important; /* Nasconde completamente la sidebar e il banner */
    }

.footer-col {
        width: 50%; /* Due colonne per riga */
    }
}

    /* Regole per schermi ancora più piccoli */
    @media (max-width: 768px) {
        .page-top11 .ad-banner-side { 
            display: none; 
        }
.footer-col {
        width: 100%; /* Una colonna per riga */
    }
    }
    @media (max-width: 1300px) { 
        .page-top11 .title-section-container { 
            flex-direction: column; 
        } 
        .page-top11 .ad-banner-side { 
            margin-bottom: 20px; 
        } 
    }

