/**
	Theme Name: Goya Child Theme
	Description: This is a child theme of Goya.
	Template: goya
	Version: 1.1
	Author: Everthemes
	Author URI: http://themeforest.net/user/luisvelaz
	Tags: responsive-layout, flexible-header, custom-colors, mega-menu, woocommerce, shop, ajax, page-builder, translation-ready, gutenberg
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

.cmplz-documents.cmplz-links {
    display: none!important;
}
.header-right-items > a.quick_search.search-header_icon:last-of-type {
    display: none !important;
}
.hamburger-menu,
.et-infload-to-top {
    display: none !important;
}

:root {
    --text-color: #e03c31;
    --main-color: #e03c31;
    --bg-color: #f5f1eb;
    --font-primary: "Rammetto One", sans-serif;
    --font-seconday: "Roboto", sans-serif;
}

body {
    font-family: var(--font-seconday) !important;
}

.colorPrimary {
    color: var(--text-color);
}

.titleBig {
    font-size: 75px !important;
    font-family: var(--font-primary);
    color: var(--text-color);
}

.title2 {
    font-size: 45px !important;
    font-weight: 700 !important;
}

.title3 {
    font-size: 40px !important;
    font-weight: 700 !important;
}

.title4 {
    font-size: 30px !important;
    font-weight: 700 !important;
}

.title5 {
    font-size: 25px !important;
    font-weight: 700 !important;
}

.title6 {
    font-size: 20px !important;
    font-weight: 700 !important;
}

.fs_18 {
    font-size: 18px !important;
}

.mb30 {
    margin-bottom: 30px;
}

.mt30 {
    margin-top: 30px;
}

.pb30 {
    padding-bottom: 30px;
}

.pt30 {
    padding-top: 30px;
}

.mb60 {
    margin-bottom: 60px;
}

.mt60 {
    margin-top: 60px;
}

.my-0 {
    margin-bottom: 0px !important;
    margin-top: 0px !important;
}

.marginT_100 {
    margin-top: 100px;
}

.marginB_50 {
    margin-bottom: 50px;
}

.margin_100 {
    margin: 100px 0px;
}

.opacityBG {
    position: relative;
    overflow: hidden;
}

.ellepi-category-title {
    color: var(--main-color) !important;
    font-family: var(--font-primary);
    font-size: clamp(1.2rem, 3vw, 1.75rem) !important;
    font-weight: 600;
    margin-bottom: 5px;
}

.woocommerce-mini-cart__buttons .button:not(.checkout) {
    color: var(--main-color) !important;
    border: 1px solid var(--main-color);
    text-transform: uppercase;
}

.product-gallery .flex-direction-nav .flex-next:hover,
.product-gallery .flex-direction-nav .flex-prev:hover {
    background: transparent !important;
}

.page-header-regular .site-header,
.header_on_scroll .site-header {
    background: var(--bg-color) !important;
}

h2:before {
    display: none !important;
}

.et-header-menu > li {
    text-transform: uppercase !important;
    font-weight: 600;
    color: var(--main-color);
}

.et-header-menu > li > a,
.quick_cart.icon {
    color: var(--main-color);
}

.custom-lang-switcher {
    width: 120px;
}

/*PRODOTTI*/

#ywdpd-quantity-table {
    border-collapse: separate;
    width: 100%;
}

a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    color: var(--main-color);
    border: 1px solid var(--main-color);
}

.product-information .et-pro-summary-top .product_title {
    color: var(--main-color);
    font-weight: 800;
    font-family: var(--font-primary);
}

.product-information .et-pro-summary-top .price {
    color: var(--main-color);
    font-weight: 800;
}

.product-information .woocommerce-product-details__short-description p {
    color: var(--main-color);
}

