@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,300;1,400&display=swap');
/* =========================
   P3V custom css ()
   ========================= */
   /* CUSTOM CSS VERSION: 2026-03-31-1 */
/* verifica caricamento css 
body { outline: 5px solid #b68a2e !important; }
body { border: 5px solid red !important; }*/
:root {
    --theme-color-default: #faf9f6 !important; /* Il tuo avorio */
    --theme-color-primary: #faf9f6 !important;
    --theme-color-secondary: #1a1a1a !important;
}

html body { background: #1a1a1a !important; }

/* Col3 header top — allineamento a destra */
.P3V-col3-headerTop {
    margin-left: auto !important;
}
/* .P3V-col3-headerTop > .elementor-column-wrap {
    align-items: flex-end !important;
} */
.P3V-col3-headerTop > .elementor-column-wrap > .elementor-widget-wrap {
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    padding-right: 15px !important;
}

/* Fix: P3V-col3-headerTop visibile su mobile landscape
   I telefoni in landscape (es. 844x390) ricadono nel range "tablet" Elementor (768-1024px)
   Usiamo max-height:500px per distinguerli dai tablet veri (height >= 600px) */
@media (min-width: 768px) and (max-width: 1024px) and (max-height: 500px) {
  .elementor:not(.elementor-edit-area-active) .elementor-element-c95596c.elementor-hidden-tablet {
    display: flex !important;
  }
}

/* 2. Selettore "Nucleare": colpisce tutto ciò che ha quella classe, 
   anche se annidato o dentro widget specifici */
html body .elementor-heading-title,
html body .elementor-widget-heading .elementor-heading-title,
html body .elementor-element .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
}

/* Override Lato → Montserrat su 3 widget specifici */
.elementor-16 .elementor-element.elementor-element-a67901c .elementor-heading-title,
.elementor-16 .elementor-element.elementor-element-794cc8e .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-8fb0f2d .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
}
body#cms, body#cms #page, body#cms #wrapper, 
body#cms #main, body#cms #content, body#cms .page-content, 
body#cms .page-cms, body#cms .container-parent {
    margin: 0px 0 0px 0px !important;
}
body#product #notifications {
    display: none !important;
}
a,li {
    color: #faf9f6;
}
a:focus, a:hover,li, 
li a:hover
 {
    color: var(--link-color) !important;
    text-decoration: none;
}
.leo-megamenu .navbar-nav > li.active > a, 
.leo-megamenu .navbar-nav > li:hover > a, 
.leo-megamenu .navbar-nav > li:focus > a {
    color: var(--link-color);
    background-color: transparent;
}
.popup-over .popup-content li.current a {
    color: #1a1a1a !important;
}
/* =========================
   BOF anchor in home
   ========================= */
#le-origini, 
#anchor-filosofia, 
#la-visione, 
#vendemmia,
#vinificazione, #cromatografia{
    scroll-margin-top: 200px; /* Regolare in base all'altezza del tuo menu */
}
/* Impedisce a tutti i titoli con un ID di finire sotto l'header */
h2[id], h3[id], .leo-menu-anchor {
    scroll-margin-top: 30px !important; /* Aumenta a 200px se il taglio persiste */
}

/* Se usi il widget "Menu Anchor" di Leo, applichiamo lo spazio anche a quello */
.leoelements-anchor {
    scroll-margin-top: 30px !important;
}
html {
    scroll-behavior: smooth !important;
}
/* =========================
   BOF anchor in home
   ========================= */
/* =========================================
   P3V HEADER - MEGAMENU BASE
========================================= */
section.p3v-header {
    color: rgba(250, 249, 246, 0.5) !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
}

.p3v-header .leo-top-menu .navbar-nav > li.nav-item > a.nav-link {
    padding: 20px 10px !important;
}

    .menu_item_shop > .dropdown-menu .row > .mega-col:first-child, .menu_item_shop > .dropdown-menu .row > .mega-col:nth-child(2) {
        width: 50% !important;
    }  

/* Dropdown “Prodotti” */
.p3v-header .leo-megamenu li.P3V-menu_item_prodotti > .dropdown-sub.dropdown-menu{
  /* background: #1a1a1a !important; */
  /* padding: 10px; */
}

  .P3V-hamburger-menu .dropdown.aligned-fullwidth > .dropdown-menu.dropdown-menu{
    background-color: red;
    position: absolute;
    top: 0;
    width: 308px;
    overflow: hidden;
    left: -234px;
}   
/* =========================================
   BOF – CONTENITORE HEADER TOP
========================================= */


/* ===== HEADER TOP: non andare a capo (desktop e tablet) ===== */
@media (max-width: 1440px) {
  /* wrapper header-top: cambia il selettore se il tuo wrapper ha un'altra classe */
  body .header-top,
  .header-top .elementor-container{
    align-items: center;
  }

  /* bottone: non si deve mai restringere 
  body .area-professionisti .elementor-button-wrapper{
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }*/

/* Testo lungo: resta su una riga e se manca spazio mette ... */
 body .header-top .area-desc{
  flex: 1 1 auto !important;
  min-width: 0 !important;              /* FONDAMENTALE in flex */
}
 body .header-top .area-desc .elementor-button-text span{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: clamp(12px, 0.7vw + 8px, 15px) !important;
  line-height: 1.1 !important;
}
}
/* =========================================
   EOF – CONTENITORE HEADER TOP
========================================= */

/* =========================================
   P3V HEADER - MENU LINKS
========================================= */
.leo-megamenu .navbar-nav > li > a.dropdown-toggle::after {
display: none;
}
.p3v-header .leo-megamenu .navbar-nav > li > a {

    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 22px 14px;
    transition: all 0.3s ease;
    /*color: #faf9f6;*/
}

/* Hover */

.p3v-header .leo-megamenu .navbar-nav > li > a:hover {
   /* color: #B68A2E;color: #faf9f6;*/
}
.p3v-header .leo-megamenu .navbar-nav > li > a:active {
   /* color: #B68A2E;color: #faf9f6;*/
}
/* Active state */

.p3v-header .leo-megamenu .navbar-nav > li.active > a {
   color: #faf9f6 !important;

}

/* Rimuove eventuale pseudo-element */

.p3v-header .leo-megamenu .navbar-nav > li > a::before {
    display: none !important;
}
.p3v-header .leo-megamenu .navbar-nav > li > .caret {
    display: none;
    
}
/* ================================================
   HERO PRODUCT CARD — altezza sezione prodotto
   ================================================ */
.elementor-25 .elementor-element.elementor-element-b484868 > .elementor-container {
    min-height: 380px !important;
}

@media (min-width: 1440px) {
    .elementor-25 .elementor-element.elementor-element-b484868 > .elementor-container {
        min-height: 480px !important;
    }
}

@media (max-width: 991px) {
    .elementor-25 .elementor-element.elementor-element-b484868 > .elementor-container {
        min-height: 300px !important;
    }
}

@media (max-width: 767px) {
    .elementor-25 .elementor-element.elementor-element-b484868 > .elementor-container {
        min-height: auto !important;
    }
}

/* ================================================
   HERO PRODUCT CARD — titolo dinamico
   ================================================ */
.P3V-dinamic-product-title,
.P3V-dinamic-product-title h2 {
    text-align: center !important;
    width: 100% !important;
    font-weight: 600;
    line-height: 1.1;
    color: #faf9f6 !important;
    margin: 0 !important;
    /* display: -webkit-box !important; */
    /* -webkit-line-clamp: 2 !important; */
    /* line-clamp: 2 !important; */
    /* -webkit-box-orient: vertical !important; */
    /* overflow: hidden !important; */
}
/* ================================================
   HERO PRODUCT CARD — titolo dinamico (solo homepage)
   ================================================ */

body#index .P3V-dinamic-product-title,
body#index .P3V-dinamic-product-title h2 {
    text-align: center !important;
    width: 100% !important;
    font-weight: 600;
    line-height: 1.1;
    color: #faf9f6 !important;
    margin: 20px 0 0 0 !important;
}
body#index .P3V-dinamic-product-title h2 a {
    font-size: clamp(14px, 1.5vw + 12px, 20px);
    font-weight: 600;
    text-align: center;
    line-height: 1.1;
    color: #faf9f6 !important;
    text-decoration: none;
    display: inline-block;
    transition: opacity .3s ease;
}
body#index .bernabea-desc,
body#index .bernabea-desc p {
    text-align: center !important;
}

body#index .p3v-hero-btn.elementor-widget-button {
    text-align: center !important;
}

body#index .p3v-hero-btn.elementor-widget-button .elementor-button-wrapper {
    display: flex !important;
    justify-content: left !important;
}
.P3V-dinamic-product-title h2 a:hover {
    opacity: .75;
}

/* short description */
.bernabea-desc,
.bernabea-desc p {
    text-align: center !important;
    font-weight: 500;
    line-height: 1.8;
    font-size: 13px;
    color: #faf9f6 !important;
}

/* button centrato */
.p3v-hero-btn.elementor-widget-button {
    text-align: center !important;
}

.p3v-hero-btn.elementor-widget-button .elementor-button-wrapper {
    display: flex !important;
    justify-content: left !important;
}
/* hover elegante */
.P3V-dinamic-product-title h2 a:hover {
    opacity: .75;
}

/* =========================================
   DROPDOWN MENU
========================================= */
.leo-megamenu .dropdown-menu,
.ap-megamenu .dropdown-menu {
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.leo-megamenu li:hover > .dropdown-menu,
.ap-megamenu li:hover > .dropdown-menu,
.leo-megamenu li.open > .dropdown-menu,
.ap-megamenu li.open > .dropdown-menu {
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.ap-megamenu,
.leo-megamenu,
.megamenu {
  position: relative;
}

.ap-megamenu .navbar-nav > li,
.leo-megamenu .navbar-nav > li,
.megamenu .navbar-nav > li {
  position: relative;
}

.ap-megamenu .dropdown-menu,
.leo-megamenu .dropdown-menu,
.megamenu .dropdown-menu {
  top: 100% !important;
  margin-top: 0 !important;
}

.ap-megamenu .navbar-nav > li::after,
.leo-megamenu .navbar-nav > li::after,
.megamenu .navbar-nav > li::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 20px;
}

.ap-megamenu .navbar-nav > li:hover > .dropdown-menu,
.leo-megamenu .navbar-nav > li:hover > .dropdown-menu,
.megamenu .navbar-nav > li:hover > .dropdown-menu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.ap-megamenu .caret,
.leo-megamenu .caret,
.megamenu .caret,
.ap-megamenu .icon-sub-menu,
.leo-megamenu .icon-sub-menu {
  margin-left: 36px !important;
}
.p3v-header .leo-megamenu .dropdown-menu {
    
    border: none;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* Dropdown links */
.leo-megamenu .dropdown-menu a > .menu-title {
color: #1F2A24;
font-size: 15px;
}

/* =========================================
   END DROPDOWN MENU
========================================= */

/* ======================================
    HERO – Overlay TOP
====================================== */
/*test*/

/* Non far catturare click all'overlay Elementor 
.elementor-element-70e7175b.p3v-boxovertop .elementor-background-overlay{
  pointer-events: none !important;
}
*/



.elementor-element-70e7175b.p3v-boxovertop {
   /* position: relative;
    overflow: hidden;*/
}

/* Overlay */
.elementor-element-70e7175b.p3v-boxovertop::before {
    content: "";
   /* position: absolute;*/
    top: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background: rgba(0,0,0,0.5); /* trasparenza */
   /* z-index: 1;
    pointer-events: none;*/
}
.elementor-element-70e7175b.p3v-boxovertop > .elementor-widget-wrap {
    position: relative;
   /* z-index: 2;*/
}
.elementor-element-70e7175b {
   /* z-index: 1;*/
}
.elementor-16 .elementor-element.elementor-element-70e7175b {
   
    background: rgba(0,0,0,0.5); /* trasparenza */
  }

.elementor-element-c5a2a85.bernabea-overlay-box > .elementor-widget-wrap {
    position: relative;
   /* z-index: 2;*/
}


/**/

.bernabea-hotspot{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
}

.bernabea-hotspot .btn-action {
  background-color: #1a1a1a !important;
}
.bernabea-hotspot .hotspot-type-product .hotspot-content-title, .hotspot-type-product .price {
    color: #1a1a1a !important;
}


/* Posizioniamo l’overlay in alto 
.bernabea-hero .bernabea-overlay-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
}
.bernabea-overlay-box{
  background: rgba(0,0,0,0.50);
  
  text-align: center;
  max-width: 920px;
  transition: background .3s ease, box-shadow .3s ease;
  position: relative;
  z-index: 50;
  pointer-events: auto;
}*/
/* Background overlay scuro elegante background: rgba(255, 0, 0, 0.75);

.bernabea-hero .bernabea-overlay-box > .elementor-column-wrap > .elementor-widget-wrap {
  width: 100%;
  max-width: 900px;
  padding: 0 24px;
  box-sizing: border-box;
}
*/
/* ===== LABEL ===== */
/* ===== TESTI SECONDARI LOGIN ===== */
/* ===== LABEL ===== */
/* ===== CONTAINER ===== */
.P3V-footer-newsletter .leo-quicklogin-form {
   /* max-width: 420px;*/
    margin: 0 auto;
}

/* ===== LABEL ===== */
.P3V-footer-newsletter .leo-quicklogin-form label {
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: left;
    font-weight: 400;
    margin-bottom: 8px;
    display: block;
}
.P3V-footer-newsletter .leo-quicklogin-form label a {
    color: rgba(255, 255, 255, 0.85); 
    }
    /* ===== INPUT FIELDS ===== */
.P3V-footer-newsletter .leo-quicklogin-form {
    backdrop-filter: blur(4px);
}.leo-quicklogin-form input[type="text"],
.leo-quicklogin-form input[type="email"],
.leo-quicklogin-form input[type="password"],
.leo-quicklogin-form textarea,
.leo-quicklogin-form select {

    background: inherit !important;
    border: 1px solid rgba(255,255,255,0.15);
    color: #faf9f6 !important;
    padding: 10px 18px;
    border-radius: 50px;
    width: 100%;
    font-size: 15px;
    transition: all 0.35s ease;
}

/* Placeholder delicato */
.leo-quicklogin-form input::placeholder,
.leo-quicklogin-form textarea::placeholder {
    color: rgba(250, 249, 246, 0.45) !important;
    font-weight: 300;
    font-size: 13px !important;
    font-family: Montserrat, sans-serif !important;
}
/* ===== FOCUS ===== */
.P3V-footer-newsletter .leo-quicklogin-form input:focus,
.P3V-footer-newsletter .leo-quicklogin-form textarea:focus,
.P3V-footer-newsletter .leo-quicklogin-form select:focus {
    outline: none;
    border-color: #faf9f6; /* oro sofisticato */
    background: rgba(0, 0, 0, 0.75);
}

/* ===== CHECKBOX ===== */
.P3V-footer-newsletter .leo-quicklogin-form input[type="checkbox"] {
    accent-color: #faf9f6;
}
/* ===== BUTTON minimal =====*/

.P3V-footer-newsletter .leo-quicklogin-form button {
    background: transparent;
    border: 1px solid #faf9f6;
    color: #faf9f6;
    padding: 14px;
    width: 50%;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 500;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.P3V-footer-newsletter .leo-quicklogin-form button:hover {
    background: #faf9f6;
    color: #fff;
}
.P3V-footer-newsletter .leo-quicklogin-form .lql-form-content {
    display: flex !important;
    flex-wrap: wrap;
   
}
.P3V-footer-newsletter .leo-quicklogin-form .form-group.lql-form-content-element {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding: 10px 30px!important;
}
.P3V-footer-newsletter .ets_av_content_popup .footer a.btn.btn-default.ets_av_cancel:hover {
    color: #fff;
    background-color: #1a1a1a;
    border-color: #b7ced3;
} 
/*P3V FOOTER */
.linklist-toggle span.icon-toggle {
    margin-left: 9px;
    color: #faf9f6;
}
/* =========================
   P3V - Product page
   ========================= */
@media (min-width: 1200px) {
  #product .row > [class*="col-"]{
    padding-left: 0 !important;
    padding-right: 0 !important;
   
  }
}
/* niente offset sinistro */

@media (min-width: 1200px) {
  body#product .P3V-productCol-sx {
      /*margin-left: -20px;*/
          margin-left: 0 !important;
  }
}

.container-fluid {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0px;
    padding-right: 0px;
     background: #1a1a1a;
}
/* row principale */
#product #main > .row{
  margin-left:0 !important;
  margin-right:0 !important;
}

body#product .product-container{
    align-items: stretch;
} 
/* la row che contiene sx + dx deve essere flex */
#product #main .P3V-p-allprodBox > .row{
  display: flex !important;
  align-items: stretch; /* stessa altezza colonne */
}
#product #main .P3V-product-row > .P3V-product-top{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
/*BOF*/
/*#product #main .P3V-productCol-sx{ outline: 3px solid lime !important; }
#product #main .P3V-productCol-sx .product-cover{ outline: 3px solid red !important; }
*/
/* Colonna SX */
.P3V-productCol-sx{
  position: relative;
  /*overflow: hidden;*/
  padding: 0 !important;
}

/* Wrapper a piena altezza 
.P3V-productCol-sx .images-container,
.P3V-productCol-sx .product-cover{

 position: relative !important;
  margin: 0 !important;
  padding: 0 !important;

   display: flex;
}
*/
/* flags sopra immagine */
.product-cover .product-flags{
    position:absolute !important;
    top:20px;
    left:20px;
    z-index:5;
    margin:0;
    padding:0;
    list-style:none;
}
/*.product-detail.product-image-gallery .product-cover {
   display: contents;  
}
*/
.product-detail.product-image-gallery  .product-cover img {
    background: #1a1a1a;
}
/* L'immagine diventa background cover */
.P3V-productCol-sx .product-cover img#zoom_product,
.P3V-productCol-sx .product-cover img.js-qv-product-cover{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  z-index: 1;
}

/* Flags sopra l’immagine */
.P3V-productCol-sx .product-flags{
  position: absolute !important;
  top: 35px;
    left: 50px;
  z-index: 3; /* sopra immagine */
}

/* Stile badge */
.P3V-productCol-sx .product-flag{
  background: #fff;
  color: #000;
  padding: 6px 14px;
  border-radius: 25px;
  font-size: 12px;
  text-transform: uppercase;
}


/*end*/
/* =========================================
   Bof P3V - PRODUCT PAGE - COLONNA DX
========================================= */
/* body#product .P3V-productCol-dx{
  display: flex !important;
  flex-direction: column !important;
   justify-content:  flex-start;  
     padding-top: 80px;

    align-items: center;       
    min-height: 60dvh !important;
  
  background: #1a1a1a;
  gap: 16px !important;
  
  text-align: center;
}
*/

/* =========================================
   P3V - PRODUCT PAGE - COLONNA DX
========================================= */

body#product .P3V-productCol-dx{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start;
    align-items:center;
    min-height:80dvh !important;
    padding:200px 7vw 20px !important;
    background:#1a1a1a;
    color: #faf9f6 !important;
    text-align:center;
    gap:0 !important;
}
body#product .P3V-productCol-dx p {
    
    color: #faf9f6 !important;

}

/* contenitore interno testo/prodotto */
body#product .P3V-productCol-dx .product-information,
body#product .P3V-productCol-dx .product-info-content,
body#product .P3V-productCol-dx .product-prices,
body#product .P3V-productCol-dx .product-add-to-cart,
body#product .P3V-productCol-dx .product-actions{
    width:100%;
    max-width:430px;
    margin-left:auto;
    margin-right:auto;
}

/* titolo */
body#product .P3V-productCol-dx h1.product-detail-name{
    color:#faf9f6 !important;
    line-height:1.08;
    font-weight:500;
    letter-spacing:-0.02em;
    margin:0 0 14px !important;
}

/* sottotitolo breve sotto h1 */
body#product .P3V-productCol-dx .product-description-short,
body#product .P3V-productCol-dx .product-short-description,
body#product .P3V-productCol-dx .P3V-product-shortdesc,
body#product .P3V-productCol-dx .P3V-dinamic-product-subtitle{
    max-width:420px;
    margin:0 auto 10px;
    color:#faf9f6!important;
    font-size:15px;
    line-height:1.45;
    font-weight:400;
}

/* eventuale riga tecnica sotto il sottotitolo */
body#product .P3V-productCol-dx .P3V-product-meta,
body#product .P3V-productCol-dx .product-reference-top,
body#product .P3V-productCol-dx .product-extra-meta{
    margin:0 auto 34px;
    color:#faf9f6;
    font-size:11px;
    line-height:1.5;
    letter-spacing:.01em;
}

/* descrizione editoriale centrale */
body#product .P3V-productCol-dx .P3V-product-intro,
body#product .P3V-productCol-dx .product-description-intro{
    max-width:360px;
    margin:0 auto 42px;
    color:#faf9f6;
    font-size:14px;
    line-height:1.65;
    font-weight:400;
}

body#product .P3V-productCol-dx .P3V-product-intro p,
body#product .P3V-productCol-dx .product-description-intro p{
    margin:0;
}

/* blocco prezzi */
body#product .P3V-productCol-dx .product-prices{
    margin:0 auto 24px !important;
}

body#product .P3V-productCol-dx .product-prices .current-price{
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 10px;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:6px;
}

body#product .P3V-productCol-dx .product-prices .current-price-value{
    font-size:30px;
    line-height:1;
    font-weight:600;
    color:#faf9f6 !important;
    letter-spacing:-0.02em;
}

body#product .P3V-productCol-dx .discount.discount-percentage{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:24px;
    padding:0 8px;
    border-radius:999px;
    background:#faf9f6;
    color:#1a1a1a;
    font-size:11px;
    font-weight:700;
    line-height:1;
    margin-left:0;
}

/* seconda riga prezzo */
body#product .P3V-productCol-dx .product-prices .product-price-and-shipping{
    text-align:center;
}

body#product .P3V-productCol-dx .product-prices .regular-price,
body#product .P3V-productCol-dx .product-prices .tax-shipping-delivery-label,
body#product .P3V-productCol-dx .product-prices .product-unit-price{
    display:inline-block;
    vertical-align:middle;
    line-height: 1.6;
}

body#product .P3V-productCol-dx .product-prices .product-unit-price{
    font-size:13px;
    font-weight:400;
    color:rgba(250,249,246,.95) !important;
    margin-right:8px;
}

body#product .P3V-productCol-dx .product-prices .regular-price{
    font-size:13px;
    color:#faf9f6 !important;
    text-decoration:line-through;
    margin-right:8px;
}

body#product .P3V-productCol-dx .tax-shipping-delivery-label{
    font-size:12px;
    font-weight:400;
    color:rgba(250,249,246,.82) !important;
}

/* area qty + pulsanti */
body#product .P3V-productCol-dx .product-add-to-cart,
body#product .P3V-productCol-dx .product-actions{
    width:100%;
    max-width:440px;
    margin:26px auto 0;
}

/* riga quantità + add to cart */
body#product .P3V-productCol-dx .product-quantity{
    display:flex;
    align-items:center;
    gap:12px;
    border:0;
    margin:0 0 12px;
    padding:0;
}

body#product .P3V-productCol-dx .qty{
    flex:0 0 92px;
   height:42px;
}

body#product .P3V-productCol-dx .bootstrap-touchspin{
    width:92px;
    border:1px solid #faf9f6;
    border-radius:999px;
    background:#faf9f6;
    overflow:hidden;
}

body#product .P3V-productCol-dx .bootstrap-touchspin .form-control{
    background:#faf9f6;
    color:#1a1a1a;
    font-size:18px;
    font-weight:600;
    text-align:center;
    min-height:20px;
}

body#product .P3V-productCol-dx .bootstrap-touchspin .btn{
    color:#1a1a1a;
    background:transparent;
}

/* pulsante aggiungi al carrello */
body#product .P3V-productCol-dx .add{
    flex:1 1 auto;
}

/* ===== BOTTONE CARRELLO - LISTA PRODOTTI ===== */
.leo-plist-style .thumbnail-container .functional-buttons .btn-product.add-to-cart,
.leo-plist-style-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart,
.leo-plist-style-1-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart,
.product_list .thumbnail-container .functional-buttons .btn-product.add-to-cart {
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    color: #faf9f6 !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    padding: 8px 20px !important;
    line-height: normal !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    transition: all .3s ease !important;
}

.leo-plist-style .thumbnail-container .functional-buttons .btn-product.add-to-cart .name-btn-product,
.leo-plist-style-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart .name-btn-product,
.leo-plist-style-1-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart .name-btn-product,
.product_list .thumbnail-container .functional-buttons .btn-product.add-to-cart .name-btn-product {
    color: #faf9f6 !important;
    display: inline !important;
}

.leo-plist-style .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover,
.leo-plist-style-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover,
.leo-plist-style-1-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover,
.product_list .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border-color: #faf9f6 !important;
    border-radius: 30px !important;
}

.leo-plist-style .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover i,
.leo-plist-style .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover .name-btn-product,
.leo-plist-style-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover i,
.leo-plist-style-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover .name-btn-product,
.leo-plist-style-1-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover i,
.leo-plist-style-1-1 .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover .name-btn-product,
.product_list .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover i,
.product_list .thumbnail-container .functional-buttons .btn-product.add-to-cart:hover .name-btn-product {
    color: #1a1a1a !important;
}
/* bottone b2b */
body#product .P3V-productCol-dx .add-note{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-height:38px;
    margin:0 auto;
    padding:8px 18px;
    border:0;
    border-radius:30px!important;
    background:#faf9f6 !important;
    color:#1a1a1a !important;
    font-size:11px !important;;
    font-weight:700 !important;
    letter-spacing:.12em;
    text-transform:uppercase;
    line-height:1.2;
    text-align:center;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
/* bottone b2b */
body#product .P3V-productCol-dx .add-note:hover{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-height:38px;
    margin:0 auto;
    padding:8px 18px;
    border:0;
    border-radius:30px!important;
    background: rgba(0,0,0,0.4) !important;
    color: #faf9f6 !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.12em;
    text-transform:uppercase;
    line-height:1.2;
    text-align:center;
}
/* bottone b2b */
/* =========================================
P3V B2B BUTTON
========================================= */
/* 1. Stabilizzazione dei bottoni (Stato Normale e Hover) */
/* =========================================
   P3V B2B BUTTON - BASE UNIFICATO
========================================= */
body .add-to-cart, 
body .p3v-b2b-button {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    border-radius: 30px !important;
    border: 2px solid #faf9f6 !important;
    background: transparent !important;
    color: #faf9f6 !important;
    text-transform: uppercase;
    letter-spacing: .12em;
    transition: all 0.3s ease-in-out !important;
    overflow: hidden !important;
    backface-visibility: hidden;
}

body .add-to-cart:hover, 
body .p3v-b2b-button:hover {
    border-radius: 30px !important;
    border: 2px solid #faf9f6 !important;
    background-color: #faf9f6 !important;
    color: #1a1a1a !important;       /* ← FIX: era #1a1a1a su rgba(0,0,0,0.4) = invisibile */
    box-shadow: none !important;
}



/* 3. Correzione specifica per il bottone B2B (secondario) */
body .p3v-b2b-button {
    background-color: rgba(0,0,0,0.4) !important;
    
    padding: 12px 25px !important;
    display: inline-block;
    margin-top: 10px;
}

/* 4. Rimuove eventuali ombre che causano flickering */
body .add-to-cart:focus, 
body .p3v-b2b-button:focus {
    outline: none !important;
    box-shadow: none !important;
    border-radius: 30px !important;
}

/* mobile */
@media (max-width: 991px) {
    body#product .P3V-productCol-dx{
        min-height:auto !important;
        padding:56px 24px 40px !important;
    }

    body#product .P3V-productCol-dx h1.product-detail-name{
        font-size: clamp(28px, 8vw, 40px);
    }

    body#product .P3V-productCol-dx .current-price-value{
        font-size:32px;
    }

    body#product .P3V-productCol-dx .product-quantity{
        flex-direction:column;
        align-items:stretch;
    }

    body#product .P3V-productCol-dx .qty,
    body#product .P3V-productCol-dx .add{
        width:100%;
        flex:1 1 auto;
    }

    body#product .P3V-productCol-dx .bootstrap-touchspin{
        width:100%;
    }
}
/* =========================================
   END P3V - PRODUCT PAGE - COLONNA DX
========================================= */
body#product #main h1.product-detail-name
  { color: #faf9f6 !important;}
#product .product-prices .current-price-value{
  font-size: 20px;
  font-weight: 600;
  color: #faf9f6 !important;
}

#product .product-prices .product-unit-price {
color: green;
  font-size: 20px;
  font-weight: 600;
  color: #faf9f6 !important;
}
#product .tax-shipping-delivery-label {
font-weight: 500;
  color: #faf9f6 !important;}
  /* Pulsante Add to cart
 #product .product-quantity .add .btn{    
    background: #1a1a1a !important;
    border-color: #faf9f6 !important;
    color: #faf9f6 !important;
    transition: all .25s ease;
    border-radius: 25px;
    margin: 0 0px 10px 0px;
    border: 2px solid #faf9f6;
    padding: 10px 0;
}
 
#product .product-quantity .add .btn:hover::before{
  background: #faf9f6 !important;
  transition: all .25s ease;
  border-radius: 25px;
  border: 2px solid #faf9f6;
}
#product .product-quantity .add .btn:hover{
  background: #faf9f6 !important;
  color: #1a1a1a !important;
  border-color: #faf9f6 !important;
}
#product .product-quantity .add .btn:hover i{
  color: #1a1a1a !important;
}
*/
#product .bootstrap-touchspin{
  border: 2px solid #faf9f6;
  border-radius: 25px;
  overflow: hidden;
}

