/* --- Related Posts (CRP Plugin) --- */
.crp_related_post_block.is-layout-flow.wp-block-group-is-layout-flow div.crp_related.crp_related_shortcode.crp-text-only ul {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    list-style: none;
    margin: 20px;
    /* Considera se 0 è meglio se il parent ha già padding */
    padding: 0px;
}

.crp_related_post_block.is-layout-flow.wp-block-group-is-layout-flow div.crp_related.crp_related_shortcode.crp-text-only ul li {
    width: -moz-available !important;
    /* Non standard */
    width: -webkit-fill-available !important;
    /* Non standard */
    width: stretch !important;
    /* Non standard, ma supportato da alcuni */
    /* Fallback più sicuro: */
    /* width: 100%; */
    /* O gestito da flex-basis sotto */
    padding: 0px;
    border-top: 3px solid var(--wp--preset--color--primary);
    margin-bottom: 20px;
    min-width: 200px;
    background-color: var(--wp--preset--color--secondary);
    /* flex-basis: calc(50% - 5px); /* Esempio per 2 colonne con gap */
}

/* Selettori per colonne pari/dispari (funzionano con flex/grid gap) */
.crp_related_post_block.is-layout-flow.wp-block-group-is-layout-flow div.crp_related.crp_related_shortcode.crp-text-only ul li:nth-child(odd) {
    max-width: calc(50% - 5px);
    /* 5px è metà del column-gap di 10px */
}

.crp_related_post_block.is-layout-flow.wp-block-group-is-layout-flow div.crp_related.crp_related_shortcode.crp-text-only ul li:nth-child(even) {
    max-width: calc(50% - 5px);
    /* Stesso di odd, se il gap è corretto */
}

.crp_related_post_block.is-layout-flow.wp-block-group-is-layout-flow div.crp_related.crp_related_shortcode.crp-text-only ul li a.crp_link {
    text-decoration: none;
    margin: 0px;
    padding: 10px 15px;
    /* Rimosso padding duplicato */
    display: block;
    height: 100%;
    color: var(--wp--preset--color--contrast);
    /* font-variant: small-caps; incluso nel gruppo */
    font-size: var(--wp--preset--font-size--medium);
    font-weight: bold;
    line-height: 1.8rem;
}

.crp_related_post_block.is-layout-flow.wp-block-group-is-layout-flow div.crp_related.crp_related_shortcode.crp-text-only ul li a.crp_link:hover {
    color: var(--wp--preset--color--primary);
}

.related-posts-section-title,
.trendy-posts-section-title,
.sponsored-links {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    padding: 20px;
    font-variant: small-caps;
    font-size: var(--wp--preset--font-size--large);
    line-height: 1.8rem;
}

.in_post-related {
    /* Blocco contenitore? */
    color: var(--wp--preset--color--base);
    /* Applicato a cosa? */
    padding: 5px 10px;
    margin: 10px 0;
    /* Rimosso 0 duplicato */
    display: inline-flex;
    /* O flex? */
}

.in_post-related.is-layout-flex,
.offer-request.is-layout-flex {
    /* Raggruppato */
    gap: 0;
}

div .in_post-related span {
    /* Selettore un po' generico */
    font-size: var(--wp--preset--font-size--medium) !important;
    color: var(--wp--preset--color--base);
    text-transform: none;
}

.in_post-related>div.crp_related>ul {
    list-style: none;
    padding: 0;
    margin: 0px 0px 0px 10px;
}

.in_post-related>div.crp_related>ul>li:hover {
    text-decoration: underline !important;
    /* Attenzione a !important */
}

div.crp_related span.crp_title {
    font-size: clamp(18px, 3vw, 40px);
}

/* Styling for structural images (Conclusioni, FAQ, Fonti) */
img.ts-structural-image {
    border-radius: 30px;
}

.wp-image-11767,
.wp-image-11768,
.wp-image-11901,
.wp-image-11895 {
    /* Selettore molto specifico, forse usare una classe? */
    border-radius: 30px;
}

/* --- Popular Posts (WPP Plugin?) & Category Posts --- */
.wpp-list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    /* list-style-type: none; definito sotto */
    /* margin: 0px; definito sotto */
    /* padding: 0px; definito sotto */
}