.et-product-detail .single_add_to_cart_button,
.sticky-product-bar .single_add_to_cart_button,
.sticky-product-bar .add_to_cart_button,
.woocommerce-mini-cart__buttons .button.checkout,
.button.checkout-button,
#place_order.button,
.woocommerce .argmc-wrapper .argmc-nav-buttons .argmc-submit,
.wishlist_table .add_to_cart,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background-color: var(--main-color) !important;
    text-transform: uppercase !important;
}

/*HEADER*/

.et-header-menu .sub-menu {
    top: 80% !important;
}

.woocommerce-form-login .button,
.woocommerce-form-login input[type="submit"],
.woocommerce-form-login button[type="submit"],
.woocommerce-form-login .wc-block-components-button {
    background-color: var(--main-color) !important;

    color: #fff !important;

    border: none !important;
}

.shop-products-col.col {
    margin: 0px !important;
    padding: 0px !important;
}

.shop-products-col .yprm-prodotto-card {
    padding: 0px !important;
}

.main-shop-archive.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.main-shop-archive.products li.yprm-product {
    display: block !important;
    width: 100%;
    margin: 0;
    list-style: none;
}

a.et-infload-btn.et-shop-infload-btn.button.outlined {
    border: 1px solid var(--main-color);
    color: var(--main-color);
    text-transform: uppercase;
}

/* CARD INTERNA */
ul.products li.product .product-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 20px;
    transition: 0.3s ease;
    background: #fff;
}

/* TITOLO PRODOTTO - ALTEZZA UNIFORME */
ul.products li.product .product-title {
    min-height: 60px;
    /* regola in base al font */
    display: flex;
    align-items: flex-start;
}

ul.products li.product .product-title h2 {
    font-size: 18px;
    line-height: 1.3;
    margin: 0;
}

/* HOVER BORDER */
ul.products li.product .product-inner:hover {
    border: 1px solid #81d742;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* CONTENUTO CENTRALE CRESCE */
ul.products li.product .caption {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* DESCRIZIONE CRESCE PER ALLINEARE */
ul.products li.product .product-excerpt {
    flex-grow: 1;
}

/* BOTTONE SEMPRE IN BASSO */
ul.products li.product .after_shop_loop_actions {
    margin-top: auto;
}

/* IMMAGINE */
ul.products li.product .product_thumbnail img {
    border-radius: 8px;
}

/* ===== BLOCCO PREZZO DESKTOP ===== */

ul.products li.product .price {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 10px;

    min-height: 78px;
    /* spazio per 3 righe */
}

/* Prezzo originale barrato */
ul.products li.product .price del {
    font-size: 14px;
    color: #333333;
    text-decoration: line-through;
}

/* Prezzo scontato */
ul.products li.product .price ins {
    font-size: 18px;
    font-weight: 700;
    color: #1a7f37;
    /* verde premium */
    text-decoration: none;
}

/* Prezzo normale (senza sconto) */
ul.products li.product .price > .woocommerce-Price-amount {
    font-size: 18px;
    font-weight: 700;
    color: #111;
}

/* Prezzo + IVA */
ul.products li.product .price small.woocommerce-price-suffix {
    font-size: 13px;
    color: var(--main-color);
}

/*DESCRIZIONE ESTESA PRODOTTO */
.woocommerce-Tabs-panel .description-inner p {
    margin-bottom: 5px;
    font-size: 15px;
}

.woocommerce-Tabs-panel .description-inner strong {
    color: var(--text-color);
}

.woocommerce-Tabs-panel .description-inner h3 {
    color: var(--text-color);
    font-size: 20px;
    font-weight: 900;
    margin: 0px;
    margin-bottom: 5px;
}

hr,
.wp-block-separator {
    border-bottom: 1px solid var(--text-color) !important;
}

.up-sells.upsells.products h2,
.related.products h2 {
    color: var(--text-color);
    font-weight: 900;
    font-family: var(--font-primary);
}

.woocommerce-product-gallery__wrapper img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.show_note_on_apply_products {
    background-color: #f4f1ec;
    border-radius: 20px;
    padding: 20px;
}

.show_note_on_apply_product h5 {
    color: var(--text-color);
}

.show_note_on_apply_product blockquote h5 {
    font-size: 16px !important;
    color: var(--text-color) !important;
    margin-bottom: 0px !important;
}

.show_note_on_apply_product blockquote {
    border-left: 0px !important;
}

/*HEADER*/

.page-header-custom {
    margin-bottom: 10px;
    background: #f4f1ec !important;
    padding: 30px 0px;
    min-height: 100px !important;
}

.page-header-custom .page-title {
    font-size: clamp(1.2rem, 3vw, 1.75rem) !important;
    font-weight: 600;
    color: var(--main-color) !important;
    font-family: var(--font-primary);
}

.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
    color: var(--main-color) !important;
}

.et-product-detail .summary .quantity {
    border: 1px solid var(--main-color);
    background: transparent;
}

.stock.in-stock,
.stock.out-of-stock {
    width: 100%;

    background: var(--main-color);

    color: #fff;

    text-align: center;

    padding: 14px 20px;

    font-size: 14px;
    border-radius: 0px;

    font-weight: 600;

    text-transform: uppercase;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 20px 0;
}

/***CHECKOUT**/
.checkout .back-to-cart {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
}

.footer-widgets .widget {
    margin-bottom: 0px;
}

.footer-widgets img {
    width: 200px;
}

.footer-widgets .widgettitle {
    color: #f4f1ec;
    font-weight: 800;
    margin-bottom: 0px !important;
}

.footer-widgets .menu li {
    margin-bottom: 0px !important;
    font-size: 14px;
}

.button_footer_widget a {
    background: #f4f1ec;
    padding: 2px 10px !important;
    border-radius: 0px !important;
    color: #70a7a8 !important;
    margin-top: 10px;
}

.opacityBG::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    /* opacity 4 */
    z-index: 1;
}