#product .bootstrap-touchspin .form-control{
  border: none !important;
  box-shadow: none;
  height: auto;
}

#product .bootstrap-touchspin .btn{
  border: none !important;
  background: transparent;
}
#product .wishlist, #product .compare{
  display: none !important;
}
#product .breadcrumb.breadcrumb-no-bg{
  display: none !important;
}
/* =========================
   P3V - Product page Section Accordion
   ========================= */
body#product #main .P3V-productCol-sx .page-content {
    margin-bottom: 0 !important;
}

/* Wrapper accordion (area descrizione/dettagli/recensioni) */
#product .products-accordion{
  background: #b0b0b0 !important;  
      margin: 0 !important;
}
/* Singole card */
#product .products-accordion .card{
  background: #b0b0b0 !important;
  border: none;
}
/* Header card */
#product .products-accordion .card-header{
 /* display: none;*/
}
/* Titolo/link header */
#product .products-accordion .card-header a{
          color: #faf9f6;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
}

/* Corpo accordion */
#product .products-accordion .card-block{
  color: #faf9f6 !important;
 /*  padding: 16px !important;*/
}
/* Container descrizione prodotto */
/* Container descrizione prodotto */
#product .P3V-product-description{
  margin: 0 !important;
  padding: 0 !important; /* opzionale */
}

/* Testo dentro descrizione (p, li, ecc.) */
#product .products-accordion .product-description,
#product .products-accordion .product-description p{
  color: #faf9f6 !important;
  background: #b0b0b0 !important;
  margin: 0px 0px 0px 0px;
  /*text-align: center;*/
}
/* CENTRA +  SPAZIO: contenuto "Descrizione" */
#product #accordion #collapsedescription .card-block{
  /* max-width: 900px;          larghezza contenuto */
  margin: 0 auto;            /* centra */
    padding: 100px 15vw; /* padding laterale proporzionale allo schermo */
}

/* Centra il testo (se vuoi tutto centrato) */
#product #accordion #collapsedescription .product-description{
  text-align: center;
}

/* Spaziatura tra paragrafi + leggera leggibilità */
#product #accordion #collapsedescription .product-description p{
  margin: 0 auto !important;
 /* max-width: 750px;           righe più corte, più elegante */
  font-size: 18px;
    text-align: center;
    line-height: 1;
}
/* niente padding esterno sulla sezione prodotto */
#product .P3V-p-allprodBox,
#product .P3V-p-allprodBox .container,
#product .P3V-p-allprodBox .row{
   /* margin: 0 !important;
    padding: 70px 5vw;*/
    margin: 0 !important;
    padding: 0 !important;
}
/* Discount % - stile button */
#product .discount.discount-percentage{
        display: inline-block;
    background: #faf9f6;
    color: #1a1a1a;
    border-radius: 25px;
    padding: 10px 10px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    margin-left: 10px;
    text-align: center;
}
/* Fix resize .add-note su mobile */
@media (max-width: 767px) {
    body#product .P3V-productCol-dx .add-note {
        white-space: normal !important;
        font-size: 9px !important;
        padding: 8px 12px !important;
        line-height: 1.3 !important;
    }
}

/* button sotto add to cart
#product .add-note{
  margin-top: 12px;
  width: 100%;
  background: #fff;
  color: #1a1a1a;
  border: 2px solid #fff;
  border-radius: 25px;
  font-size: 13px;
  font-weight: 500;
  padding: 10px 18px;
  pointer-events: none; 
}*/
/* =========================================
   P3V - PAGINA PRODOTTO - ADD TO CART
========================================= */
#product .add-to-cart,
body#product .P3V-productCol-dx .add .btn,
body#product .P3V-productCol-dx .add-to-cart {
    width: 100% !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 0 !important;
    background: transparent !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    margin: 0 0 10px 0;
}

#product .add-to-cart:hover,
body#product .P3V-productCol-dx .add .btn:hover,
body#product .P3V-productCol-dx .add-to-cart:hover {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border-color: #faf9f6 !important;
    border-radius: 30px !important;
}

#product .add-to-cart:hover i,
body#product .P3V-productCol-dx .add .btn:hover i {
    color: #1a1a1a !important;
}

/* Rimuove animazione slide hover bottone aggiungi al carrello */
body#product .add-to-cart::before,
body#product .add-to-cart::after,
body#product .product-quantity .add .btn::before,
body#product .product-quantity .add .btn::after {
    display: none !important;
    content: none !important;
    animation: none !important;
    transition: none !important;
}
body#product .add-to-cart,
body#product .product-quantity .add .btn,
body#product .p3v-b2b-button {
    transition: none !important;
    animation: none !important;
}
body#product .p3v-b2b-button::before,
body#product .p3v-b2b-button::after {
    display: none !important;
    content: none !important;
}
 /*
 #product .product-quantity .add .btn{    
    background: #1a1a1a !important;
    border-color: #faf9f6 !important;
    color: #faf9f6 !important;
    
    border-radius: 25px;
    margin: 0 0px 10px 0px;
    border: 2px solid #faf9f6;
    
}
*/ 
#product .product-quantity {
border-bottom: none;
 margin-left:15px;}
#product .product-quantity .add .btn:hover::before{
  background: red !important;
  border-radius: 25px;
  border: 2px solid #faf9f6;
}
#product .product-quantity .add .btn:hover{
  background: #faf9f6 !important;
  color: #1a1a1a !important;
  border-color: #faf9f6 !important;
}
/*
#product .product-quantity .add .btn:hover i{
  color: #1a1a1a !important;
}
*/
/* label QTA */
.product-add-to-cart .control-label {
    display: none;
}
/* Button B2B */
#product .add-note{
    display: inline-flex;        /* il bordo segue il contenuto */
    align-items: center;
    justify-content: center;
   width: auto !important;      /* evita width 100% del tema */
    max-width: 100%;
    padding: 10px 10px;          /* spazio interno */
    border: 2px solid #faf9f6;   /* bordo reale */
    border-radius: 25px;
    background: #faf9f6;
    color: #1a1a1a;
    font-weight: 600;
    line-height: 1.2;
    white-space: normal;         /* va a capo mantenendo il bordo */
    text-align: center;
}
#product .add .btn{
    width: 100% !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
}
.product-quantity .add .btn {
max-width: 100%;
}
.product-quantity .add .btn::after {
display: none;
}
/* Remove zoom border */
/* FORCE REMOVE ZOOM BORDERS */
.zoomContainer,
.zoomWindowContainer,
.zoomWindow,
.zoomLens {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background-color: transparent !important;
}
.zoomWindow {
   border: 1px solid red;
}
body#product .zoomWindow,
body#product .zoomContainer .zoomWindow {
    border: none !important;
}
/*test */
/* ===== FIX ALTEZZA COLONNA SX ===== */
body#product .P3V-productCol-sx{
  position: relative;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 80dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
}

body#product .P3V-productCol-sx .page-content,
body#product .P3V-productCol-sx .images-container,
body#product .P3V-productCol-sx .product-cover{
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-height: 80dvh !important;
  height: 100% !important;
  overflow: hidden;
}

.product-cover .layer {
    color: #faf9f6;
    background: rgba(0,0,0,0.4);
}
.product-cover .layer:hover {
    color: #1a1a1a;
    background: #faf9f6;
}
/* IMPORTANTISSIMO: niente display: contents */
.product-detail.product-image-gallery .product-cover{
  display: block !important;
}
/* immagine a pieno contenitore */
body#product .P3V-productCol-sx .product-cover img#zoom_product,
body#product .P3V-productCol-sx .product-cover img.js-qv-product-cover{
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  z-index: 1 !important;
}


/* Bandierine sopra */
body#product .P3V-productCol-sx .product-flags{
  position: absolute !important;
  z-index: 5 !important;
}

/* Se vuoi, nascondi thumbs */
body#product .P3V-productCol-sx #thumb-gallery,
body#product .P3V-productCol-sx .arrows-product-fake{
  display: none !important;
}
body#product #main .P3V-productCol-sx #thumb-gallery,
body#product #main .P3V-productCol-sx .arrows-product-fake{
  display:none !important;
}

/* =========================================
   P3V - PRODUCT PAGE- SEZIONE SCHEDA TECNICA FEATURES VINO
========================================= */
/* ===== BOF FALLBACK: nasconde dl nativo se data-sheet-grid è presente ===== */
body#product .product-features dl.data-sheet {
    display: none !important;
}

/* ===== FALLBACK: se carica dl nativo senza data-sheet-grid ===== */
body#product .product-features:not(:has(.data-sheet-grid)) dl.data-sheet {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    max-width: 1100px;
    margin: 0 auto;
    padding: 60px 20px;
}

body#product .product-features:not(:has(.data-sheet-grid)) dl.data-sheet dt {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: rgba(250,249,246,.6) !important;
    background: transparent !important;
    padding: 12px 0 4px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

body#product .product-features:not(:has(.data-sheet-grid)) dl.data-sheet dd {
    font-size: 14px !important;
    color: #faf9f6 !important;
    background: transparent !important;
    padding: 12px 0 4px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    margin: 0 !important;
}
/* ===== END FALLBACK: nasconde dl nativo se data-sheet-grid è presente ===== */

/* ===== Product details: Scheda dati (Features) ===== */
#product-details section.product-features .data-sheet{
  display: grid;
  grid-template-columns: 1fr 1fr;  /* nome | valore */
  gap: 10px 28px;
  margin: 18px 0 0;
}

/* dt / dd sono fratelli nel grid: nome a sinistra, valore a destra */
#product-details section.product-features .data-sheet dt.name{
  margin: 0;
  padding: 8px 0;
  color: #888;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 12px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

#product-details section.product-features .data-sheet dd.value{
  margin: 0;
  padding: 8px 0;
  font-weight: 500;
  color: #111;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* Mobile: impila nome sopra valore */
@media (max-width: 767px) {
  #product-details section.product-features .data-sheet{
    grid-template-columns: 1fr;
  }
  #product-details section.product-features .data-sheet dt.name{
    border-bottom: none;
    padding-bottom: 0px;
  }
  #product-details section.product-features .data-sheet dd.value{
    padding-top: 0;
  }
}
/* =========================================
   NEWSLETTER TRANSPARENT STYLE (P3V)
========================================= */

/* contenitore principale del modulo */
.P3V-modulo-newsletter .block_newsletter,
.P3V-modulo-newsletter .block_newsletter form {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 20px !important;
    max-width: 60rem;
}
/* input (Email)  */
.P3V-modulo-newsletter .block_newsletter input[type="email"] {
    background: transparent !important;
    border: 2px solid #faf9f6 !important; 
    color: #faf9f6 !important;
    border-radius: 30px !important;
    padding: 10px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500;
}
/* 3. Placeholder (il testo "Il tuo indirizzo email") */
.P3V-modulo-newsletter .block_newsletter input::placeholder {
    color: #faf9f6 !important;
    font-weight: 500;
}
/* 4.  "Iscriviti"  */
.P3V-modulo-newsletter .block_newsletter button.btn {
    background-color: transparent !important;
    color: #faf9f6 !important;
    border: none !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    padding-left: 0 !important;
    margin-left: -5px !important;
}

.P3V-modulo-newsletter .block_newsletter button.btn:hover {
    background-color: transparent !important;
    color: #faf9f6 !important;
    border-color: transparent !important;
    font-weight: 700 !important;
}

/* 5. Testi descrittivi e Privacy */
.P3V-modulo-newsletter #block-newsletter-label,
.P3V-modulo-newsletter .col-xs-12 p {
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500;
    line-height: 1.4;
}
/* =========================================
  P3V TOP BAR: sezione Elementor #P3V-header-top
========================================= */
/* ===== TOP BAR: avvicina i due bottoni ===== */
#P3V-header-top .area-desc {
    flex-grow: 0 !important;
    max-width: fit-content !important;
}
#P3V-header-top .P3V-header-top-lang {
    margin-left: auto !important;
}

/* ===== BOTTONI HEADER TOP ===== */
/* AREA PROFESSIONISTI — bg scuro, hover avorio */
#P3V-header-top .area-professionisti .elementor-button {
    font-family: 'Montserrat', sans-serif !important;
    background: #1a1a1a !important;
    border: 1px solid #faf9f6 !important;
    color: #faf9f6 !important;
    border-radius: 999px !important;
    padding: 6px 12px !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
}
#P3V-header-top .area-professionisti .elementor-button:hover,
#P3V-header-top .area-professionisti .elementor-button:focus {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border-color: #1a1a1a !important;
}
#P3V-header-top .area-professionisti .elementor-button .elementor-button-text,
#P3V-header-top .area-professionisti .elementor-button:hover .elementor-button-text,
#P3V-header-top .area-professionisti .elementor-button:focus .elementor-button-text {
    color: inherit !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}
/* AREA DESC — bg grigio, hover avorio */
#P3V-header-top .area-desc .elementor-button {
    font-family: 'Montserrat', sans-serif !important;
    background: #faf9f6 !important;
    border: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: 6px 20px !important;
    transition: all 0.3s ease !important;
}
#P3V-header-top .area-desc .elementor-button:hover,
#P3V-header-top .area-desc .elementor-button:focus {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
    border-color: #faf9f6 !important;
}
#P3V-header-top .area-desc .elementor-button:hover span,
#P3V-header-top .area-desc .elementor-button:focus span {
    color: #faf9f6 !important;
}
#P3V-header-top .area-desc .elementor-button .elementor-button-text {
    color: inherit !important;
}

/* ===== EOF HEADER TOP LANGUAGE SELECTOR ===== */
/* =========================================================
   BOF P3V MEGA MENU - layout 
========================================================= */
/* FIX mega menu fullwidth: niente overflow laterale 
.leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu{
    left: 10px !important;
    right: 30px !important;
    max-width: none !important;
    transform: translateY(20px) !important;
}*/
.p3v-header .leo-megamenu .dropdown-menu .row {
  /*  padding: 5px 0px;*/
}
/* 1) Pannello mega menu fullwidth
   body = specificità 0,4,1 — batte tema padre senza !important conflicts
   nav (containing block) è nella col-40% che parte da x=0
   → left:0 + width:100vw = pannello fullwidth */
body .p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu {
  position: fixed !important;
  top: 100px !important;             /* era 50px — abbassato per non coprire la navbar con l'icona ≡ */
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  transform: none !important;
  padding: 16px 60px !important;
  background: #1a1a1a !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.12) !important;
  z-index: 9999 !important;
  overflow: visible !important;
}
body .p3v-header .leo-megamenu .dropdown:hover.aligned-fullwidth > .dropdown-menu {
  left: 0 !important;
  transform: none !important;
}
/* 2) Colonne: più aria */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col{
  /*column-gap: 70px;*/
      padding: 0px 0px 0px 10px;
}
.p3v-header .leo-megamenu .dropdown-menu .menu-title {
    margin: 20px 0px;
    border-bottom: 1px solid #b0b0b0;
    border-bottom-width: thin;
    font-family: var(--font-family-megamenu);
    text-transform: uppercase;
    color: #000;
    font-weight: 700;
    padding: 5px;
    line-height: 14px;
    letter-spacing: 2px;
}
/* 3) Titoli colonna (es. POGGIO TREVVALLE / TERRITORIO...) */
.p3v-header .leo-megamenu .dropdown-menu .title,
.p3v-header .leo-megamenu .dropdown-menu .widget-title,
.p3v-header .leo-megamenu .dropdown-menu h4{
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: #111;
  margin: 0 0 14px 0;
  
}
.p3v-header .leo-megamenu .mm-title h2{
  font-size: 14px;
  color: #faf9f6;
  line-height: 1.9;
  text-align: right;
  margin-bottom: 10px;
  /* border-top: 1px solid #ddd;*/
}

.p3v-header .leo-megamenu .mm-title h2 a{
font-family: var(--font-family-megamenu);
  display: inline-block;
  padding: 2px 0;
  text-decoration: none;
  color: #faf9f6;
  font-size: 15px;
}

.p3v-header .leo-megamenu .mm-title h2 a:hover{
  color: #faf9f6;
}
/* ====================================
   BOF P3V MEGA MENU - IMMAGINI - IMMAGINI V1
==================================== */

.p3v-header .leo-megamenu .banner_top{
  position:relative;
  overflow:hidden;
 
}
/* immagine */
.p3v-header .leo-megamenu .banner_top img,
.p3v-header .leo-megamenu .banner_image img,
.p3v-header .leo-megamenu .widget-image img {
  width:100%;
  height:200px;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.p3v-header .leo-megamenu .banner_top img{
    width:100%;
    height:auto;
    max-height:200px;
}
.p3v-header .leo-megamenu .image_description h2 {
    font-family: var(--font-family-megamenu);
    font-weight: 400;
    font-size: 40px;
    line-height: 40px;
    letter-spacing: -1px;
    color: #fff;
    margin-bottom: 64px;
}
/* =========================================================
   EOF P3V MEGA MENU - IMMAGINI - IMMAGINI V1
========================================================= */
/* =========================================================
   BOF P3V MEGA MENU - IMMAGINI V2
========================================================= */
/* Wrapper card */
.p3v-header .leo-megamenu .mm-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Titolo "Prodotti" */
.p3v-header .leo-megamenu .mm-title a{
  color:inherit;
  text-decoration:none;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:13px;
}
.p3v-header .leo-megamenu .mm-title a:hover{
color: #1a1a1a;
 font-weight: 400;
 text-decoration: none;
 }

/* Fix mega menu: immagini alte quanto i link a sinistra */
.p3v-header .leo-megamenu .mega-col .mega-col-inner,
.p3v-header .leo-megamenu .mega-col .leo-widget,
.p3v-header .leo-megamenu .mega-col .widget-html,
.p3v-header .leo-megamenu .mega-col .widget-inner,
.p3v-header .leo-megamenu .mega-col .mm-card,
.p3v-header .leo-megamenu .mega-col .mm-media {
    height: 100%;
}

/* Immagine responsive */
.p3v-header .leo-megamenu .mm-media{
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  background:#1a1a1a;
}
/* Hamburger: immagini a tutta altezza, nessun aspect-ratio fisso */
.P3V-hamburger-menu .mm-media{
  aspect-ratio: unset !important;
  height: 100% !important;
  flex: 1 !important;
}

/* l'immagine riempie il box */
.p3v-header .leo-megamenu .mm-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
  aspect-ratio:unset;
}
/* Hamburger: immagine a piena altezza */
.P3V-hamburger-menu .mm-media img{
  aspect-ratio: unset !important;
  height: 100% !important;
  width: 100% !important;
}

/* overlay centrato */
.p3v-header .leo-megamenu .mm-overlay{
  position:absolute;
  /*height:50%;*/
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:15px;
  color:#faf9f6;
}
/* titolo OLIO (come h2 centrato) */
.p3v-header .leo-megamenu .mm-badge{
  font-size: 38px;
    letter-spacing: 0px;
    font-weight: 500;
    text-transform: uppercase;
}

/* CTA "Shop now" centrata */
.p3v-header .leo-megamenu .mm-btn {
    display: inline-block;
    color: #faf9f6;
    text-decoration: none;
    font-size: 15px;
    letter-spacing: 1px;
}

/* hover premium */
.p3v-header .leo-megamenu .mm-media:hover img{
  transform:scale(1.05);
}
.p3v-header .leo-megamenu .mm-badge,
.p3v-header .leo-megamenu .mm-btn {
  transition: color 0.3s ease !important;
}
.p3v-header .leo-megamenu .mm-media:hover .mm-badge,
.p3v-header .leo-megamenu .mm-media:hover .mm-btn {
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
.p3v-header .leo-megamenu .mm-media:hover .mm-btn {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Mobile: aspect-ratio rimosso — altezza ereditata dalla colonna link */
/* =========================================================
   END P3V MEGA MENU - IMMAGINI V2
=========================================================*/
/* BEF mega menu tab */
 .p3v-header .leo-widget .widget-tab .nav-tabs > li a {
    font-family: var(--font-family-megamenu);
    text-transform: uppercase;
    color: #faf9f6;
    font-weight: 700;
    line-height: 14px;
    letter-spacing: 1px;
    font-size: 12px;
     border-bottom: none;
     padding: 0px 0px 15px 0px;
    }
 .p3v-header .leo-widget .widget-tab .nav-tabs > li a:hover,  .p3v-header .leo-widget .widget-tab .nav-tabs > li a.active {
    font-family: var(--font-family-megamenu);
    text-transform: uppercase;
    color: #faf9f6;
    font-weight: 700;
    line-height: 14px;
    letter-spacing: 1px;
    font-size: 12px;
    padding: 0px 0px 15px 0px;
    
    }
 .p3v-header .nav-tabs {
    border-bottom: none;
    border-top: none;
    border-right: none;
    border-left: none;
}

.p3v-header .leo-widget .widget-tab .nav-tabs .fa {
    display: none;
    }
.p3v-header .leo-widget .widget-tab .nav-tabs > li a:after {
    content:none;
    /*font-family: "Material Icons";
    position: absolute;
    right: 5px;
    top: 0;*/
}
.p3v-header .leo-widget .widget-tab .nav-tabs > li:first-child {
    border-top: 1px solid #ddd;
    }
.p3v-header .leo-widget .widget-tab .nav-tabs > li {
    padding: 5px 0;
    border-bottom: none; 
}
.p3v-header .leo-widget .widget-tab .nav-tabs {
    width: 40%;
}
.p3v-header .leo-widget .widget-tab .tab-content {
    width: 60%;
    float: left;
    padding: 0px 25px;
    border:none;
border-top:1px solid #ddd;
background: #212121;
}
/* END mega menu tab */

/* =========================================================
   EOF P3V MEGA MENU - layout 
========================================================= */

/* =========================================
  P3V content home - sezione HERO: sezione Elementor #P3V-header-top
========================================= */
.home-hero h3.elementor-heading-title {
    letter-spacing: 1px !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    font-style: normal !important;
}
.home-hero h2.elementor-heading-title{
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    font-style: normal !important;
}
.home-hero h1.elementor-heading-title{
	color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    line-height: 1px;
    font-weight: 700 !important;
    font-style: normal;
}
/* ===== FIX SFARFALLIO HOVER p3v-hero-btn ===== */
.p3v-hero-btn .elementor-button::before,
.p3v-hero-btn .elementor-button::after {
    display: none !important;
}
.p3v-hero-btn .elementor-button-text:hover{
    font-weight: 500 !important;
}
.home-hero .p3v-hero-btn.elementor-widget-button a.elementor-button,
.p3v-hero-btn.elementor-widget-button .elementor-button{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 26px !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    background-color: transparent !important;
    background: #fff !important;
    color: #000 !important;
    text-decoration: none !important;
    letter-spacing: .04em !important;
    box-shadow: none !important;
    min-height: auto !important;
}
.home-hero .p3v-hero-btn.elementor-widget-button a.elementor-button span,
.p3v-hero-btn.elementor-widget-button .elementor-button span{
    font-weight: 700!important;
}
.p3v-hero-btn .elementor-button:hover,
.p3v-hero-btn .elementor-button:focus,
.elementor-button.p3v-hero-btn:hover,
.elementor-button.p3v-hero-btn:focus{
    background: rgba(0,0,0,0.41) !important;
    border-color: #faf9f6 !important;
    box-shadow: inset 0 0 0 1px #faf9f6 !important;
    border-radius: 30px !important;
    color: #faf9f6 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
/* ===== BREADCRUMB GLOBALE — stile pagina registrazione ===== */
.breadcrumb-bg {
    background-color: #242424 !important;
    background-image: none !important;
    margin-bottom: 0 !important;
}
/* ============================================================
   BOF Fix breadcrumb — altezza mobile/tablet
   Sovrascrive front.css min-height: 150px !important
   Specificità aumentata con body per battere front.css
   ============================================================ */
@media (max-width: 991px) {
    body .breadcrumb-bg {
        min-height: 30px !important;
    }
}
@media (max-width: 767px) {
    body .breadcrumb-bg {
        min-height: 25px !important;
    }
}
/* ============================================================
   EOF Fix breadcrumb — altezza mobile/tablet
   ============================================================ */
.breadcrumb-bg > .container,
.breadcrumb-full > .container {
    margin-left: 35px !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
}
.breadcrumb ol,
.breadcrumb li,
.breadcrumb a,
.breadcrumb span {
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}
.breadcrumb li:last-child span {
    color: rgba(250,249,246,0.85) !important;
}
.breadcrumb li + li::before {
    color: rgba(250,249,246,0.3) !important;
}
.breadcrumb ol {
    background: transparent !important;
}

/* === BOF Breadcrumb Responsive Font Size === */
@media (max-width: 991px) {
    .breadcrumb ol,
    .breadcrumb li,
    .breadcrumb a,
    .breadcrumb span {
        font-size: 9px !important;
        letter-spacing: 0.5px !important;
    }
    #wrapper .breadcrumb li::after {
        font-size: 9px !important;
        margin-left: 3px !important;
        margin-right: 3px !important;
    }
    .breadcrumb-bg > .container,
    .breadcrumb-full > .container {
        margin-left: 20px !important;
    }
}
@media (max-width: 767px) {
    .breadcrumb ol,
    .breadcrumb li,
    .breadcrumb a,
    .breadcrumb span {
        font-size: 8px !important;
        letter-spacing: 0.2px !important;
    }
    #wrapper .breadcrumb li::after {
        font-size: 8px !important;
        margin-left: 2px !important;
        margin-right: 2px !important;
    }
    .breadcrumb-bg > .container,
    .breadcrumb-full > .container {
        margin-left: 15px !important;
    }
}
/* === EOF Breadcrumb Responsive Font Size === */

/* vecchie regole — commentate: color #1a1a1a incompatibile con sfondo scuro */
/*
.breadcrumb-bg nav.breadcrumb ol li a{
    color:#1a1a1a !important;
    text-decoration: none;
}
.breadcrumb-bg nav.breadcrumb ol li a:hover span{
    font-weight:600;
}
.breadcrumb-bg nav.breadcrumb ol li:last-child span{
    color:#1a1a1a;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
}
*/
/* =========================================
  BOF  P3V - PRODUCT PAGE - MORE INFO PRODUCT
========================================= */

/* wrapper generale */
body#product .more-info-product{
   /* background: #b3b3b3;*/
   width:100%;
    color: #faf9f6;
    margin: 0;
    padding: 0;
}
/* ogni blocco interno */
body#product .more-info-product > div{
   /* border-top: 1px solid rgba(255,255,255,0.15);*/
   width:100%;
    box-sizing:border-box;
}
/* titoli sezione: Descrizione / Dettagli / Reviews */
body#product .more-info-product .title-info-product{
	display: none;
	/*
	display: block;
	width: 100%;
    max-width: 100%;
    margin: 0 auto !important;
    padding: 28px 20px 18px !important;
    text-align: left !important;
    box-sizing: border-box;
    position: relative;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow-wrap: break-word;*/
}
/* =========================
   DESCRIZIONE
========================= */

body#product .more-info-product #description{
    background: #faf9f6 !important;
    text-align: center;
}
body#product .more-info-product #description .product-description{
    max-width: 70%;
    width: 100%;
    margin: 0 auto;
    padding: 60px 0px;
    text-align: center;
}
body#product .more-info-product #description .product-description,
body#product .more-info-product #description .product-description p{
    color: #1a1a1a !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-weight: 300 !important;
}
body#product .more-info-product #description .product-description p{
    margin: 0;
}

/* =========================
   EXTRA
========================= */

body#product .more-info-product #product-extra{
    min-height: 1px;
}
/* =========================
   MOBILE
========================= */

@media (max-width: 767px) {

    body#product .more-info-product #description .product-description,
    body#product .more-info-product #product-details,
    body#product .more-info-product #leofeature-product-review{
        padding-left: 20px;
        padding-right: 20px;
    }

    body#product .more-info-product #description .product-description,
    body#product .more-info-product #description .product-description p{
        font-size: 16px;
        line-height: 1.65;
    }

    body#product .more-info-product #product-details .data-sheet{
        grid-template-columns: 1fr;
        gap: 4px 0;
    }

    body#product .more-info-product #product-details .data-sheet dt.name{
        padding-bottom: 2px;
        border-bottom: none;
    }

    body#product .more-info-product #product-details .data-sheet dd.value{
        padding-top: 0;
    }
}


/* =========================================
 END  P3V - PRODUCT PAGE - MORE INFO PRODUCT
========================================= */
/* =========================================
   BOF P3V - PRODUCT PAGE - FEATURE GRID
========================================= */

body#product .more-info-product #product-details{
    background:#595959 !important;
    width:100%;
    max-width:100%;
    padding:60px 0;
    color:#faf9f6;
}
/* contenuto centrato */
body#product .more-info-product #product-details .product-features,
body#product .more-info-product #product-details .product-reference,
body#product .more-info-product #product-details .product-quantities{
    max-width: 1100px;
    margin: 0 auto;
    padding: 0px;
}
body#product .more-info-product #product-details .product-features{
    margin-top:0px;
}