.postsbycategory,
/* Raggruppato con .wpp-list */
.wpp-list {
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

.postsbycategory li.list-item,
/* Raggruppato con .wpp-list li */
.wpp-list li {
    line-height: 16px;
    background-color: var(--wp--preset--color--secondary);
    padding: 0px;
    /* Link interno ha padding */
    font-size: 1rem;
    /* Spostato da .postsbycategory */
    border-top: 3px solid var(--wp--preset--color--primary);
    /* Spostato da .wpp-list li */
    margin-bottom: 20px;
    /* Spostato da .wpp-list li */
    min-width: 200px;
    /* Spostato da .wpp-list li */
    width: -moz-available !important;
    /* Non standard, rimosso */
    width: -webkit-fill-available !important;
    /* Non standard, rimosso */
    /* width: stretch !important; */
    /* Alternativa non standard */
    /* Considera flex-basis sui li invece di width non standard */
    /* flex-basis: calc(50% - 5px); */
    /* Esempio se dentro flex/grid */
}

.postsbycategory li.list-item a,
/* Raggruppato con .wpp-list li a */
.wpp-list li a {
    text-decoration: none;
    margin: 0px;
    padding: 10px 15px;
    /* Rimosso padding duplicato */
    display: block;
    height: 100%;
    color: var(--wp--preset--color--contrast);
    font-variant: small-caps;
}

.postsbycategory li.list-item a:hover,
/* Raggruppato con .wpp-list li a:hover */
.wpp-list li a:hover {
    color: var(--wp--preset--color--primary);
}

.wp-block-tag-cloud {
    --color: var(--wp--preset--color--contrast);
    --style: italic;
    --background: none;
    --padding: 5px;
    --decoration: none;
}

.wp-block-tag-cloud.is-style-outline {
    display: flex;
    flex-wrap: wrap;
    /* gap: 1ch; */
    /* Commentato nell'originale */
    margin: 20px;
}

/* Colonne pari/dispari WPP */
.wpp-list li:nth-child(odd) {
    max-width: calc(50% - 5px);
}

.wpp-list li:nth-child(even) {
    max-width: calc(50% - 5px);
    /* Corretto come odd se gap è 10px */
}

div .popular-posts img {
    /* Selettore un po' generico */
    max-width: 100%;
    object-fit: cover;
    width: 100%;
    max-height: 225px;
}

div .popular-posts h3 {
    /* Selettore un po' generico */
    font-size: var(--wp--preset--font-size--large);
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--secondary);
    /* Testo colore sfondo? Controlla contrasto */
    padding: 1.25em 2.375em;
    font-variant: small-caps;
}

div .wpp-post-title {
    /* Selettore un po' generico */
    font-size: var(--wp--preset--font-size--medium);
    font-weight: bold;
    line-height: 1.8rem;
    padding: 20px;
}

div .wpp-date {
    /* Selettore un po' generico */
    display: block;
    margin-bottom: 2em;
}

.wpp_featured {
    /* Per immagine WPP? */
    transition: transform .2s;
}

.wpp_featured:hover {
    /* Per immagine WPP? */
    transform: scale(1.1);
}

.categoryposts-heading,
.most-viewed-heading {
    font-variant: small-caps;
    font-size: 1.1rem;
    padding: 1.25em 2.375em;
    color: var(--wp--preset--color--base);
    font-weight: 400;
    letter-spacing: -0.06rem;
    line-height: 1.4;
}

.categoryposts-heading>a>img.category_image {
    vertical-align: middle;
    margin-right: 10px;
}

/* --- Author Box & Snippet --- */
.author-box {
    text-align: justify;
    padding: 10px;
    margin-top: 20px;
    background: var(--wp--preset--color--secondary);
}

.author-box p {
    margin-bottom: 0.25em;
    font-size: 14px;
    color: #000;
    padding-left: 20px;
    padding-right: 20px;
}

.author-box a {
    /* Questo stile si applica a TUTTI i link dentro author-box? */
    margin-bottom: 0.25em;
    /* Strano su un link inline */
    font-size: 14px;
    color: #000;
}

.author-snippet {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 20px;
}

.avatar {
    /* Usato sia in snippet che in box */
    float: left;
    /* Considera flexbox */
    margin: 10px 10px 0px 10px;
    /* Sovrascritto da snippet */
}

.author-snippet .avatar {
    margin: 5px 5px 0px 0px;
    /* Sovrascrive il margin di .avatar */
}

.avatar img,
.author-box .avatar img {
    /* Raggruppato */
    border-radius: 50px;
}

.author-box .author-label {
    /* font-variant: small-caps; incluso nel gruppo */
    margin-top: 20px;
    margin-bottom: 0px !important;
    font-size: var(--wp--preset--font-size--large);
}

.author-box .author-title {
    font-weight: bold;
    text-align: left;
}

.author-box .author-socials {
    padding: 0;
}

.author-box .author-socials .social-icon {
    display: inline-block;
    font-size: 18px;
    text-decoration: none;
    padding: 0px 8px;
    /* Rimosso padding duplicato */
}

