/* 1. RESET E STILI BASE */
.search { display:none; }
.entry-title { display:none; }
body { overflow-x:hidden; font-family:Barlow!important; font-weight:400; color:#262626; background:#fff!important; padding:0px; margin:0; }

/* Link Footer e Box */
a.foolink1 { color:#262626; }
a.foolink1:hover { color:#0654ae; }
a.foolink2 { color:#8ABD24; }
a.foolink2:hover { color:#fff; }
a.foolink3 { color:#707070; }
a.foolink3:hover { color:#0654AE; }
a.linkbox { color:#fff; }
a.linkbox:hover { color:#000; }
a.product-brand-link{ color:#0654AE; }
a.product-brand-link:hover { color:#000; }
a.v40-category-link{ color:#0654AE;font-size:20px;text-transform:uppercase;}
a.v40-category-link:hover{ color:#000;font-size:20px;text-transform:uppercase;}

/* 2. LAYOUT STRUTTURALE (HEADER E WRAPPER) */
#site-title { position:absolute; }
#main { width:100%!important; padding:0px!important; }
#wrapper { width:100%!important; }
#content { width:100%; }

.fas { height:150px; position:fixed; top:0px; z-index:99; left:0px; width:100%; background:#FCFCFC; }
.fas2 { height:74px; position:fixed; top:76px; z-index:99; left:0px; width:100%; background:#0654AE; }
.fas3 { position: fixed; top: 15px; left: 50%; transform: translateX(-50%); width: 40%; z-index: 999; }
.fas5 { z-index: 99999; top: 24px; position: fixed; right: 10%; }
.space { height:150px; }

#header { position:fixed; top:0px; z-index:99; width:80%!important; padding:0px!important; margin-left:10%; background:transparent!important; }
.logo { position:relative; z-index:9; top:12px; }
.menutop { margin-top:42px; }

@media screen and (max-width: 1000px) {
    .fas, .fas2 { display:none; }
    .fas5 {z-index:999999;right:15px;}
    .space { height:82px!important; }
    .fas3 {z-index:999999;width:100%;top:80px;}
    #mg-wprm-wrap{z-index:9999999;}
    #header { display: none!important; }
}
@media screen and (max-width: 1250px) {
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link{padding-left:8px;padding-right:8px;font-size:14px;}
}
/* 3. GRIGLIE E COLONNE (GENERICHE) */
.s1 { text-align:center; height:14px; width:1170px; margin:0 auto; margin-top:17px; }
.c1, .c1b, .c2, .c3 { width:33.33%; float:left; }

@media screen and (min-width: 1200px) { .c1b { display:none; } }
@media screen and (max-width: 1200px) {
    .s1 { width:960px!important; }
    .c1 { display:none; }   
}

/* 4. TIPOGRAFIA E ELEMENTI GRAFICI */
h1 { font-size:32px!important; font-weight:600; text-shadow:none; line-height:1.1; }
h2 { font-size:32px!important; font-weight:600; text-shadow:none; line-height:1.1; color:#414141; }
h3 { font-size:24px!important; text-shadow:none; line-height:1.1; letter-spacing:0px; }
.attachment-full { width:100%; height:auto; }

.sinistra { padding-left:1%!important; padding-right:1%!important; }
.sinistra2 { padding-left:10%; padding-right:10%; max-width:1300px; margin:0 auto; }
.sinistra3 {
  max-width: 1600px !important;
  width: 100%;
  /* margin: 0 auto !important; è la versione abbreviata di left/right auto */
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important; /* Fondamentale: include padding nel calcolo del 100% */
}
.sinistra4 { padding-left:10%; padding-right:10%;}

/* Protezione per Mobile */
@media (max-width: 768px) {
  .sinistra3 {
    width: 92% !important; /* Lascia un piccolo margine ai lati così non tocca i bordi del cell */
    overflow-x: hidden;    /* Impedisce lo scroll orizzontale se un elemento interno è troppo largo */
  }
}
@media screen and (max-width: 768px) {
    .sinistra, .sinistra2, .sinistra3, .sinistra4 { padding-left:10%; padding-right:10%; }
}

/* 5. FOOTER CUSTOM */
#footer { width:100%; background:#fff; padding:0; margin-top:-2px; color:#262626; }
.footer-container { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; padding: 20px 10%; }
.footer-links { display: flex; flex-wrap: wrap; gap: 10px 25px; flex: 1; }
.footer-links a, .footer-credits { text-decoration: none; font-size: 14px; color:#707070; }
.footer-credits { white-space: nowrap; text-align: right; }

@media (max-width: 768px) {
    .footer-container { flex-direction: column; align-items: flex-start; }
    .footer-credits { text-align: left; }
}

/* 6. --- FIX GALLERIA: STABILITÀ E ZOOM --- */

/* 1. CONTENITORE FLEX */
.product-main-container { 
    width: 100%; 
    display: flex; 
    flex-wrap: wrap; 
    align-items: stretch; 
    margin-bottom: 50px;
    overflow: visible !important; 
}

/* 2. LE COLONNE */
.product-column-left { 
    width: 45%; 
    padding-right: 3%; 
    box-sizing: border-box; 
}

.product-column-right { 
    width: 30%; 
    padding-right: 2%; 
    box-sizing: border-box; 
}

.product-column-prezzo {
    width: 20%;
    box-sizing: border-box;
    /* IMPORTANTE: position relative serve allo script per calcolare i limiti */
    position: relative !important; 
    overflow: visible !important;
}

/* 3. IL DIV CHE DIVENTERÀ FISSO TRAMITE SCRIPT */
.colum-sti {
    /* Rimuoviamo position: sticky perché lo script userà position: fixed */
    position: relative; 
    width: 100%;
    height: fit-content;
    /* Pulizia da eventuali transizioni che farebbero scattare il div */
    transition: none !important; 
    border: 1px solid #e0e0e0; padding: 15px; border-radius: 10px;
    margin-top:15px;
}

/* 4. FIX PER MOBILE */
@media (max-width: 1000px) {
    .product-main-container { 
        display: block; 
    }
    .product-column-left, 
    .product-column-right, 
    .product-column-prezzo { 
        width: 100% !important; 
        padding-right: 0;
        margin-bottom: 20px;
    }
    .colum-sti { 
        /* Su mobile lo script si disattiva (grazie al check width > 1000) */
        position: relative !important; 
        top: 0 !important; 
        width: 100% !important;
    }
}




.woocommerce-product-gallery { position: relative; opacity: 1 !important; }

/* FIX SALTO: Usiamo min-height invece di height fisso sul viewport */
.woocommerce-product-gallery .flex-viewport { 
    min-height: 500px !important; 
    max-height: 500px !important;
    background: #fff;
    overflow: hidden !important;
    border:1px solid #f1f1f1;
}

/* Rimuoviamo le forzature sulla wrapper per far funzionare lo script */
.woocommerce-product-gallery__wrapper { 
    display: block !important; 
}

/* Ogni slide deve essere gestita dallo script, ma l'immagine deve centrarsi */
.woocommerce-product-gallery__image { 
    height: 500px !important;
}

.woocommerce-product-gallery__image img:not(.zoomImg) {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; 
    display: block !important;
}

/* FIX ZOOM: Lo separiamo totalmente dal layout */
.zoomImg { 
    z-index: 9999 !important; 
    pointer-events: none !important; 
    position: absolute !important;
    max-width: none !important; 
    max-height: none !important;
    width: auto !important;
    height: auto !important;
}

/* Miniature - 5 PER RIGA */
.woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 15px -5px 0 -5px !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    width: 20% !important; 
    padding: 5px !important;
    box-sizing: border-box !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    opacity: 0.5;
    transition: 0.3s;
    cursor: pointer;
}

.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    opacity: 1;
    border: 1px solid #0654AE !important;
}

/* 7. STELLINE E BOTTONI */
.star-rating { overflow: hidden; position: relative; height: 1.1em; line-height: 1; width: 5.4em; font-family: Arial !important; margin: 10px 0; }
.star-rating:before { content: "\2606\2606\2606\2606\2606" !important; color: #ccc; position: absolute; }
.star-rating span { overflow: hidden; float: left; top: 0; left: 0; position: absolute; padding-top: 1.5em; }
.star-rating span:before { content: "\2605\2605\2605\2605\2605" !important; top: 0; position: absolute; color: #ffb600; }

/* 7. QUANTITA E SELETTORI */
/* Container Quantità: Allineato a sinistra e isolato */
.quantity {
    display: flex !important; /* Mantiene i tasti in linea */
    width: 160px !important;   /* Larghezza fissa */
    height: 40px !important;
    border: 1px solid #95C7D8 !important;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    margin-top:20px;
    
    /* Posizionamento a sinistra */
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-bottom: 20px !important; /* Spazio per il bottone */
    
    /* Impedisce al bottone di salire */
    float: none !important;
    clear: both !important;
}

/* Fix per il Bottone: Forza la riga nuova */
.v40-cart-btn {
    display: block !important;
    clear: both !important;
    width: 100% !important;   /* Occupa tutta la larghezza per stare sotto */
    margin-top: 10px !important;
    text-align: center;
}

/* --- REGOLE ESTETICHE AZZURRO FOTO --- */
.quantity .qty-btn {
    width: 40px !important;
    background-color: #BDE0EE !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.quantity input.qty {
    flex: 1;
    width: 50px !important;
    border: none !important;
    border-left: 1px solid #95C7D8 !important;
    border-right: 1px solid #95C7D8 !important;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #333;
    background: #fff;
    /* Rimuove frecce su Firefox */
    -moz-appearance: textfield !important;
}

/* ELIMINAZIONE FRECCETTE (Chrome, Safari, Edge) */
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.single_add_to_cart_button { background-color: #004a99 !important; color: #fff !important; padding: 12px 25px !important; border-radius: 4px; border:none; font-weight:bold; cursor:pointer; }
.single_add_to_cart_button:hover { background-color: #0654ae !important; }

/* 8. CONTENUTI E SIDEBAR */
#content2 { width:70%; float:left; padding-right:5%; }
#sidebar { width:24%; float:left; }
.backfoo{background: -webkit-linear-gradient(rgb(255, 255, 255) 0%, rgb(255, 255, 255) 58%, rgb(149, 199, 216) 100%);}
.v40-brand{margin-bottom:10px;}
del{color:#707070;font-size:16px;}
.v40-price-box ins {color:#333;}
.entry-title2{margin-top:10px;}
.brand-link-container {background: #BDE0EE;display: inline-block;padding: 5px 10px;margin-bottom: 23px;border-radius:0.3em;}
.meta-info{margin-top:20px;}
/* Wrapper dell'accordion */
.v40-accordion-wrapper {
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 20px;
    overflow: hidden;
    background: #fff;
    margin-top: 20px;
}

/* Testata (cliccabile) */
.v40-accordion-header {
    background-color: #fff;
    padding-top: 15px;
    padding-bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: background 0.3s;
}

.v40-accordion-header:hover {
    background-color: #f1f1f1;
}

/* Icona + / - */
.v40-accordion-icon {
    font-size: 24px;
    font-weight: 300;
    color: #95C7D8;
    transition: transform 0.3s ease;
}

/* Corpo della descrizione (nascosto di base) */
.v40-accordion-content {
    padding-top:20px;
    display: none; /* Nascondiamo il contenuto all'avvio */
    border-top: 1px solid #eee;
    background: #fff;
    overflow: hidden;
}

/* Classe attiva per l'icona quando aperto */
.v40-accordion-wrapper.active .v40-accordion-icon {
    transform: rotate(45deg); /* Trasforma il + in una x */
    color: #0654AE;
}
/* Forza lo stile sul pulsante anche dopo il caricamento AJAX */
.v40-grid-box .v40-card .v40-cart-btn.add_to_cart_button {
    background-color: #004a99 !important; /* Il tuo blu */
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 5px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    display: block !important;
    text-align: center !important;
    margin-top: 15px !important;
    transition: all 0.3s ease !important;
    border: none !important;
    text-decoration: none !important;
}

/* Effetto Hover */
.v40-grid-box .v40-card .v40-cart-btn.add_to_cart_button:hover {
    background-color: #0654ae !important;
    color: #fff !important;
}
.onsale{background:#BDE0EE!important;border-radius:0px!important;padding:5px!important;color:#0654AE!important;border-radius:0.3em!important;}
.added_to_cart.wc-forward{text-align:center;}
.brand-link{background:#BDE0EE;color:#0654AE;padding:5px 10px;border-radius:0.3em;}
.cwci-preview-window ul.cart_list li .quantity{border:none!important;}
.return-to-shop{margin-top:10px;}
.woocommerce-info{border-top-color:#065aAE;}
/* UNIFORMARE IL TASTO CHECKOUT ALLO STILE VETRINA (V40) */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background-color: #004a99 !important; /* Il tuo blu esatto */
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 5px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    display: block !important;
    text-align: center !important;
    margin-top: 15px !important;
    transition: all 0.3s ease !important;
    border: none !important;
    text-decoration: none !important;
    font-size: 16px !important; /* Leggermente più grande per il checkout */
}

/* Effetto Hover */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #0654ae !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(0, 74, 153, 0.3) !important; /* Opzionale: aggiunge profondità */
}

/* Allineamento e distanziamento nel box totali */
.wc-proceed-to-checkout {
    padding: 0 !important;
}
#coupon_code{width:170px!important;}
/* 1. Nascondiamo il testo "Sale!" originale mantenendo lo span */
.aws_onsale {
    font-size: 0 !important;
    visibility: hidden;
}

/* 2. Creiamo il nuovo testo "In offerta" */
.aws_onsale::before {
    content: "offerta";
    font-size: 11px; /* Regola la dimensione come preferisci */
    visibility: visible;
    display: inline-block;
    /* Opzionale: aggiungi stile se vuoi che sembri un'etichetta */
    background: #BDE0EE; 
    color: #0654AE;
    padding: 2px 8px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: bold;
}
.aws-search-result .aws_result_sale{overflow:unset;top:3px;right:3px;}
@media (min-width: 768px) {
.coloff{padding-right:2%;}
}
.custom-container {
    display: flex !important;
    flex-direction: row !important; /* Forza l'allineamento orizzontale */
    width: 100%;
    align-items: stretch; /* Fa sì che entrambe le colonne abbiano la stessa altezza */
    border: 2px solid #0654AE !important;
}

.col-image {
    width: 33.33% !important;
    background-color: #0654AE; /* Colore sfondo colonna 1 */
    display: flex !important;
    align-items: center !important;    /* Centra immagine verticalmente */
    justify-content: center !important; /* Centra immagine orizzontalmente */
    padding: 20px;
}

.col-image img {
    max-width: 100%;
    height: auto;
}

.col-text {
    width: 66.66% !important;
    background-color: #fff; /* Colore sfondo colonna 2 */
    display: flex !important;
    align-items: center !important;    /* Centra testo verticalmente rispetto all'immagine */
    justify-content: center !important; /* Centra testo orizzontalmente */
    padding: 30px;
}

.col-text p {
    margin: 0 !important;
    text-align: center; /* Centra le righe di testo tra loro */
    font-weight: 400;   /* Font Regular */
    line-height: 1.5;
}
.imglay{border: 1px solid #e0e0e0; padding: 15px; border-radius: 10px;}
/* Bersagliamo solo la lista dentro il campo Garanzia */
.v40-garanzia-container ul {
    list-style: none !important; /* Rimuove i pallini */
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.v40-garanzia-container ul li {
    position: relative;
    padding-left: 30px !important; /* Spazio per la spunta */
    margin-bottom: 8px;
    line-height: 1.4;
}

.v40-garanzia-container ul li::before {
    content: "✅"; /* Inserisce l'emoji */
    position: absolute;
    left: 0;
    top: 0;
}
.stock.in-stock{padding-top:15px;}
.stock.out-of-stock{padding-top:15px;}
.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail{width:160px!important;}
#place_order {
  background: #0654AE;
}
.ult-sticky-anchor.ult_stick_to_row{z-index:9!important;}
ul {padding-left:20px;}
ol {padding-left:20px;}
.woocommerce-variation-price .woocommerce-Price-amount.amount{font-size:32px;font-weight:800;color:#0654ae;}
/* 1. PULIZIA PREZZO IN BASSO NEI PRODOTTI VARIABILI */
/* Nasconde il prezzo barrato ripetuto nel box della variante inferiore se è identico al prezzo finale */
.single_variation_wrap .price del {
    display: none !important;
}

/* 2. RIMOZIONE DELLE SOTTOLINEATURE STRANE */
/* Rimuove i bordi inferiori tratteggiati o continui dai testi della scheda prodotto */
.woocommerce-product-details__short-description u,
.product_meta a,
.woocommerce-product-details__short-description a,
#tab-description u {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Rimuove eventuali linee sotto i titoli delle specifiche */
.entry-content h2, .woocommerce-Tabs-panel h2 {
    border-bottom: none !important;
}