body#product .more-info-product #product-details .product-features h3{
    margin:0 0 30px;
    text-align:center;
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#faf9f6;
}

/* griglia 2 colonne */
body#product .more-info-product #product-details .data-sheet-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:34px 70px;
    max-width:1100px;
    margin:0 auto;
}

/* singolo item */
body#product .more-info-product #product-details .feature-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

/* icona */
body#product .more-info-product #product-details .feature-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:2px;
}

body#product .more-info-product #product-details .feature-icon span,
body#product .more-info-product #product-details .feature-icon i{
    font-size:16px;
    color:#faf9f6 !important;
    line-height:1;
}

/* Nasconde product-manufacturer ovunque nella pagina prodotto */
body#product .product-manufacturer{
    display:none !important;
}

/* testo */
body#product .more-info-product #product-details .feature-text{
    flex:1 1 auto;
}

body#product .more-info-product #product-details .feature-name{
    font-size:15px;
    font-weight:600;
    color:#faf9f6;
    line-height:1.35;
    margin-bottom:4px;
}

body#product .more-info-product #product-details .feature-value{
    font-size:14px;
    font-weight:400;
    color:rgba(250,249,246,.88);
    line-height:1.45;
}
body#product .P3V-product-row .product-reference,
body#product .P3V-product-row .product-quantities,
body#product .P3V-product-row .product-features > h3{
   
}
/* specific references opzionale */
body#product .more-info-product #product-details .product-specific-references{
    margin-top:45px;
}

/* mobile */
@media (max-width: 767px) {
    body#product .more-info-product #product-details{
        padding:40px 20px;
    }

    body#product .more-info-product #product-details .data-sheet-grid{
        grid-template-columns:1fr;
        gap:24px 0;
    }

    body#product .more-info-product #product-details .feature-item{
        gap:14px;
    }

    body#product .more-info-product #product-details .feature-name{
        font-size:14px;
    }

    body#product .more-info-product #product-details .feature-value{
        font-size:13px;
    }
}
/* =========================================
   END P3V - PRODUCT PAGE - FEATURE GRID
========================================= */
/* =========================================
   BOF P3V - PRODUCT ATTACHMENTS (DOWNLOAD CTA)
========================================= */

body#product .P3V-product-row #attachments{
    background:#595959;
    width:100%;
    padding:60px 0 60px;
    text-align:center;
}

/* nasconde titoli standard */
body#product .P3V-product-row #attachments .title-info-product,
body#product .P3V-product-row #attachments h3{
    display:none;
}

/* container */
body#product .P3V-product-row #attachments .product-attachments{
    max-width:760px;
    margin:0 auto;
}

/* blocco attachment */
body#product .P3V-product-row #attachments .attachment{
    border:none;
    padding:0;
}

/* nasconde titolo e descrizione file */
body#product .P3V-product-row #attachments .attachment h4,
body#product .P3V-product-row #attachments .attachment p{
    display:none;
}
body#product .P3V-product-row #attachments .attachment i{
   font-size: 14px;
	padding-right: 10px;
}
/* bottone download */
body#product .P3V-product-row #attachments .attachment a{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 40px;
    border:2px solid #faf9f6;
    border-radius:30px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#faf9f6;
    text-decoration:none;
    transition:all .3s ease;
}

/* hover */
body#product .P3V-product-row #attachments .attachment a:hover{

    background:rgba(0,0,0,0.41) !important;
    color:#faf9f6;

}
body#product .P3V-product-row #attachments{
    background:#595959;
}

body#product .P3V-product-row #attachments + section,
body#product .P3V-product-row #attachments + div{
    background:#595959;
}
/* =========================================
   END P3V - PRODUCT ATTACHMENTS (DOWNLOAD CTA)
========================================= */
/* Nasconde social sharing da page prodotto */
body#product .P3V-product-row .product-additional-info{
    display:none !important;
}
/* Button Scopri page product section tutti i vini    */
body#product .p3v-hero-btn{
    display:flex;
    justify-content:center;
     margin-top: 20px;
}
/* =========================================
   BOF P3V - PAGE CATEGORY p3v-category-3292734091
========================================= */
/**/
/* Forza la visualizzazione della descrizione e della Hero anche con i filtri attivi */
/*#js-product-list-header, 
.category-description, 
.hero-page.hero-category {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}*/

/* Evita che il modulo Faceted Search nasconda il titolo */
main#main section#products header.category-header {
    display: block !important;
}
/* ===== PRODUCT LIST TOP — stile breadcrumb ===== */
#js-product-list-top.products-selection {
    background-color: #242424 !important;
    background-image: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
}
/*======= bof Sezione dinamica cover image + titolo+category ========*/
.p3v-category-3292734091 {}
/* Stile generale della Hero */

.p3v-category-3292734091 .elementor-column-wrap .elementor-widget {
padding: 0 !important;
}
/* Rimuove spazi vuoti eccessivi dalle colonne di Elementor nella categoria */
.p3v-category-3292734091 .elementor-element-populated {
    padding: 0 !important; /* Rende la Hero a tutta larghezza nella colonna */
    margin: 0 !important;
}
/* Stile specifico per la Hero inserita nel widget LeoGenCode */
.hero-page.hero-category {
    min-height: 180px; /* floor su mobile */
    aspect-ratio: 1920 / 400;
    display: flex;
    align-items: center;
    justify-content: left;
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 40px !important;
}
/* Overlay per leggibilità testo */
.hero-page.hero-category::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4); /* Scurisce l'immagine */
    z-index: 1;
}

.hero-page {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 300px; /* Altezza min immagine */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    color: #faf9f6; 
    padding: 40px;
}

/* Overlay scuro per il testo sopra l'immagine */
.hero-category::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.3); /* Scurisce l'immagine del 40% */
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2; /*  testo sopra l'overlay */
        width: 100%;/* contenuto su larghezza */
    max-width: 100%;
}

.category-description {
    font-family: 'Montserrat', sans-serif !important;
    margin-top: 0;
    max-width: 100%;
    background-color: #faf9f6;
    padding: 50px 60px;
    text-align: justify;
}
.category-description p {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500;
    font-size: 15px;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    color: #1a1a1a !important;
    line-height: 1.4em;
}

/* ========================
   Category additional description
   ======================== */
.card-block.category-additional-description {
    border: none !important;
}
.card-block.category-additional-description p {
    color: #1a1a1a !important;
    font-size: 1rem;
    line-height: 1.7;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
/*======= END cover image category ========*/
/*======= BOF products-selection ========*/

/*.products-selection p,
.products-selection .sort-by,
.products-sort-order .select-title {
    font-size: 14px;
    line-height: 24px;
    color: #1a1a1a;
}*/
/* Total products — allineato al breadcrumb */
.total-products {
    padding-left: 50px !important;
    margin: 0 !important;
}
.total-products p {
    margin: 0 !important;
}

/* Solo margin-right sul sort-order */
.products-sort-order {
    margin-left: 0 !important;
    margin-right: 20px !important;
    padding: 0 !important;
    width: auto !important;
}

/* Container principale del selettore ordine */
.grid-selecting {
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}
.grid-selecting .sort-by-row {
    margin: 0 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
}
.products-selection .sort-by,
.products-selection p,
.products-selection .showing {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    width: auto !important;
    flex: 0 0 auto !important;
    color: rgba(250,249,246,0.5) !important;
}
/* Pulsante principale "Ordina per" */
.grid-selecting .products-sort-order .select-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    background-color: #faf9f6 !important;
    border: none !important;
    padding: 10px 25px !important;
    border-radius: 15px !important;
    display: inline-flex !important;
    width: auto !important;
    align-items: center;
    gap: 6px;
    transition: color 0.2s ease;
}

.grid-selecting .products-sort-order .select-title:hover,
.grid-selecting .products-sort-order .select-title:focus,
.grid-selecting .products-sort-order .select-title:active,
.grid-selecting .products-sort-order .select-title[aria-expanded="true"] {
    color: #1a1a1a !important;
    background-color: #faf9f6 !important;
}

/* Menu a tendina */
.grid-selecting .dropdown-menu {
    background-color: #242424 !important;
    border: 1px solid rgba(250,249,246,0.1) !important;
    border-radius: 0 !important;
    padding: 8px 0 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.3) !important;
    min-width: 220px !important;
    width: auto !important;
    white-space: nowrap !important;
    left: 0 !important;
    right: auto !important;
}

/* Singoli link dentro il menu */
.grid-selecting .select-list {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 8px 20px !important;
    color: rgba(250,249,246,0.5) !important;
    display: block;
    transition: color 0.2s ease;
}

/* Hover e voce attiva */
.grid-selecting .select-list:hover,
.grid-selecting .select-list.current {
    color: rgba(250,249,246,0.85) !important;
    background-color: transparent !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}


/* Fix: sposta .showing 20px a sinistra su mobile */
@media (max-width: 767px) {
  .products-selection .showing {
    left: 15px !important;
    margin-right: 30px;
  }
}

/*======= end products-selection ========*/

/*======= BOF /page category - 2box-categorie ========*/
.P3V-2box-page-category .elementor-column {
}
/* 1. Centratura verticale e orizzontale del contenuto della colonna */
.P3V-2box-page-category .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important; /* Stack dei titoli uno sopra l'altro */
    justify-content: center !important; /* Centratura verticale */
    align-items: center !important;     /* Centratura orizzontale */
    text-align: left !important;
    min-height: 300px !important;      /* Altezza minima per apprezzare la centratura */
    
}

/* Colpiamo la sezione specifica con massima priorità */
section.elementor-section.P3V-2box-page-category .elementor-widget-container .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    -webkit-font-smoothing: antialiased; /* Rende il font sottile più nitido */
    -moz-osx-font-smoothing: grayscale;
    font-weight: 300 !important;
    font-size: 26px !important;
    color: #faf9f6 !important;
    margin: 5px 0 !important;
    width: 100% !important;
}

/* Forza il colore avorio su qualsiasi tag h1 o h2 dentro questa sezione */
.p3v-boxcategpage-col-sx h1, 
.p3v-boxcategpage-col-sx h2 {

}

/* 3. Rimozione padding extra di Elementor per precisione millimetrica */
/* Forza lo spostamento del contenuto verso il centro */
body .p3v-boxcategpage-col-sx .elementor-column-wrap.elementor-element-populated,
body .p3v-boxcategpage-col-dx .elementor-column-wrap.elementor-element-populated {
    padding-left: 80px !important;
}
/* 1. Padding generale della sezione (Sopra e Sotto)
.P3V-2box-categorie {
    padding: 0px !important;
} */
/*.P3V-2box-categorie h2.elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    font-size: 24px !important;
    letter-spacing: 1px;
    margin-bottom: 15px !important;
    color: #333 !important;
}*/
/*======= end /page category - 2box-categorie ========*/

/* ===== CARD PRODOTTO ===== */

.product_list .product-miniature{
    text-align:center;
}

/* ===== CARD PRODOTTO - OVERLAY TESTO SULL'IMMAGINE ===== */

/* Container */
#products .product-miniature .thumbnail-container {
    display: block !important;
    margin: 0;
}

/* Wrapper custom: il tema padre non ha CSS su questa classe — zero conflitti */
.p3v-image-overlay-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    overflow: hidden;
}

/* Overlay testo — nascosto sopra, scende sull'immagine all'hover */
.p3v-image-overlay-wrapper .product-meta-top {
    grid-column: 1;
    grid-row: 1;
    z-index: 2;
    align-self: start;
    width: 100%;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.52);
    padding: 24px 16px 50px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Hover overlay */
.product-miniature:hover .p3v-image-overlay-wrapper .product-meta-top {
    background: rgba(0, 0, 0, 0.52);
}

/* Immagine — stessa cella, sotto */
.p3v-image-overlay-wrapper a.product-thumbnail {
    grid-column: 1;
    grid-row: 1;
    z-index: 1;
}
.p3v-image-overlay-wrapper a.product-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

/* Titolo — font responsive come hero card */
.p3v-image-overlay-wrapper .product-meta-top .product-title {
    margin: 0 15px 8px;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
}
.p3v-image-overlay-wrapper .product-meta-top .product-title a {
    color: #faf9f6 !important;
    font-weight: 700;
    font-size: clamp(14px, 1.5vw + 12px, 20px);
    line-height: 1.1;
    text-decoration: none;
    display: inline-block;
    white-space: normal;
    word-wrap: break-word;
}

/* Descrizione breve — font responsive */
.p3v-image-overlay-wrapper .product-meta-top .p3v-product-desc {
    color: #faf9f6;
    font-size: clamp(12px, 1vw + 8px, 14px);
    line-height: 1.4;
    margin: 0 0 16px;
    padding: 0px 10px !important;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
}

/* Bottone SCOPRI */
/* Bottone "Scopri" — sfondo crema pieno, testo nero, font bold
   era: trasparente con testo crema, inline-block, font 0.72rem */
.p3v-image-overlay-wrapper .product-meta-top .p3v-btn-scopri {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px;
    background: #faf9f6 !important;                /* era: transparent */
    color: #1a1a1a !important;                     /* era: #faf9f6 */
    padding: 10px 26px;                            /* era: 8px 28px */
    font-family: Montserrat, sans-serif;
    font-size: 15px;                               /* era: 0.72rem */
    font-weight: 700;                              /* era: non dichiarato */
    letter-spacing: 0.04em;                        /* era: 2px */
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.3s, color 0.3s;
    box-shadow: none;
    margin-bottom: 4px;
}
/* Hover: sfondo scuro semitrasparente, testo crema, doppio bordo inset
   era: solo background rgba + color */
.p3v-image-overlay-wrapper .product-meta-top .p3v-btn-scopri:hover {
    background: rgba(0, 0, 0, 0.41) !important;
    border-color: #faf9f6 !important;
    box-shadow: #faf9f6 0px 0px 0px 1px inset !important;
    color: #faf9f6 !important;
    font-weight: 500 !important;                   /* era: non dichiarato */
}


/* Nascondi prezzo, quickview, wishlist, compare, attributi */
#products .product-miniature .wr-price-reviews,
#products .product-miniature .quickview,
#products .product-miniature .functional-buttons,
#products .product-miniature .full_attribute {
    display: none !important;
}

/* ===== DISABILITA CAROSELLO SLICK SU MINIATURE CATEGORIA ===== */
/* Mostra solo la prima immagine, nasconde slide aggiuntive e controlli */
#products .product-miniature .slick-list {
    overflow: hidden !important;
    height: auto !important;
    width: 100% !important;
}
#products .product-miniature .slick-track {
    width: 100% !important;
    transform: none !important;
    display: block !important;
}
#products .product-miniature .slick-slide {
    display: none !important;
}
#products .product-miniature .slick-slide:first-child {
    display: block !important;
    width: 100% !important;
    float: none !important;
}
#products .product-miniature .slick-slide:first-child img {
    width: 100% !important;
    height: auto !important;
}
/* Nasconde frecce, dots e controlli navigazione */
#products .product-miniature .slick-arrows,
#products .product-miniature .slick-arrow,
#products .product-miniature .slick-prev,
#products .product-miniature .slick-next,
#products .product-miniature .slick-dots,
#products .product-miniature .arrows-product-fake {
    display: none !important;
}
/* Nasconde il carosello mobile swipe */
#products .product-miniature .product-list-images-mobile .slick-slide:not(:first-child) {
    display: none !important;
}
/* Immagine secondaria hover — nascosta in pagina categoria */
#products .product-miniature .product-additional {
    display: none !important;
}

/* ===== TITOLO PRODOTTO ===== */

.product_list .product-title a{
    color:#faf9f6;
    font-size:16px;
    font-weight:500;
    text-decoration:none;
}

.product_list .product-title a:hover{
    font-family: 'Montserrat', sans-serif;
    color:#faf9f6;
    font-weight:700;
}

/* ===== PREZZO ===== */

.product_list .product-price-and-shipping{
    margin-top:6px;
}

.product_list .price{
    font-family: 'Montserrat', sans-serif;
    color:#faf9f6;
    font-size:18px;
    font-weight:600;
}

.product_list .regular-price{
    color:#888;
    font-size:14px;
}

/* ===== NASCONDE ANTEPRIMA ===== */

.product_list .quickview{
    display:none !important;
}

/* ===== CONTENITORE BOTTONI ===== */

.product_list .functional-buttons{
    text-align:center;
    margin-top:10px;
}

/* ===== BOTTONE CARRELLO ===== 

.product_list .btn-product.add-to-cart{
    background:#1a1a1a;
    color:#faf9f6;
    border:2px solid #faf9f6;
    border-radius: 30px !important;
    padding:5px 20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    transition:all .3s ease;
}
*/
/* icona carrello 

.product_list .btn-product.add-to-cart i{
    color:#faf9f6;
    font-size:18px;
}
*/
/* testo bottone */

.product_list .btn-product.add-to-cart .name-btn-product{
    color:#faf9f6;
}

/* ===== HOVER BOTTONE ===== */

.product_list .btn-product.add-to-cart:hover{
    background:#faf9f6;
    color:#1a1a1a;
    border:2px solid #faf9f6;
}

.product_list .btn-product.add-to-cart:hover i,
.product_list .btn-product.add-to-cart:hover .name-btn-product{
    color:#1a1a1a;
}

/* ===== CENTRA TUTTO ===== */

.product_list .product-meta{
    text-align:center;
    padding: 0;
}

.product_list .wr-price-reviews{
    justify-content:center;
}
.pagination {
display: none;
}
/*Newsletter block*/
/* FORM Leo Quicklogin - variante p3v-pages-light */
.p3v-pages-light input[type="text"],
.p3v-pages-light input[type="email"],
.p3v-pages-light input[type="password"] {
  background: transparent !important;
  background-color: transparent !important;
  color: #faf9f6 !important;
  border: 1px solid rgba(250, 249, 246, 0.35) !important;
  box-shadow: none !important;
}

/* placeholder */
.p3v-pages-light input[type="text"]::placeholder,
.p3v-pages-light input[type="email"]::placeholder,
.p3v-pages-light input[type="password"]::placeholder {
  color: rgba(250, 249, 246, 0.7) !important;
}

/* focus */
.p3v-pages-light input[type="text"]:focus,
.p3v-pages-light input[type="email"]:focus,
.p3v-pages-light input[type="password"]:focus {
  background: transparent !important;
  background-color: transparent !important;
  color: #faf9f6 !important;
  border-color: #c8a96b !important;
  box-shadow: none !important;
  outline: none !important;
}
.p3v-pages-light .btn.btn-primary,
.p3v-pages-light .form-control-submit {
  background: #faf9f6 !important;
  color: #1a1a1a !important;
  border: 1px solid #faf9f6 !important;
  border-radius: 30px !important;
  box-shadow: none !important;
  transition: all 0.3s ease;
}

.p3v-pages-light .btn.btn-primary:hover,
.p3v-pages-light .form-control-submit:hover {
  background: rgba(0,0,0,0.41) !important;
  color: #faf9f6 !important;
  border-color: rgba(0,0,0,0.41) !important;
}
.p3v-pages-light .btn,
.p3v-pages-light .form-control-submit{
  background: #faf9f6 !important;
  color: #1a1a1a;
  border: 1px solid #faf9f6;
  border-radius: 30px;
  transition: all .25s ease;
}

.p3v-pages-light .btn:hover,
.p3v-pages-light .form-control-submit:hover{
  background: transparent !important;
  color: #1a1a1a;
}
/*check termini e newsletter*/
.p3v-pages-light .leo-form-chk label {
  color: #faf9f6;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.p3v-pages-light .leo-form-chk input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #faf9f6;
  border-radius: 3px;
  background: transparent;
  position: relative;
  cursor: pointer;
}

/* check */
.p3v-pages-light .leo-form-chk input[type="checkbox"]:checked {
  background: #faf9f6;
}

.p3v-pages-light .leo-form-chk input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  font-size: 12px;
  color: #1a1a1a;
  left: 3px;
  top: -1px;
}
.modal-content {
    color: #faf9f6 !important;
    background-color: #1a1a1a !important;
}
.leo-quicklogin-form a,
.leo-quicklogin-form p,
.leo-quicklogin-form span,
.leo-quicklogin-form .label {
    color: #faf9f6 !important;
    font-size: 13px;
}
/* ================================================
   NEWSLETTER FORM — bottone primary
   ================================================ */
.leo-quicklogin-form .btn-primary:hover,
.leo-quicklogin-form .btn-primary:focus,
.leo-quicklogin-form .btn-primary:hover span,
.leo-quicklogin-form .btn-primary:focus span,
.leo-quicklogin-form .btn-primary:hover .lql-bt-txt,
.leo-quicklogin-form .btn-primary:focus .lql-bt-txt {
    background: rgba(0,0,0,0.41) !important;
    border-color: #faf9f6 !important;
    color: #faf9f6 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
.leo-quicklogin-form {
    overflow: visible !important;
    padding: 20px;
    }

/* ================================================
   FIX v2 — Alert "Autenticazione fallita." modal login
   Modulo: leoquicklogin / leoframeworkmodule
   ================================================ */

/* FIX 2 — Spazio sopra il form SOLO quando l'alert è attivo con contenuto */
.leo-quicklogin-form .leo-login-form.leo-form-active:has(.lql-form-mesg.has-danger .form-control-label) {
  padding-top: 60px !important;
}

/* FIX 3 — Nasconde il box quando è VUOTO (apertura iniziale del modal) */
.lql-form-mesg.has-danger:not(:has(.form-control-label)) {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* FIX 4 — Mostra e stila l'alert SOLO quando contiene il messaggio */
.lql-form-mesg.has-danger:has(.form-control-label) {
  background-color: #f8d7da !important;
  border: 1px solid #f5c6cb !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
  display: block !important;
}

/* FIX 5 — Testo errore leggibile (contrasto 5.1:1 WCAG AA) — selettori specifici per vincere sul modal */
.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-danger .form-control-label,
.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-danger p,
.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-danger span,
.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-danger label {
  color: #721c24 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: block !important;
}

/* FIX 6 — Alert successo (coerenza visiva) — solo quando contiene contenuto */
.lql-form-mesg.has-success:has(.form-control-label) {
  background-color: #d4edda !important;
  border: 1px solid #c3e6cb !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
}

.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-success .form-control-label,
.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-success p,
.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-success span,
.modal.leo-quicklogin-modal .modal-body .lql-form-mesg.has-success label {
  color: #155724 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* ================================================
   NEWSLETTER FORM — checkbox label colore chiaro
   ================================================ */
.leo-quicklogin-form .leo-form-chk label.form-control-label,
.leo-quicklogin-form .lql-form-content-element label.form-control-label,
.leo-quicklogin-form input.newsletter ~ *,
.leo-quicklogin-form .lql-form-content-element:has(input.newsletter) label {
    color: #faf9f6 !important;
    font-size: 11px !important;
    font-family: Montserrat, sans-serif !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
}

/* Link dentro label checkbox (es. "Accetto i termini") */
.leo-quicklogin-form .leo-form-chk label.form-control-label a,
.leo-quicklogin-form .lql-form-content-element label.form-control-label a {
    font-size: 11px !important;
    color: #faf9f6 !important;
    text-decoration: underline !important;
}
/* =========================
   CMS PAGES - BASE STYLE
   ========================= */
body#cms .container p,
body#cms .container h1,
body#cms .container h2,
body#cms .container h3,
body#cms .container h4 {
    padding: 0px !important;
}
body#cms .container ul {
    padding-left: 50px !important;
    list-style-type: disc;
    }
body#cms,
body#cms #page,
body#cms #wrapper,
body#cms #main,
body#cms #content,
body#cms .page-content,
body#cms .page-cms,
body#cms .container-parent {
  background: #1a1a1a !important;
  color: #faf9f6 !important;
  font-family: 'Montserrat', sans-serif !important;
      padding: 0px 0 0px 0;
    margin: 20px 0 0px 0px;
}

body#cms .page-content .container {
background: transparent !important;
    box-shadow: none !important;
    width: auto;
    padding: 10px 40px;
    }
body#cms .page-content .container-parent {
background: transparent !important;
    box-shadow: none !important;
    width: auto;
    padding: 0px 100px 0 100px;
    }
/* titolo pagina (esclusa .P3V-section-footer-blog) */
body#cms .page-header h1:not(.P3V-section-footer-blog *),
body#cms .page-title:not(.P3V-section-footer-blog *),
body#cms .page-content h1:not(.P3V-section-footer-blog *),
body#cms .page-content h4:not(.P3V-section-footer-blog *),
body#cms .page-content h5:not(.P3V-section-footer-blog *),
body#cms .page-content h6:not(.P3V-section-footer-blog *) {
  color: #faf9f6 !important;
  font-family: 'Montserrat', sans-serif !important;
}
/* titolo pagina */
#main .page-header h1 {
    color: #faf9f6 !important;
    padding: 20px 0px 10px 60px;
    text-align: left;
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(22px, 3vw, 32px) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    margin-bottom: 24px !important;
}
/* titolo pagina */
body#cms .page-header h1 {
  color: #faf9f6 !important;
  padding: 20px 0px 10px 60px;
  margin-bottom: 20px;
}
body#cms .P3V-heading-heroCMS h1{
 color: #faf9f6 !important;
 }
/* testi (esclusa .P3V-section-footer-blog) */
body#cms .page-content:not(.P3V-section-footer-blog),
body#cms .page-content p:not(.P3V-section-footer-blog *),
body#cms .page-content li:not(.P3V-section-footer-blog *),
body#cms .page-content div:not(.P3V-section-footer-blog):not(.P3V-section-footer-blog *) {
  font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    font-stretch: normal !important;
    font-optical-sizing: auto !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
    color: #faf9f6;
}
body#cms .page-content strong:not(.P3V-section-footer-blog *) {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-stretch: normal !important;
    font-optical-sizing: auto !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
    color: #1a1a1a !important;
}

/* testi span — colore scuro */
body#cms .page-content span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    font-stretch: normal !important;
    font-optical-sizing: auto !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
    color: #1a1a1a;
}
body#cms .page-content span:hover {
    color: #faf9f6;
}

/* link (esclusa .P3V-section-footer-blog) */
body#cms .page-content a:not(.P3V-section-footer-blog *),
body#cms .container-parent a:not(.P3V-section-footer-blog *),
body#cms #content a:not(.P3V-section-footer-blog *) {
  color: #faf9f6 !important;
  text-decoration: underline;
  padding: 20px;
}

body#cms .page-content a:not(.P3V-section-footer-blog *):hover,
body#cms .container-parent a:not(.P3V-section-footer-blog *):hover,
body#cms #content a:not(.P3V-section-footer-blog *):hover {
  color: #ffffff !important;
}


/* contenitore centrale */
body#cms #content-wrapper,
body#cms #main .page-content {
  background: #1a1a1a !important;
}

/* blocchi elementor dentro CMS (esclusa .P3V-section-footer-blog) */
body#cms .elementor-section:not(.P3V-section-footer-blog):not(.P3V-section-footer-blog *),
body#cms .elementor-widget-wrap:not(.P3V-section-footer-blog *),
body#cms .elementor-column-wrap:not(.P3V-section-footer-blog *),
body#cms .elementor-widget-container:not(.P3V-section-footer-blog *),
body#cms .elementor-text-editor:not(.P3V-section-footer-blog *),
body#cms .elementor-text-editor p:not(.P3V-section-footer-blog *),
body#cms .elementor-heading-title:not(.P3V-section-footer-blog *),
body#cms .elementor-icon-box-title:not(.P3V-section-footer-blog *),
body#cms .elementor-icon-box-description:not(.P3V-section-footer-blog *) {
  color: #faf9f6 !important;
  font-family: 'Montserrat', sans-serif !important;
}
body .P3V-p-trust-icon 
{padding: 40px 100px !important;}
/* 3. Titoli (Montserrat 600 - Bold per leggibilità immediata) */
body .P3V-p-trust-icon .elementor-icon-box-title a,
body .P3V-p-trust-icon .elementor-icon-box-title span {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #faf9f6 !important;
    line-height: 1;
}
body .P3V-p-trust-icon .elementor-icon-box-title a:hover {
    color: rgba(250,249,246,0.5) !important;
}
/* 2. Stile delle Icone (Line Awesome) */
body .P3V-p-trust-icon .elementor-view-default .elementor-icon i {
    font-size: 32px !important;
    color: #faf9f6 !important;
}

/* Effetto al passaggio del mouse sull'icona */
body .P3V-p-trust-icon .elementor-widget-icon-box:hover .elementor-icon i {
   
}
/* 5. Allineamento e distanziamento icone */
body .P3V-p-trust-icon .elementor-icon-box-icon a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #faf9f6 !important;
    line-height: 1;
}
body .P3V-p-trust-icon .elementor-icon-box-wrapper {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
}
/* icone trust */
body#cms .elementor-icon,
body#cms .elementor-icon i {
  color: #faf9f6 !important;
}

/* eventuali box bianchi del tema */
body#cms .card,
body#cms .block,
body#cms .page-content .container,
body#cms .page-content .container-parent {
  background: transparent !important;
  box-shadow: none !important;
}

