/* --- WhatsApp/Telegram Promo Boxes --- */
.whatsapp-box,
.telegram-box {
    /* Raggruppato stile base */
    color: var(--wp--preset--color--contrast);
    display: flex;
    align-items: center;
    padding: 15px;
    border-radius: 8px;
    margin: 20px auto;
    /* Sovrascritto in @media */
}

.whatsapp-box {
    background-color: #25D366;
}

.telegram-box {
    background-color: #0088cc;
}

.whatsapp-box img,
.telegram-box img {
    /* Raggruppato */
    margin-right: 15px;
}

.whatsapp-box p.cta,
.telegram-box p.cta {
    /* Raggruppato */
    margin: 0 0 5px 0;
    font-size: 1.5rem;
    /* font-variant: small-caps; incluso nel gruppo */
    line-height: 1.5rem;
}

.whatsapp-box p,
.telegram-box p {
    /* Raggruppato (ma sovrascrive stile di p.cta sopra) */
    margin: 0 0 15px 0;
    /* Applicato anche a p.cta */
}

.whatsapp-box a,
.telegram-box a {
    /* Raggruppato */
    text-decoration: none;
}

.whatsapp-box a:hover,
.telegram-box a:hover {
    /* Raggruppato */
    text-decoration: none;
    color: var(--wp--preset--color--base) !important;
    background-color: var(--wp--preset--color--contrast) !important;
}

.whatsapp-box .cta-button,
.telegram-box .cta-button {
    /* Raggruppato */
    background-color: var(--wp--preset--color--white) !important;
    display: ruby;
}

.whatsapp-box .cta-button,
.telegram-box .cta-button {
    color: var(--wp--preset--color--contrast) !important;
}

/* --- Misc --- */
img.flaticon {
    /* Probabilmente per icone specifiche */
    padding-top: 6px !important;
    padding-right: 6px !important;
}

footer {
    margin-top: 0px;
}

footer div {
    /* Selettore molto generico, potrebbe causare problemi */
    gap: 0px !important;
}

footer nav {
    /* Selettore molto generico */
    gap: 0px !important;
}

.zoom {
    transition: transform .2s;
}

.zoom:hover {
    transform: scale(1.1);
}

div .schema-faq-section {
    margin-bottom: 3rem;
}

div .wp-block-column .cookieAlert {
    /* Sovrascrive margine per colonne */
    margin-left: 0px;
    margin-right: 0px;
}

/* Mautic Form */
#mauticform_wrapper_newsletter {
    background-color: var(--wp--preset--color--base);
    padding: 20px;
}

.category-form {
    background-color: var(--wp--preset--color--base);
}

.category-form .cta {
    background-color: var(--wp--preset--color--base) !important;
    /* Per sovrascrivere cosa? */
}

.category-form .mauticform_wrapper {
    background-color: var(--wp--preset--color--base);
    padding-top: 20px;
    max-width: unset;
    /* Rimuove eventuali max-width */
}

/* Read More Link/Button? */
[id^="readlink"] {
    display: block;
    margin: 20px 0;
    /* Rimosso margin duplicato */
    color: var(--wp--preset--color--base) !important;
    text-decoration: none;
    border: none;
    background: var(--wp--preset--color--contrast);
    will-change: opacity;
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 4px;
    -webkit-transition: background 0.2s, color 0.2s;
    transition: background 0.2s, color 0.2s;
    box-shadow: 0 1px 4px -2px black, inset 0 2px 1px -1px rgba(255, 255, 255, 0.1);
    /* font-variant: small-caps; incluso nel gruppo */
}

[id^="readlink"]:hover {
    background: var(--wp--preset--color--primary);
}

/* Intro List? */
div.intro-list-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Yoast Reading Time */
.yoast-reading-time__icon {
    vertical-align: middle;
}

/* Backlink Top? */
a.cmtt-backlink-top {
    display: none;
}

/* Query Block */
div.wp-block-query.is-layout-flow {
    margin-block-start: 0;
    margin-block-end: 0;
}

/* Black Hover Util? */
.blackHover .wp-element-button:hover,
/* Raggruppato sotto */
a.blackHover.wp-block-button__link.has-white-color.has-vivid-red-background-color:hover {
    /* Selettore molto specifico */
    background-color: var(--wp--preset--color--contrast) !important;
    /* Corretto da 'contrast' */
}

/* ==========================================================================
   Responsive Styles (Grouped & Consolidated)
   ========================================================================== */

