/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Child theme di Hello Elementor, creato dal team Elementor
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ===================================================================
   INDICE
   ===================================================================
   1. GLOBAL STYLES
   2. HEADER & FOOTER
   3. BLOG & CATEGORIES
   4. SEARCH FUNCTIONALITY
   5. POST CONTENT
   6. AUTHOR SECTIONS
   7. BREADCRUMB
   8. RESPONSIVE DESIGN
   9. UTILITIES & EXTRAS
   =================================================================== */

/* ===================================================================
   1. GLOBAL STYLES
   =================================================================== */

/* Outline button and link */
a, button, .elementor-widget-button:focus-visible {
    outline: none !important;
}

/* ===================================================================
   2. HEADER & FOOTER
   =================================================================== */

/* Link privacy e cookies footer */
.lista-link-footer ul {
    flex-wrap: nowrap !important;
}

.lista-link-footer ul .elementor-icon-list-text {
    word-break: initial;
}

.lista-link-footer ul a {
    color: var(--e-global-color-f50184b);
}

.trustpilot-widget-footer:hover {
    opacity: .83;
}

/* Burger menu mobile */
:root {
    --burger-color: #1e1b4b;
}

.navbar_menu-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
}

.menu-icon1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
}

.menu-icon1_line-top,
.menu-icon1_line-bottom,
.menu-icon1_line-middle-inner {
    background-color: var(--burger-color);
    width: 24px;
    height: 2px;
    border-radius: 2px;
    transform-style: preserve-3d;
}

.menu-icon1_line-top {
    transform: translate3d(0, 0, 0) rotateZ(0deg);
}

.menu-icon1_line-bottom {
    transform: translate3d(0, 0, 0) rotateZ(0deg);
}

.menu-icon1_line-middle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 2px;
    margin: 6px 0;
}

.menu-icon1_line-top,
.menu-icon1_line-bottom {
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.menu-icon1_line-middle-inner {
    transition: width 0.4s cubic-bezier(0.55, 0.06, 0.68, 0.19);
}

/* Stato aperto (X) */
.w--open .menu-icon1_line-top {
    transform: translate3d(0, 8px, 0) rotateZ(-45deg);
}

.w--open .menu-icon1_line-bottom {
    transform: translate3d(0, -8px, 0) rotateZ(45deg);
}

.w--open .menu-icon1_line-middle-inner {
    width: 0;
}

/* ===================================================================
   3. BLOG & CATEGORIES
   =================================================================== */

/* Toggle categorie nella pagina blog */
.categorie-toggle-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.categorie-toggle-container>p {
    margin: 0;
    width: 100%;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
}

.categorie-toggle-container a:not(.toggle-all-button),
.categorie-articolo-corrente p {
    font-family: "Inter", Sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    border: 1px solid var(--e-global-color-8dd44c1);
    padding: 4px 8px;
    border-radius: 30px;
    color: var(--e-global-color-8dd44c1);
    cursor: pointer;
    background: var(--e-global-color-7c015ae);
    width: max-content;
}

.toggle-all-button-wrapper {
    width: 100%;
}

.toggle-all-button,
.toggle-all-button:hover {
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    color: var(--e-global-color-primary) !important;
    text-decoration: underline;
    padding: 5px 0;
    cursor: pointer;
}

.categorie-toggle-container a.selected {
    background: var(--e-global-color-primary) !important;
    color: #ffffff !important;
    border-color: var(--e-global-color-primary) !important;
}

#subcategories-wrapper {
    margin-top: 8px;
}

/* Chip categorie articolo corrente */
.current-post-category-chip {
    display:flex;
    flex-wrap: wrap;
    gap: 9px;
}
.current-post-category-chip a {
    border: 1px solid var(--e-global-color-8dd44c1);
    background: var(--e-global-color-76ec309);
    color: var(--e-global-color-8dd44c1);
    padding: 4px 8px;
    border-radius: 30px;
}

/* Fix altezza card */
.generic-card {
    height: 100%;
}