/* selezione testo */
body#cms ::selection {
  background: #faf9f6;
  color: #1a1a1a;
}
/*formattazione testo cms */
.philosophy-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    color: #333;
    line-height: 1.6;
}
/* page BRAND */

#manufacturer #main ul .brand {
    position: relative;
    width: calc(20% - 10px);
    min-width: 210px;
    padding: 10px;
    margin: 5px;
    text-align: center;
    background: #1a1a1a;
    transition: 0.4s ease-out;
}
#manufacturer h1 {
margin: 30px 0;
   color: #faf9f6;
   padding: 20px 0px 10px 60px;
}
#manufacturer #main ul .brand-products {
    display: block;
   
}
#manufacturer #main ul .brand-products a {
   display: none;
    color: #faf9f6;
}
/* Lista Brand minimale */
li.brand {
    border-bottom: none;
    padding: 30px 0;
    display: flex;
    align-items: center;
}

.brand-infos p a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 20px;
    text-transform: uppercase;
    color: #faf9f6 !important;
}

.brand-description p, .products-count {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 100 !important; /* Montserrat Thin */
    font-size: 15px;
    color: #faf9f6;
}

.brand-img img {
    max-width: 180px;
    /* filter: grayscale(100%); Stile sottrazione: loghi in bianco e nero */
    transition: all 0.3s ease;
}

.brand-img img:hover {
    /*filter: grayscale(0%);  Torna a colori al passaggio del mouse */
}

/* --- STILE MODAL CARRELLO (Poggio Trevvalle) --- */
/* =========================================
   FIX BOTTONI MODAL CON CLASSE CUSTOM
========================================= */
/* ===== MODAL CARRELLO - BOTTONI ===== */

/* BOTTONE 1 — CONTINUA LO SHOPPING: scuro + hover chiaro */
.p3v-btn-modal.btn-secondary {
    font-family: 'Montserrat', sans-serif !important;
    background: #1a1a1a !important;
    border: 1px solid #faf9f6 !important;
    color: #faf9f6 !important;
    border-radius: 999px !important;
    padding: 10px 24px !important;
    transition: all 0.3s ease !important;
}

.p3v-btn-modal.btn-secondary:hover,
.p3v-btn-modal.btn-secondary:focus {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border-color: #1a1a1a !important;
}

/* BOTTONE 2 — PROCEDI AL CHECKOUT: chiaro + hover scuro */
.p3v-btn-modal.btn-primary {
    font-family: 'Montserrat', sans-serif !important;
    background: #faf9f6 !important;
    border: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
    border-radius: 999px !important;
    padding: 10px 24px !important;
    transition: all 0.3s ease !important;
}

.p3v-btn-modal.btn-primary:hover,
.p3v-btn-modal.btn-primary:focus {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
    border-color: #faf9f6 !important;
}
.p3v-btn-modal::before,
.p3v-btn-modal::after {
    border-radius: 999px !important;
    display: none !important;
}
/* =========================================
   FIX DEFINITIVO MODAL CARRELLO P3V
========================================= */

/* Nasconde il popup carrello — feedback visivo gestito dal dropdown Leo */
#blockcart-modal {
    display: none !important;
}

/* Forza lo sfondo del modal */
body #blockcart-modal .modal-content,
body #blockcart-modal .modal-header,
body #blockcart-modal .modal-body {
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
    border: none !important;
}

/* 5. CORREZIONI TESTI E PREZZI */
body #blockcart-modal .product-name {
    font-family: 'Montserrat', sans-serif !important;
    color: #faf9f6 !important;
    font-size: 18px !important;
    margin-bottom: 10px;
    padding-left: 15px;}

body #blockcart-modal .product-price, 
body #blockcart-modal .value {
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
 padding-left: 15px;}

body #blockcart-modal .cart-products-count, 
body #blockcart-modal .product-tax {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    color: rgba(250, 249, 246, 0.8) !important;
}
/*Page ordine */
body#checkout section.checkout-step a,
body#checkout section.checkout-step label,
body#checkout section.checkout-step p,
body#checkout section.checkout-step p span {
    color: #1a1a1a !important;
}
.custom-radio input[type="radio"]:checked + span {
   
    background-color: #1a1a1a !important;
}
/* Stato Normale (già definito da te) */
html body a.js-show-details {
    color: #1a1a1a !important;
    text-decoration: none !important;
    transition: all 0.3s ease-in-out !important;
}

/* Stato HOVER: quando passi il mouse */
html body a.js-show-details:hover {
    color: #1a1a1a !important; /* Diventa Avorio */
    text-decoration: underline !important; /* Aggiunge sottolineatura elegante */
    opacity: 0.8;
}

/* Stato ACTIVE: quando clicchi il link */
html body a.js-show-details:active {
    color: #1a1a1a !important;
    opacity: 1;
    transform: translateY(1px); /* Effetto pressione del click */
}
/* =========================================
   STILE BOTTONE CONTINUA (REGISTRAZIONE)
========================================= */

/* 1. Stato Normale: Sfondo Nero, Testo Bianco */
body .form-footer button.continue {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    border-radius: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    padding: 10px 35px !important;
    transition: all 0.3s ease-in-out !important;
    position: relative !important;
    overflow: hidden !important; /* Taglia gli angoli dello sfondo in hover */
    z-index: 1;
}

/* 2. Stato HOVER: Sfondo Bianco/Avorio, Testo Nero */
body .form-footer button.continue:hover {
    background-color: #faf9f6 !important; /*  bianco avorio */
    color: #faf9f6 !important;
    border-color: #000000 !important;
}

/* 3. FIX per LeoTheme (Arrotonda lo strato animato interno) */
body .form-footer button.continue::before {
    border-radius: 30px !important;
    z-index: -1 !important;
}

/* 4. Stato ACTIVE (Pressione) */
body .form-footer button.continue:active {
    transform: translateY(1px) !important;
    background-color: #faf9f6 !important; /* Il tuo bianco avorio */
    color: #000000 !important;
    border-color: #000000 !important;
}
/*Account*/
.page-my-account #content .links a span.link-item {
    display: block;
    height: 100%;
    padding: 15px;
    background-color: #1b1b1b;
    border: none;
    transition: 0.25s all;
}
.page-my-account #content .links a {
color: #faf9f6 !important;
}
.page-my-account #content .links a i {
    display: block;
    font-size: 2.6rem;
    width: 100%;
    color: var(--text-color);
    padding-bottom: 3.4rem;
}
/* Rimuove il margine e il padding sinistro dal contenitore della top bar mobile */
.p3v-section-top-header .elementor-container.elementor-column-gap-no {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
/* ===== PREZZI PAGINA PRODOTTO - Demo V2 ===== */
body#product .product-discount {
    margin-bottom: 10px;
}
body#product .regular-price {
    text-decoration: line-through;
    opacity: 0.6;
    font-size: 16px;
}
body#product .discount-percentage-badge {
    background: #faf9f6;
    color: #1a1a1a;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 12px;
    margin-left: 10px;
}
body#product .price-meta {
    font-size: 13px;
    font-weight: 300;
    color: rgba(250,249,246,0.7);
    margin-bottom: 15px;
}
/* ===== FIX SPECIFICITÀ price-meta (override body#product p) ===== */
body#product .P3V-productCol-dx .product-prices .price-meta,
body#product .P3V-productCol-dx .product-prices .price-meta span {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #faf9f6 !important;
    margin-bottom: 10px !important;
    line-height:1.2;
}
body#product .price-meta .separator {
    margin: 0 5px;
}
body#product .unit-price-breakdown {
    /* border-top: 1px solid rgba(255,255,255,0.1); */
    padding-top: 15px;
}
body#product .unit-price-breakdown .unit-price {
    font-size: 15px;
    font-weight: 500;
    color: #faf9f6;
}
body#product .unit-price-breakdown .unit-label {
    font-size: 14px;
    font-weight: 300;
    opacity: 0.8;
}
body#product .unit-price-breakdown .marketing-label {
    color: #faf9f6;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    margin-top: 4px;
}
/* =========================================
   P3V - PAGINA CARRELLO
========================================= */
#_desktop_cart .leo-dropdown-cart.show::after {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
     color: #faf9f6 !important;
}
/* Layout generale */
body#cart #wrapper,
body#cart #content-wrapper,
body#cart #main {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
}

/* Card contenitore */
body#cart .card,
body#cart .cart-container,
body#cart .cart-summary {
    background: #242424 !important;
    border: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #faf9f6 !important;
}

/* Titolo "Carrello" */
body#cart .cart-container .h1 {
    line-height: 2;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #faf9f6 !important;
    margin: 0px 0px 0px 13px !important;
}

/* Separatore */
body#cart hr.separator {
    border-color: rgba(250,249,246,0.1) !important;
    margin: 0 !important;
}


/* ===== RIGA PRODOTTO ===== */
body#cart .cart-item {
    border-bottom: 1px solid rgba(250,249,246,0.08) !important;
    padding: 20px 0 !important;
}
/* Allinea verticalmente le colonne del prodotto */
body#cart .cart-item .product-line-grid {
    display: flex !important;
    align-items: center !important;
}
/* --- Sposta immagine prodotto più a destra nel carrello --- */
body#cart .product-line-grid-left {
    padding-left: 40px !important;
}

body#cart .cart-item:last-child {
    border-bottom: none !important;
}

/* Immagine prodotto — stesso formato del dropdown carrello */
body#cart .product-image img {
    border-radius: 3px !important;
    width: 70px !important;
    height: 70px !important;
    object-fit: cover !important;
}

/* Nome prodotto */
body#cart .product-line-info .label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
    text-decoration: none !important;
    letter-spacing: .02em !important;
}

body#cart .product-line-info .label:hover {
    opacity: .75 !important;
}

/* Prezzo unitario */
body#cart .product-line-info .price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
}

/* Allinea product-discount e current-price sulla stessa riga */
body#cart .product-line-info.product-price {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* Prezzo barrato */
body#cart .product-discount .regular-price {
    font-size: 13px !important;
    color: rgba(250,249,246,0.5) !important;
    text-decoration: line-through !important;
    font-weight: 300 !important;
}

/* Badge sconto */
body#cart .discount.discount-percentage {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    margin-left: 6px !important;
    line-height: 1 !important;
    height: auto !important;
    width: auto !important;
}

/* Prezzo unitario cart (9,37 € / bottiglia) */
body#cart .unit-price-cart {
    font-size: 12px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.6) !important;
    margin-top: 2px !important;
}

/* ===== QUANTITÀ (touchspin) ===== */
body#cart .bootstrap-touchspin {
    border: 1px solid rgba(250,249,246,0.3) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: transparent !important;
    width: 100px !important;
}

body#cart .bootstrap-touchspin .form-control {
    background: transparent !important;
    border: none !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-align: center !important;
    box-shadow: none !important;
}

body#cart .bootstrap-touchspin .btn-touchspin {
    background: transparent !important;
    border: none !important;
    color: #faf9f6 !important;
}

body#cart .bootstrap-touchspin .btn-touchspin:hover {
    background: rgba(250,249,246,0.1) !important;
}

/* ===== PREZZO TOTALE RIGA ===== */
body#cart .product-price strong {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
}

/* ===== ELIMINA ===== */
body#cart .remove-from-cart i {
    color: rgba(250,249,246,0.4) !important;
    font-size: 20px !important;
    transition: color .2s ease !important;
}

body#cart .remove-from-cart:hover i {
    color: #faf9f6 !important;
}

/* ===== LINK CONTINUA LO SHOPPING ===== */
body#cart a.label[href*="staging"] {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #faf9f6 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 16px !important;
    transition: color .2s ease !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

body#cart a.label[href*="staging"]:hover {
    color: #faf9f6 !important;
}

/* ===== RIEPILOGO TOTALI (colonna destra) ===== */
/* Riga flex: label sinistra, prezzo destra */
body#cart .cart-summary-line {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    padding: 8px 0 !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

body#cart .cart-summary-line:last-child {
    border-bottom: none !important;
}

/* Label: cresce a sinistra */
body#cart .cart-summary-line > .label {
    flex: 1 1 auto !important;
    float: none !important;
    text-align: left !important;
    white-space: normal !important;
    padding: 0 !important;
    min-width: 0 !important;
}

/* Value: fisso a destra, allineato */
body#cart .cart-summary-line > .value {
    flex: 0 0 auto !important;
    float: none !important;
    text-align: right !important;
    white-space: nowrap !important;
    min-width: 70px !important;
}

body#cart .cart-summary-line .label,
body#cart .cart-summary-line .value {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.8) !important;
}

/* Totale principale */
/* Riga TOTALE */
/* --- Riduce spazio tra Spedizione e Totale --- */
body#cart .card-block.cart-detailed-subtotals {
    padding-bottom: 4px !important;
}
body#cart .card-block.cart-summary-totals {
    padding-top: 4px !important;
}
body#cart .cart-summary-line.cart-total {
    padding: 6px 0 8px !important;
    border-top: 1px solid rgba(250, 249, 246, 0.12) !important;
    border-bottom: none !important;
    margin-top: 0 !important;
}

body#cart .cart-summary-line.cart-total .label,
body#cart .cart-summary-line.cart-total .value {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
}
/* Rimuove bordo superiore sul totale */
body#cart .card-block.cart-detailed-subtotals + .cart-summary-totals .cart-total {
    border-top: none !important;
}

/* --- Nasconde riga IVA inclusa --- */
body#cart .cart-summary-line:has(> .label.sub) {
    display: none !important;
}

/* --- Card promo offerte esclusive --- */
.p3v-promo-card {
    background: #1a1a1a !important;
    padding: 12px 20px !important;
    margin-top: 10px !important;
}
.p3v-promo-card-cart {
    background: #242424 !important;
    padding: 12px 20px !important;
    margin-top: 10px !important;
    box-shadow: 2px 2px 11px 0px rgba(0, 0, 0, 0.1);
}
body#checkout .p3v-promo-card-cart,
body#checkout .p3v-promo-card-cart ul {
    background: #242424 !important;
}
.p3v-promo-card-cart .promo-highlighted {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(250, 249, 246, 0.45) !important;
    margin: 0 0 4px !important;
    padding: 10px 0 4px !important;
}

/* --- "Approfitta delle nostre offerte esclusive:" uppercase + evidenza --- */
body#cart .block-promo.promo-highlighted {
    padding: 10px 20px 4px !important;
    margin-bottom: 0 !important;
}
body#cart p.block-promo.promo-highlighted {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(250, 249, 246, 0.45) !important;
    margin: 0 0 4px !important;
}

/* --- Voce promo "Spedizione Gratuita sopra 400€" --- */
body#cart .js-discount.promo-discounts {
    padding: 0 20px 10px !important;
    margin: 0 !important;
}
body#cart .js-discount.promo-discounts .cart-summary-line {
    border-bottom: none !important;
    padding: 2px 0 !important;
}
body#cart .js-discount.promo-discounts .cart-summary-line .label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(250, 249, 246, 0.75) !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}
body#cart .js-discount.promo-discounts .cart-summary-line .label::before {
    color: rgba(250, 249, 246, 0.35);
    font-size: 9px;
}

/* ===== BOTTONE CHECKOUT ===== */
body#cart .cart-detailed-actions .btn-primary {
    display: block !important;
    width: 100% !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    padding: 14px 24px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
}

body#cart .cart-detailed-actions .btn-primary:hover {
    background: transparent !important;
    color: #faf9f6 !important;
    border-color: #faf9f6 !important;
}

/* Rimuove pseudo-element LeoTheme */
body#cart .cart-detailed-actions .btn-primary::before,
body#cart .cart-detailed-actions .btn-primary::after {
    display: none !important;
}

/* ===== BREADCRUMB CART===== */
body#cart .breadcrumb-bg {
    background-color: #1a1a1a !important;
}

body#cart .breadcrumb ol li span,
body#cart .breadcrumb ol li a {
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
}
/* =========================================
   P3V - CARRELLO MOBILE
   @media max-width: 767px
========================================= */
@media (max-width: 767px) {

    /* =============================================
       RIGA PRODOTTO
       ============================================= */

    body#cart .product-line-grid.row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
    }

    /* Immagine: colonna sinistra compatta */
    body#cart .product-line-grid-left {
        padding-left: 16px !important;
        padding-right: 8px !important;
        width: 80px !important;
        flex: 0 0 80px !important;
        max-width: 80px !important;
    }
    body#cart .product-line-grid-left img {
        width: 60px !important;
        height: auto !important;
        display: block !important;
    }

    /* Info prodotto */
    body#cart .product-line-grid-body {
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: none !important;
        padding-left: 10px !important;
        padding-right: 12px !important;
        margin-bottom: 8px !important;
    }
    body#cart .product-line-grid-body .product-line-info > .label {
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        white-space: normal !important;
    }
    body#cart .product-line-info.formato {
        font-size: 11px !important;
        margin-top: 4px !important;
    }
    body#cart .product-discount {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        flex-wrap: wrap !important;
    }
    body#cart .regular-price { font-size: 11px !important; }
    body#cart .discount-percentage { font-size: 11px !important; padding: 1px 4px !important; }
    body#cart .current-price .price { font-size: 14px !important; font-weight: 600 !important; }

    /* Azioni: quantità + prezzo + elimina — riga piena sotto */
    body#cart .product-line-grid-right {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 8px 16px 4px !important;
    }
    body#cart .product-line-grid-right > .row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        width: 100% !important;
    }
    body#cart .product-line-grid-right .col-xs-4.hidden-md-up { display: none !important; }
    body#cart .product-line-grid-right .col-md-10.col-xs-6 {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
    }
    body#cart .product-line-grid-right .col-md-10.col-xs-6 > .row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        margin: 0 !important;
    }
    body#cart .col-sp-12.qty { width: auto !important; flex: 0 0 auto !important; padding: 0 !important; }
    body#cart .input-group.bootstrap-touchspin { width: 90px !important; }
    body#cart .col-sp-12.price { width: auto !important; flex: 0 0 auto !important; padding: 0 !important; }
    body#cart .product-price { font-size: 15px !important; font-weight: 600 !important; white-space: nowrap !important; }
    body#cart .product-line-grid-right .col-md-2.col-xs-2 {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 !important;
        text-align: right !important;
    }

    /* Separatori */
    body#cart .cart-item {
        padding: 16px 0 !important;
        border-bottom: 1px solid rgba(250, 249, 246, 0.08) !important;
    }
    body#cart .cart-item:last-child { border-bottom: none !important; }

    /* =============================================
       RIEPILOGO ORDINE
       ============================================= */

    body#cart .cart-grid-right { padding-left: 0 !important; padding-right: 0 !important; }
    body#cart .card.cart-summary { border-radius: 0 !important; margin-bottom: 0 !important; }
    body#cart .card-block.cart-detailed-subtotals { padding: 16px 20px 4px !important; }
    body#cart .card-block.cart-summary-totals { padding-top: 4px !important; padding-bottom: 8px !important; }
    body#cart .cart-summary-line { padding: 6px 0 !important; }
    body#cart .cart-summary-line .label,
    body#cart .cart-summary-line .value { font-size: 13px !important; }
    body#cart .cart-summary-line.cart-total .label,
    body#cart .cart-summary-line.cart-total .value { font-size: 15px !important; }

    body#cart p.block-promo.promo-highlighted { padding: 8px 20px 4px !important; font-size: 9px !important; }
    body#cart .js-discount.promo-discounts { padding: 0 20px 8px !important; }
    body#cart .js-discount.promo-discounts .cart-summary-line .label { font-size: 12px !important; }
    body#cart .cart-voucher { padding: 0 !important; }

    body#cart .checkout.cart-detailed-actions { padding: 16px 20px !important; }
    body#cart .checkout.cart-detailed-actions .btn-primary {
        width: 100% !important;
        display: block !important;
        font-size: 11px !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        padding: 14px !important;
        border-radius: 2px !important;
    }

    /* --- card lista prodotti e riepilogo ordine: respiro laterale --- */
    body#cart .card.cart-container,
    body#cart .card.cart-summary {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }

}
/* EOF - P3V CARRELLO MOBILE */

/* =========================================
   P3V - MINI CARRELLO DROPDOWN (LeoTheme)
========================================= */

/* Contenitore principale */
.leo-dropdown-cart .leo-dropdown-cart-content {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.12) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.4) !important;
    border-radius: 4px !important;
}

/* ===== LISTA PRODOTTI ===== */
.leo-dropdown-cart .leo-dropdown-cart-item {
    background: transparent !important;
    border-bottom: 1px solid rgba(250,249,246,0.08) !important;
    padding: 12px !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.leo-dropdown-cart .leo-dropdown-cart-item:last-child {
    border-bottom: none !important;
}

/* Immagine */
.leo-dropdown-cart .leo-cart-item-img img {
    border-radius: 3px !important;
    width: 70px !important;
    height: 70px !important;
    object-fit: cover !important;
}

/* Nome prodotto */
.leo-dropdown-cart .product-name .label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
}

.leo-dropdown-cart .product-name .label:hover {
    opacity: .75 !important;
}

/* Prezzo corrente */
.leo-dropdown-cart .current-price .price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
}

/* Prezzo barrato */
.leo-dropdown-cart .product-discount .regular-price {
    font-size: 12px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.45) !important;
    text-decoration: line-through !important;
}

/* Badge sconto */
.leo-dropdown-cart .discount.discount-percentage {
    display: inline-flex !important;
    align-items: center !important;
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 1px 7px !important;
    margin-left: 4px !important;
    line-height: 1.6 !important;
    height: auto !important;
    width: auto !important;
}

/* Prezzo unitario (9,37 € 1) */
.leo-dropdown-cart .unit-price-cart {
    font-size: 11px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.5) !important;
    margin-top: 2px !important;
}

/* ===== QUANTITÀ ===== */
.leo-dropdown-cart .product-quantity {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 8px !important;
}

.leo-dropdown-cart .leo-input-product-quantity {
    background: transparent !important;
    border: 1px solid rgba(250,249,246,0.25) !important;
    border-radius: 999px !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: center !important;
    width: 42px !important;
    height: 28px !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.leo-dropdown-cart .leo-bt-product-quantity {
    color: rgba(250,249,246,0.5) !important;
    transition: color .2s ease !important;
    line-height: 1 !important;
}

.leo-dropdown-cart .leo-bt-product-quantity:hover {
    color: #faf9f6 !important;
}

/* ===== ELIMINA ===== */
.leo-dropdown-cart .leo-remove-from-cart i {
    color: rgba(250,249,246,0.25) !important;
    font-size: 18px !important;
    transition: color .2s ease !important;
}

.leo-dropdown-cart .leo-remove-from-cart:hover i {
    color: #faf9f6 !important;
}

/* ===== BOTTOM: TOTALI ===== */
/* Font-size 12px per product-name e leo-dropdown-additional — specificità (1,3,0) batte body#cart a.label */
#_desktop_cart .leo-cart-item-info .product-name,
#_desktop_cart .leo-cart-item-info .product-name .label,
#_desktop_cart .leo-cart-item-info .leo-dropdown-additional,
#_desktop_cart .leo-cart-item-info .leo-dropdown-additional * {
    font-size: 12px !important;
    text-align: left !important;
}

/* Allinea product-discount e current-price sulla stessa riga */
.leo-dropdown-cart-item .product-price {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.leo-dropdown-cart-item .current-price {
    margin-bottom: 2px !important;
}

/* Mini-cart dropdown — variante formato sempre visibile */
.leo-dropdown-cart-item .leo-dropdown-additional {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    position: static !important;
    width: 100% !important;
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
    padding: 0 !important;
}
/* Nasconde il toggle "+/-" — non necessario con additional sempre visibile */
.leo-dropdown-cart-item .view-additional {
    display: none !important;
}
/* Rimuove bordo bianco dal pannello combination */
.leo-dropdown-additional .view-combination,
.leo-dropdown-additional .view-customization {
    border-top: none !important;
}
.leo-dropdown-additional .combinations .product-line-info .label {
    color: #faf9f6 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: 'Montserrat', sans-serif !important;
}
.leo-dropdown-additional .combinations .product-line-info .value {
    color: #faf9f6 !important;
    font-size: 11px !important;
    font-family: 'Montserrat', sans-serif !important;
}
.leo-dropdown-cart .leo-dropdown-bottom {
    background: #111 !important;
    border-top: 1px solid rgba(250,249,246,0.1) !important;
    padding: 12px 16px !important;
}

/* Rimuove bordi da subtotals */
.leo-dropdown-cart .leo-dropdown-cart-subtotals {
    border-top: none !important;
    border-bottom: none !important;
}
/* Nasconde riga IVA */
.leo-dropdown-cart .leo-dropdown-cart-subtotals .tax {
    display: none !important;
}

.leo-dropdown-cart .leo-dropdown-cart-subtotals .label,
.leo-dropdown-cart .leo-dropdown-cart-subtotals .value {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: rgba(250,249,246,0.6) !important;
}

/* Totale principale */
.leo-dropdown-cart .leo-dropdown-cart-total .label,
.leo-dropdown-cart .leo-dropdown-cart-total .value {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
}

.leo-dropdown-cart .leo-dropdown-cart-total {
    border-top: 1px solid rgba(250,249,246,0.1) !important;
    padding-top: 10px !important;
    margin-top: 8px !important;
}

/* ===== BOTTONI AZIONE ===== */
.leo-dropdown-cart .leo-cart-dropdown-action {
    display: flex !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

/* Vedi Carrello — outline */
.leo-dropdown-cart .cart-dropdow-viewcart {
    flex: 1 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    color: #faf9f6 !important;
    border: 1px solid #faf9f6 !important;
    border-radius: 30px !important;
    padding: 9px 12px !important;
    text-align: center !important;
    transition: all .3s ease !important;
    text-decoration: none !important;
}

.leo-dropdown-cart .cart-dropdow-viewcart:hover {
    background: rgba(250,249,246,0.1) !important;
}

/* Checkout — pieno */
.leo-dropdown-cart .cart-dropdow-checkout {
    flex: 1 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border: 1px solid #faf9f6 !important;
    border-radius: 30px !important;
    padding: 9px 12px !important;
    text-align: center !important;
    transition: all .3s ease !important;
    text-decoration: none !important;
}

.leo-dropdown-cart .cart-dropdow-checkout:hover {
    background: transparent !important;
    color: #faf9f6 !important;
}

/* Rimuove pseudo-element LeoTheme */
.leo-dropdown-cart .cart-dropdow-button::before,
.leo-dropdown-cart .cart-dropdow-button::after {
    display: none !important;
}
.leo-dropdown-cart .leo-bt-product-quantity i.material-icons,
.leo-dropdown-cart .leo-bt-product-quantity-down i.material-icons,
.leo-dropdown-cart .leo-bt-product-quantity-up i.material-icons {
    color: #faf9f6 !important;
    font-size: 18px !important;
}
.leo-dropdown-cart .leo-remove-from-cart i.material-icons,
.leo-dropdown-cart i.material-icons {
    color: #faf9f6 !important;
}
.leo-dropdown-cart .leo-bt-product-quantity,
.leo-dropdown-cart .leo-bt-product-quantity-down,
.leo-dropdown-cart .leo-bt-product-quantity-up {
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid rgba(250,249,246,0.3) !important;
    border-radius: 999px !important;
    width: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.leo-dropdown-cart .leo-bt-product-quantity:hover,
.leo-dropdown-cart .leo-bt-product-quantity-down:hover,
.leo-dropdown-cart .leo-bt-product-quantity-up:hover {
    background: rgba(250,249,246,0.1) !important;
    border-color: #faf9f6 !important;
}
/* =========================================
   P3V - PAGINA ORDINE / CHECKOUT
========================================= */

/* Layout generale */
body#checkout #wrapper,
body#checkout #content-wrapper,
body#checkout #content,
body#checkout #main {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
}

/* Breadcrumb CHECKOUT*/
body#checkout .breadcrumb-bg {
    background-color: #1a1a1a !important;
}
body#checkout .breadcrumb ol li span,
body#checkout .breadcrumb ol li a {
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
}

/* =========================================
   STEP CHECKOUT
========================================= */

/* Titolo step */
body#checkout .checkout-step .step-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: #faf9f6 !important;
    padding: 18px 20px !important;
    margin: 0 !important;
    cursor: pointer !important;
    border-bottom: 1px solid rgba(250,249,246,0.08) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Numero step */
body#checkout .checkout-step .step-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border: 1px solid rgba(250,249,246,0.4) !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
    flex-shrink: 0 !important;
}

/* Icona done (step completato) */
body#checkout .checkout-step .material-icons.done {
    color: #faf9f6 !important;
    font-size: 18px !important;
}

/* Link modifica */
body#checkout .checkout-step .step-edit,
body#checkout .checkout-step .text-muted {
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: .06em !important;
    color: rgba(250,249,246,0.45) !important;
    margin-left: auto !important;
    text-transform: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

body#checkout .checkout-step .step-edit i {
    font-size: 15px !important;
    color: rgba(250,249,246,0.45) !important;
}

/* Allinea "modifica indirizzi" a destra nell'h4 del riepilogo finale */
body#checkout #order-summary-content h4 {
    display: flex !important;
    align-items: center !important;
}

body#checkout .checkout-step .step-to-addresses {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
}

