@charset utf-8;

body {
    background: linear-gradient(to bottom, #ffffdd 0%, #ffffcc 100%);
    font-family: 'Roboto Condensed', 'Spectral', 'Open Sans', sans-serif;
    color: #222;
    width: 100%;
    font-weight: 700;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Wrapper centrale: sotto 1680px occupa tutto lo schermo.
   Oltre 1680px il contenuto si restringe lasciando i margini
   liberi per i banner AdSense automatici laterali (min 160px per lato).
   
   Funziona SOLO se nell'HTML tutto il contenuto è dentro <div class="page-wrapper"> */
.page-wrapper {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 8px;
    box-sizing: border-box;
}

@media (min-width: 1700px) {
    /* Su 1700px: contenuto largo 1340px → ~180px liberi per lato */
    .page-wrapper {
        max-width: 1340px;
        padding: 0 10px;
    }
}

@media (min-width: 1920px) {
    /* Su 1920px: contenuto largo 1440px → ~240px liberi per lato */
    .page-wrapper {
        max-width: 1440px;
    }
}

@media (min-width: 2560px) {
    /* Su 2560px: contenuto largo 1600px → ~480px liberi per lato */
    .page-wrapper {
        max-width: 1600px;
    }
}

img{
    border:none;
}
h1,h2,h3,h4,h5,h6{
    font-family:'Spectral', 'Open Sans', sans-serif;
    margin:0;
    padding:4px;
}
h1{
    color:#49628a;
    font-size:115%;
    margin:0 2px;
    padding:0;
    line-height:1.2;
    padding: 5px 7px;
}
h2,h3,h4,h5,h6{
    color:#ef3824;
    font-size:95%;
    margin:4px 4px 2px;
    padding:0;
    line-height:1.3;
    text-align:center;

    /* Forza il titolo su una riga intera anche dentro un flex container */
    display:block;
    width:100%;
    flex-basis:100%;
    flex-shrink:0;
    align-self:center;

    white-space:normal;
    word-break:break-word;
    overflow-wrap:break-word;
    clear:both;
}
p{
    font-family:'Open Sans';
    padding: 5px 7px;
}
a{
    font-family:'Roboto Condensed';
    color:#0055ff;
    text-decoration:none;
}
a:hover{
    color:#004c6b;
    text-decoration:none;
}
.logo{
    text-align:left;
    float:left;
    margin:2px 10px 0;
    padding:1px;
}
.searchmenu{
    text-align:left;
    float:left;
    margin:2px 10px 0;
    padding:1px;
}
.title{
    clear:both;
    margin:0 4px;
    padding:0;
    line-height:1.1;
}
/* --- BANNER TOP --- */

.banner {
  display: block;
  text-align: center;
  margin: 2px auto;
  width: 100%;
  clear: both;
}

@media (min-width: 765px) {
  .banner {
    min-height: 280px;   /* desktop: spazio per banner grandi */
  }
}

/* Non forzare l'altezza sugli ins AdSense: ci pensa Google */
.banner ins.adsbygoogle {
  height: auto !important;
}

/* Banner-top inline (classe usata dentro .title-area) */
.banner-top {
  display: block;
  width: 100%;
  min-height: 100px;   /* smartphone */
  margin: 4px 0;
  clear: both;
  min-height: 100px;   /* smartphone: 100px fissi */
}

@media (min-width: 765px) {
  .banner-top {
    min-height: 280px;
  }
}

/* Override stile inline nell'HTML: blocca l'altezza a 100px su mobile */
.Portal_HOME_Giornali_mobi_News_IT {
  width: 100% !important;
  height: 100px !important;
}

@media (min-width: 765px) {
  .Portal_HOME_Giornali_mobi_News_IT {
    height: 300px !important;
  }
}
/* --- GRIGLIA FLUIDA PER I GIORNALI --- */

.menu3, .giornali, .menu2 {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;   /* stessa altezza su ogni riga */
    gap: 5px;
    margin: 8px 0;
    padding: 0;
}

/* ============================================================
   BOTTONI: stile base comune
   ============================================================ */
.giornali a,
.menu2 a,
.menu3 a:link,
.menu3 a:visited {
    /* Layout */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    /* Testo */
    font-size: 82%;
    font-weight: 900;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.2;
    white-space: normal;

    /* Dimensioni base: 3 colonne da 320px in su.
       flex-grow:0 impedisce ai bottoni dell'ultima riga di allargarsi */
    flex: 0 1 calc(33.33% - 4px);
    min-width: 0;
    max-width: calc(33.33% - 4px);

    /* Aspetto */
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 1px 2px #ccc;
    box-sizing: border-box;
    padding: 5px 3px;
    margin: 0;
    text-decoration: none;
}

/* Giornali: testo può essere lungo → bottoni più alti */
.giornali a {
    min-height: 56px;
}

/* Menu2 e Menu3: testo breve → bottoni più bassi */
.menu2 a,
.menu3 a:link,
.menu3 a:visited {
    min-height: 42px;
    font-size: 80%;
}

/* Colori specifici per .giornali */
.giornali a {
    background: linear-gradient(to bottom, #FEFEF2, #e1dfc8);
    font-family: 'Spectral', sans-serif;
    color:#222;
}
.giornali a:hover {
    background: linear-gradient(to bottom, #e1dfc8, #FEFEF2);
    color: red;
    box-shadow: 0 1px 1px #aaa;
    
}

/* Colori specifici per .menu2 */
.menu2 a {
    background: linear-gradient(to bottom, #F1EFD3, #e1dda8);
    font-family: 'Roboto Condensed', sans-serif;
    color: #0055ff;
}
.menu2 a:hover {
    background: linear-gradient(to bottom, #e1dda8, #F1EFD3);
    color: red;
    box-shadow: 0 1px 1px #aaa;
}

/* Colori specifici per .menu3 */
.menu3 a:link,
.menu3 a:visited {
    background: linear-gradient(to bottom, #F1EFD3, #e1dda8);
    color: #0055ff;
}
.menu3 a:hover {
    background: linear-gradient(to bottom, #e1dda8, #F1EFD3);
    color: red;
    box-shadow: 0 1px 1px #aaa;
}

/* ============================================================
   BREAKPOINT RESPONSIVE

   < 320px  → 2 colonne
   320px+   → 3 colonne (default)
   500px+   → 4 colonne
   768px+   → 5 colonne (tablet)
   1024px+  → 6 colonne (laptop)
   1280px+  → 7 colonne (desktop)
   1680px+  → 8 colonne (wide, AdSense laterale)

   flex-grow:0 + max-width = l'ultima riga NON si espande
   ALTEZZE: .giornali più alta, .menu2/.menu3 più bassa
   ============================================================ */

/* Sotto 320px: 2 colonne */
@media screen and (max-width: 319px) {
    .giornali a, .menu2 a, .menu3 a:link, .menu3 a:visited {
        flex: 0 1 calc(50% - 3px);
        max-width: calc(50% - 3px);
        font-size: 80%;
    }
    .giornali a                               { min-height: 52px; }
    .menu2 a, .menu3 a:link, .menu3 a:visited { min-height: 30px; }
}

/* 500px+: 4 colonne */
@media screen and (min-width: 500px) {
    .giornali a, .menu2 a, .menu3 a:link, .menu3 a:visited {
        flex: 0 1 calc(25% - 4px);
        max-width: calc(25% - 4px);
        font-size: 88%;
        font-weight: 700;
    }
    .giornali a                               { min-height: 56px; }
    .menu2 a, .menu3 a:link, .menu3 a:visited { min-height: 34px; }
}

/* Tablet 768px+: 5 colonne */
@media screen and (min-width: 768px) {
    .giornali a, .menu2 a, .menu3 a:link, .menu3 a:visited {
        flex: 0 1 calc(20% - 4px);
        max-width: calc(20% - 4px);
        font-size: 92%;
        font-weight: 700;
    }
    .giornali a                               { min-height: 58px; }
    .menu2 a, .menu3 a:link, .menu3 a:visited { min-height: 36px; }
}

/* Laptop 1024px+: 6 colonne */
@media screen and (min-width: 1024px) {
    .giornali a, .menu2 a, .menu3 a:link, .menu3 a:visited {
        flex: 0 1 calc(16.66% - 5px);
        max-width: calc(16.66% - 5px);
        font-size: 97%;
        font-weight: 700;
    }
    .giornali a                               { min-height: 60px; }
    .menu2 a, .menu3 a:link, .menu3 a:visited { min-height: 38px; }
}

/* Desktop 1280px+: 7 colonne */
@media screen and (min-width: 1280px) {
    .giornali a, .menu2 a, .menu3 a:link, .menu3 a:visited {
        flex: 0 1 calc(14.28% - 5px);
        max-width: calc(14.28% - 5px);
        font-size: 100%;
        font-weight: 700;
    }
    .giornali a                               { min-height: 62px; }
    .menu2 a, .menu3 a:link, .menu3 a:visited { min-height: 40px; }
}

/* Wide 1680px+: 8 colonne – .page-wrapper già ristretto, margini liberi per AdSense */
@media screen and (min-width: 1680px) {
    .giornali a, .menu2 a, .menu3 a:link, .menu3 a:visited {
        flex: 0 1 calc(12.5% - 5px);
        max-width: calc(12.5% - 5px);
        font-size: 103%;
        font-weight: 700;
    }
    .giornali a                               { min-height: 64px; }
    .menu2 a, .menu3 a:link, .menu3 a:visited { min-height: 40px; }
}

.content{
    text-align:justify;
    font-size:95%;
    color:#000;
    line-height:1.5em;
    margin:2px;
    padding:2px;
}
.content h2{
    margin:0 0 0 5px;
    padding:0;
}
.content p{
    text-align:justify;
    line-height:1.4em;
    margin:0 5px 5px;
    padding:0;
}
.clear{
    clear:both;
}
.code{
    border:1px dotted #bbb;
    padding:0;
}
.numbering{
    background:#f2f2f2;
    color:#bbb;
    padding:2px 5px;
}
.tag{
    color:#0975a2;
}
.program{
    color:#ff003c;
}
.head{
    color:#804040;
    background:#f2f1db;
    border:2px 2px;
    margin:3px 2px 3px 0.5px;
    padding:7px;
    text-align:justify;
}
.logo a,.menu a{
    display:block;
    padding:8px 2px;
}
.title a,.banner a{
    display:block;
    padding:0;
}
.pubblicit-x-giornalimobi{
    width:100%;
    height:100px;
}
@media(min-width:500px){
    .pubblicit-x-giornalimobi{
        width:468px;
        height:60px
    }
}
@media(min-width:800px){
    .pubblicit-x-giornalimobi{
        width:728px;
        height:90px
    }
}
.footer{
    border-top:2px solid #565656;
    background:#f2f1db;
    font-size:12px;
    margin:10px 5px;
    padding:10px;
}
.footer p,.head p{
    font-size:14px;
    text-align:justify;
    margin:3px 2px 3px 0.5px;
}
.footer p a{
    padding:5px;
}
.footer p a:hover{
    color:red;
}
.titleBox_gsnb{;
}
a.statusItemSelected_gsnb{
    color:#000;
}
span.statusItemSep_gsnb{
    color:#6f6f6f;
}
.full_gsnb{
    display:block;
}
.empty_gsnb{
    display:none;
}
div.horizontal_gsnb{
    position:relative;
}
.titleBox_gsnb{
    font-size:125%;
    font-weight:bold;
}
div.statusBox_gsnb{
    padding-top:3px;
    padding-bottom:4px;
}
a.statusItem_gsnb{
    cursor:pointer;
    white-space:nowrap;
}
a.statusItemSelected_gsnb{
    font-weight:bold;
   
    border:none;
}
span.statusItemSep_gsnb{
    font-size:50%;
    margin-right:8px;
}
.vertical_gsnb .oneitem_gsnb{
    display:none;
}
.resultsBox_gsnb .resultDiv_gsnb *{
    border:none;
}
.resultsBox_gsnb .resultDiv_gsnb .gs-watermark{
    display:none;
}
.resultsBox_gsnb .resultDiv_gsnb b{
    font-weight:normal;
}
.resultsBox_gsnb .resultDiv_gsnb .gs-title{
    line-height:1em;
    height:1em;
    overflow:hidden;
}
.expanded_gsnb .resultDiv_gsnb .gs-publishedDate{
    display:none;
}
.expanded_gsnb .resultDiv_gsnb{
    margin-top:.18em;
}
.compressed_gsnb .resultDiv_gsnb .gs-publisher,.compressed_gsnb .resultDiv_gsnb .gs-location,.compressed_gsnb .resultDiv_gsnb .gs-publishedDate,.compressed_gsnb .resultDiv_gsnb .gs-snippet,.compressed_gsnb .resultDiv_gsnb .gs-clusterUrl{
    display:none;
}
.compressed_gsnb .resultDiv_gsnb{
    margin-top:.30em;
}
.brandingBox_gsnb{
    margin-top:.30em;
}
.gs-result .gs-title,.gs-result .gs-title *{
    color:#00c;
    text-decoration:underline;
}
.gsc-control-cse .gs-spelling,.gsc-control-cse .gs-result .gs-title,.gsc-control-cse .gs-result .gs-title *{
    font-size:13px;
}
.gsc-control-cse .gs-result .gs-spelling-original{
    font-size:13px;
}
.gs-divider{
    padding-bottom:8px;
    text-align:center;
    color:#676767;
}
.gs-result a.gs-visibleUrl,.gs-result .gs-visibleUrl{
    color:#008000;
    text-decoration:none;
}
.gs-relativePublishedDate,.gs-publishedDate{
    color:#6f6f6f;
    text-decoration:none;
}
.gs-result a.gs-clusterUrl,.gs-result .gs-clusterUrl{
    color:#008000;
    text-decoration:underline;
    cursor:pointer;
}
.gs-newsResult .gs-publisher{
    color:#6f6f6f;
    display:inline;
    text-decoration:none;
}
.gs-newsResult .gs-relativePublishedDate,.gs-newsResult .gs-publishedDate{
    display:inline;
    margin-left:4px;
}
.gs-blogResult .gs-relativePublishedDate,.gs-newsResult .gs-relativePublishedDate{
    display:none;
}
.gsc-blogResult .gs-blogResult .gs-publishedDate,.gsc-newsResult .gs-newsResult .gs-publishedDate{
    display:none;
}
.gsc-blogResult .gs-blogResult .gs-relativePublishedDate,.gsc-newsResult .gs-newsResult .gs-relativePublishedDate{
    display:inline;
}
.gs-newsResult .gs-location{
    color:#6f6f6f;
    display:inline;
    text-decoration:none;
}
.gs-promotion .gs-title,.gs-promotion .gs-title *{
    text-decoration:none;
}
.gs-promotion a.gs-title,.gs-promotion a.gs-title *{
    text-decoration:underline;
}
.gs-title .gs-promotion-title-right{
    color:#000;
}
.gsc-webResult.gsc-result.gsc-promotion{
    background-color:#fff;
}
span.gs-fileFormat{
    color:#666;
    font-size:2px;
}
span.gs-fileFormatType{
    font-size:12px;
}
.gs-promotion table{
    border:none;
    border-style:none;
    border-width:0;
    border-spacing:0 0;
    margin:0 0 0 0;
    padding:0 0 0 0;
}
.gs-promotion table .gs-snippet a span.gs-title,.gs-promotion table .gs-snippet a span.gs-title *{
    font-size:13px;
}
.gs-promotion em{
    font-style:normal;
    font-weight:bold;
}
.gs-promotion .gs-title em{
    color:inherit;
    text-decoration:inherit;
}
.gs-result img.gs-image,.gs-result img.gs-promotion-image{
    vertical-align:middle;
    border:1px solid #e2e2e2;
}
.gs-result div.gs-phone{;
}
.gs-result .gs-directions,.gs-result .gs-directions *{
    color:#77c;
    font-weight:normal;
    text-decoration:underline;
    cursor:pointer;
}
.gs-secondary-link,.gs-secondary-link *{
    color:#77c;
    font-weight:normal;
    text-decoration:underline;
    cursor:pointer;
}

/* =========================
   NOTIZIE
========================= */

 /* IL TUO CSS PERSONALIZZATO ADATTATO */
        .container-ticker { width: 100%; margin: 0 auto 0px auto; }

/* Sistemiamo i contenitori delle notizie e dei bottoni per rispettare la spaziatura globale */
.container-main {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;         /* Lasciamo che erediti il padding del body */;
}

        .sezione-titolo { text-align: center; color: #6b642e; text-transform: uppercase; letter-spacing: 3px; font-weight: 800; margin: 5px 0; font-size: 1.2em; }

        /* Stile Ticker Flash */
  

.tikernewsclass { 
    background: linear-gradient(90deg, #030e3f 0%, #3d5ce6 100%);
    color: #fff; 
    border: 1px solid rgba(194, 186, 75, 0.2);
    border-radius: 7px;
    height: 45px; /* Altezza fissa per desktop */
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 0 10px;;
}

/* Stile per il link (Titolo) */
.tikernewsclass a { 
    font-family: 'Roboto Condensed', sans-serif; 
    color: #ffeb3b !important; 
    text-decoration: none; 
    font-weight: bold; 
    white-space: nowrap; /* Su desktop resta su una riga */;
}

/* Stile per la data e la fonte (Testo piccolo) */
.tikernewsclass div, .tikernewsclass span { 
    font-family: 'Roboto Condensed', sans-serif; ;
}

/* Regola specifica per MOBILE */
@media screen and (max-width: 768px) {
    .tikernewsclass {
        height: auto !important; /* Diventa elastico */
        min-height: 55px;
        padding: 8px 10px !important; /* Più spazio interno per non toccare i bordi */
        display: flex;
        align-items: center; /* Centra l'immagine rispetto al blocco testo */
    }

    .tikernewsclass a {
        white-space: normal !important; /* La notizia può andare a capo */
        font-size: 13px !important;
        line-height: 1.2 !important;
        display: block;
        margin-bottom: 4px; /* Sposta il titolo lontano dalla fonte */
    }

    /* Protezione per Fonte e Data */
    .tikernewsclass div span {
        font-size: 10px !important;
        display: inline-block; /* Aiuta a mantenere la riga integra */
        vertical-align: middle;
    }
}

        /* REGOLE PER LE SCHEDE NOTIZIE (MAIN.PHP) */
        .news-frame {
            background-color: #ffffee; padding: 18px; margin-bottom: 15px;
            border-radius: 4px; display: flex; gap: 20px;
             border:1px solid #e2dea9;
            transition: all 0.4s ease; cursor: pointer; align-items: flex-start;
        }
        .news-frame:hover { background-color: #fff; box-shadow: 0 4px 15px rgba(107, 100, 46, 0.1); border-color: rgba(107, 100, 46, 0.4); }

        .thumb-wrapper { flex-shrink: 0; overflow: hidden; border-radius: 7px; }
        
        /* Effetto Black & White / Sepia */
        .news-thumb { width: 170px; height: 110px; object-fit: cover; filter: sepia(30%) contrast(1.1) brightness(1.05); display: block; }
        .news-frame:hover .news-thumb { filter: contrast(130%) hue-rotate(4deg) grayscale(5%); }

        .news-content { flex-grow: 1; display: flex; flex-direction: column; }
        .meta-data { font-family: 'Roboto Condensed', sans-serif; font-size: 13px; color: #555; text-transform: uppercase; display: flex; /* Usiamo flex per allineare tutto perfettamente */ align-items: center; gap: 10px; /* Questo imposta la stessa identica distanza tra ogni elemento */ }
        .separator { color: #555; font-weight: bold; }
        
        .source-name { color: #2d5a27; font-weight: 700; margin-right: 10px; }
        .news-title-link { color: #111 !important; text-decoration: none; font-size: 19px; font-weight: 600; line-height: 1.2; margin-bottom: 8px; display: block; }
        .news-description { color: #333; font-size: 14px; margin: 0; line-height: 1.5; text-align: justify; }

        #timer-container { text-align: center; font-size: 12px; margin-bottom: 5px; color: #6b642e; }
        #countdown { font-weight: bold; color: #d9534f; }

        .btn-refresh { background-color: #e2dea9; color: #111; border: 1px solid #d0ca77; margin-left: 10px; padding: 6px 12px; border-radius: 4px; cursor: pointer; font-family: 'Roboto Condensed', sans-serif; font-weight: bold; font-size: 12px; text-transform: uppercase;}
        .btn-refresh:hover { background-color: #d0ca77; /* colore più scuro al passaggio del mouse */}
        .sezione-titolo { border-left: 5px solid #cc0000; padding-left: 10px; margin-bottom: 20px; font-size: 18px; text-transform: uppercase; font-weight: 900; }

        @media (max-width: 600px) {
            h1 { font-size: 1.3em; letter-spacing: 1px; margin: 3px 0; }

            /* FIX Tor + Kodular WebView: dopo rotazione questi browser
               non riscalcolano il viewport. max-width:100vw è sempre
               agganciato alla larghezza fisica attuale dello schermo,
               a differenza di width:100% che rimane bloccato sulla
               larghezza landscape. overflow:hidden taglia il contenuto
               che sfora senza dipendere da JavaScript. */

            .container-main,
            #rassegnastampa {
                max-width: 100vw;
                overflow-x: hidden;
                box-sizing: border-box;
            }

            .news-frame {
                flex-direction: column;
                text-align: justify;
                max-width: 100vw;
                width: 100%;
                box-sizing: border-box;
                overflow: hidden;
            }

            .news-content {
                max-width: 100%;
                overflow: hidden;
                box-sizing: border-box;
            }

            .news-title-link {
                white-space: normal;
                word-break: break-word;
                max-width: 100%;
            }

            .news-description {
                word-break: break-word;
                max-width: 100%;
            }

            .meta-data {
                flex-wrap: wrap;
                max-width: 100%;
            }

            .thumb-wrapper {
                margin: 0 auto 10px auto;
                max-width: 100%;
            }

            .news-thumb { width: 100%; height: auto; max-height: 200px; }
        }

/* =========================
   fine NOTIZIE
========================= */