/*
Theme Name: Ecomus Child
Theme URI: https://wpecomus.com/
Author: DrFuri
Author URI: http://drfuri.com/
Description: Multipurpose WooCommerce WordPress Theme
Version: 1.0.0
Requires at least: 5.0
Tested up to: 5.8
Requires PHP: 7.0
License: GNU General Public License v2+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ecomus
Domain Path: /lang/
Tags: one-column, two-columns, left-sidebar, right-sidebar, full-width-template, post-formats, theme-options, threaded-comments, translation-ready
Template: ecomus
*/
body {
    padding-bottom: 0px !important;
}

.site-content{
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* Wrapper: card + colonna menu */
.megamenu-best-price-wrapper {
    display: flex;
    gap: 16px;
    padding: 20px 0;
}

/* Colonna sinistra: card */
.megamenu-best-price-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    flex: 0 0 65%;
}

/* Card: 3 per riga, dimensioni ridotte */
.megamenu-best-price-item {
    flex: 0 0 calc(33.333% - 16px);
    max-width: 260px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none;
}

/* Immagine ridotta */
.megamenu-best-price-image {
    width: 100%;
    overflow: hidden;
    border-radius: 4px;
}

.megamenu-best-price-image img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

/* Titolo card */
.megamenu-best-price-title {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    color: #111;
}

/* Colonna destra: menu testuale */
.megamenu-best-price-menu {
    flex: 0 0 35%;
    padding-left: 16px;
    border-left: 1px solid #68686885;
}

.megamenu-best-price-menu__title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
}

.megamenu-best-price-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.megamenu-best-price-menu__list li {
    margin-top: 4px;
    padding-left: 0px;
}

.megamenu-best-price-menu__list a {
    font-size: 14px;
    color: #111;
    text-decoration: none;
}

.megamenu-best-price-menu__list a:hover {
    color: #f36c21;
}

/* Hover effetto immagine/titolo */
.megamenu-best-price-item:hover .megamenu-best-price-image img {
    transform: scale(1.03);
}

.megamenu-best-price-item:hover .megamenu-best-price-title {
    color: #f36c21;
}

/* Effetto di entrata delle card */
.megamenu-best-price-item {
    opacity: 0;
    transform: translateY(15px);
    animation: mmBestPriceFadeUp 0.45s ease-out forwards;
}

.megamenu-best-price-item:nth-child(1) { animation-delay: 0.05s; }
.megamenu-best-price-item:nth-child(2) { animation-delay: 0.12s; }
.megamenu-best-price-item:nth-child(3) { animation-delay: 0.19s; }

@keyframes mmBestPriceFadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile: tutto in colonna */
@media (max-width: 767px) {
    .megamenu-best-price-wrapper {
        flex-direction: column;
    }
    
    .megamenu-best-price-cards,
    .megamenu-best-price-menu {
        flex: 1 1 100%;
        max-width: 100%;
        padding-left: 0;
        border-left: 0;
    }
    
    .megamenu-best-price-item {
        flex: 1 1 100%;
        max-width: none;
    }
}

.primary-navigation .mega-menu-container.em-container {
    max-width: 1320px;
}

@media (min-width: 992px) {
    .products-filter__filters {
        background-color: #fafafa !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 10px !important;
        border-radius: 10px !important;
    }
    
    .products-filter__filter-name{
        padding-top: 10px !important;
    }
    
    .filter-name {
        font-size: 15px !important;
        text-transform: uppercase !important;
        font-weight: 600 !important;
        
    }
}

/* CF7 grid: 2 colonne desktop, 1 mobile */
.wpcf7-list-item{
    margin: 0px !important;
}

.nascondo-data-form{
    display: none !important;
}

.cf7-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

/* campi full width (textarea + submit) */
.cf7-grid .cf7-full{
    grid-column: 1 / -1;
}

/* input/textarea full width */
.cf7-grid input[type="text"],
.cf7-grid input[type="email"],
.cf7-grid input[type="tel"],
.cf7-grid textarea{
    width:100%;
    box-sizing:border-box;
}

/* bottone */
.cf7-grid .cf7-submit{
    width:100%;
}