/* Contenitore step */
body#checkout .checkout-step {
    background: #242424 !important;
    border: none !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
}

/* Step non raggiungibile */
body#checkout .checkout-step.-unreachable .step-title {
    color: rgba(250,249,246,0.3) !important;
}

body#checkout .checkout-step.-unreachable .step-number {
    border-color: rgba(250,249,246,0.15) !important;
    color: rgba(250,249,246,0.3) !important;
}

/* Contenuto step aperto */
body#checkout .checkout-step .content {
    padding: 20px !important;
    border-top: 1px solid rgba(250,249,246,0.08) !important;
}

/* Testi interni */
/* Testi interni */
body#checkout .checkout-step .content p,
body#checkout .checkout-step .content label,
body#checkout .checkout-step .content span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #faf9f6 !important;
}

/* Link interni */
body#checkout .checkout-step .content a {
    color: #faf9f6 !important;
    border: none !important;
    padding: 0 !important;
    text-decoration: underline !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    border-radius: 0 !important;
}

body#checkout .checkout-step .content a:hover {
    opacity: .75 !important;
}

/* =========================================
   INDIRIZZI
========================================= */

/* Titolo sezione indirizzo (spedizione / fatturazione) */
body#checkout .js-address-form h2 {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #faf9f6 !important;
    text-decoration: none !important;
}

body#checkout .address-item,
body#checkout .card-block,
body#checkout .summary-selected-carrier,
body#checkout .order-confirmation-table {
    background: #1a1a1a !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
    margin-top: -8px !important;
    margin-bottom: 8px !important;
}

body#checkout .order-confirmation-table .order-line .image img,
body#order-confirmation .order-confirmation-table .order-line .image img {
    max-width: 98px !important;
    height: auto !important;
}
body#checkout #order-items .details,
body#checkout #order-items .details span,
body#checkout #order-items .details a {
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    color: #faf9f6 !important;
    text-decoration: none !important;
}

body#checkout .address-item.selected {
    border-color: #faf9f6 !important;
}

body#checkout .address-alias {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: #faf9f6 !important;
}

body#checkout .address {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.7) !important;
    line-height: 1.6 !important;
    margin-top: 6px !important;
}

body#checkout .address-item hr {
    border-color: rgba(250,249,246,0.08) !important;
    margin: 10px 0 !important;
}

/* Radio custom */
body#checkout .custom-radio span {
    width: 10px !important;
    height: 10px !important;
    margin: 2px !important;
}

body#checkout .custom-radio input[type="radio"] + span {
    border: 1px solid rgba(250,249,246,0.4) !important;
    background: transparent !important;
}

body#checkout .custom-radio input[type="radio"]:checked + span {
    background: #1a1a1a !important;
    border-color: #1a1a1a !important;
    top: 0;
    left: 0;
}

body#checkout section.checkout-step .custom-radio input[type="radio"] {
    color: #1a1a1a !important;
    width: 10px !important;
    height: 10px !important;
}

/* Card indirizzo checkout */
.page-addresses .address {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.08) !important;
    border-radius: 4px !important;
    color: #faf9f6 !important;
}
.page-addresses .address-body h4 {
    color: #faf9f6 !important;
}
.page-addresses .address-body address {
    color: rgba(250,249,246,0.65) !important;
}

/* Footer indirizzo: modifica / elimina */
body#checkout .address-footer a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: rgba(250,249,246,0.45) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-right: 12px !important;
}

body#checkout .address-footer a:hover {
    color: #faf9f6 !important;
}

body#checkout .address-footer i {
    font-size: 15px !important;
}

/* Aggiungi indirizzo */
body#checkout .add-address a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(250,249,246,0.6) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

body#checkout .add-address a:hover {
    color: #faf9f6 !important;
}

/* =========================================
   BOTTONI CONTINUA
========================================= */

body#checkout .btn.btn-primary.continue,
body#checkout button.continue {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    padding: 12px 30px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
}

body#checkout .btn.btn-primary.continue:hover,
body#checkout button.continue:hover {
    background: transparent !important;
    color: #faf9f6 !important;
    border-color: #faf9f6 !important;
}

body#checkout .btn.btn-primary.continue::before,
body#checkout .btn.btn-primary.continue::after,
body#checkout button.continue::before,
body#checkout button.continue::after {
    display: none !important;
}

/* =========================================
   RIEPILOGO ORDINE (colonna destra)
========================================= */

body#cart .cart-grid-right,
body#checkout #js-checkout-summary {
    background: #242424 !important;
    border: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* Base font uniforme per tutto il riepilogo */
body#checkout #js-checkout-summary * {
    font-family: 'Montserrat', sans-serif !important;
}

/* "3 articoli" */
body#checkout .cart-summary-products p {
    font-size: 12px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.6) !important;
    margin: 0 0 6px !important;
}

/* Attributo formato prodotto */
body#checkout #cart-summary-product-list .product-line-info,
body#checkout #cart-summary-product-list .product-line-info .label,
body#checkout #cart-summary-product-list .product-line-info .value {
    font-size: 11px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.55) !important;
}

/* "Hai un codice sconto?" */
body#checkout .block-promo .js-discount-name,
body#checkout .block-promo label,
body#checkout .block-promo .promo-name {
    font-size: 12px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.7) !important;
}

/* Lista prodotti sempre visibile */
body#checkout #cart-summary-product-list {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
}
/* Nasconde link "mostra dettagli" */
body#checkout .js-show-details {
    display: none !important;
}
/* Immagine prodotto checkout */
body#checkout #cart-summary-product-list img {
    border: none !important;
    width: 60px !important;
}

body#checkout .js-show-details:hover {
    color: #faf9f6 !important;
}

body#checkout .js-show-details i {
    font-size: 16px !important;
    color: inherit !important;
}

/* Lista prodotti collassabile */
body#checkout .media-list .media {
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(250,249,246,0.06) !important;
}

body#checkout .media-list .product-name a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #faf9f6 !important;
    text-decoration: none !important;
}

body#checkout .media-list .product-quantity {
    font-size: 12px !important;
    color: rgba(250,249,246,0.5) !important;
    margin-left: 6px !important;
}

body#checkout .media-list .product-price {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
}

body#checkout .media-list img {
    border-radius: 3px !important;
    width: 50px !important;
    height: 50px !important;
    object-fit: cover !important;
}

/* Subtotali */
body#checkout .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    padding: 4px 0 !important;
}

body#checkout .cart-summary-line .label,
body#checkout .cart-summary-line .value {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.7) !important;
}

/* Totale */
/* Rimuove bordi e padding subtotals checkout */
body#checkout .cart-grid-right .card .cart-summary-subtotals-container {
    border-top: none !important;
    border-bottom: none !important;
    padding: 0 !important;
}
/* Font uniforme su subtotals, totale e promo */
body#checkout .card-block.cart-summary-subtotals-container,
body#checkout .card-block.cart-summary-subtotals-container *,
body#checkout .card-block.cart-summary-totals,
body#checkout .card-block.cart-summary-totals *,
body#checkout #js-checkout-summary .block-promo,
body#checkout #js-checkout-summary .block-promo * {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #faf9f6 !important;
    text-decoration: none !important;
}

/* Totals: padding ridotto top/bottom */
body#checkout .card-block.cart-summary-totals {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}
/* card-block nel riepilogo ordine: padding top/bottom ridotto */
body#checkout .cart-grid-right .card-block {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}
/* Block promo sempre visibile */
body#checkout #promo-code {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
}
body#checkout .cancel-promo {
    display: none !important;
}

/* Totale */
body#checkout .cart-summary-line.cart-total .label,
body#checkout .cart-summary-line.cart-total .value {
    font-size: 14px !important;
    font-weight: 300 !important;
    color: #faf9f6 !important;
}

/* IVA */
body#checkout .cart-summary-line .label.sub,
body#checkout .cart-summary-line .value.sub {
    font-size: 11px !important;
    color: rgba(250,249,246,0.4) !important;
}
/* =========================================
   P3V - CHECKOUT STEP 3: SPEDIZIONE
========================================= */

/* Opzione spedizione */
body#checkout .delivery-option {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.12) !important;
    border-radius: 4px !important;
    padding: 14px 10px !important;
    margin-bottom: 8px !important;
    align-items: center !important;
    transition: border-color .2s ease !important;
}

body#checkout .delivery-option:has(input:checked) {
    border: none !important;
}

/* Label messaggio ordine */
body#checkout label[for="delivery_message"] {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    text-align: left !important;
    font-weight: 300 !important;
    color: #faf9f6 !important;
    display: block !important;
    margin-bottom: 8px !important;
}

/* Nome corriere */
body#checkout .carrier-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: #faf9f6 !important;
}

/* Descrizione (Ritiro in negozio) */
body#checkout .carrier-delay {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.6) !important;
}

/* Prezzo */
body#checkout .carrier-price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #faf9f6 !important;
}

/* ===== COMMENTO ORDINE ===== */
body#checkout .order-options label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: rgba(250,249,246,0.55) !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    margin-bottom: 8px !important;
    display: block !important;
}

body#checkout .order-options textarea {
    background: transparent !important;
    border: 1px solid rgba(250,249,246,0.2) !important;
    border-radius: 4px !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    width: 100% !important;
    padding: 10px 14px !important;
    resize: vertical !important;
    transition: border-color .2s ease !important;
    box-sizing: border-box !important;
}

body#checkout .order-options textarea:focus {
    outline: none !important;
    border-color: #faf9f6 !important;
    background: rgba(250,249,246,0.03) !important;
}

body#checkout .order-options textarea::placeholder {
    color: rgba(250,249,246,0.25) !important;
}
/* =========================================
   P3V - CHECKOUT STEP 4: PAGAMENTO
========================================= */

/* Contenitore opzione pagamento */
body#checkout .payment-option {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.12) !important;
    border-radius: 4px !important;
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    transition: border-color .2s ease !important;
}

body#checkout .payment-option:has(input:checked) {
    border-color: #faf9f6 !important;
    background: rgba(250,249,246,0.03) !important;
}

/* Label pagamento */
body#checkout .payment-option label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: #faf9f6 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

/* Radio custom pagamento */
body#checkout .payment-option .custom-radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

body#checkout .payment-option .custom-radio span {
    display: inline-flex !important;
    width: 10px !important;
    height: 10px !important;
    margin: 2px !important;
    border: 1px solid rgba(250,249,246,0.4) !important;
    border-radius: 50% !important;
    background: transparent !important;
    flex-shrink: 0 !important;
    transition: all .2s ease !important;
}

body#checkout .payment-option .custom-radio input[type="radio"]:checked + span {
    background: #faf9f6 !important;
    border-color: #faf9f6 !important;
    box-shadow: inset 0 0 0 3px #1a1a1a !important;
}

/* ===== INFO AGGIUNTIVE (testo + dl) ===== */
body#checkout .additional-information {
    background: rgba(250,249,246,0.03) !important;
    border: 1px solid rgba(250,249,246,0.08) !important;
    border-top: none !important;
    border-radius: 0 0 4px 4px !important;
    padding: 14px 16px !important;
    margin-top: -8px !important;
    margin-bottom: 8px !important;
}

body#checkout .additional-information p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.65) !important;
    line-height: 1.6 !important;
    margin: 0 0 10px !important;
}

/* DL bonifico / assegno */
body#checkout .additional-information dl {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid rgba(250,249,246,0.08) !important;
    border-radius: 0 !important;
    padding: 10px 0 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px 16px !important;
}

body#checkout .additional-information dl dt {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: rgba(250,249,246,0.4) !important;
    margin-top: 8px !important;
    grid-column: 1 !important;
}

body#checkout .additional-information dl dd {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #faf9f6 !important;
    margin: 0 !important;
    margin-top: 8px !important;
    grid-column: 2 !important;
}

/* Modal bonifico */
body#checkout #bankwire-modal .modal-content {
    background: #242424 !important;
    border: 1px solid rgba(250,249,246,0.12) !important;
    border-radius: 4px !important;
    color: #faf9f6 !important;
}

body#checkout #bankwire-modal .modal-header {
    border-bottom: 1px solid rgba(250,249,246,0.08) !important;
    padding: 16px 20px !important;
}

body#checkout #bankwire-modal .modal-header h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #faf9f6 !important;
    margin: 0 !important;
}

body#checkout #bankwire-modal .close {
    color: rgba(250,249,246,0.5) !important;
    opacity: 1 !important;
    font-size: 22px !important;
}

body#checkout #bankwire-modal .close:hover {
    color: #faf9f6 !important;
}

body#checkout #bankwire-modal .modal-body p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.65) !important;
}

/* ===== CHECKBOX T&C ===== */
body#checkout #conditions-to-approve {
    margin: 20px 0 !important;
}

body#checkout #conditions-to-approve ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body#checkout #conditions-to-approve li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

body#checkout .custom-checkbox input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

body#checkout .custom-checkbox span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border: 1px solid rgba(250,249,246,0.4) !important;
    border-radius: 3px !important;
    background: transparent !important;
    flex-shrink: 0 !important;
    transition: all .2s ease !important;
    margin-top: 1px !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked + span {
    background: #faf9f6 !important;
    border-color: #faf9f6 !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked + span i {
    color: #1a1a1a !important;
    font-size: 14px !important;
}

body#checkout .condition-label {
    margin-left: 0;
    margin-top: 0;
}

body#checkout .condition-label label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: rgba(250,249,246,0.7) !important;
    line-height: 1.5 !important;
}

body#checkout .condition-label a {
    color: #faf9f6 !important;
    font-weight: 500 !important;
}

body#checkout .condition-label a:hover {
    opacity: .75 !important;
}

/* ===== BOTTONE INVIA ORDINE ===== */
body#checkout #payment-confirmation .btn-primary {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    padding: 14px 40px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
    display: block !important;
    margin: 0 auto !important;
}

body#checkout #payment-confirmation .btn-primary:hover:not(:disabled) {
    background: transparent !important;
    color: #faf9f6 !important;
}

body#checkout #payment-confirmation .btn-primary.disabled,
body#checkout #payment-confirmation .btn-primary:disabled {
    background: rgba(250,249,246,0.2) !important;
    border-color: rgba(250,249,246,0.2) !important;
    color: rgba(250,249,246,0.4) !important;
    cursor: not-allowed !important;
}

body#checkout #payment-confirmation .btn-primary::before,
body#checkout #payment-confirmation .btn-primary::after {
    display: none !important;
}
/* ===== FIX RADIO PAGAMENTO - sibling selector ===== */
body#checkout .payment-option .custom-radio input[type="radio"]:checked ~ span,
body#checkout #payment-option-1:checked ~ span,
body#checkout #payment-option-2:checked ~ span,
body#checkout #payment-option-3:checked ~ span {
    background: #faf9f6 !important;
    border-color: #faf9f6 !important;
    box-shadow: inset 0 0 0 3px #1a1a1a !important;
}

/* ===== 1) FIX RADIO CENTRATO ===== */
body#checkout .payment-option .custom-radio {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    background: #1a1a1a;
    border: 2px solid #faf9f6;
}

body#checkout .payment-option .custom-radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    cursor: pointer !important;
    z-index: 1 !important;
}

body#checkout .payment-option .custom-radio span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border: 1px solid rgba(250,249,246,0.4) !important;
    border-radius: 50% !important;
    background: transparent !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ===== 2) FIX CHECKBOX CLICCABILE ===== */
body#checkout .custom-checkbox {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body#checkout .custom-checkbox input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    cursor: pointer !important;
    z-index: 1 !important;
    top: 0 !important;
    left: 0 !important;
}

body#checkout .custom-checkbox span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border: 1px solid rgba(250,249,246,0.4) !important;
    border-radius: 3px !important;
    background: transparent !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked ~ span,
body#checkout .custom-checkbox input[type="checkbox"]:checked + span {
    background: #faf9f6 !important;
    border-color: #faf9f6 !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked + span i {
    color: #1a1a1a !important;
    font-size: 14px !important;
    display: block !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:not(:checked) + span i {
    display: none !important;
}
/* ===== BOTTONE PROCESSO DI ACQUISTO (disabled) ===== */
body#cart .checkout .btn-primary {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    display: block !important;
    width: 100% !important;
    border-radius: 30px !important;
    padding: 14px 24px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
}

/* Stato normale (abilitato) */
body#cart .checkout .btn-primary:not(:disabled):not(.disabled) {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    border: 2px solid #faf9f6 !important;
}

body#cart .checkout .btn-primary:not(:disabled):not(.disabled):hover {
    background: transparent !important;
    color: #faf9f6 !important;
    border-color: #faf9f6 !important;
}

/* Stato disabled */
body#cart .checkout .btn-primary.disabled,
body#cart .checkout .btn-primary:disabled {
    background: rgba(250,249,246,0.12) !important;
    color: rgba(250,249,246,0.3) !important;
    border: 2px solid rgba(250,249,246,0.12) !important;
    cursor: not-allowed !important;
}

body#cart .checkout .btn-primary::before,
body#cart .checkout .btn-primary::after {
    display: none !important;
}
/* ===== FIX RADIO TITOLO SOCIALE (form registrazione/account) ===== */
.radio-inline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #faf9f6 !important;
    margin-right: 16px !important;
}

.radio-inline .custom-radio {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.radio-inline .custom-radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    cursor: pointer !important;
    z-index: 1 !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.radio-inline .custom-radio span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border: 1px solid rgba(250,249,246,0.4) !important;
    border-radius: 50% !important;
    background: transparent !important;
    flex-shrink: 0 !important;
    transition: all .2s ease !important;
}

.radio-inline .custom-radio input[type="radio"]:checked + span {
    background: #faf9f6 !important;
    border-color: #faf9f6 !important;
    box-shadow: inset 0 0 0 3px #1a1a1a !important;
}

.radio-inline:hover .custom-radio span {
    border-color: #faf9f6 !important;
}
/* ================================================
   HERO BUTTONS — coerenza pill outline su tutta la home
   ================================================ */
.p3v-hero-btn .elementor-button,
.p3v-hero-btn a.elementor-button {
    background-color: transparent !important;
    color: #faf9f6 !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 8px 25px !important;
    transition: background 0.3s, color 0.3s !important;
}

body#index .p3v-hero-btn .elementor-button:hover,
body#index .p3v-hero-btn a.elementor-button:hover {
    background: rgba(0,0,0,0.41) !important;
    box-shadow: inset 0 0 0 1px #faf9f6 !important;
    color: #faf9f6 !important;
    font-weight: 500 !important;
}

/* P3V-Box-doc-bio — button DOC/BIO */
/* .P3V-Box-doc-bio .elementor-button.elementor-size-sm,
.P3V-Box-doc-bio a.elementor-button,
body#product .elementor-button.elementor-size-sm,
body#product a.elementor-button {
    font-size: 12px !important;
    padding: 6px 14px !important;
    background-color: rgba(0, 0, 0, 0.41) !important;
    color: #faf9f6 !important;
    border: none !important;
    border-radius: 25px !important;
    letter-spacing: 0.5px;
    font-weight: 700;
} */
/* Badge decorativi (posizione assoluta) — non cliccabili, nessun cursore mano */
body#product .elementor-absolute,
body#product .elementor-absolute a.elementor-button,
body#product .elementor-absolute .elementor-button-wrapper,
body#index .elementor-absolute,
body#index .elementor-absolute a.elementor-button,
body#index .elementor-absolute .elementor-button-wrapper {
    pointer-events: none !important;
    cursor: default !important;
}
.P3V-Box-doc-bio .elementor-button::before,
.P3V-Box-doc-bio .elementor-button::after {
    display: none !important;
}

/* icon-list — hover globale su tutti i widget */
.elementor-icon-list-item a:hover,
.elementor-icon-list-item a:hover .elementor-icon-list-text,
.elementor-icon-list-item a:hover .elementor-icon-list-icon i {
    color: #1a1a1a !important;
}


.p3v-hero-btn .elementor-button::before,
.p3v-hero-btn .elementor-button::after {
    display: none !important;
}

/* Fix: elementor-align-left non deve sovrascrivere lo stile p3v-hero-btn */
.elementor-element-7dee8df .elementor-button,
.elementor-element-7dee8df a.elementor-button {
    background-color: transparent !important;
    color: #faf9f6 !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 50px !important;
    padding: 12px 28px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    transition: background 0.3s, color 0.3s !important;
}
.elementor-element-7dee8df .elementor-button:hover,
.elementor-element-7dee8df a.elementor-button:hover {
    background-color: #faf9f6 !important;
    color: #1a1a1a !important;
}
.elementor-element-7dee8df .elementor-button::before,
.elementor-element-7dee8df .elementor-button::after {
    display: none !important;
}

/* ============================================================
   PAGINA CONTATTI — body#contact
   Design system: sfondo #1a1a1a, testo #faf9f6, font Montserrat
   Bordi pill 30px, bottoni outline avorio, oro #b68a2e
   ============================================================ */

/* --- Layout generale --- */
body#contact {
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
}

/* --- Breadcrumb body#contact--- */
body#contact .breadcrumb-bg {
    background-color: #242424 !important;
    border-bottom: 1px solid rgba(250, 249, 246, 0.08) !important;
}

body#contact .breadcrumb ol {
    background: transparent !important;
}

body#contact .breadcrumb a,
body#contact .breadcrumb span {
    color: rgba(250, 249, 246, 0.55) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

body#contact .breadcrumb li:last-child span {
    color: #faf9f6 !important;
}

body#contact .breadcrumb li + li::before {
    color: rgba(250, 249, 246, 0.3) !important;
}

/* --- Card form --- */
body#contact #main .page-content.card {
    background-color: #242424 !important;
    border: 1px solid rgba(250, 249, 246, 0.08) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.4) !important;
    padding: 40px !important;
    margin: 30px auto !important;
    max-width: 760px !important;
}

/* --- Titolo form --- */
body#contact .contact-form h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 22px !important;
    color: #faf9f6 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 30px !important;
}

/* --- Labels --- */
body#contact .contact-form .form-control-label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(250, 249, 246, 0.7) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding-top: 10px !important;
}

/* --- Input, Textarea, Select --- */
body#contact .contact-form .form-control,
body#contact .contact-form select.form-control,
body#contact .contact-form textarea.form-control {
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
    border: 1px solid rgba(250, 249, 246, 0.2) !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    padding: 10px 14px !important;
    transition: border-color 0.3s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

body#contact .contact-form .form-control:focus,
body#contact .contact-form select.form-control:focus,
body#contact .contact-form textarea.form-control:focus {
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
    border-color: rgba(250, 249, 246, 0.55) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(250, 249, 246, 0.08) !important;
}

body#contact .contact-form .form-control::placeholder {
    color: rgba(250, 249, 246, 0.3) !important;
}

/* Select — freccia custom */
body#contact .contact-form select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23faf9f6' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 36px !important;
    cursor: pointer !important;
}

/* Textarea */
body#contact .contact-form textarea.form-control {
    resize: vertical !important;
    min-height: 120px !important;
}

/* --- Upload file --- */
body#contact .contact-form .bootstrap-filestyle .form-control {
    background-color: #1a1a1a !important;
    color: rgba(250, 249, 246, 0.5) !important;
    border-right: none !important;
    border-radius: 4px 0 0 4px !important;
}

body#contact .contact-form .bootstrap-filestyle .btn-default {
    background-color: #242424 !important;
    color: #faf9f6 !important;
    border: 1px solid rgba(250, 249, 246, 0.2) !important;
    border-left: none !important;
    border-radius: 0 4px 4px 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: background 0.3s, color 0.3s !important;
}

body#contact .contact-form .bootstrap-filestyle .btn-default:hover {
    background-color: #faf9f6 !important;
    color: #1a1a1a !important;
}

/* --- Commento "opzionale" --- */
body#contact .contact-form .form-control-comment {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    color: rgba(250, 249, 246, 0.4) !important;
    font-style: italic !important;
    padding-top: 10px !important;
}

/* --- Bottone submit --- */
body#contact .contact-form .form-footer .btn-primary,
body#contact .contact-form input[type="submit"].btn-primary {
    background: transparent !important;
    color: #faf9f6 !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 10px 50px !important;
    transition: background 0.3s ease, color 0.3s ease !important;
    cursor: pointer !important;
}

body#contact .contact-form .form-footer .btn-primary:hover,
body#contact .contact-form input[type="submit"].btn-primary:hover {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
}

/* --- Footer form (allineamento bottone) --- */
body#contact .contact-form .form-footer {
    padding-top: 20px !important;
    border-top: 1px solid rgba(250, 249, 246, 0.08) !important;
    margin-top: 10px !important;
}

/* --- Separatore righe form --- */
body#contact .contact-form .form-group {
    margin-bottom: 20px !important;
}

/* --- Responsive --- */
@media (max-width: 767px) {
    body#contact #main .page-content.card {
        padding: 24px 16px !important;
        margin: 16px !important;
    }

    body#contact .contact-form .form-control-label {
        padding-top: 0 !important;
        padding-bottom: 4px !important;
    }

    body#contact .contact-form .form-footer {
        text-align: center !important;
    }

    body#contact .contact-form input[type="submit"].btn-primary {
        width: 100% !important;
    }
}
/* ==========================================================
   BOF PAGINA REGISTRAZIONE  body#registration
   ========================================================== */

/* --- Sfondo generale --- */
body#registration {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
}
body#registration #page,
body#registration #wrapper,
body#registration #content-wrapper {
    background: #1a1a1a !important;
}

/* --- Breadcrumb --- */
body#registration .breadcrumb-bg {
    background-color: #242424 !important;
    background-image: none !important;
}
body#registration .breadcrumb ol,
body#registration .breadcrumb li,
body#registration .breadcrumb a,
body#registration .breadcrumb span {
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
body#registration .breadcrumb li:last-child span {
    color: rgba(250,249,246,0.85) !important;
}
body#registration .breadcrumb li + li::before {
    color: rgba(250,249,246,0.3) !important;
}

/* --- Page header H1 --- */

/* --- Card principale --- */
body#registration #content.page-content.card,
body#password #content.page-content.card {
    background: #242424 !important;
    border: 1px solid rgba(250,249,246,0.08) !important;
    border-radius: 4px !important;
    padding: 32px 40px !important;
    box-shadow: none !important;
    max-width: 820px !important;
    margin: 0 auto !important;
}

.forgotten-password .form-fields label.required {
    width: auto;
    line-height: 1.2;
}

/* --- Testo intro "Hai già un account?" --- */
body#registration .register-form > p {
    color: rgba(250,249,246,0.7) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    margin-bottom: 28px !important;
}
body#registration .register-form > p a {
    color: #faf9f6 !important;
    text-decoration: underline !important;
}
body#registration .register-form > p a:hover {
    opacity: 0.7 !important;
}

/* --- Labels --- */
body#registration .form-control-label {
    color: rgba(250,249,246,0.65) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding-top: 10px !important;
}
body#registration .form-control-label.required::after {
    content: ' *';
    color: rgba(250,249,246,0.4) !important;
}

/* --- Input, textarea generici --- */
body#registration .form-control {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.2) !important;
    border-radius: 4px !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    padding: 10px 14px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
body#registration .form-control:focus {
    background: #1a1a1a !important;
    border-color: rgba(250,249,246,0.55) !important;
    box-shadow: 0 0 0 3px rgba(250,249,246,0.07) !important;
    outline: none !important;
    color: #faf9f6 !important;
}
body#registration .form-control::placeholder {
    color: rgba(250,249,246,0.3) !important;
}

/* --- Input group (password con pulsante mostra/nascondi) --- */
body#registration .input-group {
    background: transparent !important;
}
body#registration .input-group .form-control {
    border-right: none !important;
    border-radius: 4px 0 0 4px !important;
}
body#registration .input-group-btn .btn {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.2) !important;
    border-left: none !important;
    border-radius: 0 4px 4px 0 !important;
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 14px !important;
    transition: color 0.2s !important;
}
body#registration .input-group-btn .btn:hover {
    color: #faf9f6 !important;
    background: #1a1a1a !important;
}

/* --- Password strength bar --- */
body#registration .password-strength-feedback {
    margin-top: 8px !important;
}
body#registration .progress {
    background: rgba(250,249,246,0.1) !important;
    border-radius: 999px !important;
    height: 4px !important;
}
body#registration .progress-bar {
    border-radius: 999px !important;
}
body#registration .password-strength-text,
body#registration .password-requirements p,
body#registration .password-requirements span {
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
}
body#registration .password-requirements .material-icons {
    font-size: 13px !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
    color: rgba(250,249,246,0.3) !important;
}

/* --- Commenti helper sotto i campi --- */
body#registration .form-control-comment {
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
}

/* --- Titolo sociale: radio inline --- */
body#registration .radio-inline {
    color: rgba(250,249,246,0.75) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    margin-right: 20px !important;
}

/* --- Custom radio (Sig. / Sig.ra) --- */
body#registration .custom-radio {
    display: inline-flex !important;
    align-items: center !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
}
body#registration .custom-radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
body#registration .custom-radio span {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid rgba(250,249,246,0.35) !important;
    border-radius: 50% !important;
    background: transparent !important;
    transition: border-color 0.2s, background 0.2s !important;
    position: relative !important;
}
body#registration .custom-radio input[type="radio"]:checked + span {
    border-color: #faf9f6 !important;
    background: #faf9f6 !important;
}
body#registration .custom-radio input[type="radio"]:checked + span::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #1a1a1a !important;
}