@media only screen and (max-width: 600px) {
    .scrolling {
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
        height: auto !important;
    }

    /* Rimuove sticky dalla sidebar su mobile */
    .sticky-sidebar {
        position: relative !important;
        top: auto !important;
    }

    div.left-sidebar {
        border-right: none;
    }

    div.sticky-sidebar>div#ez-toc-container,
    .mobile-toc {
        /* Aggiunto mobile-toc qui per coerenza */
        border-left: 3px solid var(--wp--preset--color--primary) !important;
        margin: 10px 0px 20px 0px !important;
        border-right: none !important;
        /* Da mobile-toc */
        border-radius: 0;
        /* Da mobile-toc */
        height: auto !important;
        /* Da mobile-toc */
    }



    .hide-on-mobile {
        display: none !important;
    }

    .show-on-mobile {
        display: inline-block !important;
    }

    .published-date,
    .updated-date,
    .reading-time {
        /* Stile display per mobile */
        display: inline-block;
    }

    .author-name {
        /* Stile display per mobile */
        display: block;
    }

    .atf {
        min-height: 325px !important;
        /* Valore consolidato (medio) dagli intervalli precedenti */
    }

    .homepage-ads {
        min-height: 312px;
        /* Valore consolidato dagli intervalli precedenti */
        /* Stili comuni già definiti in .homepage-ads base */
    }

    .scrolling-max {
        min-height: 360px !important;
        /* Sembra costante nei blocchi mobile */
    }

    .lslide.active {
        height: 520px;
        /* Sembra costante nei blocchi mobile */
    }

    .wpp-list li,
    .crp_related_post_block.is-layout-flow.wp-block-group-is-layout-flow div.crp_related.crp_related_shortcode.crp-text-only ul li {
        max-width: 100% !important;
        /* Rimuove le colonne */
        width: 100% !important;
        /* Assicura larghezza piena */
        flex-basis: 100% !important;
        /* Per flexbox */
    }

    /* Nested Orientation Rules */
    @media (orientation: portrait) {
        .large-table {
            display: none;
        }

        .large-table-wrapper {
            height: 300px;
            background-image: url('https://blog.tuttosemplice.com/wp-content/uploads/2024/03/rotate-terminal.webp');
            background-size: 50%;
            background-position: center;
            background-repeat: no-repeat;
        }
    }

    @media (orientation: landscape) {
        .large-table {
            display: block;
        }
    }
}

/* Tablet (Portrait & Landscape) */
@media only screen and (min-width: 601px) and (max-width: 834px) {
    .hide-on-tablet {
        display: none !important;
    }

    .show-on-tablet {
        display: block !important;
    }

    .lslide.active {
        height: 380px;
    }

    /* .homepage-ads rule è identica a quella mobile, forse può essere rimossa qui se non serve override */
    /* .homepage-ads { ... } */
}

/* Landscape Tablets & Small Laptops */
@media only screen and (min-width: 768px) {
    .atf {
        min-height: 280px !important;
    }

    .subtitle-ad {
        margin-top: 20px !important;
    }

    /* Questa regola era definita solo per 781px, forse è qui il posto giusto? */
    div#ez-toc-container>nav:not(.mobile-toc) {
        /*height: 220px;*/
    }
}

/* Desktop */
@media only screen and (min-width: 835px) {
    .show-on-desktop {
        display: block !important;
    }

    .hide-on-desktop {
        display: none !important;
    }

    .lslide.active {
        height: 380px;
        /* Uguale a tablet, potrebbe essere spostato in min-width: 601px? */
    }
}

/* Box principale - Contenitore Flex */
.box-invito-commenti {
    display: flex;
    align-items: center;
    /* Allinea verticalmente icona e testo */
    gap: 20px;
    /* Spazio tra icona e testo */

    /* Colori del tuo brand */
    background-color: var(--wp--preset--color--secondary);
    /* Sfondo chiaro */
    border-left: 5px solid var(--wp--preset--color--primary);
    /* Bordo rosso */

    /* Stili e Spaziatura */
    padding: 20px 25px;
    margin: 30px 0;
    border-radius: 5px;
}

/* Contenitore dell'icona SVG */
.box-invito-icona {
    flex-shrink: 0;
    /* Impedisce all'icona di rimpicciolirsi */
}

.box-invito-icona svg {
    display: block;
    /* Rimuove spazio extra sotto l'SVG */
    width: 45px;
    height: 45px;
}

/* Contenitore del testo */
.box-invito-testo {
    color: var(--wp--preset--color--contrast);
    /* Testo nero */
    font-size: 1.1em;
    line-height: 1.6;
}

/* Paragrafi all'interno del box */
.box-invito-testo p {
    margin-top: 0;
    margin-bottom: 0;
}

/* Stiliamo il link della Call to Action */
.box-invito-testo a {
    color: var(--wp--preset--color--primary);
    /* Applica il colore rosso primario */
    text-decoration: none;
    /* Rimuove la sottolineatura di default */
}

/* Aggiungiamo un feedback (sottolineatura) al passaggio del mouse */
.box-invito-testo a:hover {
    text-decoration: underline;
    color: black;
}

.box-invito-testo strong {
    color: black;
}

/* --- CRP Featured Image Zoom Effect --- */
.crp-featured-img {
    transition: transform 0.3s ease;
    overflow: hidden;
}

.crp_related li:hover .crp-featured-img {
    transform: scale(1.05);
}

.crp_related li>div {
    overflow: hidden;
}

/* ==========================================================================
   Anti-CLS AdSense Heights (User Request)
   ========================================================================== */
.ads {
    min-height: 280px;
    /* Base height for mobile (300x250) */
    display: block;
    /* Ensure block level */
}

@media (min-width: 768px) {
    .ads {
        min-height: 280px;
        /* Tablet */
    }
}

@media (min-width: 1024px) {
    .ads {
        min-height: 280px;
        /* Desktop - accommodate 300x250 or similar */
    }
}