.et-banner-home .et-banner-title {
    color: #70a7a8;
    text-align: left;
    letter-spacing: 2px;
    font-weight: 800;
    font-size: 70px !important;
    text-transform: uppercase;
}

/**PAGNA CONTATTI**/
.icone_custom_contatti .et-iconbox.icon-style-simple .et-feature-icon {
    font-size: 30px;
}

.card_white .et-iconbox {
    background: #fff;
    background: #fff;
    padding: 20px;
    text-align: center;
}

.card_white .et-iconbox .title {
    color: #7ed957;
}

.card_white .et-iconbox .wpb_text_column {
    font-size: 14px;
    line-height: 1.3;
    color: #000;
}

/**FORM**/
input.wpcf7-form-control,
.wpcf7-form textarea {
    border: 1px solid #70a7a8;
    margin: 5px 0px;
}

input.wpcf7-form-control {
    height: 35px;
}

.wpcf7-form-control.wpcf7-submit {
    background: var(--text-color);
    width: 100%;
    display: block;
    height: 50px;
}

.custom_section_product_woocommerce {
    margin: 50px 0;
}

.product-cta {
    background: #81d742;
    /* verde */
    padding: 50px;
    display: flex;
    align-items: center;
    gap: 40px;
    color: #ffffff;
}

/* Se NON c'è video */
.product-cta.no-video {
    justify-content: center;
    text-align: center;
}

/* Se c'è video */
.product-cta.has-video {
    justify-content: space-between;
}

/* Colonna video */
.cta-video {
    flex: 1;
}

.cta-video iframe,
.cta-video video {
    width: 100%;
    border-radius: 12px;
}

/* Colonna contenuto */
.cta-content {
    flex: 1;
}

.cta-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #ffffff;
}

.cta-download-btn {
    background: #ffd500;
    /* giallo */
    color: #1a1a1a;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.cta-download-btn:hover {
    background: #ffbf00;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* container skeleton */
.video-skeleton {
    position: relative;
    overflow: hidden;
    background: #f3f1ed;
    /* più elegante di #eee */
}

/* shimmer più soft */
.video-skeleton::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.5) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: translateX(-100%);
    animation: skeleton-loading 1.2s ease-in-out infinite;
    z-index: 2;
}