/* --- Custom checkbox --- */
body#registration .custom-checkbox {
    display: inline-flex !important;
    align-items: flex-start !important;
}
body#registration .custom-checkbox label {
    color: rgba(250,249,246,0.75) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    display: inline !important;
}

/* Checkbox visivo: inline-block allineato al testo */
body#registration .custom-checkbox label > span:first-of-type {
    display: inline-flex !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
}
body#registration .custom-checkbox input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
body#registration .custom-checkbox span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 16px !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid rgba(250,249,246,0.35) !important;
    border-radius: 2px !important;
    background: transparent !important;
    margin-top: 1px !important;
    transition: border-color 0.2s, background 0.2s !important;
    flex-shrink: 0 !important;
}
body#registration .custom-checkbox input[type="checkbox"]:checked ~ span,
body#registration .custom-checkbox span:has(+ .checkbox-checked) {
    border-color: #faf9f6 !important;
    background: #faf9f6 !important;
}
body#registration .custom-checkbox .material-icons.checkbox-checked {
    font-size: 12px !important;
    color: #1a1a1a !important;
    display: none !important;
}
body#registration .custom-checkbox input[type="checkbox"]:checked ~ span .material-icons.checkbox-checked {
    display: block !important;
}
body#registration .custom-checkbox label em {
    color: rgba(250,249,246,0.45) !important;
    font-size: 11px !important;
    font-style: italic !important;
    line-height: 1.4 !important;
    display: inline !important;
}

/* Rimuove block elements generati da TinyMCE dentro la label checkbox */
body#registration .custom-checkbox label em,
body#registration .custom-checkbox label em p,
body#registration .custom-checkbox label em div,
body#registration .custom-checkbox label p,
body#registration .custom-checkbox label div {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}
body#registration .custom-checkbox label a {
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: #faf9f6 !important;
    text-decoration: underline !important;
}
body#registration .custom-checkbox label a:hover {
    opacity: 0.7 !important;
}

/* --- Separatore riga form --- */
body#registration .form-group.row {
    border-bottom: none !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
}
body#registration .form-group.row:last-child {
    border-bottom: none !important;
}

/* --- Footer del form: bottone Salva --- */
body#registration .form-footer {
    padding-top: 20px !important;
    margin-top: 8px !important;
    border-top: 1px solid rgba(250,249,246,0.08) !important;
}
body#registration .btn.btn-primary.form-control-submit,
body#registration .form-footer .btn.btn-primary,
body#registration button[data-link-action="save-customer"] {
    background: transparent !important;
    background-color: transparent !important;
    color: #faf9f6 !important;
    border: 2px solid #faf9f6 !important;
    border-radius: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 12px 40px !important;
    transition: background 0.3s, color 0.3s !important;
    float: right !important;
    box-shadow: none !important;
    outline: none !important;
    margin-bottom: 15px;
}
body#registration .btn.btn-primary.form-control-submit:hover,
body#registration .btn.btn-primary.form-control-submit:focus,
body#registration .btn.btn-primary.form-control-submit:active,
body#registration .form-footer .btn.btn-primary:hover,
body#registration .form-footer .btn.btn-primary:focus,
body#registration .form-footer .btn.btn-primary:active,
body#registration button[data-link-action="save-customer"]:hover,
body#registration button[data-link-action="save-customer"]:focus,
body#registration button[data-link-action="save-customer"]:active {
    background: #faf9f6 !important;
    background-color: #faf9f6 !important;
    color: #1a1a1a !important;
    border-color: #faf9f6 !important;
    box-shadow: none !important;
}

/* --- Responsive --- */
@media (max-width: 991px) {
    body#registration #content.page-content.card,
    body#password #content.page-content.card {
        padding: 24px 20px !important;
    }
    body#registration .form-control-label {
        padding-top: 0 !important;
        margin-bottom: 4px !important;
    }
    body#registration .btn.btn-primary.form-control-submit {
        width: 100% !important;
        float: none !important;
        display: block !important;
    }
}

/* EOF PAGINA REGISTRAZIONE */

/* ==========================================================
   BOF PAGINA LOGIN  body#authentication
   ========================================================== */

body#authentication {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
}
body#authentication #page,
body#authentication #wrapper,
body#authentication #content-wrapper {
    background: #1a1a1a !important;
}

body#authentication .breadcrumb-bg {
    background-color: #242424 !important;
    background-image: none !important;
}
body#authentication .breadcrumb ol,
body#authentication .breadcrumb li,
body#authentication .breadcrumb a,
body#authentication .breadcrumb span {
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
body#authentication .breadcrumb li:last-child span {
    color: rgba(250,249,246,0.85) !important;
}
body#authentication .breadcrumb li + li::before {
    color: rgba(250,249,246,0.3) !important;
}


body#authentication #content.page-content.card {
    background: #242424 !important;
    border: 1px solid rgba(250,249,246,0.08) !important;
    border-radius: 4px !important;
    padding: 40px 48px !important;
    margin-bottom: 24px !important;
}

body#authentication .form-control-label {
    color: rgba(250,249,246,0.65) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding-top: 10px !important;
}
body#authentication .form-control-label.required::after {
    content: ' *';
    color: rgba(250,249,246,0.4) !important;
}

body#authentication .form-control {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.2) !important;
    border-radius: 4px !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
body#authentication .form-control:focus {
    background: #1a1a1a !important;
    border-color: rgba(250,249,246,0.55) !important;
    box-shadow: 0 0 0 3px rgba(250,249,246,0.07) !important;
    outline: none !important;
    color: #faf9f6 !important;
}
body#authentication .form-control::placeholder {
    color: rgba(250,249,246,0.3) !important;
}

body#authentication .input-group {
    background: transparent !important;
}
body#authentication .input-group .form-control {
    border-right: none !important;
    border-radius: 4px 0 0 4px !important;
}
body#authentication .input-group-btn .btn {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.2) !important;
    border-left: none !important;
    border-radius: 0 4px 4px 0 !important;
    color: rgba(250,249,246,0.45) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    padding: 0 14px !important;
    transition: color 0.2s !important;
}
body#authentication .input-group-btn .btn:hover {
    color: #faf9f6 !important;
    background: #1a1a1a !important;
}

body#authentication .form-group.row,
body#my-account .form-group.row {
    border-bottom: none !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
}
body#authentication .form-group.row:last-child {
    border-bottom: none !important;
}

body#authentication .forgot-password {
    margin-top: 8px !important;
}
body#authentication .forgot-password a {
    color: rgba(250,249,246,0.55) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    text-decoration: none !important;
}
body#authentication .forgot-password a:hover {
    color: #faf9f6 !important;
}

body#authentication .form-footer {
    padding-top: 20px !important;
    margin-top: 8px !important;
    border-top: 1px solid rgba(250,249,246,0.08) !important;
}
body#authentication #submit-login,
body#authentication button[data-link-action="sign-in"] {
    background: transparent !important;
    background-color: transparent !important;
    color: #faf9f6 !important;
    border: 1px solid rgba(250,249,246,0.5) !important;
    border-radius: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 12px 32px !important;
    transition: background 0.2s, color 0.2s !important;
    float: right !important;
}
body#authentication #submit-login:hover,
body#authentication button[data-link-action="sign-in"]:hover {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
}

/* --- Box LPS Pro Account --- */
body#authentication #lpsproaccount {
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(250,249,246,0.08) !important;
}
body#authentication .lpsproaccount-title {
    color: rgba(250,249,246,0.65) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    margin-bottom: 12px !important;
}
body#authentication .lpsproaccount-button .btn {
    background: transparent !important;
    color: #faf9f6 !important;
    border: 1px solid rgba(250,249,246,0.5) !important;
    border-radius: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 10px 24px !important;
}
body#authentication .lpsproaccount-button .btn:hover {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
}

@media (max-width: 991px) {
    body#authentication #content.page-content.card {
        padding: 24px 20px !important;
    }
    body#authentication .form-control-label {
        padding-top: 0 !important;
        margin-bottom: 4px !important;
    }
    body#authentication #submit-login {
        width: 100% !important;
        float: none !important;
        display: block !important;
    }
}

/* EOF PAGINA LOGIN */

/* --- Product variants: formato --- */
body#product .product-variants-item .control-label {
    display: block !important;
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 10px !important;
}
body#product .product-variants-item ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
body#product .product-variants-item .input-container {
    float: none !important;
    margin: 0 !important;
}
body#product .product-variants-item label {
    cursor: pointer !important;
    margin: 0 !important;
}
body#product .product-variants-item .input-radio {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
/* pill — stato default */
body#product .product-variants-item .radio-label {
    display: inline-block !important;
    padding: 8px 20px !important;
    border: 1px solid rgba(250,249,246,0.25) !important;
    border-radius: 30px !important;
    color: rgba(250,249,246,0.45) !important;
    background: transparent !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    transition: all 0.2s ease !important;
    user-select: none !important;
}
/* pill — selezionata */
body#product .product-variants-item .input-radio:checked + .radio-label {
    border-color: #faf9f6 !important;
    color: #1a1a1a !important;
    background: #faf9f6 !important;
    font-weight: 600 !important;
}
/* Quicklogin — link professionisti */
.lql-professional-link {
    margin-top: 10px !important;
    text-align: center !important;
}
.lql-professional-register-link {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    color: rgba(250,249,246,0.5) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(250,249,246,0.2) !important;
    padding-bottom: 2px !important;
    transition: color 0.2s, border-color 0.2s !important;
}
.lql-professional-register-link:hover {
    color: #faf9f6 !important;
    border-color: rgba(250,249,246,0.6) !important;
}
/* Fix sfondo nero - overlay della colonna 51ea63f3 */
.elementor-element-51ea63f3 > .elementor-element-populated > .elementor-background-overlay {
  display: none !important;
  opacity: 0 !important;
}

.elementor-element-51ea63f3 > .elementor-element-populated {
  background: none !important;
  background-color: transparent !important;
}

/* Dropdown centrato sotto IT */
.P3V-header-top-lang .elementor-widget-container {
  position: relative !important;
  display: inline-block !important;
}

.P3V-header-top-lang .language-selector-wrapper,
.P3V-header-top-lang .language-selector,
#_desktop_language_selector {
  position: static !important;
  display: inline-block !important;
  background: none !important;
  background-image: none !important;
}

.P3V-header-top-lang .language-selector .btn-unstyle {
  position: static !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #222 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.P3V-header-top-lang .language-selector .dropdown-menu {
  display: none;
  position: absolute !important;
  top: calc(100% + 5px) !important;
  left: 80% !important;
  right: auto !important;
  transform: translateX(-80%) !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  min-width: 80px !important;
  padding: 0px 0px !important;
  list-style: none !important;
  margin: 0 !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08) !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 99999 !important;
  white-space: nowrap !important;
}

.P3V-header-top-lang .language-selector.open .dropdown-menu,
.P3V-header-top-lang .language-selector .dropdown-menu.show {
  display: block !important;
}

.P3V-header-top-lang .language-selector .dropdown-menu li {
  padding: 0 !important;
  background: none !important;
  background-color: transparent !important;
  list-style: none !important;
}

.P3V-header-top-lang .language-selector .dropdown-menu .dropdown-item {
  display: block !important;
  padding: 0px 30px 10px 30px !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  background: none !important;
  text-align: left !important;
  white-space: nowrap !important;
  transition: color 0.2s ease !important;
}

.P3V-header-top-lang .language-selector.open .btn-unstyle,
.P3V-header-top-lang .language-selector .dropdown.open .btn-unstyle,
.P3V-header-top-lang .btn-unstyle[aria-expanded="true"],
.P3V-header-top-lang .btn-unstyle:focus,
.P3V-header-top-lang .btn-unstyle:active {
  color: #1a1a1a !important;
}

.P3V-header-top-lang .language-selector.open .btn-unstyle .expand-more,
.P3V-header-top-lang .btn-unstyle[aria-expanded="true"] .expand-more,
.P3V-header-top-lang .btn-unstyle:focus .expand-more,
.P3V-header-top-lang .btn-unstyle:active .expand-more,
.P3V-header-top-lang .language-selector .btn-unstyle:hover .expand-more,
.P3V-header-top-lang .dropdown:hover .expand-more,
.P3V-header-top-lang .popup-over .popup-title:hover .expand-more {
  color: #1a1a1a !important;
}

.P3V-header-top-lang .language-selector .dropdown-menu .dropdown-item:hover {
  color: #222 !important;
  background: none !important;
}

.P3V-header-top-lang .language-selector .dropdown-menu li.current .dropdown-item {
  color: #222 !important;
  font-weight: 500 !important;
  position: relative !important;
}

.P3V-header-top-lang .language-selector .dropdown-menu li.current .dropdown-item::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  bottom: 7px !important;
  left: 28px !important;
  right: 28px !important;
  height: 1px !important;
  background-color: #222 !important;
}

/* ===== FIX IMMAGINE PRODOTTO SEMPRE COMPLETAMENTE VISIBILE ===== */
body#product #main .P3V-productCol-sx {
  display: block !important;
  min-height: unset !important;
  height: auto !important;
  overflow: visible !important;
}
body#product #main .P3V-productCol-sx .page-content,
body#product #main .P3V-productCol-sx .images-container,
body#product #main .P3V-productCol-sx .product-cover {
  position: relative !important;
  min-height: unset !important;
  height: auto !important;
  overflow: visible !important;
}
body#product #main .P3V-productCol-sx .product-cover img#zoom_product,
body#product #main .P3V-productCol-sx .product-cover img.js-qv-product-cover {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 !important;
  transform: none !important;
}
/* ===== END FIX ===== */

/* ===== BOF P3V - PRODUCT MODAL — GALLERY THUMBNAILS ===== */
/* Override tema padre che nasconde le thumbnail nella modal zoom immagine */
#product-modal .modal-content .modal-body .product-images {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  width: 150px;
}
/* ===== EOF P3V - PRODUCT MODAL — GALLERY THUMBNAILS ===== */

/* =========================================
   P3V HAMBURGER MENU — FULLWIDTH 3 COLONNE
   Col1: links  |  Col2: VINO  |  Col3: OLIO
========================================= */

/* Bridge hover esteso per P3V-hamburger-menu:
   copre l'eventuale gap tra fondo del li e top del dropdown fixed */
.p3v-header .leo-megamenu li.P3V-hamburger-menu::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 100% !important;
  width: 100% !important;
  height: 60px !important;    /* era 40px — aumentato per coprire il gap con top:100px */
  z-index: 9999 !important;
}

/* Cursor pointer sull'icona ≡ hamburger — solo desktop (hidden-sm-down) */
.p3v-header .leo-megamenu.hidden-sm-down .P3V-hamburger-menu,
.p3v-header .leo-megamenu.hidden-sm-down .P3V-hamburger-menu > * {
    cursor: pointer !important;
}

/* Fix: navbar sopra il dropdown aperto — icona ≡ sempre visibile
   z-index 10000 batte il 9999 del pannello dropdown */
.p3v-header .leo-megamenu.hidden-sm-down .navbar-nav {
    position: relative;
    z-index: 10000 !important;
}

/* Panel: fullwidth, occupa tutta l'altezza sotto l'header.
   Selettore doppio per battere la regola .aligned-fullwidth (spec. 0,5,0) */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu {
  position: fixed !important;
  top: 54px !important;              /* alzato di 6px per eliminare il gap con l'header */
  left: 0 !important;
  right: 0 !important;               /* annulla right: 30px della regola aligned-fullwidth */
  width: 100vw !important;
  height: calc(100vh - 54px) !important;
  padding: 0 !important;
  background: #1a1a1a !important;
  transform: none !important;
  overflow: hidden !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Inner wrapper: fullheight */
/* padding-top: 46px aggiunto per distanziare il contenuto del dropdown dall'header,
   senza modificare top del pannello (evita rottura bridge hover) */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .dropdown-menu-inner {
  height: 100% !important;
  padding: 46px 0 0 0 !important;  /* era: padding: 0 !important */
}

/* Row: flex, occupa tutta l'altezza */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  height: 100% !important;
  margin: 0 !important;
}

/* ===== HAMBURGER MENU — VARIANTE EDITORIAL FOCUS ===== */

/* Proporzioni: col links 28% | col immagini 36% ciascuna */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col {
  flex: 1 1 33.333% !important;
  max-width: 33.333% !important;
  width: 33.333% !important;
  padding: 0 !important;
}
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:first-child {
  flex: 0 0 28% !important;
  max-width: 28% !important;
  width: 28% !important;
}
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:nth-child(2),
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:nth-child(3) {
  flex: 0 0 36% !important;
  max-width: 36% !important;
  width: 36% !important;
}

/* Colonna 1: links — centrata verticalmente */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:first-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 40px 50px !important;
  background: #1a1a1a !important;
}

/* Voci di navigazione */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:first-child a {
  display: inline-block !important;
  position: relative !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #faf9f6 !important;
  padding: 10px 0 !important;
  line-height: 1.4 !important;
  transition: color 0.3s ease !important;
}

.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:first-child a:hover {
  color: rgba(250,249,246,0.5) !important;
  font-weight: 600 !important;
}

/* ── Colonne immagine: container con overflow hidden per zoom ── */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) {
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

/* Wrapper immagine: occupa tutta la colonna */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .mm-card,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .mm-media,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .leo-widget,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .banner_top,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .widget-image {
  height: 100% !important;
  width: 100% !important;
  aspect-ratio: unset !important;
  gap: 0 !important;
}

/* Immagine: fullheight cover con transizione zoom */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: unset !important;
  display: block !important;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform: scale(1) !important;
}

/* Zoom sull'immagine al hover della colonna */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child):hover img {
  transform: scale(1.05) !important;
}

/* ── Wrapper interni: riempiono tutta la colonna ── */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .leo-widget,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .widget-images,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .widget-inner,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .images-list,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .images-list > div,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .row,
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .image-item {
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Overlay gradiente: pseudo-element sul mega-col, senza toccare i template ── */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child)::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(
    to top,
    rgba(10, 10, 10, 0.72) 0%,
    rgba(10, 10, 10, 0.18) 45%,
    rgba(0, 0, 0, 0) 100%
  ) !important;
  transition: opacity 0.4s ease !important;
  z-index: 1 !important;
}
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child):hover::after {
  opacity: 0.7 !important;
}

/* ── Etichetta (VINO / OLIO): usa .menu-title già generato dal widget ── */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .menu-title {
  position: absolute !important;
  bottom: 36px !important;
  left: 36px !important;
  margin: 0 !important;
  z-index: 2 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 26px !important;
  font-weight: 200 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #faf9f6 !important;
  line-height: 1 !important;
  transition: letter-spacing 0.35s ease !important;
}
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child):hover .menu-title {
  letter-spacing: 0.3em !important;
}

/* ── CTA "Scopri": pseudo-element su .menu-title, appare al hover ── */
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child) .menu-title::after {
  content: 'Scopri' !important;
  display: block !important;
  margin-top: 14px !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  color: #faf9f6 !important;
  border: 1px solid rgba(250, 249, 246, 0.6) !important;
  padding: 7px 18px !important;
  border-radius: 999px !important;
  width: fit-content !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity 0.35s ease 0.05s, transform 0.35s ease 0.05s, border-color 0.25s ease !important;
}
.p3v-header .leo-megamenu .dropdown.aligned-fullwidth > .dropdown-menu .mega-col:not(:first-child):hover .menu-title::after {
  opacity: 1 !important;
  transform: translateY(0) !important;
  border-color: rgba(250, 249, 246, 1) !important;
}

/* Fix: menu hamburger mobile/tablet nascosto da hidden-lg-down */
nav.P3V-hamburger-menu.hidden-lg-down {
    display: block !important;
}


/* Fix: P3V-col3-headerTop visibile su tablet portrait
   Elementor lo nasconde con elementor-hidden-tablet (768-1024px) */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 500px) {
  .elementor:not(.elementor-edit-area-active) .elementor-element-c95596c.elementor-hidden-tablet {
    display: flex !important;
  }
}

/* ===== END HAMBURGER MENU FULLWIDTH ===== */

/* ════════════════════════════════════════
   SISTEMA GLOBALE CMS — Poggio Trevvalle
   custom.css del tema
════════════════════════════════════════ */

/* ── CONTENITORE ── */
.cms-inner-wide {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ── TIPOGRAFIA — forzata con !important ── */
.cms-section-hero h1,
.cms-section-dark h1,
.cms-section-dark-mid h1,
.cms-section-light h1,
.cms-section-grey h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 3rem !important;
    font-weight: 300 !important;
    letter-spacing: 4px !important;
    margin-bottom: 24px !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}
.cms-section-hero h2,
.cms-section-dark h2,
.cms-section-dark-mid h2,
.cms-section-light h2,
.cms-section-grey h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    margin-bottom: 20px !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}
.cms-section-hero h3,
.cms-section-dark h3,
.cms-section-dark-mid h3,
.cms-section-light h3,
.cms-section-grey h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin-bottom: 14px !important;
    line-height: 1.5 !important;
}
.cms-section-hero p,
.cms-section-dark p,
.cms-section-dark-mid p,
.cms-section-light p,
.cms-section-grey p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 300 !important;
    line-height: 1.95 !important;
    margin-bottom: 20px !important;
    letter-spacing: 0.2px !important;
}

/* ── ELEMENTI GLOBALI ── */
.cms-eyebrow {
    display: inline-block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}
.cms-divider {
    width: 40px !important;
    height: 1px !important;
    margin: 18px 0 28px !important;
    border: none !important;
}
.cms-btn {
    display: inline-block !important;
    padding: 14px 32px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-top: 10px !important;
    cursor: pointer !important;
}

/* ════════════════════════════════════════
   SEZIONI
════════════════════════════════════════ */