.img-post-card > img {
     aspect-ratio: 16 / 9;
}

/* Carosello articoli correlati */
.related-post-section {
    width: calc((100vw - 70rem) / 2 + 70rem + 2rem);
    float: right;
    padding-left: 2rem;
}

/* ===================================================================
   4. SEARCH FUNCTIONALITY
   =================================================================== */

#custom-search-form {
    display: block;
    position: relative;
}

.input-search-wrapper {
    position: relative;
}

#search-input {
    border: 1px solid #D1D5DB;
    /* border-default */
    border-radius: 4px !important;
    height: 44px;
    padding: 0 0 0 50px !important;
    color: #6B7280;
    /* placeholder */
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    max-width: 100%;
}

#search-input:focus {
    border-color: var(--e-global-color-primary);
    /* box-shadow: 0 0 0 .2rem rgba(255, 187, 0, .25); */
    outline: none;
}

.input-search-wrapper #search-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 13px;
    cursor: pointer;
    padding: 0;
    border: 0;
    background: transparent;
    display: flex;
    outline: none;
}

#clear-search {
    position: absolute;
    top: 52%;
    right: 8px;
    transform: translateY(-50%);
    cursor: pointer;
    background-color: transparent;
    display: none;
    padding: 8px;
    opacity: 0.5;
    width: 30px;
    outline: none;
    border: 0;
}

#clear-search:hover {
    opacity: 1;
}

/* Risultati ricerca */
#search-results {
    list-style: none;
    padding: 0;
}

#search-results li {
    padding: 4px 0;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: 500;
    font-size: 19px;
}

#search-results li a {
    text-decoration: none;
    color: #333;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 140%;
}

#search-results li a>span {
    color: #a7a7a7;
    text-transform: capitalize;
    font-weight: 400;
    font-size: 14px;
}

#search-results li a:hover {
    color: var(--e-global-color-primary);
}

/* Messaggio categoria ricerca */
div#category-message p {
    margin-top: 16px;
    color: var(--e-global-color-19ae810);
    font-size: 16px;
}

/* Wrapper risultati ricerca */
#search-results-wrapper {
    display: none;
    margin-top: 16px;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    padding: 10px;
    background: var(--e-global-color-76ec309);
    overflow-y: scroll;
    height: calc(100vh - 250px);
}

/* Header suggerimenti ricerca */
#search-suggestions {
    margin-bottom: 0px;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    color: #6B7280;
    /* placeholder */
}

/* ===================================================================
   5. POST CONTENT
=================================================================== */

.single-post .post-content ul {
    margin-bottom: 1rem;
}

.single-post .post-content table td,
.single-post .post-content table th {
    border: 1px solid var(--e-global-color-f9d8a4e);
    text-align: left;
    word-break: keep-all;
}

.single-post .post-content table {
    table-layout: unset;
}

.single-post .post-content table tbody>tr:nth-child(odd)>td,
.single-post .post-content table tbody>tr:nth-child(odd)>th {
    background-color: white;
}

.single-post .post-content thead {
    border-color: var(--e-global-color-f9d8a4e);
}

.single-post .post-content table thead:first-child tr:first-child th {
    min-width: 140px;
}

/* Spaziatura tra paragrafi e stile heading */
.single-post .post-content h2,
.single-post .post-content h2 strong,
.single-post .post-content h3,
.single-post .post-content h3 strong,
.single-post .post-content h4,
.single-post .post-content h4 strong {
    font-family: var(--e-global-typography-primary-font-family);
    font-size: var(--e-global-typography-primary-font-size);
    font-weight: 500 !important;
    line-height: var(--e-global-typography-primary-line-height);
    padding: 60px 0 15px;
}

/* Nessuna spaziatura se post content inizia con heading */
.post-content > span:first-child + h2,
.post-content > span:first-child + h3,
.post-content > span:first-child + h4 {
    padding-top: 0 !important;
}