.author-socials a+a {
    /* Spazio tra icone social autore */
    margin-left: 10px;
}

/* --- Social Sharing Buttons --- */
.social-buttons {
    position: -webkit-sticky;
    /* Definito due volte, unito sotto */
    position: sticky;
    top: 100px;
    z-index: 99;
    /* Definito 99 e 1000 altrove (.sticky-bottom), verifica priorità */
    background-color: var(--wp--preset--color--primary) !important;
    /* Aggiunto !important per coerenza con sticky-sidebar */
    text-align: center;
    margin: 2rem auto;
    /* Stili per larghezza piena aggiunti */
    width: 100%;
    left: 0;
    right: 0;
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
}

.social-buttons_inner,
/* Correggi typo? O è una classe diversa? */
.social-buttons__inner {
    /* Selettori quasi uguali */
    display: flex;
    /* Cambiato da inline a flex per usare align/justify/gap */
    align-items: center;
    justify-content: center;
    /* O altro allineamento */
    gap: 10px;
    /* Spazio tra elementi */
    overflow: hidden;
    padding: .25rem .5rem;
    /* Rimosso padding duplicato */
    /* background-color: var(--wp--preset--color--primary); Rimosso perché già sul parent .social-buttons */
    margin-left: -20px;
    /* Questi margini negativi sono sospetti, potrebbero causare overflow */
    margin-right: -20px;
}

.share-cta {
    color: var(--wp--preset--color--base);
    font-size: 1.2rem;
    margin: 0 15px 0 0 !important;
    /* Aggiunto !important per coerenza */
    font-weight: 500;
    padding: 0;
    /* Aggiunto da stile sticky */
}

.social-icon {
    /* Stile base per tutte le icone social */
    display: inline-block;
    background-color: var(--wp--preset--color--primary);
    padding: .45rem 0.5rem;
    /* Rimosso padding duplicato */
    border-radius: 30px;
    font-size: 24px;
    text-decoration: none;
}

.social-page>.social-icon {
    /* Icone nella pagina social hanno sfondo diverso */
    background-color: var(--wp--preset--color--contrast);
}

div.pum-content.popmake-content div.social-page p a.social-icon {
    /* Selettore molto specifico */
    padding: .45rem 0rem;
    /* Rimuove padding laterale */
}

div.author-socials a.social-icon {
    /* Icone social autore hanno padding diverso */
    padding: .45rem 1rem;
}

div.author-socials .social-icon {
    background-color: var(--wp--preset--color--primary) !important;
}

/* --- Icon Font Setup (Base) --- */
.icon::before {
    speak: none;
    font-style: normal;
    font-weight: 400;
    /* Sovrascritto sotto? */
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--wp--preset--color--base);
    /* Colore base icone */
    text-rendering: auto;
    /* Spostato da definizioni specifiche */
}

/* --- Specific Icon Definitions & Hovers --- */
.icon-google::before {
    content: "\f1a0";
    font: var(--fa-font-brands);
}

.icon-facebook::before {
    content: "\f39e";
    font: var(--fa-font-brands);
}

.icon-twitter::before {
    content: "\e61b";
    font: var(--fa-font-brands);
}

/* Controlla se \e61b è corretto per X/Twitter in FA Brands */
.icon-linkedin::before {
    content: "\f0e1";
    font: var(--fa-font-brands);
}

.icon-pinterest::before {
    content: "\f231";
    font: var(--fa-font-brands);
}

.icon-reddit::before {
    content: "\f1a1";
    font: var(--fa-font-brands);
}

.icon-whatsapp::before {
    content: "\f232";
    font: var(--fa-font-brands);
}

.icon-telegram::before {
    content: "\f1d8";
    font: var(--fa-font-solid);
}

/* Diverso font set */
.icon-instagram::before {
    content: "\f16d";
    font: var(--fa-font-brands);
    color: var(--wp--preset--color--base);
    text-rendering: auto;
}

.icon-instagram:hover::before {
    color: var(--wp--preset--color--primary);
}

.icon-tiktok::before {
    content: "\e07b";
    font: var(--fa-font-brands);
    color: var(--wp--preset--color--base);
    text-rendering: auto;
}

.icon-tiktok:hover::before {
    color: var(--wp--preset--color--primary);
}

.icon-youtube::before {
    content: "\f167";
    font: var(--fa-font-brands);
    color: var(--wp--preset--color--base);
    text-rendering: auto;
}

.icon-youtube:hover::before {
    color: var(--wp--preset--color--primary);
}