.cms-section-hero {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
    padding: 130px 0 110px !important;
    text-align: center !important;
}
.cms-section-hero .cms-eyebrow { color: #b0b0b0 !important; }
.cms-section-hero .cms-divider { background: #b0b0b0 !important; margin: 18px auto 28px !important; }
.cms-section-hero h1 { color: #1a1a1a !important; }
.cms-section-hero h2 { color: #faf9f6 !important; }
.cms-section-hero p { color: #c8c4bc !important; max-width: 720px !important; margin: 0 auto 16px !important; font-size: 0.92rem !important; line-height: 2 !important; font-weight: 300 !important; }
.cms-section-hero .cms-btn { border: 1px solid #b0b0b0 !important; color: #faf9f6 !important; margin-top: 40px !important; background: transparent !important; }
.cms-section-hero .cms-btn:hover { background: #b0b0b0 !important; color: #1a1a1a !important; }

.cms-section-dark { background: #1a1a1a !important; color: #faf9f6 !important; padding: 90px 0 !important; }
.cms-section-dark-mid { background: #2e2e2e !important; color: #faf9f6 !important; padding: 90px 0 !important; }
.cms-section-dark .cms-eyebrow, .cms-section-dark-mid .cms-eyebrow { color: #b0b0b0 !important; }
.cms-section-dark .cms-divider, .cms-section-dark-mid .cms-divider { background: #b0b0b0 !important; }
.cms-section-dark p, .cms-section-dark-mid p { color: #c8c4bc !important; }
.cms-section-dark h2, .cms-section-dark-mid h2 { color: #faf9f6 !important; }
.cms-section-dark h3, .cms-section-dark-mid h3 { color: #faf9f6 !important; }
.cms-section-dark .cms-btn { border: 1px solid #b0b0b0 !important; color: #faf9f6 !important; background: transparent !important; }
.cms-section-dark .cms-btn:hover { background: #b0b0b0 !important; color: #1a1a1a !important; }

.cms-section-light { background: #faf9f6 !important; color: #1a1a1a !important; padding: 90px 0 !important; }
.cms-section-light .cms-eyebrow { color: #888 !important; }
.cms-section-light .cms-divider { background: #1a1a1a !important; }
.cms-section-light h2 { color: #1a1a1a !important; }
.cms-section-light h3 { color: #1a1a1a !important; }
body#cms .cms-section-light span,
.cms-section-light span { color: #1a1a1a !important; }
.cms-section-light p { color: #4a4a4a !important; }
.cms-section-light a,
body#cms .cms-section-light a,
body#cms #content .cms-section-light a { color: #1a1a1a !important; }

.cms-section-light a:hover,
body#cms .cms-section-light a:hover,
body#cms #content .cms-section-light a:hover { color: #1a1a1a !important; }

.cms-section-dark strong,
body#cms .page-content .cms-section-dark strong,
body#cms .cms-section-dark strong { color: #faf9f6 !important; }

/* Table in cms-section-dark */
.cms-section-dark .cms-table-wrapper {
    overflow-x: auto;
}
.cms-section-dark .cms-table-wrapper table {
    width: 100%;
    border-collapse: collapse;
    background: transparent !important;
}
.cms-section-dark .cms-table-wrapper thead tr th {
    color: #faf9f6 !important;
    background: transparent !important;
    border: 1px solid rgba(250, 249, 246, 0.3) !important;
    padding: 10px 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.cms-section-dark .cms-table-wrapper tbody tr td {
    color: #faf9f6 !important;
    background: transparent !important;
    border: 1px solid rgba(250, 249, 246, 0.15) !important;
    padding: 10px 14px;
    font-size: 0.9rem;
    font-weight: 300;
}
.cms-section-dark .cms-table-wrapper tbody tr:hover td {
    background: rgba(250, 249, 246, 0.05) !important;
}

.cms-section-grey { background: #e8e6e1 !important; color: #1a1a1a !important; padding: 90px 0 !important; }
.cms-section-grey .cms-eyebrow { color: #666 !important; }
.cms-section-grey .cms-divider { background: #1a1a1a !important; }
.cms-section-grey h2 { color: #1a1a1a !important; }
.cms-section-grey h3 { color: #1a1a1a !important; }
.cms-section-grey p { color: #4a4a4a !important; }
.cms-section-grey a { color: #1a1a1a !important; }

/* ════════════════════════════════════════
   COMPONENTE: GRIGLIA BORDATA 2 COL
════════════════════════════════════════ */
.cms-grid-bordered { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important; margin-top: 60px !important; border-top: 1px solid #d0cec9 !important; border-left: 1px solid #d0cec9 !important; }
.cms-grid-item { padding: 44px 40px !important; border-right: 1px solid #d0cec9 !important; border-bottom: 1px solid #d0cec9 !important; }
.cms-grid-item::before { content: '' !important; display: block !important; width: 30px !important; height: 1px !important; background: #1a1a1a !important; margin-bottom: 24px !important; }
.cms-section-dark .cms-grid-bordered, .cms-section-dark-mid .cms-grid-bordered { border-color: #3a3a3a !important; }
.cms-section-dark .cms-grid-item, .cms-section-dark-mid .cms-grid-item { border-right: 1px solid #3a3a3a !important; border-bottom: 1px solid #3a3a3a !important; }
.cms-section-dark .cms-grid-item::before, .cms-section-dark-mid .cms-grid-item::before { background: #b0b0b0 !important; }

/* ════════════════════════════════════════
   COMPONENTE: SPLIT 2 COLONNE
════════════════════════════════════════ */
.cms-split { display: grid !important; grid-template-columns: 1fr 1.6fr !important; gap: 80px !important; align-items: start !important; margin-top: 20px !important; }
.cms-split-title h2 { font-size: 1.6rem !important; line-height: 1.3 !important; margin-bottom: 0 !important; font-weight: 300 !important; color: #1a1a1a !important; }
.cms-split-content h3 { color: #1a1a1a !important; }
body#cms .cms-split-content p { color: #1a1a1a !important; margin-bottom: 0 !important; }
body#cms .cms-split-content .split-item { margin-bottom: 24px !important; }
body#cms .cms-split-content .split-item strong { font-weight: 600 !important; letter-spacing: 0.02em; text-transform: uppercase; font-size: 14px !important; }

/* ════════════════════════════════════════
   COMPONENTE: PILASTRI VARIANTE ALT
════════════════════════════════════════ */
.cms-pilastri-alt { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 0 !important; margin-top: 50px !important; border-left: 1px solid #d0cec9 !important; border-top: 1px solid #d0cec9 !important; }
.cms-pilastro-alt { padding: 44px 28px 40px !important; border-right: 1px solid #d0cec9 !important; border-bottom: 1px solid #d0cec9 !important; display: flex !important; flex-direction: column !important; position: relative !important; overflow: hidden !important; background: #faf9f6 !important; }
.cms-pilastro-alt .p-num { font-family: 'Montserrat', sans-serif !important; font-size: 4rem !important; font-weight: 200 !important; color: #dedad4 !important; line-height: 1 !important; margin-bottom: 20px !important; display: block !important; letter-spacing: -2px !important; }
.cms-pilastro-alt h3 { font-size: 0.72rem !important; letter-spacing: 2.5px !important; color: #1a1a1a !important; margin-bottom: 14px !important; font-weight: 700 !important; line-height: 1.5 !important; }
.cms-pilastro-alt p { font-size: 0.88rem !important; color: #555 !important; line-height: 1.85 !important; margin-bottom: 0 !important; font-weight: 300 !important; }
.cms-pilastro-alt::after { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 0 !important; height: 2px !important; background: #1a1a1a !important; transition: width 0.4s ease !important; }
.cms-pilastro-alt:hover::after { width: 100% !important; }
.cms-4col-intro { max-width: 680px !important; font-style: italic !important; font-weight: 300 !important; margin-bottom: 0 !important; font-size: 0.92rem !important; line-height: 1.9 !important; color: #666 !important; }

/* ════════════════════════════════════════
   COMPONENTE: MISSIONE + VISIONE
════════════════════════════════════════ */
.cms-mv-wrapper { margin-top: 20px !important; }
.cms-mv-quote { font-family: 'Montserrat', sans-serif !important; font-size: 1.25rem !important; font-style: italic !important; font-weight: 300 !important; color: #c8c4bc !important; line-height: 1.75 !important; border-left: 2px solid #b0b0b0 !important; border-top: none !important; border-right: none !important; border-bottom: none !important; padding: 8px 0 8px 32px !important; margin-bottom: 60px !important; max-width: 760px !important; letter-spacing: 0.3px !important; background: transparent !important; }
.cms-mv-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important; border-top: 1px solid #3a3a3a !important; border-left: 1px solid #3a3a3a !important; }
.cms-mv-item { padding: 50px 44px !important; border-right: 1px solid #3a3a3a !important; border-bottom: 1px solid #3a3a3a !important; position: relative !important; background: transparent !important; }
.cms-mv-item::before { content: '' !important; display: block !important; width: 30px !important; height: 1px !important; background: #b0b0b0 !important; margin-bottom: 24px !important; }
.cms-mv-num { display: block !important; font-family: 'Montserrat', sans-serif !important; font-size: 0.62rem !important; font-weight: 600 !important; letter-spacing: 3px !important; color: #b0b0b0 !important; text-transform: uppercase !important; margin-bottom: 16px !important; }
.cms-mv-item h2 { font-size: 1.3rem !important; font-weight: 400 !important; color: #faf9f6 !important; margin-bottom: 20px !important; letter-spacing: 2.5px !important; }
.cms-mv-item p { color: #c8c4bc !important; font-size: 0.9rem !important; font-weight: 300 !important; line-height: 2 !important; margin-bottom: 0 !important; }
.cms-mv-bg-num { position: absolute !important; top: 28px !important; right: 30px !important; font-family: 'Montserrat', sans-serif !important; font-size: 5rem !important; font-weight: 700 !important; color: rgba(255,255,255,0.03) !important; line-height: 1 !important; pointer-events: none !important; user-select: none !important; }
.cms-item-label { display: block !important; font-family: 'Montserrat', sans-serif !important; font-size: 0.62rem !important; font-weight: 600 !important; letter-spacing: 3px !important; color: #b0b0b0 !important; text-transform: uppercase !important; margin-bottom: 16px !important; }
.cms-blockquote { font-size: 1.35rem !important; font-style: italic !important; color: #c8c4bc !important; line-height: 1.7 !important; border-left: 2px solid #b0b0b0 !important; padding-left: 28px !important; margin: 40px 0 60px !important; max-width: 780px !important; background: transparent !important; }
.cms-section-light .cms-blockquote, .cms-section-grey .cms-blockquote { color: #555 !important; border-left-color: #1a1a1a !important; }

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width: 1024px) {
    .cms-pilastri-alt { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 991px) {
    .cms-section-hero h1, .cms-section-dark h1, .cms-section-light h1, .cms-section-grey h1 { font-size: 2rem !important; letter-spacing: 2px !important; }
    .cms-section-hero h2, .cms-section-dark h2, .cms-section-light h2, .cms-section-grey h2 { font-size: 1.2rem !important; letter-spacing: 2px !important; }
    .cms-inner-wide { padding: 0 24px !important; }
    .cms-section-hero, .cms-section-dark, .cms-section-dark-mid, .cms-section-light, .cms-section-grey { padding: 60px 0 !important; }
    .cms-grid-bordered { grid-template-columns: 1fr !important; }
    .cms-pilastri-alt { grid-template-columns: 1fr !important; }
    .cms-pilastro-alt .p-num { font-size: 3rem !important; }
    .cms-split { grid-template-columns: 1fr !important; gap: 30px !important; }
    .cms-mv-grid { grid-template-columns: 1fr !important; }
    .cms-mv-quote { font-size: 1rem !important; }
    .cms-mv-item { padding: 36px 28px !important; }
}

/* ════════════════════════════════════════
   FIX CONFLITTO ELEMENTOR + TEMA
   Forza colori h2, h3 nelle sezioni CMS light e grey
════════════════════════════════════════ */

.cms-section-light .cms-inner-wide h2,
.cms-section-light .cms-inner-wide h3,
.cms-section-light .cms-inner-wide .cms-split-title h2,
.cms-section-light .cms-inner-wide .cms-split-content h3,
.cms-section-light .cms-inner-wide .cms-pilastro-alt h3 {
    color: #1a1a1a !important;
}

.cms-section-grey .cms-inner-wide h2,
.cms-section-grey .cms-inner-wide h3,
.cms-section-grey .cms-inner-wide .cms-split-title h2,
.cms-section-grey .cms-inner-wide .cms-split-content h3 {
    color: #1a1a1a !important;
}

.cms-section-light .cms-inner-wide p,
.cms-section-light .cms-inner-wide .cms-4col-intro,
.cms-section-light .cms-inner-wide .cms-pilastro-alt p {
    color: #4a4a4a !important;
}

.cms-section-grey .cms-inner-wide p,
.cms-section-grey .cms-inner-wide .cms-split-content p {
    color: #4a4a4a !important;
}

.cms-section-light .cms-inner-wide .cms-eyebrow {
    color: #888 !important;
}

.cms-section-grey .cms-inner-wide .cms-eyebrow {
    color: #666 !important;
}

.cms-section-light .cms-inner-wide .cms-divider {
    background: #1a1a1a !important;
}

.cms-section-grey .cms-inner-wide .cms-divider {
    background: #1a1a1a !important;
}

.cms-section-light .cms-inner-wide .cms-pilastro-alt .p-num {
    color: #dedad4 !important;
}

/* ════════════════════════════════════════
   VARIANTE GEOLOGIA — accordion orizzontale
   .cms-geo-grid
════════════════════════════════════════ */
.cms-geo-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 0 !important;
    margin-top: 60px !important;
    border-left: 1px solid #3a3a3a !important;
    border-top: 1px solid #3a3a3a !important;
}
.cms-geo-item {
    padding: 50px 36px 44px !important;
    border-right: 1px solid #3a3a3a !important;
    border-bottom: 1px solid #3a3a3a !important;
    position: relative !important;
    overflow: hidden !important;
    transition: background 0.4s ease !important;
}
.cms-geo-item:hover { background: #222 !important; }
.cms-geo-num {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 5rem !important;
    font-weight: 200 !important;
    color: rgba(255,255,255,0.06) !important;
    line-height: 1 !important;
    letter-spacing: -3px !important;
    margin-bottom: 30px !important;
    transition: color 0.4s ease !important;
}
span.cms-geo-num { color: #faf9f6 !important; }
.cms-geo-item:hover .cms-geo-num { color: rgba(255,255,255,0.10) !important; }
.cms-geo-item::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 2px !important;
    height: 0 !important;
    background: #b0b0b0 !important;
    transition: height 0.4s ease !important;
}
.cms-geo-item:hover::before { height: 100% !important; }
.cms-geo-label {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.62rem !important;
    font-weight: 600 !important;
    letter-spacing: 3px !important;
    color: #b0b0b0 !important;
    text-transform: uppercase !important;
    margin-bottom: 14px !important;
}
.cms-geo-item h3 {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #faf9f6 !important;
    margin-bottom: 20px !important;
    line-height: 1.5 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #3a3a3a !important;
}
.cms-geo-item p {
    font-size: 0.88rem !important;
    color: #c8c4bc !important;
    line-height: 1.85 !important;
    font-weight: 300 !important;
    margin-bottom: 0 !important;
}
.cms-geo-tag {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.58rem !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #888 !important;
    border: 1px solid #3a3a3a !important;
    padding: 4px 10px !important;
    margin-bottom: 20px !important;
}

@media (max-width: 1024px) {
    .cms-geo-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 991px) {
    .cms-geo-grid { grid-template-columns: 1fr !important; }
    .cms-geo-num { font-size: 3.5rem !important; }
}

/* ════════════════════════════════════════
   VINI PRODOTTI — blocco in evidenza
   .cms-wines-highlight
════════════════════════════════════════ */
.cms-wines-highlight {
    margin-top: 50px !important;
    border-top: 1px solid rgba(255,255,255,0.12) !important;
    padding-top: 40px !important;
}
.cms-section-light .cms-wines-highlight,
.cms-section-grey .cms-wines-highlight { border-top-color: #d0cec9 !important; }
.cms-wines-highlight-label {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.62rem !important;
    font-weight: 600 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: #b0b0b0 !important;
    margin-bottom: 20px !important;
}
.cms-section-light .cms-wines-highlight-label,
.cms-section-grey .cms-wines-highlight-label { color: #888 !important; }
.cms-wines-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.cms-wine-card {
    display: flex !important;
    align-items: baseline !important;
    gap: 20px !important;
    padding: 18px 24px !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    background: rgba(255,255,255,0.03) !important;
    flex-wrap: wrap !important;
}
.cms-section-light .cms-wine-card,
.cms-section-grey .cms-wine-card { border-color: #d0cec9 !important; background: rgba(0,0,0,0.03) !important; }
.cms-wine-card-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #faf9f6 !important;
    white-space: nowrap !important;
}
.cms-section-light .cms-wine-card-name,
.cms-section-grey .cms-wine-card-name { color: #1a1a1a !important; }
.cms-wine-card-doc {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #b0b0b0 !important;
}
.cms-section-light .cms-wine-card-doc,
.cms-section-grey .cms-wine-card-doc { color: #888 !important; }
.cms-wine-card-blend {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 300 !important;
    letter-spacing: 1px !important;
    color: #c8c4bc !important;
    font-style: italic !important;
    margin-left: auto !important;
}
.cms-section-light .cms-wine-card-blend,
.cms-section-grey .cms-wine-card-blend { color: #666 !important; }

@media (max-width: 991px) {
    .cms-wine-card { flex-direction: column !important; gap: 6px !important; }
    .cms-wine-card-blend { margin-left: 0 !important; }
}

/* Fix colori cms-section-dark */
.cms-section-dark .cms-inner-wide .cms-eyebrow {
    color: #faf9f6 !important;
}
.cms-section-dark .cms-inner-wide .cms-split-content p {
    color: #faf9f6 !important;
}

/* Link wine card — sezioni chiare */
.cms-section-light .cms-wine-card-name a,
.cms-section-grey .cms-wine-card-name a {
    color: #1a1a1a !important;
    text-decoration: none !important;
}
.cms-section-light .cms-wine-card-name a:hover,
.cms-section-grey .cms-wine-card-name a:hover {
    color: rgba(26,26,26,0.5) !important;
}

/* Link wine card — sezioni scure */
.cms-section-dark .cms-wine-card-name a,
.cms-section-hero .cms-wine-card-name a {
    color: #faf9f6 !important;
    text-decoration: none !important;
}
.cms-section-dark .cms-wine-card-name a:hover,
.cms-section-hero .cms-wine-card-name a:hover {
    color: rgba(250,249,246,0.5) !important;
}

/* Override body#cms link color nelle sezioni chiare */
body#cms .cms-section-light .cms-wine-card-name a,
body#cms .cms-section-grey .cms-wine-card-name a {
    color: #1a1a1a !important;
    text-decoration: none !important;
}
body#cms .cms-section-light .cms-wine-card-name a:hover,
body#cms .cms-section-grey .cms-wine-card-name a:hover {
    color: rgba(26,26,26,0.5) !important;
}

/* Allineamento baseline link dentro wine card */
.cms-wine-card-name a {
    display: inline !important;
    vertical-align: baseline !important;
    line-height: inherit !important;
}

/* Override alta specificità per colori link wine card */
body#cms #content .cms-section-light .cms-wine-card-name a,
body#cms #content .cms-section-grey .cms-wine-card-name a {
    color: #1a1a1a !important;
    text-decoration: none !important;
}
body#cms #content .cms-section-light .cms-wine-card-name a:hover,
body#cms #content .cms-section-grey .cms-wine-card-name a:hover {
    color: rgba(26,26,26,0.5) !important;
}
body#cms #content .cms-section-dark .cms-wine-card-name a,
body#cms #content .cms-section-hero .cms-wine-card-name a {
    color: #faf9f6 !important;
    text-decoration: none !important;
}
body#cms #content .cms-section-dark .cms-wine-card-name a:hover,
body#cms #content .cms-section-hero .cms-wine-card-name a:hover {
    color: rgba(250,249,246,0.5) !important;
}

/*cart dropdown*/
.view-leo-dropdown-additional {
    border-radius: 15px;
    background: #b0b0b0 !important;
    position: relative;
    cursor: pointer;
    margin-bottom: 0.625rem;
    float: right;
    width: 1.563rem;
    height: 1.563rem;
}
.view-leo-dropdown-additional:before, .view-leo-dropdown-additional:after {
    background: #faf9f6;
}
.block-promo .promo-code {
    padding: 0.8rem 1.6rem;
    background: #242424;
}
/* Pulsante "Hai un codice sconto?" — riduce margine e stile link */
body#cart .promo-code-button {
    margin-bottom: 4px !important;
}
body#cart .promo-code-button .collapse-button {
    font-size: 14px !important;
    font-weight: 300 !important;
    color: rgba(250, 249, 246, 0.8) !important;
}
/* Promo code sempre visibile — sovrascrive collapse Bootstrap */
body#cart #promo-code {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
}
/* Nasconde il pulsante Chiudi — non necessario */
body#cart .cancel-promo {
    display: none !important;
}

.product-flags .product-flag.new {
    color: #faf9f6 !important;
    background: #595959 !important;
}

/* Rimuove padding colonne prodotto (override tema padre) */
.ajax_block_product {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Fix spazio vuoto a destra in mobile: compensa rimozione padding colonne */
@media (max-width: 767px) {
  .product_list.grid.p3v-plist {
    overflow-x: hidden;
  }
  .product_list.grid.p3v-plist .leo-product-ajax {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ===== TABLE SCONTI QUANTITÀ ===== */
body#product .table-product-discounts {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    background: #1a1a1a !important;
}

body#product .table-product-discounts thead tr {
    border-bottom: 1px solid rgba(250, 249, 246, 0.2) !important;
    background: #1a1a1a !important;
}

body#product .table-product-discounts thead th {
    padding: 12px 16px !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(250, 249, 246, 0.6) !important;
    text-align: center !important;
    background: #1a1a1a !important;
    border: none !important;
}

body#product .table-product-discounts tbody tr {
    border-bottom: 1px solid rgba(250, 249, 246, 0.08) !important;
    background: #1a1a1a !important;
    transition: background 0.2s;
}

body#product .table-product-discounts tbody tr:hover {
    background: rgba(250, 249, 246, 0.05) !important;
}

body#product .table-product-discounts tbody td {
    padding: 12px 16px !important;
    text-align: center !important;
    font-weight: 500 !important;
    color: #faf9f6 !important;
    border: none !important;
    background: transparent !important;
}

/* Colonna sconto — evidenziata */
body#product .table-product-discounts tbody td:nth-child(2) {
    font-weight: 700 !important;
}

/* Colonna risparmio */
body#product .table-product-discounts tbody td:nth-child(3) {
    color: rgba(250, 249, 246, 0.7) !important;
    font-size: 0.8rem !important;
}

/* Prezzo unitario pack: nascosto di default, visibile via JS */
.p3v-unit-price-pack {
    display: none;
}

.product-discounts {
    margin-bottom: 0.5rem;
    padding-top: 0.5rem;
    text-transform: uppercase;
}

.block-promo .promo-input {
    margin-bottom: 5px;
    color: #1a1a1a !important;
    background: #faf9f6 !important;
}

.block-promo .promo-input::placeholder {
    color: rgba(26,26,26,0.45) !important;
}

a:not([href]):not([tabindex]) {
    padding-left: 0;
}

.form-footer .btn-primary {
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
}

.form-footer .btn-primary:hover,
.form-footer .btn-primary:focus {
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
}

body#checkout .checkout-step .content a:hover {
    opacity: .75 !important;
    background: none;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.active {
    background-color: transparent;
}

body#category header.page-header {
    margin-bottom: 0 !important;
}

/* aspect-ratio gestisce il responsive automaticamente */

@media (max-width: 991px) {

  /* Nasconde icona account leo_block_top solo nella bottomnav (displayNav2) su mobile */
  .bottomnav #leo_block_top {
    display: none !important;
  }

  body#category .elementor-widget-container,
  body#category .elementor-widget-container * {
    background: transparent !important;
    background-color: transparent !important;
    /* padding: 0px 5px 0px 5px; */
  }

  /* FIX: Escludi Area Professionisti dal reset padding categorie */
  body#category .elementor-element-0087826 .elementor-widget-container,
  body#category .elementor-element-0087826 .elementor-widget-container * {
    padding: 0 10px !important;
    background: unset !important;
    white-space: normal !important;
  }
  body#category .elementor-element-0087826 .elementor-button {
    padding: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  .elementor-element-0087826 {
    overflow: visible !important;
  }

  body .p3v-boxcategpage-col-sx .elementor-column-wrap.elementor-element-populated,
  body .p3v-boxcategpage-col-dx .elementor-column-wrap.elementor-element-populated {
    padding: 20px !important;
  }

  /* .elementor-button { padding: 3px !important; } — FIX: rimosso, rompeva tutti i bottoni Elementor su mobile */

  /* Riduce altezza e padding del banner */
  .hero-page.hero-category {
    aspect-ratio: unset !important;
    height: 200px !important;
    min-height: unset !important;
    padding: 30px 20px !important;
    align-items: flex-start !important;
  }

  

  /* H1 ridimensionato per mobile */
  .hero-content h1 {
    font-size: 2rem !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2em !important;
    margin-bottom: 12px !important;
  }

  /* Descrizione: rimuovi max-width fisso, usa tutto lo spazio */
  .category-description {
    max-width: 100% !important;
    margin-top: 0px !important;
    padding: 24px 20px !important;
  }

  /* Testo descrizione: leggermente più piccolo per densità */
  .category-description p {
    font-size: 13px !important;
    line-height: 1.5em !important;
  }
}

/* Breakpoint più stretto per telefoni piccoli (≤480px) */
@media (max-width: 575px) {

  .hero-page.hero-category {
    aspect-ratio: unset !important;
    height: 200px !important;
    min-height: unset !important;
    padding: 24px 16px !important;
  }

  .hero-content h1 {
    font-size: 1.75rem !important;
  }

  .category-description p {
    font-size: 12px !important;
  }
}

/* === BOF Hero categoria — fix overlay e testo mobile === */
@media (max-width: 768px) {

  /* Elimina spazio tra header e hero */
  header.page-header {
    margin-bottom: 0 !important;
  }
  #main header.page-header h1 {
    margin-bottom: 0 !important;
    padding-bottom: 0px !important;
  }

  /* Hero: altezza fissa, nessun aspect-ratio */
  .hero-page,
  .hero-page.hero-category {
    background-size: cover !important;
    background-position: center center !important;
    padding: 0 !important;
    margin: 0 !important;
    aspect-ratio: unset !important;
    height: 200px !important;
    min-height: unset !important;
    display: flex !important;
    align-items: stretch !important;
  }

  /* Rimuove overlay grigio (::before) */
  .hero-page.hero-category::before {
    display: none !important;
  }

  /* Testo con respiro interno sopra/sotto */
  .hero-page.hero-category .hero-content {
    background: transparent !important;
    box-shadow: none !important;
    padding: 50px 15px !important;
    margin: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  /* Rimuove margin-top della description */
  .hero-page.hero-category + .category-description {
    margin: 0 !important;
  }

  /* Testo responsive */
  .hero-page.hero-category + .category-description p {
    line-height: 1.5em !important;
    color: #1a1a1a !important;
    margin: 0 !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    font-weight: 500;
  }
}
/* === EOF Hero categoria — fix overlay e testo mobile === */

body#module-lpsproaccount-proauthentication .page-content.page-cms {
    background: #1a1a1a;
    padding: 1.25rem;
    text-align: justify;
}

.lpsproaccount-button a:hover {
    color: #1a1a1a !important;
}

.btn-primary:active:focus {
    background-color: #1a1a1a !important;
}

/* Testo modal login — color chiaro su testi, label, link e span */
.modal.leo-quicklogin-modal .modal-body p,
.modal.leo-quicklogin-modal .modal-body label,
.modal.leo-quicklogin-modal .modal-body a,
.modal.leo-quicklogin-modal .modal-body span {
    color: #faf9f6 !important;
}

.modal.leo-quicklogin-modal form .form-control-label span {
    font-size: 11px !important;
}

.modal.leo-quicklogin-modal .leoquicklogin-forgotpass {
    font-size: 12px !important;
    line-height: normal !important;
}

/* Centra i blocchi call-to-action nel form full-width */
.leo-form.full-width .lql-callregister,
.leo-form.full-width .lql-calllogin {
    text-align: center !important;
    font-size: 13px;
}

/* Button "Registrati come professionista" nel modal login */
/* Bottoni registrazione nel modal login (privato + professionista) */
.modal.leo-quicklogin-modal .lql-callregister .lql-professional-register-link,
.modal.leo-quicklogin-modal .lql-callregister .lql-callregister-action,
.modal.leo-quicklogin-modal .lql-professional-link .lql-professional-register-link {
    display: inline-block !important;
    margin-top: 8px !important;
    padding: 6px 14px !important;
    background-color: #faf9f6 !important;
    color: #1a1a1a !important;
    border: 1px solid #1a1a1a !important;
    border-bottom: 1px solid #1a1a1a !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s !important;
}
.modal.leo-quicklogin-modal .lql-callregister .lql-professional-register-link:hover,
.modal.leo-quicklogin-modal .lql-callregister .lql-callregister-action:hover,
.modal.leo-quicklogin-modal .lql-professional-link .lql-professional-register-link:hover {
    background-color: #1a1a1a !important;
    color: #faf9f6 !important;
    border-color: #1a1a1a !important;
}

/* Nasconde il product-discount nativo sulla pagina prodotto: dati usati solo dal JS del promo box */
body#product .product-prices .product-discount {
    display: none;
}

/* Promo Box — stili condivisi (#p3v-box-promo e #p3v-box6-promo) */
.p3v-box-promo {
    margin-top: 10px;
    margin-bottom: 6px;
    padding: 10px 14px;
    background-color: #1a1a1a;
    border-left: 3px solid #faf9f6;
    text-align: left;
    color: #faf9f6;
}
.p3v-box-promo .p3v-box-promo-line1 {
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.p3v-box-promo .p3v-box-promo-line2 {
    margin: 4px 0 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.p3v-box-promo .p3v-box-original-price del,
.p3v-box-promo .p3v-box6-original-price del {
    color: #999;
}
.p3v-box-promo .p3v-box-discount-badge,
.p3v-box-promo .p3v-box6-discount-badge {
    display: inline-block;
    color: #1a1a1a;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: 700;
    font-size: 0.88em;
}
.p3v-box-promo .p3v-box6-discount-badge {
    background: #faf9f6;
}

.product-flags .product-flag.discount {
    background: #faf9f6;
    color: #1a1a1a;
}

.page-customer-account #content {
    background: #1a1a1a;
}

/* Cookie trigger footer */
.p3v-cookie-bar {
    text-align: center;
    padding: 8px 0;
}
.p3v-cookie-bar #p3v-cookie-trigger {
    font-size: 11px;
    color: rgba(250, 249, 246, 0.45);
    text-decoration: underline;
    letter-spacing: 0.05em;
}
.p3v-cookie-bar #p3v-cookie-trigger:hover {
    color: #faf9f6;
}

/* ── lpsproaccount proauthentication page ── */
body#module-lpsproaccount-proauthentication .cms-section-hero h1,
body#module-lpsproaccount-proauthentication .cms-section-dark h1,
body#module-lpsproaccount-proauthentication .cms-section-dark-mid h1,
body#module-lpsproaccount-proauthentication .cms-section-light h1,
body#module-lpsproaccount-proauthentication .cms-section-grey h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 3rem !important;
    font-weight: 300 !important;
    letter-spacing: 4px !important;
    margin-bottom: 24px !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    color: #faf9f6 !important;
}

/* ==========================================================
   BOF PAGINE INTERNE ACCOUNT (stile unificato dark)
   ========================================================== */

/* --- Base: sfondo scuro su tutte le pagine account --- */
body#my-account,
body#identity,
body#order-confirmation,
body#discount,
body#history,
body#order-slip,
body#address,
body#addresses,
body#module-psgdpr-gdpr,
body#module-multisafepayofficial-tokens,
body#my-account #page,
body#my-account #wrapper,
body#my-account #content-wrapper,
body#identity #page,
body#identity #wrapper,
body#identity #content-wrapper,
body#order-confirmation #page,
body#order-confirmation #wrapper,
body#order-confirmation #content-wrapper,
body#discount #page,
body#discount #wrapper,
body#discount #content-wrapper,
body#history #page,
body#history #wrapper,
body#history #content-wrapper,
body#order-slip #page,
body#order-slip #wrapper,
body#order-slip #content-wrapper,
body#address #page,
body#address #wrapper,
body#address #content-wrapper,
body#addresses #page,
body#addresses #wrapper,
body#addresses #content-wrapper,
body#module-psgdpr-gdpr #page,
body#module-psgdpr-gdpr #wrapper,
body#module-psgdpr-gdpr #content-wrapper,
body#module-multisafepayofficial-tokens #page,
body#module-multisafepayofficial-tokens #wrapper,
body#module-multisafepayofficial-tokens #content-wrapper {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
}

/* --- Card content --- */
body#my-account #content.page-content,
body#identity #content.page-content,
body#order-confirmation #content.page-content,
body#discount #content.page-content,
body#history #content.page-content,
body#order-slip #content.page-content,
body#address #content.page-content,
body#addresses #content.page-content,
body#module-psgdpr-gdpr #content.page-content,
body#module-multisafepayofficial-tokens #content.page-content {
    background: #242424 !important;
    border: 1px solid rgba(250,249,246,0.08) !important;
    border-radius: 4px !important;
    padding: 40px 48px !important;
    margin-bottom: 24px !important;
}

/* --- Breadcrumb --- */
body#my-account .breadcrumb-bg,
body#identity .breadcrumb-bg,
body#order-confirmation .breadcrumb-bg,
body#discount .breadcrumb-bg,
body#history .breadcrumb-bg,
body#order-slip .breadcrumb-bg,
body#address .breadcrumb-bg,
body#addresses .breadcrumb-bg,
body#module-psgdpr-gdpr .breadcrumb-bg,
body#module-multisafepayofficial-tokens .breadcrumb-bg {
    background-color: #242424 !important;
    background-image: none !important;
}
body#my-account .breadcrumb ol,
body#my-account .breadcrumb li,
body#my-account .breadcrumb a,
body#my-account .breadcrumb span,
body#identity .breadcrumb ol,
body#identity .breadcrumb li,
body#identity .breadcrumb a,
body#identity .breadcrumb span,
body#discount .breadcrumb ol,
body#discount .breadcrumb li,
body#discount .breadcrumb a,
body#discount .breadcrumb span,
body#history .breadcrumb ol,
body#history .breadcrumb li,
body#history .breadcrumb a,
body#history .breadcrumb span,
body#order-slip .breadcrumb ol,
body#order-slip .breadcrumb li,
body#order-slip .breadcrumb a,
body#order-slip .breadcrumb span,
body#address .breadcrumb ol,
body#address .breadcrumb li,
body#address .breadcrumb a,
body#address .breadcrumb span,
body#module-psgdpr-gdpr .breadcrumb ol,
body#module-psgdpr-gdpr .breadcrumb li,
body#module-psgdpr-gdpr .breadcrumb a,
body#module-psgdpr-gdpr .breadcrumb span,
body#module-multisafepayofficial-tokens .breadcrumb ol,
body#module-multisafepayofficial-tokens .breadcrumb li,
body#module-multisafepayofficial-tokens .breadcrumb a,
body#module-multisafepayofficial-tokens .breadcrumb span {
    color: rgba(250,249,246,0.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
}
body#my-account .breadcrumb li:last-child span,
body#identity .breadcrumb li:last-child span,
body#discount .breadcrumb li:last-child span,
body#history .breadcrumb li:last-child span,
body#order-slip .breadcrumb li:last-child span,
body#address .breadcrumb li:last-child span,
body#module-psgdpr-gdpr .breadcrumb li:last-child span,
body#module-multisafepayofficial-tokens .breadcrumb li:last-child span {
    color: rgba(250,249,246,0.85) !important;
}
body#my-account .breadcrumb li + li::before,
body#identity .breadcrumb li + li::before,
body#discount .breadcrumb li + li::before,
body#history .breadcrumb li + li::before,
body#order-slip .breadcrumb li + li::before,
body#address .breadcrumb li + li::before,
body#module-psgdpr-gdpr .breadcrumb li + li::before,
body#module-multisafepayofficial-tokens .breadcrumb li + li::before {
    color: rgba(250,249,246,0.3) !important;
}

/* --- Titoli e testi (esclusa .P3V-section-footer-blog) --- */
body#my-account h1:not(.P3V-section-footer-blog *), body#my-account h2:not(.P3V-section-footer-blog *), body#my-account h3:not(.P3V-section-footer-blog *),
body#my-account p:not(.P3V-section-footer-blog *), body#my-account span:not(.P3V-section-footer-blog *), body#my-account label:not(.P3V-section-footer-blog *), body#my-account .label:not(.P3V-section-footer-blog *),
body#identity h1:not(.P3V-section-footer-blog *), body#identity h2:not(.P3V-section-footer-blog *), body#identity h3:not(.P3V-section-footer-blog *),
body#identity p:not(.P3V-section-footer-blog *), body#identity span:not(.P3V-section-footer-blog *), body#identity label:not(.P3V-section-footer-blog *), body#identity .label:not(.P3V-section-footer-blog *),
body#order-confirmation h1:not(.P3V-section-footer-blog *), body#order-confirmation h2:not(.P3V-section-footer-blog *), body#order-confirmation h3:not(.P3V-section-footer-blog *),
body#order-confirmation p:not(.P3V-section-footer-blog *), body#order-confirmation span:not(.P3V-section-footer-blog *), body#order-confirmation label:not(.P3V-section-footer-blog *), body#order-confirmation .label:not(.P3V-section-footer-blog *),
body#discount h1:not(.P3V-section-footer-blog *), body#discount h2:not(.P3V-section-footer-blog *), body#discount h3:not(.P3V-section-footer-blog *),
body#discount p:not(.P3V-section-footer-blog *), body#discount span:not(.P3V-section-footer-blog *), body#discount label:not(.P3V-section-footer-blog *), body#discount .label:not(.P3V-section-footer-blog *),
body#history h1:not(.P3V-section-footer-blog *), body#history h2:not(.P3V-section-footer-blog *), body#history h3:not(.P3V-section-footer-blog *),
body#history p:not(.P3V-section-footer-blog *), body#history span:not(.P3V-section-footer-blog *), body#history label:not(.P3V-section-footer-blog *), body#history .label:not(.P3V-section-footer-blog *),
body#order-slip h1:not(.P3V-section-footer-blog *), body#order-slip h2:not(.P3V-section-footer-blog *), body#order-slip h3:not(.P3V-section-footer-blog *),
body#order-slip p:not(.P3V-section-footer-blog *), body#order-slip span:not(.P3V-section-footer-blog *), body#order-slip label:not(.P3V-section-footer-blog *), body#order-slip .label:not(.P3V-section-footer-blog *),
body#address h1:not(.P3V-section-footer-blog *), body#address h2:not(.P3V-section-footer-blog *), body#address h3:not(.P3V-section-footer-blog *),
body#address p:not(.P3V-section-footer-blog *), body#address span:not(.P3V-section-footer-blog *), body#address label:not(.P3V-section-footer-blog *), body#address .label:not(.P3V-section-footer-blog *),
body#addresses h1:not(.P3V-section-footer-blog *), body#addresses h2:not(.P3V-section-footer-blog *), body#addresses h3:not(.P3V-section-footer-blog *),
body#addresses p:not(.P3V-section-footer-blog *), body#addresses span:not(.P3V-section-footer-blog *), body#addresses label:not(.P3V-section-footer-blog *), body#addresses .label:not(.P3V-section-footer-blog *),
body#module-psgdpr-gdpr h1:not(.P3V-section-footer-blog *), body#module-psgdpr-gdpr h2:not(.P3V-section-footer-blog *), body#module-psgdpr-gdpr h3:not(.P3V-section-footer-blog *),
body#module-psgdpr-gdpr p:not(.P3V-section-footer-blog *), body#module-psgdpr-gdpr span:not(.P3V-section-footer-blog *),
body#module-psgdpr-gdpr label:not(.P3V-section-footer-blog *), body#module-psgdpr-gdpr .label:not(.P3V-section-footer-blog *),
body#module-multisafepayofficial-tokens h1:not(.P3V-section-footer-blog *), body#module-multisafepayofficial-tokens h2:not(.P3V-section-footer-blog *), body#module-multisafepayofficial-tokens h3:not(.P3V-section-footer-blog *),
body#module-multisafepayofficial-tokens p:not(.P3V-section-footer-blog *), body#module-multisafepayofficial-tokens span:not(.P3V-section-footer-blog *),
body#module-multisafepayofficial-tokens label:not(.P3V-section-footer-blog *), body#module-multisafepayofficial-tokens .label:not(.P3V-section-footer-blog *) {
    color: #faf9f6 !important;
}

/* --- Label form --- */
body#my-account form .form-control-label,
body#identity form .form-control-label,
body#order-confirmation form .form-control-label,
body#discount form .form-control-label,
body#history form .form-control-label,
body#order-slip form .form-control-label,
body#address form .form-control-label,
body#addresses form .form-control-label,
body#password form .form-control-label,
body#module-psgdpr-gdpr form .form-control-label,
body#module-multisafepayofficial-tokens form .form-control-label {
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
body#my-account .form-control-label.required::after,
body#identity .form-control-label.required::after,
body#discount .form-control-label.required::after,
body#history .form-control-label.required::after,
body#order-slip .form-control-label.required::after,
body#address .form-control-label.required::after,
body#addresses .form-control-label.required::after,
body#module-psgdpr-gdpr .form-control-label.required::after,
body#module-multisafepayofficial-tokens .form-control-label.required::after {
    content: ' *';
    color: rgba(250,249,246,0.4) !important;
}

/* --- Form input --- */
body#my-account .form-control,
body#identity .form-control,
body#order-confirmation .form-control,
body#discount .form-control,
body#history .form-control,
body#order-slip .form-control,
body#address .form-control,
body#addresses .form-control,
body#module-psgdpr-gdpr .form-control,
body#module-multisafepayofficial-tokens .form-control {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.2) !important;
    border-radius: 4px !important;
    color: #faf9f6 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
}
body#my-account .form-control:focus,
body#identity .form-control:focus,
body#order-confirmation .form-control:focus,
body#discount .form-control:focus,
body#history .form-control:focus,
body#order-slip .form-control:focus,
body#address .form-control:focus,
body#addresses .form-control:focus,
body#module-psgdpr-gdpr .form-control:focus,
body#module-multisafepayofficial-tokens .form-control:focus {
    background: #1a1a1a !important;
    border-color: rgba(250,249,246,0.55) !important;
    box-shadow: 0 0 0 3px rgba(250,249,246,0.07) !important;
    outline: none !important;
}
body#my-account .form-control::placeholder,
body#identity .form-control::placeholder,
body#order-confirmation .form-control::placeholder,
body#discount .form-control::placeholder,
body#history .form-control::placeholder,
body#order-slip .form-control::placeholder,
body#address .form-control::placeholder,
body#addresses .form-control::placeholder,
body#module-psgdpr-gdpr .form-control::placeholder,
body#module-multisafepayofficial-tokens .form-control::placeholder {
    color: rgba(250,249,246,0.3) !important;
}

/* --- Form group separatori --- */
body#my-account .form-group.row,
body#identity .form-group.row,
body#order-confirmation .form-group.row,
body#discount .form-group.row,
body#history .form-group.row,
body#order-slip .form-group.row,
body#address .form-group.row,
body#addresses .form-group.row {
    border-bottom: none !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
}
body#my-account .form-group.row:last-child,
body#identity .form-group.row:last-child,
body#discount .form-group.row:last-child,
body#history .form-group.row:last-child,
body#order-slip .form-group.row:last-child,
body#address .form-group.row:last-child {
    border-bottom: none !important;
}

/* --- Link interni (esclusa .P3V-section-footer-blog) --- */
body#my-account a:not(.P3V-section-footer-blog *),
body#identity a:not(.P3V-section-footer-blog *),
body#order-confirmation a:not(.P3V-section-footer-blog *),
body#discount a:not(.P3V-section-footer-blog *),
body#history a:not(.P3V-section-footer-blog *),
body#order-slip a:not(.P3V-section-footer-blog *),
body#address a:not(.P3V-section-footer-blog *),
body#addresses a:not(.P3V-section-footer-blog *),
body#module-psgdpr-gdpr a:not(.P3V-section-footer-blog *),
body#module-multisafepayofficial-tokens a:not(.P3V-section-footer-blog *) {
    color: rgba(250,249,246,0.55) !important;
}
body#my-account a:not(.P3V-section-footer-blog *):hover,
body#identity a:not(.P3V-section-footer-blog *):hover,
body#order-confirmation a:not(.P3V-section-footer-blog *):hover,
body#discount a:not(.P3V-section-footer-blog *):hover,
body#history a:not(.P3V-section-footer-blog *):hover,
body#order-slip a:not(.P3V-section-footer-blog *):hover,
body#address a:not(.P3V-section-footer-blog *):hover,
body#addresses a:not(.P3V-section-footer-blog *):hover,
body#module-psgdpr-gdpr a:not(.P3V-section-footer-blog *):hover,
body#module-multisafepayofficial-tokens a:not(.P3V-section-footer-blog *):hover {
    color: rgba(250,249,246,0.5) !important;
}

/* --- Bottoni --- */
body#my-account .btn-primary,
body#my-account .form-footer .btn,
body#identity .btn-primary,
body#identity .form-footer .btn,
body#order-confirmation .btn-primary,
body#order-confirmation .form-footer .btn,
body#discount .btn-primary,
body#discount .form-footer .btn,
body#history .btn-primary,
body#history .form-footer .btn,
body#order-slip .btn-primary,
body#order-slip .form-footer .btn,
body#address .btn-primary,
body#address .form-footer .btn,
body#addresses .btn-primary,
body#addresses .form-footer .btn,
body#password .btn-primary,
body#password .form-footer .btn,
body#module-psgdpr-gdpr .btn-primary,
body#module-psgdpr-gdpr .psgdprgetdatabtn17,
body#module-multisafepayofficial-tokens .btn-primary {
    background: transparent !important;
    color: #faf9f6 !important;
    border: 1px solid rgba(250,249,246,0.5) !important;
    border-radius: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 10px 32px !important;
    transition: all 0.25s ease !important;
}
body#my-account .btn-primary:hover,
body#my-account .form-footer .btn:hover,
body#identity .btn-primary:hover,
body#identity .form-footer .btn:hover,
body#order-confirmation .btn-primary:hover,
body#order-confirmation .form-footer .btn:hover,
body#discount .btn-primary:hover,
body#discount .form-footer .btn:hover,
body#history .btn-primary:hover,
body#history .form-footer .btn:hover,
body#order-slip .btn-primary:hover,
body#order-slip .form-footer .btn:hover,
body#address .btn-primary:hover,
body#address .form-footer .btn:hover,
body#addresses .btn-primary:hover,
body#addresses .form-footer .btn:hover,
body#password .btn-primary:hover,
body#password .form-footer .btn:hover,
body#module-psgdpr-gdpr .btn-primary:hover,
body#module-psgdpr-gdpr .psgdprgetdatabtn17:hover,
body#module-multisafepayofficial-tokens .btn-primary:hover {
    background: #faf9f6 !important;
    color: #1a1a1a !important;
}

/* --- Footer pagina (torna al tuo account, home) --- */
body#my-account .page-footer a,
body#identity .page-footer a,
body#order-confirmation .page-footer a,
body#discount .page-footer a,
body#history .page-footer a,
body#order-slip .page-footer a,
body#module-psgdpr-gdpr .page-footer a,
body#module-multisafepayofficial-tokens .page-footer a {
    color: rgba(250,249,246,0.55) !important;
    background: transparent !important;
}
body#my-account .page-footer a:hover,
body#identity .page-footer a:hover,
body#order-confirmation .page-footer a:hover,
body#discount .page-footer a:hover,
body#history .page-footer a:hover,
body#order-slip .page-footer a:hover,
body#module-psgdpr-gdpr .page-footer a:hover,
body#module-multisafepayofficial-tokens .page-footer a:hover {
    color: #faf9f6 !important;
}

/* --- GDPR consent checkbox: testo accanto al checkbox --- */
label[for="psgdpr"] div,
label input[name="psgdpr"] ~ div {
    display: inline !important;
}

/* --- GDPR: box info --- */
body#module-psgdpr-gdpr .psgdprinfo17 {
    background: #1a1a1a !important;
    border: 1px solid rgba(250,249,246,0.08) !important;
    border-radius: 4px !important;
    padding: 20px !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

/* --- Form comment (Opzionale) --- */
body#my-account .form-control-comment,
body#identity .form-control-comment,
body#order-confirmation .form-control-comment,
body#discount .form-control-comment,
body#history .form-control-comment,
body#order-slip .form-control-comment {
    color: rgba(250,249,246,0.35) !important;
}

/* --- Custom checkbox --- */
body#my-account .custom-checkbox label span,
body#identity .custom-checkbox label span,
body#order-confirmation .custom-checkbox label span,
body#discount .custom-checkbox label span,
body#history .custom-checkbox label span,
body#order-slip .custom-checkbox label span,
body#module-psgdpr-gdpr .custom-checkbox label span,
body#module-multisafepayofficial-tokens .custom-checkbox label span {
    color: #faf9f6 !important;
}

/* --- Select dropdown --- */
body#my-account select.form-control,
body#identity select.form-control,
body#order-confirmation select.form-control,
body#discount select.form-control,
body#history select.form-control,
body#order-slip select.form-control {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
}

/* --- Bottone primary: rimuovi pseudo-elemento ::before --- */
.form-footer .btn-primary::before {
    background-color: transparent !important;
}

/* --- Titolo h6 nelle pagine account --- */
body#my-account .page-content h6,
body#identity .page-content h6,
body#order-confirmation .page-content h6,
body#discount .page-content h6,
body#history .page-content h6,
body#order-slip .page-content h6,
body#module-psgdpr-gdpr .page-content h6,
body#module-multisafepayofficial-tokens .page-content h6 {
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #faf9f6 !important;
}

/* --- Responsive mobile --- */
@media (max-width: 767px) {
    body#my-account #content.page-content,
    body#identity #content.page-content,
    body#order-confirmation #content.page-content,
    body#discount #content.page-content,
    body#history #content.page-content,
    body#order-slip #content.page-content,
    body#module-psgdpr-gdpr #content.page-content,
    body#module-multisafepayofficial-tokens #content.page-content {
        padding: 24px 20px !important;
    }
    body#my-account .form-control-label,
    body#identity .form-control-label,
    body#order-confirmation .form-control-label,
    body#discount .form-control-label,
    body#history .form-control-label,
    body#order-slip .form-control-label,
    body#module-psgdpr-gdpr .form-control-label,
    body#module-multisafepayofficial-tokens .form-control-label {
        padding-top: 0 !important;
        margin-bottom: 4px !important;
    }
}

/* --- Order confirmation: card sfondo scuro --- */
body#order-confirmation .card {
    background: #242424 !important;
    border: 1px solid rgba(250,249,246,0.08) !important;
    border-radius: 4px !important;
}
body#order-confirmation .order-confirmation-table {
    background: #1a1a1a !important;
    padding: 30px;
}
body#order-confirmation .definition-list dl dd,
body#order-confirmation .definition-list dl dt {
    background: #1a1a1a !important;
}
/* body#order-confirmation .card-block {
    margin: 40px !important;
} */
body#order-confirmation #order-details {
    background: #1a1a1a !important;
    padding: 30px !important;
    margin: 15px;
}
body#order-confirmation #content-hook_payment_return {
    padding: 40px 48px !important;
    margin-bottom: 24px !important;
}
body#order-confirmation #order-items table {
    width: 100%;
    text-align: right;
}
body#order-confirmation #order-items tr.sub.taxes {
    display: none !important;
}
body#order-confirmation .row {
    padding: 10px 30px 30px 30px !important;
}
body#order-confirmation h3 {
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* ==========================================================
   EOF PAGINE INTERNE ACCOUNT (stile unificato dark)
   ========================================================== */

.page-footer .account-link {
    margin-left: 15px;
}

#blockcart-modal .modal-body .divide-right span {
    margin-left: 20px;
}

body#registration.page-customer-account label,
body#registration.page-customer-account .label {
    color: #faf9f6 !important;
}

.p3v-radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.p3v-radio-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.p3v-optional-label {
    color: #faf9f6 !important;
}

body#registration .btn.btn-primary.form-control-submit:hover,
body#registration .btn.btn-primary.form-control-submit:focus,
body#registration .btn.btn-primary.form-control-submit:active,
body#registration button[data-link-action="save-customer"]:hover,
body#registration button[data-link-action="save-customer"]:focus,
body#registration button[data-link-action="save-customer"]:active {
    background: transparent !important;
    background-color: transparent !important;
    color: #faf9f6 !important;
}

body#registration .form-footer .btn-primary::before,
body#registration .form-footer .btn-primary:hover::before {
    background-color: transparent !important;
}

/* ── Alert post-registrazione: palette "filled" ── */

/* SUCCESS — verde pieno, testo bianco | contrasto 5.13:1 WCAG AA */
.alert-success {
    background-color: #2E7D32 !important;
    border: none !important;
    border-left: 5px solid #1B5E20 !important;
    color: #ffffff !important;
    font-weight: 500;
}
.alert-success .alert-link {
    color: #e8f5e9 !important;
}

/* WARNING — ambra piena, testo scuro | contrasto 8.17:1 WCAG AAA */
.alert-warning {
    background-color: #F9A825 !important;
    border: none !important;
    border-left: 5px solid #E65100 !important;
    color: #212121 !important;
    font-weight: 500;
}
.alert-warning a:focus,
.alert-warning a:hover,
.alert-warning li,
.alert-warning li a:hover {
    color: #212121 !important;
}

/* DANGER — rosso pieno, testo bianco | contrasto 5.62:1 WCAG AA */
.alert-danger {
    background-color: #C62828 !important;
    border: none !important;
    border-left: 5px solid #B71C1C !important;
    color: #ffffff !important;
    font-weight: 500;
}

/* INFO — blu pieno, testo bianco | contrasto 5.75:1 WCAG AA */
.alert-info {
    background-color: #1565C0 !important;
    border: none !important;
    border-left: 5px solid #0D47A1 !important;
    color: #ffffff !important;
    font-weight: 500;
}

/* Titolo sezioni modal login (Crea un account / Accesso account esistente) */
.modal.leo-quicklogin-modal .leo-register-title,
.modal.leo-quicklogin-modal .leo-login-title {
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #faf9f6 !important;
  margin-bottom: 16px !important;
}

/* Titolo form reset password nel modal login */
.modal.leo-quicklogin-modal .leo-resetpass-form p.h3 {
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

/* ===== Checkout: testo #1a1a1a ===== */
body#checkout .checkout-step .content .card-block,
body#checkout .checkout-step .content .card-block h4,
body#checkout .checkout-step .content .card-block p,
body#checkout .checkout-step .content .card-block span,
body#checkout .checkout-step .content .card-block label,
body#checkout .checkout-step .content .summary-selected-carrier,
body#checkout .checkout-step .content .summary-selected-carrier p,
body#checkout .checkout-step .content .summary-selected-carrier span,
body#checkout .checkout-step .content .summary-selected-carrier label,
body#checkout #order-items,
body#checkout #order-items p,
body#checkout #order-items span,
body#checkout #order-items label {
    color: #faf9f6 !important;
}

body#checkout .checkout-step .content span {
    line-height: 1.8rem !important;
}