/* animazione più fluida */
@keyframes skeleton-loading {
    100% {
        transform: translateX(100%);
    }
}

/* video nascosto inizialmente */
.video-skeleton video {
    opacity: 0;
}

/* quando caricato */
.video-loaded video {
    opacity: 1;
    transition: opacity 0.4s ease;
}

/* rimuove shimmer quando pronto */
.video-loaded::before {
    display: none;
}

/* Fix altezza slider */
.flex-viewport {
    height: auto !important;
}

/* Media dentro gallery */
.woocommerce-product-gallery__image video,
.woocommerce-product-gallery__image iframe {
    width: 100%;
    height: auto;
    display: block;
}

.woocommerce-product-gallery__image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.woocommerce-product-gallery__image video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.side-menu.side-mobile-menu,
.side-menu.side-mobile-menu.dark {
    background-color: var(--bg-color) !important;
}

.side-mobile-menu li a {
    color: var(--main-color) !important;
}

.side-mobile-menu .current-menu-item.current_page_item {
    font-weight: 800;
}

.bottom-extras,
.bottom-extras .account-title {
    color: var(--main-color) !important;
}

.side-menu .account-menu li a {
    background: transparent !important;
    border: 1px solid var(--main-color);
}

.side-panel .mobile-bar,
.side-panel .mobile-bar.dark {
    background-color: var(--main-color) !important;
}

.mobile-bar .action-icons a,
.side-panel .et-close {
    color: var(--bg-color) !important;
}

/* Responsive */

@media (min-width: 1200px) and (max-width: 1489px) {
    .custom-lang-switcher {
        width: 80px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .custom-lang-switcher {
        width: 80px;
    }

    .et-header-menu > li {
        font-size: 13px;
    }

    .header-center-items > * {
        margin: 0 5px;
    }
}

@media (max-width: 991.98px) {
    .hamburger-menu {
        display: block !important;
    }

    .main-shop-archive.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px;
    }

    .related.products .slick-slide {
        padding: 10px;
    }

    .et-infload-controls {
        width: 200px;
        margin: 30px auto;
    }
}

@media (max-width: 768px) {
    .product-cta {
        flex-direction: column;
        text-align: center;
        padding: 30px;
    }

    .cta-title {
        font-size: 22px;
    }

    .main-shop-archive.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0px;
    }
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: rgb(112, 167, 168) !important;
}

.form.checkout .woocommerce-NoticeGroup-checkout {
    display: block !important;
}

.site-header .logolink .logoimg,
.site-header .logolink img {
    width: 140px;
}
.header_on_scroll .site-header .logolink .logoimg, .header_on_scroll .site-header .logolink .logoimg{
      width: 120px;
}