/* Spaziatura form interni agli articoli */
.single-post .post-content .elementor-fido-form-section {
    margin: 100px 0 40px;
}

/* Border radius immagini interne agli articoli */
.single-post .post-content img {
    border-radius: 8px;
}

/* Stile link */
.single-post .post-content a {
    color: var(--e-global-color-8dd44c1);
}

/* Stile grassetto */
.single-post .post-content a:not(.elementor-toc__list-item-text),
.single-post .post-content b,
.single-post .post-content strong {
    font-weight: 600;
}

/* Fix dimensione iframe embed video YouTube in single post */
.single-post .wp-block-embed-youtube,
.single-post .wp-block-embed-youtube iframe {
    height: max-content;
    aspect-ratio: 16 / 9;
}

/* Fix TOC Elementor - Posizione scroll anchor link */
.single-post .post-content .elementor-menu-anchor {
    position: relative;
    top: -75px;
}

/* Fix TOC Elementor - Allineamento icone lista */
.single-post .elementor-toc__list-item-text-wrapper {
    align-items: start;
}
.elementor-toc__list-item-text-wrapper > svg {
    margin-top: 10px;
}

/* Sezione prezzi - Background heading tabs */
.single-post .price-section >div > .e-n-tabs-heading {
    background: #f7f7f7;
    width: max-content;
    margin: auto;
    border-radius: 12px;
}



/* ===================================================================
   6. AUTHOR SECTIONS
   =================================================================== */

/* Info autore (LinkedIn, esperienza, articoli pubblicati) */

.autore-info {
    display: flex;
    gap: 50px;
    justify-content: space-between;
    border: 2px solid #030712;
    border-radius: 8px;
    padding: 20px;
}

.autore-info .colonna>p {
    display: flex;
    flex-direction: column;
    margin: 0;
    font-family: var(--e-global-typography-text-font-family);
    color: #748084;
    gap: 8px;
}
span.section-title {
    color: var(--e-global-color-text);
    font-size: 20px;
    font-weight: 500;
}

/* Certificazioni e premi autore */
.certificazioni-e-premi-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 150px;
}

.certificazioni-e-premi-label {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-size: var(--e-global-typography-primary-font-size);
    font-weight: var(--e-global-typography-primary-font-weight);
    line-height: var(--e-global-typography-primary-line-height);
    color: var(--e-global-color-text);
    margin-bottom: 20px;
}

.certificazione-item {
    display: flex;
    gap: 32px;
    border: 2px solid #030712;
    padding: 2rem;
    border-radius: 8px;
    align-items: center;
}

.certificazione-item img {
    min-width: 90px;
    height: max-content;
}

.wrapper-info-premi-e-certificazioni {
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
}

.certificazione-item .linea {
    width: 15px;
    height: 2px;
    background-color: #D1D5DB;
}

.certificazione-titolo {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 18px;
    font-weight: 500;
    line-height: 25.2px;
    color: var(--e-global-color-text);
    font-family: var(--e-global-typography-text-font-family);
}

.certificazione-titolo > span {
    font-weight: 400;
}

.certificazione-periodo {
    color: #748084;
    font-family: var(--e-global-typography-text-font-family);
    font-size: 16px;
    font-weight:400;
}

/* Loghi "parlano di noi" */
.parlano-di-noi-logo-row.first-row {
    width: max-content;
    margin-left: calc(59.375vw - 1140px);
}

.parlano-di-noi-logo-row.second-row {
    width: max-content;
    margin-left: calc(41.25vw - 982px);
}

.parlano-di-noi-logo-row img {
    box-sizing: border-box;
    border: 2px solid black;
    filter: saturate(0%);
    object-fit: contain;
    border-radius: 16px;
    width: auto;
    max-width: 200px;
    min-height: 100px;
    padding: 25px;
}

/* Carosello articoli autore - Nascondi nome autore */
.archive.author .post-slider .carosel-card-post-author-wrapper {
    display: none;
}