body#checkout #order-summary-content #order-items h3 {
    line-height: 1.25rem !important;
    color: #faf9f6 !important;
    font-size: 13px;
}

/* --- Riga totale ordine --- */
#order-items table tr.total-value {
    background-color: #1a1a1a;
}

/* --- Riga IVA inclusa --- */
body#checkout #order-items table tr.sub.taxes td {
    text-align: right !important;
}

/* --- Riepilogo ordine checkout: label sinistra, value destra --- */
body#checkout .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
}

body#checkout .cart-summary-line > .label {
    flex: 1 1 auto !important;
    text-align: left !important;
}

body#checkout .cart-summary-line > .value {
    flex: 0 0 auto !important;
    text-align: right !important;
    min-width: 70px !important;
}


body#checkout .alert {
    font-size: 13px !important;
    color: #1a1a1a !important;
}

/* Alert errore: testo scuro su sfondo rosso chiaro */
body#checkout .checkout-step .content .alert-danger,
body#checkout .checkout-step .content .alert-danger p,
body#checkout .checkout-step .content .alert-danger span,
body#checkout .checkout-step .content .alert-danger label,
body#checkout .checkout-step .content .alert-danger li {
    color: #1a1a1a !important;
}

body#checkout #payment-confirmation .alert {
    color: #1a1a1a !important;
}

body#checkout .checkout-step .content article.js-alert-payment-conditions {
    color: #1a1a1a !important;
}

body#checkout .checkout-step .content article.js-alert-payment-conditions a {
    color: #1a1a1a !important;
    border: 1px solid !important;
    padding: 5px 20px !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    border-radius: 15px !important;
}

body#checkout #order-summary-content h4.black {
    color: #faf9f6 !important;
}

body#checkout #order-summary-content h4.addresshead {
    margin-top: 1.1875rem;
    margin-bottom: 1.1875rem;
}

body.page-customer-account p {
    padding-top: 10px;
    color: #faf9f6 !important;
}

/* Inner section altezza uniforme — nessun troncamento */
.elementor-element-b484868 .elementor-inner-section {
    min-height: 214px !important;
}

/* Descrizione: massimo 2 righe — disabilitato
.P3V-dinamic-product-title .bernabea-desc p {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
} */
#P3V-header-top .area-desc .elementor-button span {
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

/* Home hero h1 — rimuove line-height e letter-spacing di Elementor */
.home-hero h3.elementor-heading-title {
    line-height: 1.2 !important;
    letter-spacing: unset !important;
}
.home-hero h1.elementor-heading-title {
    letter-spacing: unset !important;
}

/* Override tipografia p — homepage */
body#index .elementor-widget-container p,
body#index .elementor-section p {
    font-size: 15px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    font-stretch: normal !important;
    font-optical-sizing: auto !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
}

.cms-section-dark .cms-split-title h2 {
    color: #faf9f6 !important;
}

/* Products top — sort-by a sinistra */
#js-product-list-top .products-selection > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
}
#js-product-list-top .grid-selecting {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
    margin-left: 20px !important;
    margin-right: auto !important;
    order: 0 !important;
}
#js-product-list-top .total-products {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    margin-right: 20px !important;
    padding-left: 0 !important;
}
#js-product-list-top .total-products p {
    text-align: right !important;
}

/* Home section light */
.home-section-light .elementor-widget-container,
.home-section-light h1,
.home-section-light h2,
.home-section-light h3,
.home-section-light a,
.home-section-light li,
.home-section-light .elementor-icon-list-icon i,
.home-section-light .elementor-icon-list-text,
.home-section-light .p3v-hero-btn.elementor-widget-button,
.home-section-light .elementor-button-text {
    color: #1a1a1a !important;
}

.home-section-light .elementor-button,
.home-section-light-btn .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 26px !important;
    border: 2px solid #1a1a1a !important;
    border-radius: 30px !important;
    background: #faf9f6 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    letter-spacing: .04em !important;
    box-shadow: none !important;
    min-height: auto !important;
}
.home-section-light .elementor-button:hover {
    background: transparent !important;
    color: #faf9f6 !important;
    font-weight: 500 !important;
}
.home-section-light .p3v-hero-btn a.elementor-button:hover {
    background: transparent !important;
    color: #faf9f6 !important;
    font-weight: 500 !important;
}
.home-section-light-btn a.elementor-button:hover {
    background: transparent !important;
    color: #faf9f6 !important;
    font-weight: 500 !important;
}

/* Category hero — full width */
.p3v-hero-fullwidth {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    position: relative !important;
}
.home-section-light .elementor-icon-list-item a:hover {
    background: transparent !important;
    font-weight: 500 !important;
}
.home-section-light .elementor-icon-list-item a:hover .elementor-icon-list-text {
    color: #645057 !important;
}
.home-section-light a.elementor-button-link:hover {
    background: rgba(0, 0, 0, 0.41) !important;
}

/* ============================================
   P3V Blog List Widget — bg chiaro, img sinistra, contenuto destra
   Struttura: .blog-container > .left-block + .right-block
   ============================================ */

/* Card: bg chiaro, testo scuro */
.P3V-blog-list-widget .item {
    background-color: #e8e6e1 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin-bottom: 5px !important;
}

/* Layout flex: immagine sinistra, contenuto destra */
.P3V-blog-list-widget .blog-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 0 !important;
}

/* Immagine: colonna sinistra responsive */
.P3V-blog-list-widget .left-block {
    flex: 0 0 20% !important;
    width: 20% !important;
    max-width: 20% !important;
}
/* Contenuto: colonna destra 70% */
#blog-LeoBlog_3538615128 .right-block {
    flex: 0 0 70% !important;
    width: 70% !important;
}
.P3V-blog-list-widget .left-block .blog-image-container {
    width: 100% !important;
}
.P3V-blog-list-widget .left-block .blog-image-container img,
.elementor-element.elementor-element-cb9cf99 .blog-image-container img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Contenuto: colonna destra */
.P3V-blog-list-widget .right-block {
    flex: 1 !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
    background-color: #e8e6e1 !important;
}

/* Data */
.P3V-blog-list-widget .created,
.P3V-blog-list-widget .date,
.P3V-blog-list-widget .b-daycount,
.P3V-blog-list-widget .b-month {
    font-size: 11px !important;
    color: #1a1a1a !important;
}

/* Categoria */
.P3V-blog-list-widget .cat a {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
}
.P3V-blog-list-widget .cat a:hover {
    color: #645057 !important;
}

/* Link "Maggiori informazioni" */
.P3V-blog-list-widget .blog-readmore a {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
}
.P3V-blog-list-widget .blog-readmore a:hover {
    color: #645057 !important;
}

/* Bottone "View All" */
.P3V-blog-list-widget .blog-viewall .btn-viewall {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    background: transparent !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 30px !important;
    padding: 10px 24px !important;
}
.P3V-blog-list-widget .blog-viewall .btn-viewall:hover {
    background: #1a1a1a !important;
    color: #faf9f6 !important;
}
/* Titolo widget e sottotitolo */
.P3V-blog-list-widget .title_block,
.P3V-blog-list-widget .title_block a,
.P3V-blog-list-widget .sub-title-widget {
    color: #1a1a1a !important;
}

/* Titolo post (h5.blog-title) */
.P3V-blog-list-widget .blog-title {
    line-height: 2 !important;
}
.P3V-blog-list-widget .blog-title a {
    color: #1a1a1a !important;
    line-height: 1px;
    text-decoration: none !important;
}
.P3V-blog-list-widget .blog-title a:hover {
    color: #645057 !important;
}
/* Descrizione post */
.P3V-blog-list-widget .blog-desc {
    font-size: 13px !important;
    line-height: 16px !important;
    color: #1a1a1a !important;
}
/* Titoli sezione blog homepage */
.P3V-section-footer-blog h2.elementor-heading-title,
.P3V-section-footer-blog h3.elementor-heading-title {
    color: #1a1a1a !important;
}
/* EOF - P3V Blog List Widget */


/* ============================================================
   P3V FOOTER
   ============================================================ */

/* footer-top: sfondo chiaro */
#footer .footer-top {
    background-color: #faf9f6 !important;
}

/* Testi e link footer-top: colore scuro */
#footer .footer-top h2,
#footer .footer-top h3,
#footer .footer-top h4,
#footer .footer-top h5,
#footer .footer-top p,
#footer .footer-top a,
#footer .footer-top .elementor-heading-title {
    color: #1a1a1a !important;
}
#footer .footer-top a:hover {
    color: #645057 !important;
}
/* Footer margin-top reset su pagine interne */
body:not(#index) .footer-container {
    margin-top: 0 !important;
}
/* EOF - P3V FOOTER */

/* Icona mostra/nascondi password - Leo Quick Login */
.lql-form-content .lql-form-content-element .fa-eye-slash,
.lql-form-content .lql-form-content-element .fa-eye {
    color: #1a1a1a !important;
}

/* Alert globali: definiti sopra nel blocco "Alert post-registrazione: palette filled" */

/* Alert pagina contatti — testo errore leggibile */
.page-contact .alert.alert-danger li {
    color: #5a1a1a !important;
}

/* ═══ EOF — custom.css ═══ */

.b2buser .nob2b,
body#product.b2buser .P3V-productCol-dx .add-note.p3v-b2b-button,
#module-leoblog-blog .P3V-section-footer-blog,
#module-leoblog-category .P3V-section-footer-blog,
#module-leoblog-list .P3V-section-footer-blog{
    display: none!important;
}
.elementor-editor-active .nob2b{
    display: block!important;
}
body#product .nob2b .p3v-hero-btn{
    justify-content: flex-start;
    margin-top:0px;
}
.ecs-checkoutrules-alert a{
    color:#000!important;
    text-decoration: underline;
    font-size: 13px;
}

.blogs-container h1{
    line-height: 32px;
    padding: 20px 0 20px 0px!important;
}
#blog-category .section-title,
.blog-tags,
.extra-blogs{
    display: none!important;
}
@media(min-width:768px){
    .hasicon.menu-icon-class i{
        font-size:32px
    }
}