.page-title {
    font-family: var(--font-primary);
    color: var(--main-color) !important;
}
/* MOBILE */
@media (max-width: 767px) {
    .site-header .logolink .logoimg,
    .site-header .logolink img {
        width: 100%;
    }
    .header_on_scroll .site-header .logolink .logoimg, .header_on_scroll .site-header .logolink .logoimg{
      width: 100%;
    }
    .marginT_100 {
        margin-top: 50px;
    }
    .side-panel-content .search-panel .search-button-group {
        border-bottom: 2px solid var(--main-color);
    }

    .side-panel-content .custom-lang-switcher {
        margin: 0;
    }

    .side-mobile-menu .bottom-extras .custom-lang-switcher a {
        color: var(--main-color);
    }

    .custom-lang-switcher {
        width: 120px;
        margin: 0 auto;
    }
    .titleBig {
        font-size: 55px !important;
    }
    .site-header .logolink img {
        max-height: 45px !important;
    }

    .title2 {
        font-size: 30px !important;
    }

    .title4 {
        font-size: 17px !important;
    }

    .filter-trigger-box {
        display: none;
    }

    .goya-category-hero {
        margin-left: 20px;
    }

    .et-banner-home .et-banner-text {
        width: 90% !important;
        background: rgba(112, 167, 168, 0.8);
        padding-left: 0px !important;
        left: 0;
        right: 0;
        box-shadow: 0px 0px 4px 6px rgb(112, 167, 168);
    }

    .et-banner-home .et-banner-title {
        font-size: 40px !important;
        text-align: center;
        color: #ffffff !important;
    }

    /* ===== GRID 2 COLONNE ===== */
    ul.products {
        display: flex;
        flex-wrap: wrap;
    }

    ul.products li.product {
        display: flex;
        width: 50%;
        padding: 8px;
    }

    /* ===== CARD ===== */
    ul.products li.product .product-inner {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 15px;
        height: 100%;
        background: #fff;
        border-radius: 12px;
    }

    /* ===== TITOLO ===== */
    ul.products li.product .product-title {
        min-height: 48px;
    }

    ul.products li.product .product-title h2 {
        font-size: 14px;
        line-height: 1.3;
        margin: 0;

        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* ===== BLOCCO PREZZO ===== */
    ul.products li.product .price {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        margin-top: 6px;

        min-height: 66px;
        /* spazio fisso per 3 righe */
    }

    /* Prezzo originale barrato */
    ul.products li.product .price del {
        font-size: 13px;
        color: #b5b5b5;
        text-decoration: line-through;
    }

    /* Prezzo scontato */
    ul.products li.product .price ins {
        font-size: 20px;
        font-weight: 700;
        color: #1a7f37;
        /* verde elegante */
        text-decoration: none;
    }

    /* Prezzo normale (senza sconto) */
    ul.products li.product .price > .woocommerce-Price-amount {
        font-size: 20px;
        font-weight: 700;
        color: #111;
    }

    /* Prezzo + IVA (microcopy) */
    ul.products li.product .price small.woocommerce-price-suffix {
        font-size: 11px;
        color: #888;
        letter-spacing: 0.3px;
    }

    /* ===== BADGE SCONTO PREMIUM ===== */
    ul.products li.product .badge.onsale {
        background: #111;
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        padding: 6px 10px;
        border-radius: 20px;
        top: 12px;
        left: 12px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    /* ===== RIMUOVI EXCERPT ===== */
    ul.products li.product .product-excerpt {
        display: none;
    }

    /* ===== CONTENUTO CRESCE ===== */
    ul.products li.product .caption {
        display: flex;
        flex-direction: column;
        flex: 1;
    }

    /* ===== BOTTONE SEMPRE IN BASSO ===== */
    ul.products li.product .after_shop_loop_actions {
        margin-top: auto;
    }

    /* Bottone full width */
    ul.products li.product .after_shop_loop_actions .button {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 450px) {
    /* ===== 1 COLONNA ===== */
    ul.products li.product {
        width: 100%;
        padding: 6px 10px;
    }

    /* ===== CARD PIÙ COMPATTA ===== */
    ul.products li.product .product-inner {
        padding: 14px;
    }

    /* ===== TITOLO ===== */
    ul.products li.product .product-title {
        min-height: auto;
        margin-bottom: 4px;
    }

    ul.products li.product .product-title h2 {
        font-size: 15px;
        -webkit-line-clamp: 2;
    }

    /* ===== BLOCCO PREZZO ===== */
    ul.products li.product .price {
        min-height: auto;
        gap: 2px;
        margin-top: 4px;
    }

    ul.products li.product .price del {
        font-size: 12px;
    }

    ul.products li.product .price ins,
    ul.products li.product .price > .woocommerce-Price-amount {
        font-size: 22px;
    }

    ul.products li.product .price small.woocommerce-price-suffix {
        font-size: 11px;
    }

    /* ===== BOTTONE FULL WIDTH ===== */
    ul.products li.product .after_shop_loop_actions .button {
        width: 100%;
        padding: 10px;
        font-size: 14px;
    }
}
