/**
* Theme Name:        avanam-bakebery
* Theme URI:         https://templatemela.com/
* Template:          avanam
* Author:            TemplateMela
* Author URI:        #
* Description:       This is a child theme of Avanam, generated by TemplateMela.
* Version:           1.0.0
* License:           GNU General Public License v3.0 (or later)
* License URI:       https://www.gnu.org/licenses/gpl-3.0.html
* Text Domain:       avanam-bakebery
* Requires at least: 6.2
* Tested up to:      6.6
* Requires PHP:      7.4
* Tags: translation-ready, two-columns, right-sidebar, left-sidebar, footer-widgets, blog, custom-logo, custom-background, custom-menu, rtl-language-support, editor-style, threaded-comments, custom-colors, featured-images, wide-blocks, full-width-template, theme-options, e-commerce

*/

/* Custom fonts */
@font-face {
    font-family: 'Aeto';
    src: url('assets/fonts/Aeto.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Minion Pro';
    src: url('assets/fonts/MinionPro-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'RovelleUno';
    src: url('assets/fonts/RovelleUno-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Contact Form 7 styling */
.wpcf7 {
    font-family: 'RovelleUno', sans-serif !important;
}


/* Revolution Slider font styling */
#SR7_2_1,
#SR7_2_1 *:not(.slider-subtitle-aeto):not(.slider-subtitle-aeto *) {
    font-family: 'RovelleUno', sans-serif !important;
    font-weight: 700 !important;
    overflow: visible !important;
}

/* Slider subtitle with Aeto font - more specific to override parent */
#SR7_2_1 .slider-subtitle-aeto,
#SR7_2_1 .slider-subtitle-aeto * {
    font-family: 'Aeto', sans-serif !important;
    line-height: 1.4 !important;
    overflow: visible !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Margin between title and main content on product archive page */
.woocommerce-products-header,
.post-type-archive-product .entry-title,
.woocommerce-page .page-title,
.woocommerce-shop .entry-title,
.woocommerce .page-title {
    margin-bottom: 40px !important;
}

/* Margin for sidebar filters on product archive page */
.woocommerce .widget-area,
.woocommerce .sidebar,
.woocommerce-sidebar,
.post-type-archive-product .widget-area,
.post-type-archive-product .sidebar,
.woocommerce-page .widget-area,
.woocommerce-page .sidebar {
    margin-top: 40px !important;
}

/* Stile Tabella Nutrizionale Personalizzata */
.nutritional-table {
    font-family: 'RovelleUno', sans-serif;
    border-collapse: collapse;
    width: 100%;
    color: #000;
    border: 1px solid #000;
    margin: 20px 0;
}

.nutritional-table .header-green {
    background-color: #025148;
    /* Verde scuro */
    color: #ffffff !important;
    text-transform: uppercase;
    font-weight: bold;
    text-align: left;
    padding: 10px 12px;
}

.nutritional-table .header-grey {
    background-color: #d9dadb;
    /* Grigio chiaro */
    font-weight: bold;
}

.nutritional-table td {
    border: 1px solid #000;
    padding: 8px 12px;
    vertical-align: middle;
}

.nutritional-table tr td:first-child {
    font-weight: bold;
}

.nutritional-table tr td:last-child {
    text-align: left;
    font-weight: bold;
    width: 35%;
}

/* Classi specifiche per i sottolivelli e corsivo */
.nutritional-table .indent {
    padding-left: 30px !important;
    font-weight: normal !important;
}

.nutritional-table .italic {
    font-style: italic;
    font-weight: normal;
}

/* WooCommerce Tabs Styling */
.woocommerce-tabs .wc-tabs-wrapper {
    border: none !important;
}

.woocommerce-tabs .tabs.wc-tabs li {
    border: none !important;
    border-bottom: none !important;
}

.woocommerce-tabs .tabs.wc-tabs li.active {
    border-bottom: 2px solid #ffffff !important;
    border-left: 2px solid #ECF5D8 !important;
    border-right: 2px solid #ECF5D8 !important;
    border-top: 2px solid #ECF5D8 !important;
    padding-left: 10px !important;
    padding-right: 10px !important
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    border: 2px solid #ECF5D8 !important;
}

/* Hide short description */
.woocommerce-product-details__short-description {
    display: none !important;
}


/* RESPONSIVE STYLES */
/* Centratura mobile per i contenitori annidati (Menu/Link) */
@media (max-width: 767px) {

    /* Agiamo sul contenitore esterno e quello interno */
    .elementor-element-f4ed2d6,
    .elementor-element-f3d6e76 {
        display: flex !important;
        flex-direction: column !important;
        /* Incolonna le voci */
        align-items: center !important;
        /* Centra i blocchi orizzontalmente */
        justify-content: center !important;
        text-align: center !important;
        /* Centra il testo */
        width: 100% !important;
    }

    /* Rimuove eventuali margini laterali che potrebbero sbilanciare la centratura */
    .elementor-element-f3d6e76 .elementor-widget-heading {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100%;
    }

    /* Centra il titolo h2 effettivo */
    .elementor-element-f3d6e76 .elementor-heading-title {
        text-align: center !important;
    }
}

/* Centratura mobile per la sezione Produzione */
@media (max-width: 767px) {

    /* Forza il contenitore della colonna a centrare i widget */
    .elementor-element-4da919b .elementor-widget-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 20px !important;
        /* Opzionale: aggiunge respiro ai lati */
    }

    /* Assicura che ogni singolo widget heading e il paragrafo siano centrati */
    .elementor-element-4da919b .elementor-widget-heading .elementor-heading-title {
        text-align: center !important;
        width: 100% !important;
    }

    /* Gestione specifica per il bottone se non dovesse allinearsi */
    .elementor-element-4da919b .elementor-widget-button {
        text-align: center !important;
        width: 100% !important;
    }
}

/* Correzione definitiva Mobile: Zero padding e Centratura Verticale */
@media (max-width: 767px) {

    /* 1. Azzeramento padding del contenitore griglia/padre */
    .elementor-element-cdb7f58.e-con {
        padding-left: 10px !important;
        /* Solo un minimo di respiro */
        padding-right: 10px !important;
        width: 100% !important;
    }

    /* 2. Flexbox per allineamento Icona-Testo */
    .elementor-widget-image-box .elementor-image-box-wrapper {
        display: flex !important;
        flex-direction: row !important;
        /* CENTRATURA VERTICALE DELL'ICONA RISPETTO AL TESTO */
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 15px !important;
        /* Spazio tra icona e testo */
        margin-bottom: 25px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        /* Spazio tra i vari blocchi */
    }

    /* 3. Dimensioni Icona e reset margini */
    .elementor-image-box-img {
        width: 60px !important;
        min-width: 60px !important;
        margin-bottom: 0 !important;
        /* Rimuove lo spazio sotto l'immagine */
        flex-shrink: 0 !important;
    }

    /* 4. Pulizia testi */
    .elementor-image-box-content {
        text-align: left !important;
        padding: 0 !important;
    }

    .elementor-image-box-title {
        margin: 0 0 5px 0 !important;
        font-size: 17px !important;
    }

    .elementor-image-box-description {
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
    }
}

#exit-popup {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

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

    /* 1. Rimuove lo spazio bianco laterale e forza la larghezza 100% */
    .elementor-element-2074ba0 {
        width: 100% !important;
        left: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background-image: none !important;
        /* Rimuove l'immagine di sfondo */
        background-color: #ECF5D8 !important;
        /* Imposta il colore richiesto */
        overflow-x: hidden !important;
        /* Elimina lo scroll orizzontale */
    }

    /* 2. Reset del contenitore interno per coprire tutto lo schermo */
    .elementor-element-2074ba0 .elementor-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* 3. Nasconde la colonna vuota (se serviva solo per lo sfondo) per non lasciare buchi */
    .elementor-element-34c8dd4 {
        display: none !important;
    }

    /* 4. Centratura totale del contenuto */
    .elementor-element-1e073ae .elementor-widget-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 50px 20px !important;
        /* Padding generoso per respiro verticale */
        width: 100% !important;
    }

    /* 5. Forza i testi e il bottone al centro */
    .elementor-element-1e073ae .elementor-heading-title,
    .elementor-element-1e073ae p {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .elementor-element-83fea6b {
        text-align: center !important;
    }

    .elementor-element-83fea6b .elementor-button {
        display: inline-block !important;
    }
}

/* Riduzione spazi tra i testi della sezione Assortimento su Mobile */
@media (max-width: 767px) {

    /* Riduce il margine inferiore di tutti i widget heading e del paragrafo nella colonna */
    .elementor-element-1e073ae .elementor-widget-heading {
        margin-bottom: 5px !important;
        /* Valore ridotto per compattare i testi */
    }

    /* Gestione specifica per il paragrafo (descrizione) */
    .elementor-element-dfdf405.elementor-widget-heading {
        margin-bottom: 20px !important;
        /* Lasciamo un po' più di spazio solo prima del bottone */
    }

    /* Rimuove eventuali margini interni dei titoli */
    .elementor-element-1e073ae .elementor-heading-title {
        margin: 0 !important;
        line-height: 1.2 !important;
        /* Opzionale: riduce lo spazio tra le righe per un look più pulito */
    }

    /* Assicura che l'ultimo elemento prima del bottone non abbia margini eccessivi */
    .elementor-element-07ae3ca {
        margin-bottom: 10px !important;
    }
}

@media (max-width: 767px) {
    .elementor-1807 .elementor-element.elementor-element-c2624f0 {
        margin-top: 0px;
        margin-bottom: 0px !important;
    }
}

/* Nasconde la sezione icone (cerca, account, carrello) su mobile */
@media (max-width: 991px) {
    .site-header-main-section-right.site-header-section-right {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    .elementor-25 .elementor-element.elementor-element-5b96b0c {
        margin-top: 50px !important;
        margin-bottom: 50px !important;
    }
}

/* FIX SEZIONE CERTIFICAZIONI MOBILE */
@media (max-width: 767px) {

    /* 1. Reset della sezione: rimuove la larghezza fissa e centra il blocco */
    .elementor-element-a962d29 {
        width: 100% !important;
        left: 0 !important;
        margin: 0 !important;
        padding: 40px 15px !important;
        /* Aggiunge respiro sopra e ai lati */
    }

    /* 2. Fix Titolo: impedisce la scrittura in verticale */
    .elementor-element-c266130 .elementor-heading-title {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        white-space: normal !important;
        /* Permette al testo di stare su una riga */
        letter-spacing: normal !important;
        word-break: normal !important;
    }

    /* 3. Contenitore Loghi: da griglia a colonna centrata */
    .elementor-element-26eb9c4.e-grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 30px !important;
        /* Spazio tra i due loghi */
        grid-template-columns: 1fr !important;
        /* Reset se Elementor forza la griglia */
    }

    /* 4. Immagini Loghi: centrate e proporzionate */
    .elementor-element-aad8971 img,
    .elementor-element-bbf8ff9 img {
        max-width: 220px !important;
        /* Dimensione ottimale per i bollini ministeriali */
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }

    /* 5. Rimuove eventuali padding interni che stringono il testo */
    .elementor-element-5baa8ed .elementor-widget-wrap {
        padding: 0 !important;
    }
}

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

    /* 1. Reset larghezza e azzeramento margine superiore */
    .elementor-element-3523cff {
        width: 100% !important;
        left: 0 !important;
        margin-top: 0 !important;
        /* Rimuove il margine al top */
        padding-top: 20px !important;
        /* Opzionale: aggiunge un minimo di respiro interno */
    }

    /* 2. Centratura della colonna testi */
    .elementor-element-9e6ba87 .elementor-widget-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0 20px !important;
        /* Respiro laterale per il testo */
    }

    /* 3. Forza la centratura di titoli e paragrafi */
    .elementor-element-9e6ba87 .elementor-heading-title {
        text-align: center !important;
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    /* 4. Centratura del bottone */
    .elementor-element-eca1918 {
        text-align: center !important;
        margin-top: 15px !important;
    }

    /* 5. Centratura della colonna immagine */
    .elementor-element-16aa5b5 {
        width: 100% !important;
        margin-top: 30px !important;
        /* Spazio tra testo e immagine */
    }

    .elementor-element-568b99e img {
        margin: 0 auto !important;
        display: block !important;
        max-width: 90% !important;
        /* Evita che l'immagine tocchi i bordi */
        height: auto !important;
    }
}

.woocommerce-ordering {
    display: none !important;
}

/* Nasconde il numero dei prodotti nei filtri Avanam */
ul.show-display-list li.wc-layered-nav-term .count {
    display: none !important;
}