/* mobile */
@media (max-width: 767px){
    .cf7-grid{
        grid-template-columns: 1fr;
    }
    .cf7-grid .cf7-full{
        grid-column: auto;
    }
}

.recommendation-heading{
    font-family: 'DM Sans', sans-serif !important;
}

.panel__header{
    font-family: 'DM Sans', sans-serif !important;
}

ul.products.mobile-show-featured-icons li.product .product-thumbnail .product-featured-icons > *{
    border-radius: 5px !important;
}

#ecomus-mobile-navigation-bar{
    background-color: #222222 !important;
}

.ecomus-mobile-navigation-bar__icon.em-button-light{
    color: white !important;
}

/* Evidenzia blocco coupon in checkout */
.checkout-form-cols .checkout-coupon .woocommerce-info {
    display: inline-block;
    padding: 12px 18px;
    margin-bottom: 20px;
    background-color: #fff8e6;          /* sfondo leggermente colorato */
    border: 1px solid #B92F2E;          /* bordo arancione come il brand */
    border-radius: 4px;
    font-weight: 600;
    color: #333;
}

/* Link "Inserisci il tuo codice" più visibile */
.checkout-form-cols .checkout-coupon .woocommerce-info .showcoupon {
    color: #B92F2E;
    font-weight: 700;
    text-decoration: underline;
}

.checkout-form-cols .checkout-coupon .woocommerce-info .showcoupon:hover {
    color: #B92F2E;
    text-decoration: none;
}

form.checkout table.shop_table tbody td.product-total{
    width: 10% !important;
}

@media (max-width: 767px){
    .elementor-6516 .elementor-element.elementor-element-516835f8{
        z-index: 999 !important;
    }
}

.cky-btn-revisit-wrapper.cky-revisit-bottom-left {
    opacity: 0 !important;
}

.grecaptcha-badge { 
    opacity: 0 !important;
}

table.shop_table .woocommerce-shipping-totals h3{
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.page-id-16 #site-content {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Upload logo su prodotto singolo */
.fz3-logo-upload-wrap {
    margin: 0 0 18px;
    width: 100%;
}

.fz3-logo-title {
    font-size: 16px;
    margin: 0 0 4px;
}

.fz3-logo-subtitle {
    font-size: 14px;
    color: #666;
    margin: 0 0 12px;
}

.fz3-logo-dropzone {
    border: 2px dashed #ccc;
    border-radius: 8px;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    transition: border-color .2s, background-color .2s, opacity .2s;
}

.fz3-logo-dropzone:hover {
    border-color: #999;
}

.fz3-logo-dropzone.fz3-dragover {
    border-color: #000;
    background-color: #fafafa;
}

.fz3-logo-dropzone.fz3-uploading {
    opacity: .55;
    pointer-events: none;
}

.fz3-logo-upload-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #000;
    color: #fff;
    border: none;
    padding: 10px 22px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s;
}

.fz3-logo-upload-btn:hover {
    background: #333;
}

.fz3-logo-dropzone-text {
    color: #888;
    font-size: 14px;
}

.fz3-logo-preview {
    margin-top: 12px;
    padding: 14px 16px;
    background: #f7f7f7;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fz3-logo-preview .fz3-file-info {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    min-width: 0;
}

.fz3-logo-preview .fz3-file-thumb {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid #ddd;
}

.fz3-logo-preview .fz3-file-ext {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

.fz3-logo-preview .fz3-file-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fz3-logo-preview .fz3-remove-btn {
    background: none;
    border: none;
    color: #cc0000;
    cursor: pointer;
    font-size: 13px;
    text-decoration: underline;
    flex-shrink: 0;
    margin-left: 12px;
}

.fz3-logo-preview .fz3-remove-btn:hover {
    color: #900;
}

.fz3-logo-error {
    color: #cc0000;
    font-size: 13px;
    margin: 8px 0 0;
}

@media (max-width: 767px) {
    .fz3-logo-dropzone {
        padding: 18px;
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .fz3-logo-upload-btn {
        justify-content: center;
        width: 100%;
    }

    .fz3-logo-preview {
        gap: 12px;
        flex-direction: column;
        align-items: flex-start;
    }

    .fz3-logo-preview .fz3-remove-btn {
        margin-left: 0;
    }
}