/* ===================================================================
   7. BREADCRUMB
   =================================================================== */

nav.rank-math-breadcrumb p,
nav.rank-math-breadcrumb a {
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: 500 !important;
    font-size: 16px;
}

nav.rank-math-breadcrumb p {
    margin: 0;
    display: flex;
    color: var(--e-global-color-f4174f4);
}

nav.rank-math-breadcrumb a {
    color: var(--e-global-color-8dd44c1);
}

nav.rank-math-breadcrumb .separator {
    display: flex;
    align-items: center;
}

nav.rank-math-breadcrumb img {
    padding: 0 6px;
    height: 14px;
}

/* ===================================================================
   8. RESPONSIVE DESIGN
   =================================================================== */

/* Desktop / Laptop */
@media (max-width: 1919px) {
    /* Spazio riservato per eventuali stili desktop */
}

/* Tablet */
@media (max-width: 1024px) {

    /* Loghi parlano di noi */
    .parlano-di-noi-logo-row img {
        border-radius: 12px;
        max-width: 150px;
    }

    /* Certificazioni e premi */
    .certificazioni-e-premi-wrapper {
        grid-template-columns: 1fr;
    }

    /* Sezione prezzi - Background heading tabs */
    .single-post .price-section >div > .e-n-tabs-heading {
        width: unset;
        padding: 5px;
    }
}

/* Mobile */
@media (max-width: 767px) {

    /* Risultati di ricerca live - ottimizzazione contenitore suggerimenti per mobile */
    div#search-results-wrapper {
        height: max-content;
        max-height: 50vh;
        position: absolute;
        z-index: 9;
        width: 100%;
        border-color: #030712;
        box-shadow: 0px 4px 10px -3px #00000080;
    }

    /* Card post in loop - Altezza adattiva per mobile */
    .loop-post-card .elementor-loop-container {
        grid-auto-rows: unset !important;
    }

    .loop-post-card .e-loop-item {
        height: max-content;
    }

    /* iFrame fido - Altezza responsive */
    iframe.iframe-form {
        height: 780px !important;
    }

    /* Loghi parlano di noi */
    .parlano-di-noi-logo-row.first-row {
        margin-left: -600px;
    }

    .parlano-di-noi-logo-row.second-row {
        margin-left: -220px;
    }

    .parlano-di-noi-logo-row img {
        width: auto;
        max-width: 130px;
    }

    /* Certificazioni e premi */
    .certificazione-item {
        flex-direction: column;
        align-items: center;
    }
    .certificazione-item > img{
        width: 120px; 
    }
    .wrapper-info-premi-e-certificazioni {
        text-align: center;
    }
    .certificazione-titolo {
        flex-direction: column-reverse;
    }

    /* Info autore */
    .autore-info.layout-3-col {
        gap: 8px;
        font-size: 13px;
    }
    .autore-info span.section-title {
        font-size: 15px;
    }
    .autore-info .colonna>p {
        gap: 4px;
    }
    .autore-info img{
        width: 80px;
    }

    /* Sezione prezzi - Adjust tab */
    .single-post .price-section .paypal-tab-price > div > .e-n-tabs-heading {
        grid-column-gap: 10px;
        grid-row-gap: 10px;
        flex-flow: row;
        grid-template-rows: auto auto;
        grid-template-columns: 1fr 1fr;
        grid-auto-columns: 1fr;
        display: grid;
    }
    .single-post .price-section .cta-more-info-section-price {
        text-align: left;
    }

    /* Carosello articoli correlati */
    .related-post-section {
        padding-left: 1rem;
    }
}

/* ===================================================================
   9. UTILITIES & EXTRAS
   =================================================================== */

/* Sticky column per sidebar */
.single-post .sticky-column {
    top: 100px !important;
}

.sticky-column {
    position: sticky;
    position: -webkit-sticky;
    top: 119px;
}

.sticky-parent {
    min-width: 300px;
}

.sticky-parent .elementor-widget-wrap {
    display: block !important;
}