.icon-email::before {
    content: "\f0e0";
    font: var(--fa-font-solid);
}

/* Diverso font set */
.icon-globe::before {
    content: "\f0ac";
    font: var(--fa-font-solid);
}

/* Diverso font set */

/* Icon Hover (General) */
.icon:hover::before {
    color: var(--wp--preset--color--contrast) !important;
    /* Aggiunto !important per coerenza */
}

/* Icon Hover (Social Page Specific) */
.social-page>.icon:hover::before,
/* Selettore generico per social page */
div.social-page div.social-page__inner a.social-icon.icon-facebook:hover::before,
/* Raggruppato sotto */
div.social-page div.social-page__inner a.social-icon.icon-twitter:hover::before,
.social-page>.icon-google:hover::before,
/* Raggruppato sotto */
.social-page>.icon-facebook:hover::before,
.social-page>.icon-twitter:hover::before,
.social-page>.icon-linkedin:hover::before,
.social-page>.icon-pinterest:hover::before,
.social-page>.icon-reddit:hover::before,
.social-page>.icon-whatsapp:hover::before,
.social-page>.icon-telegram:hover::before {
    color: var(--wp--preset--color--primary) !important;
    /* Aggiunto !important */
}

div.social-page div.social-page__inner a.social-icon.icon-instagram::before {
    content: "\f16d";
    font: var(--fa-font-brands);
    color: var(--wp--preset--color--contrast);
    text-rendering: auto;
}

div.social-page div.social-page__inner a.social-icon.icon-instagram:hover::before {
    color: var(--wp--preset--color--primary);
}

div.social-page div.social-page__inner a.social-icon.icon-tiktok::before {
    content: "\e07b";
    font: var(--fa-font-brands);
    color: var(--wp--preset--color--contrast);
    text-rendering: auto;
}

div.social-page div.social-page__inner a.social-icon.icon-tiktok:hover::before {
    color: var(--wp--preset--color--primary);
}

div.social-page div.social-page__inner a.social-icon.icon-youtube::before {
    content: "\f167";
    font: var(--fa-font-brands);
    color: var(--wp--preset--color--contrast);
    text-rendering: auto;
}

div.social-page div.social-page__inner a.social-icon.icon-youtube:hover::before {
    color: var(--wp--preset--color--primary);
}

/* Icon Specific Styles (Social Page) - Raggruppabili se il colore base è lo stesso */
div.social-page div.social-page__inner a.social-icon.icon-facebook::before,
div.social-page div.social-page__inner a.social-icon.icon-twitter::before {
    color: var(--wp--preset--color--contrast);
    /* text-rendering: auto; già in .icon::before */
    /* font: var(--fa-font-brands); già definito per icona specifica */
}


/* --- Sticky Sidebar Social Buttons --- */
.sticky-sidebar .social-buttons {
    /* Stili specifici quando la barra è nella sidebar */
    margin: 0 auto;
    background-color: var(--wp--preset--color--base);
}

.sticky-sidebar .social-buttons__inner {
    background-color: var(--wp--preset--color--base);
    width: 90%;
    /* Potrebbe non essere necessario con flex/padding */
}

.sticky-sidebar .share-cta {
    color: var(--wp--preset--color--contrast);
    font-size: 1rem;
}

.sticky-sidebar .social-icon {
    background-color: var(--wp--preset--color--base);
}

.sticky-sidebar .icon::before {
    color: var(--wp--preset--color--base) !important;
}

.sticky-sidebar .icon:hover::before {
    color: var(--wp--preset--color--contrast) !important;
}

/* --- Social Page --- */
.social-page {
    background-color: var(--wp--preset--color--contrast);
    position: relative;
    /* Già definito */
    text-align: center;
    /* Già definito */
    margin: 0 auto;
    /* Già definito */
    display: flex;
    justify-content: center;
    align-items: center;
}

.ts-popup-content>.social-page {
    background-color: var(--wp--preset--color--base);
    display: block;
}

.social-page_inner,
/* Correggi typo? O è una classe diversa? */
.social-page__inner {
    display: inline;
    /* Inline non accetta padding/margin verticali */
    overflow: hidden;
    /* Con inline? */
    padding: .25rem .5rem;
    background-color: var(--wp--preset--color--white);
    /* Spostato da .social-page */
    border-radius: 4px;
    /* Spostato da .social-page */
}

div.social-page div.social-page__inner a.social-icon {
    /* Selettore molto specifico */
    background-color: var(--wp--preset--color--white);
    /* Già ereditato? */
    font-size: 36px;
    text-decoration: none;
    /* Già su .social-icon */
    padding: 1rem;
}