/********************************************************
			Coderplace Custom Styles
********************************************************/
.tm-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.cp-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  display: flex!important;
  flex-wrap: wrap;
}
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-wrapper-outer {
    overflow-x: clip;
    position: relative;
    float: left;
    width: 100%;
}
.owl-carousel .owl-wrapper-outer.autoHeight {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}
.owl-carousel .owl-item {
  float: left;
  display: flex;
  height: auto;
}
#cptestimonial .owl-wrapper-outer .owl-item {
  display: block;
}
.owl-carousel .owl-item .manu_image a {
  display: inline-block;
}
.owl-carousel .owl-item .manu_image a img {
  max-width: 100%;
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  /* fix */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  text-align: center;
}

/* mouse grab icon */
.customNavigation {
	position: absolute;
	z-index: 9;
	width: 100%;
	top: 50%;
	direction: ltr !important;
	right: 0;
	left: auto;
  opacity: 0;
  -khtml-opacity: 0;
-webkit-opacity: 0;
-moz-opacity: 0;
}
.products .customNavigation {
	top: 50%;
}
.cpcategorylist .customNavigation{
  top: 30%;
}
.testimonial-block-part .customNavigation {
	top: 60%;
}
.tmcategorylist:hover .customNavigation {
	opacity: 1;
	-khtml-opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
}
.customNavigation a.prev::before {
	content: "\E314";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	right: 5px;
	top: -1px;
	color: #8a9299;
}
.customNavigation a.next::before {
	content: "\E315";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	position: absolute;
	right: 3px;
	top: -1px;
	color: #8a9299;
}
#tmtestimonialcmsblock .customNavigation {
  top: -24px;
  z-index: 5;
  right: 15px;
}
#index #tmtestimonialcmsblock .customNavigation {
  top: -40px;
  right: 0;
}
.special-products .customNavigation {
	top: 52%;
}
.special-products:hover .customNavigation, 
.products:hover .customNavigation,
.testimonial-block-part:hover .customNavigation,
.tmblog-latest:hover .customNavigation, 
#tminstagramblock:hover .customNavigation,
.product-accessories:hover .customNavigation,
.productscategory-products:hover .customNavigation{
  opacity: 1;
  -khtml-opacity: 1;
  -webkit-opacity: 1;
  -moz-opacity: 1;
}
.lastest_block .customNavigation {
	top: 44%;
}
.customNavigation i {
	color: #222 !important;
	cursor: pointer;
	font-size: 0;
	font-weight: 500;
	height: 38px;
	line-height: 32px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	text-align: center;
	width: 38px;
	background: transparent;
	border-radius: 0;
	font-style: unset;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.11);
}
.customNavigation i.prev {
	background: transparent;
	right: auto;
	background: #fff;
	border-radius: 50%;
	left: -5px;
}
.customNavigation i.next {
	background: transparent;
	right: 0px;
	background: #fff;
	border-radius: 50%;
	right: -5px;
}
.cpcategorylist .customNavigation i.prev {left: 0px;}
.cpcategorylist .customNavigation i.next {right: 0px;}
.tmcategorylist .customNavigation i.prev, 
.testimonial-block-part .customNavigation i.prev, 
#tminstagramblock .btn.prev.instagram_prev,
.special-products .customNavigation i.prev{
	left: -20px;
}
.tmcategorylist .customNavigation i.next, 
.testimonial-block-part .customNavigation i.next, 
#tminstagramblock .btn.next.instagram_next,
.special-products .customNavigation i.next  {
  right: -20px;
}
.testimonial-block-part .customNavigation i.prev, .testimonial-block-part .customNavigation i.next {
  display: block;
}
.customNavigation i.prev::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-left.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-left.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 18px;
	font-size: 18px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 18px;
}
#tmtestimonialcmsblock .customNavigation i.prev::before {
  right: 1px;
  font-weight: 500;
}
#tmtestimonialcmsblock .customNavigation i.next::before {
  right: 0;
  font-weight: 500;
}
.customNavigation i.next::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-right.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-right.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 18px;
	font-size: 18px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 18px;
}
.customNavigation i.next:hover::before,.customNavigation i.prev:hover::before  {
  color: #fff;
}
#cpleftbanner1 img,
#cpleftbanner2 img {
  max-width: 100%;
}
#cpleftbanner1 li,
#cpleftbanner2 li {
  overflow: hidden;
  position: relative;
  float: left;
  border-radius: 0px;
}
#cpleftbanner1 li a,
#cpleftbanner2 li a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: top;
}
.footer-container .links.lastest_block .customNavigation i.prev:hover {
  color: #9bbab1 !important;
}
.footer-container .links.lastest_block .customNavigation i.next:hover {
  color: #9bbab1 !important;
}

@media (max-width: 1449px) {
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev,
  .special-products .customNavigation i.prev{
    left: -15px;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next,
   .special-products .customNavigation i.next {
    right: -15px;
  }
  .customNavigation i.next {
    right: 0;
  }
  .customNavigation i.prev {
    left: 0;
  }
}
@media (max-width: 1199px) {
  #tmtestimonialcmsblock .customNavigation {
    top: -36px;
    z-index: 5;
    right: -18px;
  }
}

@media (max-width: 991px) {
  #cpleftbanner1 li img,
  #cpleftbanner2 li a {
    width: auto;
  }
  #tmtestimonialcmsblock .customNavigation {
    top: 0;
    right: 0;
  }
}
@media (max-width: 767px) {
  .customNavigation {
    opacity: 1;
    -khtml-opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
  }
  
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev, 
  .special-products .customNavigation i.prev,
  .btn.prev.accessories_prev {
    left: 0;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next, 
   .special-products .customNavigation i.next,
   .btn.next.accessories_next {
    right: 0;
  }
  #main .images-container .js-qv-mask .customNavigation {
    top: 40%;
  }
  .quickview .mask.additional_slider .customNavigation i.prev {
    left: -10px !important;
  }
  .quickview .mask.additional_slider .customNavigation i.next {
    right: -10px !important;
  }
  .btn.next.brand_next {
    left: auto;
    right: 0;
    position: absolute;
  }
  .btn.prev.brand_prev {
    left: 0;
    right: auto;
  }
  .customNavigation i.next {
    left: auto;
    right: 0;
  }
}
@media (max-width: 480px) {
}
/* =========================
   FULL WIDTH (no boxed)
   ========================= */
#cpcmsbanner1 > .container{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* =========================
   GRID: 2 colonne desktop, 1 colonna mobile
   ========================= */
#cpcmsbanner1 .vp-banners{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:0; /* attaccate */
}
@media (max-width: 767px){
  #cpcmsbanner1 .vp-banners{ grid-template-columns:1fr; }
}

/* =========================
   BANNER: più alti
   ========================= */
#cpcmsbanner1 .vp-banner{
  position:relative;
  overflow:hidden;
  height:560px; /* DESKTOP */
}
@media (max-width: 1023px){
  #cpcmsbanner1 .vp-banner{ height:440px; } /* TABLET */
}
@media (max-width: 767px){
  #cpcmsbanner1 .vp-banner{ height:360px; } /* MOBILE */
}

/* =========================
   IMMAGINE (sfondo)
   ========================= */
#cpcmsbanner1 .vp-media,
#cpcmsbanner1 .vp-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

#cpcmsbanner1 .vp-media img{
  display:block;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform .45s ease;
}

/* overlay scuro */
#cpcmsbanner1 .vp-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.28);
  pointer-events:none;
}

/* =========================
   TESTO: centrato come posizione,
   ma allineamento sx/dx per banner
   ========================= */
#cpcmsbanner1 .vp-entry{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center; /* BLOCCO SEMPRE AL CENTRO */
  padding:32px;
  color:#fff;
}

#cpcmsbanner1 .vp-entry-inner{
  width:min(520px, 90%);
  text-align:center; /* default */
}

/* banner 1: testo a sinistra (ma blocco centrato) */
#cpcmsbanner1 .vp-banner:nth-child(1) .vp-entry-inner{
  text-align:left;
}

/* banner 2: testo a destra (ma blocco centrato) */
#cpcmsbanner1 .vp-banner:nth-child(2) .vp-entry-inner{
  text-align:right;
}

/* se vuoi anche il bottone allineato come il testo */
#cpcmsbanner1 .vp-banner:nth-child(1) .vp-entry-footer{ text-align:left; }
#cpcmsbanner1 .vp-banner:nth-child(2) .vp-entry-footer{ text-align:right; }

/* =========================
   TIPOGRAFIA
   ========================= */
#cpcmsbanner1 .vp-title{
  margin:0;
  font-size:40px;
  line-height:1.05;
  font-weight:600;
}
#cpcmsbanner1 .vp-teaser p{
  margin:12px 0 0 0;
  font-size:16px;
  line-height:1.4;
}

/* =========================
   BOTTONE + HOVER
   ========================= */
#cpcmsbanner1 .vp-entry-footer{ margin-top:18px; }

#cpcmsbanner1 .vp-btn{
  display:inline-block;
  padding:11px 18px;
  border:1px solid rgba(255,255,255,.95);
  color:#fff;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.08em;
  text-decoration:none;
  background:transparent;
  transition:background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease;
}

#cpcmsbanner1 .vp-btn:hover{
  background:#fff;
  color:#111;
  transform:translateY(-2px);
  border-color:#fff;
}

/* hover banner: zoom immagine */
#cpcmsbanner1 .vp-banner:hover .vp-media img{
  transform:scale(1.08);
}

/* =========================
   LINK OVERLAY (cliccabile tutto)
   + bottone sopra overlay
   ========================= */
#cpcmsbanner1 .vp-overlay-link{
  position:absolute;
  inset:0;
  z-index:3;
}

#cpcmsbanner1 .vp-entry{
  z-index:4; /* testo sopra overlay */
}

/* solo il bottone deve ricevere click, il resto coperto dall’overlay-link */
#cpcmsbanner1 .vp-entry a.vp-btn{
  position:relative;
  z-index:5;
}

/* ===== CP TOPBAR — DEFINITIVO PRO (spaziato + badge Google) ===== */
#cpheadercms1{ padding:0 !important; background:#000 !important; }

#cpheadercms1 .cp-topbar{
  background:#000;
  color:#fff;
  overflow:hidden;
  width:100%;
  height:26px;
  display:flex;
  align-items:center;

  font-size:12px;
  font-weight:400 !important;
  letter-spacing:1.15px !important;
  text-transform:uppercase;
  -webkit-font-smoothing:antialiased;
}

/* track (marquee) */
#cpheadercms1 .cp-topbar__track{
  display:flex;
  width:max-content;
  align-items:center;
  white-space:nowrap;
  will-change:transform;
  animation: cpTopbarMarquee 22s linear infinite;
}

/* gruppi (2 identici per loop) */
#cpheadercms1 .cp-topbar__group{
  display:flex;
  align-items:center;
  height:26px;
}

/* ===== Spaziatura “molto ampia” ===== */
#cpheadercms1 .cp-topbar__item{
  display:inline-flex;
  align-items:center;
  line-height:1;
  padding:0 100px;              /* << spazio tra le frasi (molto) */
  opacity:1 !important;
}

/* separatore (pallino) */
#cpheadercms1 .cp-topbar__sep{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:12px;
  height:12px;
  margin:0 28px;               /* << spazio attorno al pallino (molto) */
  flex:0 0 auto;
  opacity:.95;
}
#cpheadercms1 .cp-topbar__sep::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
  opacity:.75;
}

/* animazione loop */
@keyframes cpTopbarMarquee{
  0%   { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-50%,0,0); }
}

/* ===== Google badge (pill bianco perfetto, stabile dopo “Salva”) ===== */
#cpheadercms1 .cp-topbar a.cp-google-badge{
  all: unset;                  /* reset totale per non ereditare stili tema */
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;

  height:18px !important;
  padding:0 10px !important;

  background:#fff !important;
  border:1px solid #e9e9e9 !important;
  border-radius:999px !important;

  cursor:pointer !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}

#cpheadercms1 .cp-topbar a.cp-google-badge img{
  width:14px !important;
  height:14px !important;
  display:block !important;
  object-fit:contain !important;
}

#cpheadercms1 .cp-topbar a.cp-google-badge .cp-google-stars{
  display:inline-block !important;
  color:#FFC107 !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:1px !important;
}

/* focus accessibile */
#cpheadercms1 .cp-topbar a.cp-google-badge:focus{
  outline:2px solid rgba(255,255,255,.35);
  outline-offset:2px;
}

/* ===== Mobile ===== */
@media (max-width:576px){
  #cpheadercms1 .cp-topbar{
    height:24px;
    font-size:11.5px;
  }
  #cpheadercms1 .cp-topbar__item{
    padding:0 28px;            /* spazio ridotto su mobile */
  }
  #cpheadercms1 .cp-topbar__sep{
    margin:0 14px;
  }
  #cpheadercms1 .cp-topbar__track{
    animation-duration:18s;
  }
}

/* ===== Accessibilità: riduci animazioni ===== */
@media (prefers-reduced-motion: reduce){
  #cpheadercms1 .cp-topbar__track{
    animation:none;
    justify-content:center;
    width:100%;
  }
  #cpheadercms1 .cp-topbar__group[aria-hidden="true"]{
    display:none;
  }
}
/* badge: stesso “respiro” degli item, ma fuori dal box bianco */
#cpheadercms1 .cp-topbar a.cp-google-badge{
  margin: 0 100px !important;   /* uguale a padding item */
}

#cpheadercms1 .cp-topbar a.cp-google-badge{
  all: unset;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;

  height:20px !important;
  padding:0 12px !important;

  background:#fff !important;
  border:1px solid #e9e9e9 !important;
  border-radius:999px !important;

  cursor:pointer !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}

#cpheadercms1 .cp-topbar a.cp-google-badge img{
  width:14px !important;
  height:14px !important;
  display:block !important;
  object-fit:contain !important;
}

#cpheadercms1 .cp-topbar a.cp-google-badge .cp-google-label{
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.5px !important;
  color:#111 !important;
  text-transform:none !important;
}

#cpheadercms1 .cp-topbar a.cp-google-badge .cp-google-stars{
  color:#FFC107 !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:1px !important;
}

#cpheadercms1 .cp-topbar a.cp-google-badge .cp-google-score{
  font-size:11px !important;
  font-weight:700 !important;
  color:#111 !important;
  text-transform:none !important;
}

#cpheadercms1 .cp-topbar a.cp-google-badge .cp-google-count{
  font-size:11px !important;
  color:#555 !important;
  text-transform:none !important;
}

#header .header-nav
{
    background-color:#000000 !important;
}

/* sicurezza: niente micro scroll */
html, body{ overflow-x:hidden !important; }

/* ===== Google badge PRO (stars dynamic fill) ===== */
.cp-google-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.cp-google-stars{
  position:relative;
  display:inline-block;
  line-height:1;
  font-size:12px;
  letter-spacing:1px;
}

.cp-google-stars__base{
  color:#d9d9d9;       /* stelle vuote */
  display:block;
}

.cp-google-stars__fill{
  position:absolute;
  left:0;
  top:0;
  overflow:hidden;
  white-space:nowrap;
  color:#FFC107;       /* giallo Google */
  display:block;
  width:0%;
}

/* =========================================================
   PRODUCT MINIATURE (TPL product.tpl) - UX/UI PRO + HOVER FADE
   ========================================================= */

/* Card */
.product > .product-miniature {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 14px;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.product > .product-miniature:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.12);
}

/* Thumbnail */
.product-miniature .thumbnail-container {
  position: relative;
  overflow: hidden;
  background: #f8f8f8;
}
.product-miniature .thumbnail.product-thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
  line-height: 0;
}
.product-miniature .thumbnail.product-thumbnail picture,
.product-miniature .thumbnail.product-thumbnail picture > img {
  display: block;
  position: relative;
  z-index: 1;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}
.product-miniature .thumbnail.product-thumbnail picture > img {
  width: 100%;
  height: auto;
  transition: transform .35s ease !important;
}
.product-miniature:hover .thumbnail.product-thumbnail picture > img {
  transform: scale(1.03) !important;
}

/* HOVER IMAGE (modulo displayCpHoverImage) -> fade, no flip */
.product-miniature .thumbnail.product-thumbnail > *:not(picture) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .35s ease, visibility .35s ease !important;
  pointer-events: none !important;

  transform: none !important;
  rotate: none !important;
  animation: none !important;
  perspective: none !important;
  transform-style: flat !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}
.product-miniature .thumbnail.product-thumbnail > *:not(picture) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;

  transform: none !important;
  rotate: none !important;
  animation: none !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}
.product-miniature:hover .thumbnail.product-thumbnail > *:not(picture) {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Patch anti compare (se qualche modulo lo reinietta) */
.product-miniature [class*="compare"],
.product-miniature .st-compare,
.product-miniature .js-compare {
  display: none !important;
}

/* Actions hover */
.product-miniature .product-actions-main {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 7;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
  pointer-events: none;
}
.product-miniature:hover .product-actions-main {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.product-miniature .product-actions-main form {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.product-miniature .product-actions-main .quick-view,
.product-miniature .product-actions-main [class*="wishlist"] {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.14);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease;
}
.product-miniature .product-actions-main .quick-view:hover,
.product-miniature .product-actions-main [class*="wishlist"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
}

/* Variants / content */
.product-miniature .highlighted-informations {
  padding: 8px 14px 0;
}
.product-miniature .highlighted-informations.no-variants {
  display: none;
}
.product-miniature .product-description {
  padding: 12px 14px 8px;
}
.product-miniature .product-brand {
  display: block;
  margin: 0 0 6px;
  color: #7a7a7a;
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600;
}
.product-miniature .product-title {
  display: block;
  margin: 0 0 8px;
  line-height: 1.35;
  min-height: 2.75em;
}
.product-miniature .product-title a {
  color: #1c1c1c;
  text-decoration: none;
  font-weight: 600;
}
.product-miniature .product-bottom {
  padding: 10px 14px 14px;
  margin-top: auto;
}

/* Price */
.product-miniature .product-price-and-shipping {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.product-miniature .product-price-and-shipping .price {
  color: #111;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
.product-miniature .product-price-and-shipping .regular-price {
  color: #8a8a8a;
  font-size: 13px;
}

/* Add to cart premium */
.product-miniature .add-to-cart-button form {
  margin: 0;
}
.product-miniature .add-to-cart-button .add-to-cart {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 14px;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-weight: 600 !important;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(0,0,0,.10) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.product-miniature .add-to-cart-button .add-to-cart:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.14) !important;
}
.product-miniature .add-to-cart-button .add-to-cart:disabled {
  opacity: .65;
  cursor: not-allowed;
  box-shadow: none !important;
}
.product-miniature .add-to-cart-button .add-to-cart .btn-icon {
  font-size: 15px;
  line-height: 1;
}

/* Mobile */
@media (max-width: 767px) {
  .product > .product-miniature {
    border-radius: 12px;
  }
  .product-miniature .product-description {
    padding: 10px 12px 6px;
  }
  .product-miniature .highlighted-informations {
    padding: 6px 12px 0;
  }
  .product-miniature .product-bottom {
    padding: 10px 12px 12px;
  }
  .product-miniature .product-price-and-shipping .price {
    font-size: 18px;
  }
  .product-miniature .product-actions-main {
    display: none !important;
  }
  .product > .product-miniature:hover {
    transform: none;
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
  }
  .product-miniature:hover .thumbnail.product-thumbnail picture > img {
    transform: none !important;
  }
}


/* =========================================================
   PRODUCT CARD WOW / PREMIUM (for product.tpl miniature)
   ========================================================= */

/* CARD */
.product > .product-miniature.product-card-premium {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.10);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  transition:
    transform .35s cubic-bezier(.2,.7,.2,1),
    box-shadow .35s cubic-bezier(.2,.7,.2,1),
    border-color .35s cubic-bezier(.2,.7,.2,1);
}

/* bordo glow elegante in hover */
.product > .product-miniature.product-card-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.0);
  transition: box-shadow .35s ease, opacity .35s ease;
  opacity: 0;
  z-index: 2;
}

.product > .product-miniature.product-card-premium:hover {
  transform: translateY(-6px);
  border-color: rgba(17,17,17,.16);
  box-shadow:
    0 10px 24px rgba(0,0,0,.08),
    0 24px 48px rgba(0,0,0,.10);
}

.product > .product-miniature.product-card-premium:hover::before {
  opacity: 1;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}

/* THUMB */
.product-card-premium .thumbnail-container {
  position: relative;
  overflow: hidden;
  background: #f7f7f7;
}

.product-card-premium .thumbnail.product-thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
  line-height: 0;
  isolation: isolate;
}

.product-card-premium .thumbnail.product-thumbnail picture,
.product-card-premium .thumbnail.product-thumbnail picture > img {
  display: block;
  position: relative;
  z-index: 1;
}

.product-card-premium .thumbnail.product-thumbnail picture > img {
  width: 100%;
  height: auto;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* zoom premium della foto principale */
.product-card-premium:hover .thumbnail.product-thumbnail picture > img {
  transform: scale(1.045);
}

/* overlay luce elegante */
.product-card-premium .thumbnail-container::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: opacity .4s ease;
  background:
    radial-gradient(120% 80% at 85% 15%, rgba(255,255,255,.22), rgba(255,255,255,0) 60%),
    linear-gradient(to top, rgba(0,0,0,.10), rgba(0,0,0,0) 45%);
}
.product-card-premium:hover .thumbnail-container::after {
  opacity: 1;
}

/* =========================================================
   SECONDA IMMAGINE HOVER -> DISSOLVENZA WOW
   (modulo displayCpHoverImage)
   ========================================================= */

/* Qualsiasi nodo iniettato dal modulo dopo <picture> */
.product-card-premium .thumbnail.product-thumbnail > *:not(picture) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  transform: none !important;
  rotate: none !important;
  animation: none !important;
  perspective: none !important;
  transform-style: flat !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;

  transition:
    opacity .55s cubic-bezier(.2,.7,.2,1),
    visibility .55s cubic-bezier(.2,.7,.2,1),
    filter .55s cubic-bezier(.2,.7,.2,1) !important;

  filter: saturate(1.03) contrast(1.02);
}

/* immagine dentro wrapper modulo */
.product-card-premium .thumbnail.product-thumbnail > *:not(picture) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;

  transform: scale(1.02) !important;
  transition:
    opacity .55s cubic-bezier(.2,.7,.2,1),
    transform .65s cubic-bezier(.2,.7,.2,1) !important;

  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* Hover: fade + lieve zoom cinematico seconda foto */
.product-card-premium:hover .thumbnail.product-thumbnail > *:not(picture) {
  opacity: 1 !important;
  visibility: visible !important;
}

.product-card-premium:hover .thumbnail.product-thumbnail > *:not(picture) img {
  transform: scale(1.00) !important;
}

/* anti-compare in caso il modulo lo rimetta */
.product-card-premium [class*="compare"],
.product-card-premium .st-compare,
.product-card-premium .js-compare {
  display: none !important;
}

/* BADGES */
.product-card-premium .product-flags,
.product-card-premium .product-flags.js-product-flags {
  top: 10px;
  left: 10px;
  z-index: 8;
}
.product-card-premium .product-flags li {
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.1;
  box-shadow: 0 6px 14px rgba(0,0,0,.10);
}

/* HOVER ACTIONS (quickview / wishlist) */
.product-card-premium .product-actions-main {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 9;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .28s ease, visibility .28s ease, transform .28s ease;
  pointer-events: none;
}
.product-card-premium:hover .product-actions-main {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.product-card-premium .product-actions-main form {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.product-card-premium .product-actions-main .quick-view,
.product-card-premium .product-actions-main [class*="wishlist"] {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 20px rgba(0,0,0,.14);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.product-card-premium .product-actions-main .quick-view:hover,
.product-card-premium .product-actions-main [class*="wishlist"]:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 14px 24px rgba(0,0,0,.18);
  background: #fff !important;
}

/* VARIANTS */
.product-card-premium .highlighted-informations {
  padding: 8px 14px 0;
}
.product-card-premium .highlighted-informations.no-variants {
  display: none;
}

/* TEXT AREA */
.product-card-premium .product-description {
  padding: 14px 14px 8px;
}

.product-card-premium .product-brand {
  display: block;
  margin: 0 0 6px;
  color: #7f7f7f;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* NOME PRODOTTO MAIUSCOLO + premium */
.product-card-premium .product-title {
  display: block;
  margin: 0;
  min-height: 2.95em;
  line-height: 1.35;
}
.product-card-premium .product-title a {
  display: block;
  color: #151515;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
  transition: color .2s ease;
}
.product-card-premium .product-title a:hover {
  color: #000;
}

/* PREZZO SUBITO VICINO AL NOME */
.product-card-premium .product-price-top {
  margin-top: 7px;
  margin-bottom: 8px;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.product-card-premium .product-price-top .price {
  color: #111;
  font-size: 21px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.01em;
}
.product-card-premium .product-price-top .regular-price {
  color: #8d8d8d;
  font-size: 13px;
  line-height: 1;
}

/* reviews più discrete */
.product-card-premium .product-description .comments_note,
.product-card-premium .product-description .product-list-reviews {
  margin-top: 4px;
  opacity: .95;
}

/* BOTTOM + CTA */
.product-card-premium .product-bottom {
  margin-top: auto;
  padding: 10px 14px 14px;
}

/* Se hai lasciato vecchio price block in product-bottom da altri override, lo nascondiamo */
.product-card-premium .product-bottom > .product-price-and-shipping {
  display: none;
}

/* CTA add to cart wow */
.product-card-premium .add-to-cart-button form {
  margin: 0;
}
.product-card-premium .add-to-cart-button .add-to-cart {
  width: 100% !important;
  min-height: 46px !important;
  padding: 11px 14px;
  border-radius: 12px !important;
  border: 1px solid transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1.1;
  box-shadow:
    0 8px 16px rgba(0,0,0,.10),
    0 2px 6px rgba(0,0,0,.06);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease !important;
}
.product-card-premium .add-to-cart-button .add-to-cart:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow:
    0 12px 22px rgba(0,0,0,.14),
    0 4px 10px rgba(0,0,0,.08);
  filter: saturate(1.05);
}
.product-card-premium .add-to-cart-button .add-to-cart:active:not(:disabled) {
  transform: translateY(0);
}
.product-card-premium .add-to-cart-button .add-to-cart:disabled {
  opacity: .65;
  cursor: not-allowed;
  box-shadow: none !important;
}
.product-card-premium .add-to-cart-button .btn-icon {
  font-size: 15px;
  line-height: 1;
}

/* Focus */
.product-card-premium a:focus-visible,
.product-card-premium button:focus-visible {
  outline: 2px solid rgba(0,0,0,.35);
  outline-offset: 2px;
}

/* MOBILE */
@media (max-width: 767px) {
  .product > .product-miniature.product-card-premium {
    border-radius: 14px;
  }

  .product-card-premium .product-description {
    padding: 12px 12px 8px;
  }

  .product-card-premium .highlighted-informations {
    padding: 6px 12px 0;
  }

  .product-card-premium .product-bottom {
    padding: 10px 12px 12px;
  }

  .product-card-premium .product-title a {
    font-size: 13px;
  }

  .product-card-premium .product-price-top .price {
    font-size: 19px;
  }

  /* niente floating actions su mobile */
  .product-card-premium .product-actions-main {
    display: none !important;
  }

  .product > .product-miniature.product-card-premium:hover {
    transform: none;
    box-shadow: 0 10px 18px rgba(0,0,0,.06);
  }

  .product-card-premium:hover .thumbnail.product-thumbnail picture > img {
    transform: none !important;
  }
}

/* =========================================================
   PATCH FIX UI - prezzo centrato + add to cart + actions
   ========================================================= */

/* 1) PREZZO CENTRATO (sotto nome) */
.product-card-premium .product-price-top {
  width: 100%;
  justify-content: center !important;
  text-align: center !important;
  margin-top: 8px;
  margin-bottom: 10px;
}

.product-card-premium .product-price-top .price,
.product-card-premium .product-price-top .regular-price,
.product-card-premium .product-price-top .discount,
.product-card-premium .product-price-top .discount-percentage {
  text-align: center;
}

/* reviews centrati sotto prezzo (se presenti) */
.product-card-premium .product-description .comments_note,
.product-card-premium .product-description .product-list-reviews {
  text-align: center;
  display: flex;
  justify-content: center;
}

/* titolo centrato per look premium più pulito */
.product-card-premium .product-title,
.product-card-premium .product-title a,
.product-card-premium .product-brand {
  text-align: center;
}

/* 2) ADD TO CART: assicura visibilità e niente glitch */
.product-card-premium .product-bottom {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 5;
}

.product-card-premium .add-to-cart-button {
  display: block !important;
  width: 100% !important;
  position: relative;
  z-index: 6;
}

.product-card-premium .add-to-cart-button form {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.product-card-premium .add-to-cart-button .add-to-cart {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 48px !important;
  position: relative;
  z-index: 7;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

/* evita overlay hover che blocca click */
.product-card-premium .thumbnail-container::after {
  pointer-events: none !important;
}

/* se qualche parent taglia il bottone */
.product-card-premium {
  overflow: hidden;
}
.product-card-premium .product-bottom {
  overflow: visible;
}

/* 3) ACTIONS HOVER ORDINATE (quickview + wishlist) */
.product-card-premium .product-actions-main {
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 20 !important;
}

.product-card-premium .product-actions-main form {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  flex-wrap: nowrap !important;
}

/* bottoni action allineati e uguali */
.product-card-premium .product-actions-main .quick-view,
.product-card-premium .product-actions-main [class*="wishlist"],
.product-card-premium .product-actions-main a,
.product-card-premium .product-actions-main button {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  position: relative;
  overflow: hidden;
}

/* 4) ICONA QUICKVIEW fallback (se il tema non carica icona) */
.product-card-premium .product-actions-main .quick-view:before {
  content: "◦" !important; /* fallback minimalist */
  font-size: 22px !important;
  line-height: 1 !important;
  color: #111 !important;
}

/* Se il tema usa font-icon e già mostra icona, non tocchiamo altri pseudo troppo */
.product-card-premium .product-actions-main .quick-view i,
.product-card-premium .product-actions-main .quick-view svg {
  display: inline-block !important;
  width: 18px;
  height: 18px;
}

/* 5) WISHLIST: forza visibilità icona/cuore (moduli diversi) */
.product-card-premium .product-actions-main [class*="wishlist"] i,
.product-card-premium .product-actions-main [class*="wishlist"] .icon,
.product-card-premium .product-actions-main [class*="wishlist"] svg,
.product-card-premium .product-actions-main [class*="wishlist"]::before {
  opacity: 1 !important;
  visibility: visible !important;
  color: #111 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* fallback cuore se il modulo non stampa icona visibile */
.product-card-premium .product-actions-main [class*="wishlist"]:not(:has(i)):not(:has(svg))::before {
  content: "♡" !important;
  font-size: 19px !important;
  line-height: 1 !important;
  color: #111 !important;
}

/* nasconde eventuali testi del modulo wishlist dentro il tondino */
.product-card-premium .product-actions-main [class*="wishlist"] span:not(.icon):not([class*="icon"]) {
  font-size: 0 !important;
}

/* 6) STABILITÀ HOVER: niente flicker */
.product-card-premium .product-actions-main,
.product-card-premium .product-actions-main * {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.product-card-premium .thumbnail.product-thumbnail > *:not(picture) {
  will-change: opacity, transform;
}

.product-card-premium .thumbnail.product-thumbnail picture > img {
  will-change: transform;
}

/* 7) MOBILE: actions off, CTA sempre visibile */
@media (max-width: 767px) {
  .product-card-premium .product-title,
  .product-card-premium .product-title a,
  .product-card-premium .product-brand,
  .product-card-premium .product-price-top {
    text-align: left !important;
    justify-content: flex-start !important;
  }

  .product-card-premium .add-to-cart-button .add-to-cart {
    min-height: 46px !important;
  }

  .product-card-premium .product-actions-main {
    display: none !important;
  }
}

/* =========================================================
   FLOATING ADD TO CART (hover only) - PREMIUM
   ========================================================= */

/* Nascondi definitivamente vecchie actions hover (quickview/wishlist/compare) */
.product-card-premium .product-actions-main {
  display: none !important;
}

/* CTA flottante overlay */
.product-card-premium .product-hover-cta {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 12;

  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.98);
  transition:
    opacity .28s ease,
    visibility .28s ease,
    transform .28s cubic-bezier(.2,.7,.2,1);

  pointer-events: none;
}

.product-card-premium:hover .product-hover-cta {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.product-card-premium .product-hover-cta form {
  margin: 0;
  width: 100%;
}

/* Bottone flottante premium */
.product-card-premium .add-to-cart-floating {
  width: 100% !important;
  min-height: 46px !important;
  padding: 11px 14px !important;
  border-radius: 999px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  border: 1px solid rgba(255,255,255,.78) !important;
  background: rgba(255,255,255,.92) !important;
  color: #111 !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.1;

  box-shadow:
    0 10px 18px rgba(0,0,0,.16),
    0 2px 8px rgba(0,0,0,.08) !important;

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background-color .2s ease,
    border-color .2s ease !important;

  cursor: pointer !important;
  position: relative;
  overflow: hidden;
}

/* shimmer leggero premium */
.product-card-premium .add-to-cart-floating::after {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  width: 70%;
  height: 100%;
  background: linear-gradient(
    100deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-18deg);
  transition: left .55s ease;
  pointer-events: none;
}

.product-card-premium:hover .add-to-cart-floating::after {
  left: 130%;
}

.product-card-premium .add-to-cart-floating:hover:not(:disabled) {
  transform: translateY(-1px);
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(255,255,255,.95) !important;
  box-shadow:
    0 14px 24px rgba(0,0,0,.18),
    0 4px 10px rgba(0,0,0,.10) !important;
}

.product-card-premium .add-to-cart-floating:active:not(:disabled) {
  transform: translateY(0);
}

.product-card-premium .add-to-cart-floating:disabled {
  background: rgba(245,245,245,.92) !important;
  color: #7a7a7a !important;
  border-color: rgba(255,255,255,.65) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

.product-card-premium .add-to-cart-floating .btn-icon,
.product-card-premium .add-to-cart-floating .btn-label {
  color: inherit !important;
  position: relative;
  z-index: 1;
}

.product-card-premium .add-to-cart-floating .btn-icon {
  font-size: 14px;
  line-height: 1;
}

/* Migliora leggibilità CTA con overlay immagine */
.product-card-premium .thumbnail-container::before {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 42%;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.16), rgba(0,0,0,0));
  opacity: 0;
  transition: opacity .28s ease;
}
.product-card-premium:hover .thumbnail-container::before {
  opacity: 1;
}

/* assicura layering corretto */
.product-card-premium .thumbnail.product-thumbnail {
  z-index: 1;
}
.product-card-premium .thumbnail-container .product-flags {
  z-index: 10;
}

/* Rimuovi spazio inutile nel bottom se non c'è più il bottone */
.product-card-premium .product-bottom {
  padding-top: 8px;
}

/* Mobile: CTA sempre visibile (non hover) */
@media (max-width: 767px) {
  .product-card-premium .product-hover-cta {
    position: static;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    margin: 10px 12px 0;
  }

  .product-card-premium .thumbnail-container::before {
    display: none;
  }

  .product-card-premium .add-to-cart-floating {
    border-radius: 12px !important;
    min-height: 44px !important;
  }

  /* mobile: tieni testo centrato o puoi rimetterlo a sinistra se preferisci */
  .product-card-premium .product-title,
  .product-card-premium .product-title a,
  .product-card-premium .product-brand,
  .product-card-premium .product-price-top {
    text-align: center !important;
    justify-content: center !important;
  }
}

/* Applica lo stesso look premium sia a product.tpl che a product-listgrid.tpl */
.product-miniature.product-card-premium {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.10);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

/* Se listgrid ha .row interno, trasformalo in layout verticale coerente */
.product-miniature.product-card-premium > .row {
  display: flex;
  flex-direction: column;
  margin: 0;
  height: 100%;
}

/* Evita spacing bootstrap laterali nel row del listgrid */
.product-miniature.product-card-premium > .row > * {
  width: 100%;
  margin: 0;
}

/* Product bottom minimale quando CTA è flottante */
.product-miniature.product-card-premium .product-bottom {
  padding: 8px 14px 12px;
  margin-top: auto;
}

/* =========================================================
   FIX "TUTTO IMMAGINE" - rimuove bande grigie sopra/sotto
   ========================================================= */

/* niente sfondo grigio */
.product-card-premium .thumbnail-container {
  background: transparent !important;
}

/* contenitore immagine pieno */
.product-card-premium .thumbnail.product-thumbnail {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  line-height: 0 !important;
}

/* picture pieno */
.product-card-premium .thumbnail.product-thumbnail picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 0 !important;
  background: transparent !important;
}

/* immagine principale a piena area */
.product-card-premium .thumbnail.product-thumbnail picture > img,
.product-card-premium .thumbnail.product-thumbnail > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

/* seconda immagine hover (modulo) allineata identica */
.product-card-premium .thumbnail.product-thumbnail > *:not(picture),
.product-card-premium .thumbnail.product-thumbnail > *:not(picture) img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

/* se il tema mette padding interni al box thumb */
.product-card-premium .thumbnail-container,
.product-card-premium .thumbnail.product-thumbnail,
.product-card-premium .thumbnail.product-thumbnail picture {
  padding: 0 !important;
  margin: 0 !important;
}

/* Se il listgrid usa altezze auto e crea bande, fissiamo la zona immagine */
.product-miniature.product-card-premium .thumbnail-container {
  aspect-ratio: 1 / 1; /* quadrato premium */
}

/* fallback browser vecchi (se aspect-ratio non viene applicato bene dal tema) */
@supports not (aspect-ratio: 1 / 1) {
  .product-miniature.product-card-premium .thumbnail-container {
    position: relative !important;
    height: 0 !important;
    padding-top: 100% !important;
  }

  .product-miniature.product-card-premium .thumbnail.product-thumbnail {
    position: absolute !important;
    inset: 0 !important;
  }

  .product-miniature.product-card-premium .thumbnail.product-thumbnail picture,
  .product-miniature.product-card-premium .thumbnail.product-thumbnail picture > img,
  .product-miniature.product-card-premium .thumbnail.product-thumbnail > *:not(picture),
  .product-miniature.product-card-premium .thumbnail.product-thumbnail > *:not(picture) img {
    position: absolute !important;
    inset: 0 !important;
  }
}

/* importante: evita che il row di listgrid crei spazi strani */
.product-miniature.product-card-premium > .row {
  background: transparent !important;
  gap: 0 !important;
}

/* rimuovi eventuale grigio anche in placeholder no-image */
.product-card-premium .thumbnail-container::after,
.product-card-premium .thumbnail-container::before {
  background-blend-mode: normal;
}


/* Toast successo add to cart */
.cart-toast-success {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%) translateY(12px);
  z-index: 99999;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 11px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(17,17,17,.94);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: .01em;

  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  pointer-events: none;
}

.cart-toast-success.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.cart-toast-success .cart-toast-icon {
  width: 18px;
  height: 18px;
  min-width: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #22c55e;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 767px) {
  .cart-toast-success {
    left: 12px;
    right: 12px;
    bottom: 14px;
    transform: translateY(12px);
    justify-content: center;
    border-radius: 12px;
    padding: 12px 14px;
  }

  .cart-toast-success.is-visible {
    transform: translateY(0);
  }
}


/* Toast carrello */
.cart-toast-success {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%) translateY(12px);
  z-index: 99999;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 11px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(17,17,17,.94);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);

  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  pointer-events: none;
}

.cart-toast-success.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.cart-toast-success .cart-toast-icon {
  width: 18px;
  height: 18px;
  min-width: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.cart-toast-success.is-success .cart-toast-icon { background: #22c55e; }
.cart-toast-success.is-remove  .cart-toast-icon { background: #ef4444; }
.cart-toast-success.is-info    .cart-toast-icon { background: #3b82f6; }

@media (max-width: 767px) {
  .cart-toast-success {
    left: 12px;
    right: 12px;
    bottom: 14px;
    transform: translateY(12px);
    justify-content: center;
    border-radius: 12px;
  }
  .cart-toast-success.is-visible {
    transform: translateY(0);
  }
}

/* ===== PLP (category) — scoped, coherent with theme ===== */

/* Wide container ma “da tema” (non infinito). Se vuoi più stretto: 1320px */
.plp--lux .plp__header-inner,
.plp--lux .plp__subcats,
.plp--lux .plp__products {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 14px;
  padding-right: 14px;
}

/* Title */
.plp--lux .plp__title {
  margin: 0 0 .4rem 0;
  letter-spacing: -0.02em;
}

/* Subcategories – name only, luxury cards */
.plp--lux .plp__subcats { margin: 1rem 0 1.25rem; }
.plp--lux .plp__subcats-item { margin-bottom: 1rem; }

.plp--lux .plp__subcats-card {
  display: block;
  text-decoration: none;
  color: inherit;

  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px; /* coerente col tema (vedo 14/16 spesso) */
  background: #fff;
  padding: 14px 14px;

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.plp--lux .plp__subcats-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.12);
}

.plp--lux .plp__subcats-name {
  display: block;
  font-weight: 700;
  letter-spacing: .02em;
}

/* Grid spacing (senza toccare .product-miniature global) */
.plp--lux .plp__grid .products > div {
  margin-bottom: 1.25rem;
}

/* ===== PLP hero title ===== */
.plp--lux .plp__header--hero { margin: 1.2rem 0 1rem; }

.plp--lux .plp__title--hero{
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.05;
  font-size: clamp(1.9rem, 3.6vw, 3.2rem);
  margin: 0 0 .4rem 0;
}

.plp--lux .plp__desc{
  max-width: 72ch;
  opacity: .78;
}
/* --- CARD LAYOUT --- */
.product-card-premium {
  background: transparent;
  border: 0;
}

/* thumb area */
.product-card-premium .pcp-thumb {
  position: relative;
  background: #fff;
  border-radius: 0;
  overflow: hidden;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-card-premium .pcp-thumb-link {
  display: block;
  width: 100%;
  text-align: center;
}

.product-card-premium .pcp-img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/* badge ESAURITO */
.product-card-premium .pcp-badge-oos {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: transparent;
  color: #000;
  padding: 2px 8px;
  z-index: 3;
}

/* actions overlay (3 icons vertical) */
.product-card-premium .pcp-actions {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 4;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.product-card-premium:hover .pcp-actions {
  opacity: 1;
  pointer-events: auto;
}

.product-card-premium .pcp-action {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,.86);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.product-card-premium .pcp-action:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.product-card-premium .pcp-atc {
  margin: 0;
}

/* se hook wishlist stampa già il bottone, nascondi fallback in JS/CSS a tua scelta
   qui lo teniamo visibile: */
.product-card-premium .pcp-wishlist .pcp-wishlist-fallback {
  /* se vuoi forzare solo modulo wishlist: display:none; */
}

/* info area */
.product-card-premium .pcp-info {
  padding-top: 14px;
  text-align: center;
}

.product-card-premium .pcp-title a {
  font-size: 18px;
  font-weight: 400;
  color: #000;
  text-decoration: none;
}

.product-card-premium .pcp-brand {
  margin-top: 6px;
  font-size: 13px;
  color: #7a7a7a;
}

.product-card-premium .pcp-price {
  margin-top: 10px;
}

.product-card-premium .pcp-price .price {
  font-size: 22px;
  font-weight: 700;
  color: #000;
}

.product-card-premium .pcp-price .regular-price {
  margin-left: 8px;
  font-size: 14px;
  color: #777;
  text-decoration: line-through;
}

/* grid spacing (simile screenshot) */
.products .product {
  margin-bottom: 28px;
}

/* ================= ZPC FINAL ================= */
.zpc-wrap .zpc-card,
.zpc-wrap .zpc-card * { box-sizing: border-box; }

.zpc-wrap .zpc-card{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* --- MEDIA: ritaglio uniforme, mai distorto --- */
.zpc-wrap .zpc-media{
  position: relative;
  background: #fff;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 5;   /* desktop */
}

@media (max-width: 991px){
  .zpc-wrap .zpc-media{ aspect-ratio: 1 / 1; } /* mobile più compatto */
}

.zpc-wrap .zpc-mediaLink{
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: relative;
}

/* qualsiasi immagine dentro al link (prima e seconda): stesso crop, no trasformazioni */
.zpc-wrap .zpc-mediaLink img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  max-width: none !important;

  /* blocca “flip/rotate/scale” del tema/modulo */
  transform: none !important;
  filter: none !important;
  backface-visibility: hidden !important;
}

/* immagine principale */
.zpc-wrap .zpc-img--main{ position: relative; z-index: 1; }

/* ogni altra img (tipicamente hover): absolute + dissolvenza */
.zpc-wrap .zpc-mediaLink img:not(.zpc-img--main){
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease !important;
}

/* hover: fade in */
.zpc-wrap .zpc-card:hover .zpc-mediaLink img:not(.zpc-img--main){
  opacity: 1;
}

/* --- FLAGS: FORZO visibilità top-left (il tuo tema le nasconde) --- */
.zpc-wrap .zpc-flags{
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 20;
}

/* Presta standard: .product-flags */
.zpc-wrap .zpc-media .product-flags{
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 20 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;

  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  opacity: 1 !important;
  visibility: visible !important;
}
.zpc-wrap .zpc-media .product-flags li{
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 !important;
}

/* --- ESAURITO --- */
.zpc-wrap .zpc-oos{
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #000;
  z-index: 20;
  pointer-events: none;
}

/* --- ACTIONS: due pallini, hover, top-right --- */
.zpc-wrap .zpc-actions{
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 30;

  display: flex;
  flex-direction: column;
  gap: 10px;

  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.zpc-wrap .zpc-card:hover .zpc-actions{
  opacity: 1;
  pointer-events: auto;
}

.zpc-wrap .zpc-actionBtn{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 0;
  background: #111;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
@media (max-width: 575px){
  .zpc-wrap .zpc-actionBtn{ width: 34px; height: 34px; }
}
.zpc-wrap .zpc-actionBtn:disabled{ opacity: .35; cursor: not-allowed; }

.zpc-wrap .zpc-plus{
  font-size: 22px;
  font-weight: 400;
  transform: translateY(-1px);
}

.zpc-wrap .zpc-atc{ margin: 0; }

/* --- Wishlist CP output: lo rendo pallino identico (qualsiasi a/button dentro) --- */
.zpc-wrap .zpc-wish a,
.zpc-wrap .zpc-wish button{
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
@media (max-width: 575px){
  .zpc-wrap .zpc-wish a,
  .zpc-wrap .zpc-wish button{
    width: 34px !important;
    height: 34px !important;
  }
}

.zpc-wrap .zpc-wish svg,
.zpc-wrap .zpc-wish i,
.zpc-wrap .zpc-wish span{
  color: #fff !important;
  fill: currentColor !important;
}

/* --- INFO: sinistra, compatto, responsive --- */
.zpc-wrap .zpc-info{
  text-align: left;
  padding-top: 10px;
}

.zpc-wrap .zpc-name a{
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .01em;
}
@media (max-width: 575px){
  .zpc-wrap .zpc-name a{ font-size: 16px; }
}

.zpc-wrap .zpc-brand{
  margin-top: 5px;
  font-size: 13px;
  color: #7c7c7c;
}

.zpc-wrap .zpc-price{
  margin-top: 10px;
  display: flex;
  gap: 8px;
  align-items: baseline;
}

.zpc-wrap .zpc-priceOld{
  font-size: 13px;
  color: #777;
  text-decoration: line-through;
}

.zpc-wrap .zpc-priceNow{
  font-size: 18px;
  font-weight: 500; /* meno bold */
  color: #000;
}
.zpc-wrap .zpc-priceNow--sale{
  color: #7a0f2b;
  font-weight: 500;
}

.products .zpc-wrap{ margin-bottom: 30px; }


/* ================= ZPC FINAL (stfeature + cp_imagehover) ================= */
.zpc-wrap .zpc-card,
.zpc-wrap .zpc-card * { box-sizing: border-box; }

.zpc-wrap .zpc-card{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* --- MEDIA: crop uniforme e responsive --- */
.zpc-wrap .zpc-media{
  position: relative;
  background: #fff;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 5;
}
@media (max-width: 991px){
  .zpc-wrap .zpc-media{ aspect-ratio: 1 / 1; }
}

.zpc-wrap .zpc-mediaLink{
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: relative;
}

/* Prima e seconda immagine: stesso ritaglio, NO distorsioni/flip */
.zpc-wrap .zpc-mediaLink img,
.zpc-wrap .zpc-mediaLink picture,
.zpc-wrap .zpc-mediaLink picture img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  max-width: none !important;

  transform: none !important;
  filter: none !important;
  backface-visibility: hidden !important;
}

/* Main image */
.zpc-wrap .zpc-img--main{
  position: relative;
  z-index: 1;
}

/* Qualsiasi elemento/immagine “extra” (hover image) -> assoluto + fade
   (copre cp_imagehover anche se stampa wrapper/div) */
.zpc-wrap .zpc-mediaLink > :not(.zpc-img--main):not(picture):not(img){
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease !important;
}

/* Se cp_imagehover stampa un img extra */
.zpc-wrap .zpc-mediaLink img:not(.zpc-img--main){
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease !important;
}

/* Hover: dissolvenza (NO rotate/flip) */
.zpc-wrap .zpc-card:hover .zpc-mediaLink img:not(.zpc-img--main),
.zpc-wrap .zpc-card:hover .zpc-mediaLink > :not(.zpc-img--main):not(picture):not(img){
  opacity: 1;
}

/* --- FLAGS: FORZO visibilità sopra immagine --- */
.zpc-wrap .zpc-media .product-flags{
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 50 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;

  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  opacity: 1 !important;
  visibility: visible !important;
}
.zpc-wrap .zpc-media .product-flags li{
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 !important;
}

/* --- ESAURITO --- */
.zpc-wrap .zpc-oos{
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #000;
  z-index: 50;
  pointer-events: none;
}

/* --- ACTIONS: due pallini, hover, top-right --- */
.zpc-wrap .zpc-actions{
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 60;

  display: flex;
  flex-direction: column;
  gap: 10px;

  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.zpc-wrap .zpc-card:hover .zpc-actions{
  opacity: 1;
  pointer-events: auto;
}

.zpc-wrap .zpc-actionBtn{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 0;
  background: #111;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
@media (max-width: 575px){
  .zpc-wrap .zpc-actionBtn{ width: 34px; height: 34px; }
}
.zpc-wrap .zpc-actionBtn:disabled{ opacity: .35; cursor: not-allowed; }

.zpc-wrap .zpc-plus{
  font-size: 22px;
  font-weight: 400;
  transform: translateY(-1px);
}
.zpc-wrap .zpc-atc{ margin: 0; }


.zpc-wrap .zpc-wish a,
.zpc-wrap .zpc-wish button{
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
@media (max-width: 575px){
  .zpc-wrap .zpc-wish a,
  .zpc-wrap .zpc-wish button{
    width: 34px !important;
    height: 34px !important;
  }
}

/* se stfeature stampa testo/label, lo nascondo per avere SOLO icona */
.zpc-wrap .zpc-wish .text,
.zpc-wrap .zpc-wish .label,
.zpc-wrap .zpc-wish .btn-text{
  display: none !important;
}

.zpc-wrap .zpc-wish svg,
.zpc-wrap .zpc-wish i,
.zpc-wrap .zpc-wish span{
  color: #fff !important;
  fill: currentColor !important;
}

/* --- INFO: compatti, left, responsive --- */
.zpc-wrap .zpc-info{
  text-align: left;
  padding-top: 10px;
}
.zpc-wrap .zpc-name a{
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .01em;
}
@media (max-width: 575px){
  .zpc-wrap .zpc-name a{ font-size: 16px; }
}
.zpc-wrap .zpc-brand{
  margin-top: 5px;
  font-size: 13px;
  color: #7c7c7c;
}

.zpc-wrap .zpc-price{
  margin-top: 10px;
  display: flex;
  gap: 8px;
  align-items: baseline;
}
.zpc-wrap .zpc-priceOld{
  font-size: 13px;
  color: #777;
  text-decoration: line-through;
}
.zpc-wrap .zpc-priceNow{
  font-size: 18px;
  font-weight: 500; /* meno bold */
  color: #000;
}
.zpc-wrap .zpc-priceNow--sale{
  color: #7a0f2b;
  font-weight: 500;
}

.products .zpc-wrap{ margin-bottom: 30px; }

/* ===== HOTFIX: + e cuore sempre leggibili ===== */

/* forza colore bianco e background nero sui nostri pulsanti */
.zpc-wrap .zpc-actionBtn{
  background: #111 !important;
  color: #fff !important;
}

/* forza il simbolo + bianco */
.zpc-wrap .zpc-actionBtn--atc .zpc-plus{
  color: #fff !important;
}

/* alcuni temi nascondono i form in listato */
.zpc-wrap .zpc-atc,
.zpc-wrap .zpc-atc button{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ===== stfeature wishlist: il tema ti impone nero, noi lo ribaltiamo ===== */
.zpc-wrap .zpc-wish,
.zpc-wrap .zpc-wish *{
  color: #fff !important;
}

/* se usa svg */
.zpc-wrap .zpc-wish svg,
.zpc-wrap .zpc-wish svg *{
  fill: #fff !important;
  stroke: #fff !important;
}

/* se usa font-icon */
.zpc-wrap .zpc-wish i,
.zpc-wrap .zpc-wish .material-icons{
  color: #fff !important;
}

/* garantisce che il “pallino” esista anche se stfeature stampa un <a> senza stile */
.zpc-wrap .zpc-wish a,
.zpc-wrap .zpc-wish button{
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: #111 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* ===== FIX DEFINITIVO: icona wishlist bianca dentro pallino nero (stfeature) ===== */
.zpc-wrap .zpc-wish a,
.zpc-wrap .zpc-wish button,
.zpc-wrap .zpc-wish .btn,
.zpc-wrap .zpc-wish .wishlist_button,
.zpc-wrap .zpc-wish .st-wishlist,
.zpc-wrap .zpc-wish .st-wishlist-button{
  background: #111 !important;
  border: 0 !important;
  border-radius: 999px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  text-decoration: none !important;

  /* QUESTO è quello che spesso viene sovrascritto dal tema */
  color: #fff !important;
}

/* se è font icon / span / i */
.zpc-wrap .zpc-wish i,
.zpc-wrap .zpc-wish span,
.zpc-wrap .zpc-wish .material-icons,
.zpc-wrap .zpc-wish [class*="icon"]{
  color: #fff !important;
}

/* se è SVG */
.zpc-wrap .zpc-wish svg{
  width: 16px !important;
  height: 16px !important;
  color: #fff !important; /* per currentColor */
  fill: #fff !important;
  stroke: #fff !important;
}

/* forza anche su tutti i path interni (molti temi mettono fill nero qui) */
.zpc-wrap .zpc-wish svg *,
.zpc-wrap .zpc-wish svg path,
.zpc-wrap .zpc-wish svg use{
  fill: #fff !important;
  stroke: #fff !important;
}

/* opzionale: piccolo hover premium */
.zpc-wrap .zpc-wish a:hover,
.zpc-wrap .zpc-wish button:hover{
  opacity: .85;
}


/* ===== stfeature wishlist icon: FORCE WHITE even if it's a background/pseudo ===== */

/* 1) pallino nero garantito */
.zpc-wrap .zpc-wish a,
.zpc-wrap .zpc-wish button{
  background:#111 !important;
}

/* 2) Se l'icona è disegnata con pseudo-elementi (molto comune) */
.zpc-wrap .zpc-wish a::before,
.zpc-wrap .zpc-wish a::after,
.zpc-wrap .zpc-wish button::before,
.zpc-wrap .zpc-wish button::after{
  filter: invert(1) brightness(2) contrast(2) !important;
}

/* 3) Se l'icona è un <img> o <svg> ma resta nera per override */
.zpc-wrap .zpc-wish img,
.zpc-wrap .zpc-wish svg,
.zpc-wrap .zpc-wish i,
.zpc-wrap .zpc-wish span{
  filter: invert(1) brightness(2) contrast(2) !important;
}

/* 4) Se l'icona è via mask-image (SVG mascherato): serve colore bianco */
.zpc-wrap .zpc-wish a,
.zpc-wrap .zpc-wish button{
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  background-color: #111 !important;
}

/* Cover uniforme e professionale: stessa finestra per tutti i prodotti */
.pro-cover{
  width: 100%;
  aspect-ratio: 1 / 1;      /* Cambia qui se vuoi: 4/5 verticale, 16/9 orizzontale */
  overflow: hidden;
  position: relative;
  background: #fff;
}

/* L’immagine riempie la finestra e viene croppata bene */
.pro-cover img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;         /* crop pulito */
  object-position: center;
}

/* Se il tema aggiunge overlay/icone, assicurati che stiano sopra */
.pro-cover .layer{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: zoom-in;
}


.pro-price-block{
  margin: 6px 0 14px;
}

.pro-price-label{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 6px;
}

.pro-price-value-wrap{
  display: block;
}

.pro-price-value{
  display: inline-block;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 400; /* NON bold */
  letter-spacing: -0.2px;
}

.pro-discount-row{
  margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: baseline;
}

.pro-regular-price{
  text-decoration: line-through;
  opacity: .65;
  font-size: 16px;
  font-weight: 400;
}

.pro-discount-badge{
  font-size: 14px;
  font-weight: 600;
  padding: 2px 8px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
}

.pro-unit-price{
  margin-top: 8px;
  font-size: 14px;
  font-weight: 400;
  opacity: .75;
}


/* Wrapper varianti */
.pro-variants{
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 8px 0 10px;
}

/* Intestazione riga variante: nome + selezionato */
.pro-variant-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.pro-variant-name{
  font-size: 16px;
  font-weight: 600;
}

.pro-variant-selected{
  font-size: 14px;
  font-weight: 400;
  opacity: .75;
  white-space: nowrap;
}

/* Select */
.pro-variant-select{
  border-radius: 12px;
}

/* Radio pills (taglie/dimensioni) */
.pro-variant-radios{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style:none;
}

.pro-radio-item{
  margin: 0;
  padding: 0;
}

.pro-radio-label{
  cursor: pointer;
  margin: 0;
}

.pro-input-radio{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pro-radio-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  font-weight: 500;
  background: #fff;
  transition: transform .08s ease, border-color .12s ease;
}

.pro-input-radio:checked + .pro-radio-pill{
  border-color: rgba(0,0,0,.55);
}

/* Color swatches */
.pro-variant-colors{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style:none;
}

.pro-input-color{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.pro-swatch{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  display:inline-block;
  background-size: cover;
  background-position:center;
}

.pro-input-color:checked + .pro-swatch{
  box-shadow: 0 0 0 2px rgba(0,0,0,.45);
}

/* Qtyprogress */
.pro-qtyprogress{
  margin-top: 6px;
}

.product-information {
    float: none !important;
}


/* ===== Add to cart PRO (definitivo) ===== */
.pro-addtocart{ margin-top: 14px; }

.pro-buybox{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

/* Availability */
.pro-availability{
  display:flex;
  align-items:center;
  gap:10px;
  margin: 2px 0 0;
  font-size: 14px;
}
.pro-dot{ width:10px; height:10px; border-radius:999px; display:inline-block; }
.pro-dot--ok{ background:#28a745; }
.pro-dot--warn{ background:#ffc107; }
.pro-dot--bad{ background:#dc3545; }

/* CTA row */
.pro-cta-row{
  display:flex;
  align-items:stretch;
  gap: 14px;
}

/* Qty box - premium */
.pro-qty{
  display:flex;
  align-items:stretch;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 14px;
  overflow:hidden;
  height: 52px;
  background:#fff;
}
.pro-qty-btn{
  width: 46px;
  border: 0;
  background: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}
.pro-qty-btn:active{ transform: scale(.98); }

.pro-qty-input{
  width: 52px;
  border: 0;
  text-align:center;
  font-size: 16px;
  outline:none;
  background:#fff;
  -moz-appearance: textfield;
  appearance: textfield;
}

/* Elimina spinner su/giù ovunque (anche se un modulo cambia type=number) */
.pro-qty input::-webkit-outer-spin-button,
.pro-qty input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* Add to cart button */
.pro-add{ flex: 1; }
.pro-add-to-cart{
  width: 100%;
  height: 52px;
  border-radius: 14px;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-weight: 700;
}

/* Extra actions full width */
.pro-extra-actions > *{ width:100%; }
.pro-extra-actions .btn,
.pro-extra-actions button,
.pro-extra-actions a{
  width: 100% !important;
  border-radius: 14px;
}

/* Minimal qty */
.pro-minqty{ margin: 0; font-size: 13px; opacity:.75; }

/* Wishlist only */
.pro-wishlist{
  display:flex;
  align-items:center;
}
.pro-wishlist a,
.pro-wishlist button{
  border-radius: 14px;
}

/* ===== Sticky mobile bottom (più pro) ===== */
@media (max-width: 991.98px){

  body#product{
    padding-bottom: 210px; /* spazio per sticky */
  }

  .pro-buybox{
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 9999;
    background: #fff;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
    box-shadow: 0 -12px 32px rgba(0,0,0,.14);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 18px;
  }

  .pro-availability{
    margin: 0;
    font-size: 13px;
  }

  .pro-cta-row{
    gap: 10px;
  }

  .pro-qty{
    height: 50px;
    border-radius: 16px;
  }
  .pro-add-to-cart{
    height: 50px;
    border-radius: 16px;
  }

  /* Wishlist non deve sporcare lo sticky: la mettiamo minimale */
  .pro-wishlist{
    margin-top: 2px;
    justify-content: flex-end;
  }
}

.bootstrap-touchspin input.form-control{
    border: none !important;
}
.product-quantity .input-group-btn-vertical .btn{
    display: none !important;
}


/* Wishlist minimal premium */
.pro-wishlist-min{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  margin-top: 12px;          /* più stacco dall’alto */
}

/* Teniamo il modulo in DOM ma non visibile */
.pro-wishlist-native{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Bottone thin, senza bordi */
.pro-wishlist-textbtn{
  display:inline-flex;
  align-items:center;        /* centrato verticale */
  gap: 8px;                  /* cuore vicino al testo */
  padding: 6px 0;            /* respiro sopra/sotto */
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  text-align: left;

  font-size: 14px;
  font-weight: 400;          /* thin */
  letter-spacing: .2px;
  color: inherit;
  opacity: .95;
}

/* Niente hover “bottone” */
.pro-wishlist-textbtn:hover{
  opacity: 1;
  text-decoration: none;
}

/* Icona: un po’ più grande e micro-allineata */
.pro-wishlist-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 22px;
  height: 22px;
  transform: translateY(0.5px); /* micro tuning per baseline */
}
.pro-wishlist-ico svg{
  width: 22px;
  height: 22px;
  display:block;
}

/* Evita uppercase forzato */
.pro-wishlist-min *{
  text-transform: none !important;
}

/* Mobile: leggermente più grande e “app-like” */
@media (max-width: 991.98px){
  .pro-wishlist-min{ margin-top: 10px; }
  .pro-wishlist-textbtn{ font-size: 13px; padding: 4px 0; gap: 8px; }
  .pro-wishlist-ico, .pro-wishlist-ico svg{ width: 22px; height: 22px; }
}


/* ===== Sticky mobile bottom (robusto + scroll OK) ===== */
@media (max-width: 991.98px){

  /* evita che elementi sopra vengano coperti */
  body#product{
    padding-bottom: 120px; /* sticky più basso e pulito */
  }

  /* nasconde wishlist su mobile */
  .pro-desktop-only{ display:none !important; }

  /* Sticky: fisso, piatto, non “floating card” */
  .pro-buybox{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9999;

    background: #fff;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(0,0,0,.10);
    box-shadow: none !important;
    border-radius: 0 !important;

    /* IMPORTANTI per non bloccare scroll/touch */
    transform: none !important;
    will-change: auto !important;
    touch-action: manipulation;
    -webkit-overflow-scrolling: touch;
  }

  /* nello sticky teniamo SOLO la riga qty+cta e gli express buttons */
  .pro-availability,
  .pro-minqty{
    display:none !important;
  }

  .pro-cta-row{
    gap: 10px;
    align-items: stretch;
  }

  .pro-qty{
    height: 48px;
    border-radius: 12px;
  }

  .pro-add-to-cart{
    height: 48px;
    border-radius: 12px;
  }

  /* express buttons sotto, full width, ma compatti */
  .pro-extra-actions{
    margin-top: 8px;
  }

  .pro-extra-actions .btn,
  .pro-extra-actions button,
  .pro-extra-actions a{
    border-radius: 12px !important;
  }
}

@media (max-width: 991.98px){
  body#product.has-pro-stickybar{ padding-bottom: 120px; }
}

.pro-stickybar{
  position: fixed;
  left: 0; right: 0; bottom: var(--pro-stickybar-bottom-offset, 0px);
  z-index: 99999;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.10);
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  display: none;
}

@media (max-width: 991.98px){
  /* Un solo separatore visivo: resta il border-top della sticky */
  body#product .product-add-to-cart.js-product-add-to-cart{
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  body#product .pro-buybox{
    border-top: 0 !important;
    box-shadow: none !important;
  }

  body#product .product-add-to-cart.pro-addtocart .pro-buy-now,
  body#product .product-add-to-cart.pro-addtocart .pro-buy-now-btn{
    display: none !important;
  }
}

.pro-sticky-row{
  display:flex;
  gap: 10px;
  align-items: stretch;
}

.pro-qty--sticky{
  height: 48px;
  border-radius: 12px;
  overflow: hidden;
}

/* niente spinner */
.pro-qty-input{ -moz-appearance:textfield; appearance:textfield; }
.pro-qty input::-webkit-outer-spin-button,
.pro-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* + e - sempre visibili */
.pro-qty-btn{
  width: 46px;
  font-size: 22px;
  line-height: 1;
  color: #111;
  background: #fff;
  border: 0;
}

.pro-add-to-cart--sticky{
  height: 48px;
  border-radius: 12px;
  flex: 1;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-weight: 700;
}

.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary,
.pro-stickybar .js-sticky-add,
.js-pro-stickybar .js-sticky-add{
  background: #000000 !important;
  border: 1px solid #000000 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: none !important;
  background-image: none !important;
  filter: none !important;
  position: relative !important;
  isolation: isolate;
  text-shadow: none !important;
  cursor: pointer !important;
  transform: none !important;
}

.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:hover,
.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:focus,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:hover,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:focus,
.pro-stickybar .js-sticky-add:hover,
.pro-stickybar .js-sticky-add:focus,
.js-pro-stickybar .js-sticky-add:hover,
.js-pro-stickybar .js-sticky-add:focus{
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:active,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:active,
.pro-stickybar .js-sticky-add:active,
.js-pro-stickybar .js-sticky-add:active{
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary::before,
.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary::after,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary::before,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary::after{
  content: none !important;
  display: none !important;
}

.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:disabled,
.pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary.disabled,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary:disabled,
.js-pro-stickybar .pro-add-to-cart--sticky.btn.btn-primary.disabled{
  background: #b8b8b8 !important;
  border-color: #b8b8b8 !important;
  color: #ffffff !important;
  opacity: .7 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

.pro-stickybar .js-sticky-add[aria-disabled="true"],
.js-pro-stickybar .js-sticky-add[aria-disabled="true"]{
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

.pro-checkout-btn{
  text-transform: uppercase;
  letter-spacing: .4px;
  font-weight: 700;
}

.pro-checkout-btn--sticky{
  display: block;
  width: 100%;
  height: 44px;
  margin-top: 8px;
  border-radius: 12px;
  line-height: 44px;
  text-align: center;
  padding: 0 12px;
}


/* ===== Buybox base ===== */
.pro-buybox{
  display:flex;
  flex-direction:column;
  gap: 12px;
  margin-top: 14px;
}

/* Availability */
.pro-availability{
  display:flex;
  align-items:center;
  gap:10px;
  font-size: 14px;
  margin: 0;
}
.pro-dot{ width:10px; height:10px; border-radius:999px; display:inline-block; }
.pro-dot--ok{ background:#28a745; }
.pro-dot--warn{ background:#ffc107; }
.pro-dot--bad{ background:#dc3545; }

/* CTA row */
.pro-cta-row{
  display:flex;
  align-items:stretch;
  gap: 14px;
}

/* Qty – niente spinner + pulsanti sempre visibili */
.pro-qty{
  display:flex;
  align-items:stretch;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 14px;
  overflow:hidden;
  height: 52px;
  background:#fff;
}
.pro-qty-btn{
  width: 46px;
  border: 0;
  background: #fff;
  font-size: 22px;
  line-height: 1;
  color: #111;
  cursor: pointer;
  user-select:none;
}
.pro-qty-input{
  width: 54px;
  border: 0;
  text-align:center;
  font-size: 16px;
  outline:none;
  background:#fff;
  -moz-appearance:textfield;
  appearance:textfield;
}
.pro-qty input::-webkit-outer-spin-button,
.pro-qty input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Add to cart */
.pro-add{ flex:1; }
.pro-buy-now{ flex:1; }
.pro-add-to-cart{
  width:100%;
  height:52px;
  border-radius:14px;
  text-transform: uppercase;
  letter-spacing:.6px;
  font-weight:700;
}
.pro-buy-now-btn{
  width:100%;
  height:52px;
  border-radius:14px;
  text-transform: uppercase;
  letter-spacing:.6px;
  font-weight:700;
}

/* Extra actions */
.pro-extra-actions > *{ width:100%; }
.pro-extra-actions .btn,
.pro-extra-actions button,
.pro-extra-actions a{
  width:100% !important;
  border-radius:14px;
}

/* Wishlist desktop wrapper (minimal) */
.pro-desktop-only{ display:flex; justify-content:flex-start; margin-top: 8px; }

/* ===== MOBILE: sticky bottom senza fixed (scroll NON si rompe) ===== */
@media (max-width: 991.98px){

  /* nascondi wishlist su mobile */
  .pro-desktop-only{ display:none !important; }

  /* togli rumore nello sticky */
  .pro-availability,
  .pro-minqty{ display:none !important; }

  /*
    STICKY vero:
    resta attaccato in basso durante lo scroll,
    ma NON usa position:fixed (evita bug con wrapper transform)
  */
  .pro-buybox{
    position: sticky;
    bottom: 0;
    z-index: 50;
    background: #fff;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(0,0,0,.10);
    box-shadow: 0 -10px 24px rgba(0,0,0,.08);
    border-radius: 0;
    margin-top: 10px;
  }

  .pro-cta-row{ gap: 10px; }
  .pro-qty{ height:48px; border-radius:12px; }
  .pro-add-to-cart{ height:48px; border-radius:12px; }

  .pro-extra-actions{ margin-top: 8px; }
  .pro-extra-actions .btn,
  .pro-extra-actions button,
  .pro-extra-actions a{
    border-radius:12px !important;
  }
}

@media (max-width: 991.98px){

  /* sblocca scroll base */
  html, body{
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: static !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* kill switch su wrapper tipici che bloccano scroll */
  #wrapper, #page, #content, main,
  .wrapper, .page-wrapper, .site-wrapper, .layout-wrapper,
  .content-wrapper, .main-wrapper, .container-wrapper{
    height: auto !important;
    overflow: visible !important;
    position: static !important;
    transform: none !important;
    filter: none !important;
  }

  /* se il tema usa “app shell” fisso */
  body#product .page-content,
  body#product #main,
  body#product #content-wrapper{
    overflow: visible !important;
    height: auto !important;
    position: static !important;
    transform: none !important;
  }
}

/* FIX definitivo: + / − sempre visibili */
.pro-qty-btn{
  color: #111 !important;
  font-size: 24px !important;
  line-height: 48px !important;  /* allinea verticale */
  font-weight: 600 !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.pro-qty-btn::before,
.pro-qty-btn::after{
  content: none !important;      /* evita icone sovrapposte del tema */
}


@media (max-width: 991.98px){

  /* forza layout: i bottoni NON possono collassare o sparire */
  .pro-cta-row .pro-qty{
    display:flex !important;
    align-items:stretch !important;
    overflow: visible !important; /* se il tema clippa */
  }

  .pro-cta-row .pro-qty .pro-qty-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    flex: 0 0 46px !important;     /* larghezza fissa */
    width: 46px !important;
    min-width: 46px !important;
    height: 48px !important;

    padding: 0 !important;
    margin: 0 !important;

    background-color: #fff !important;
    border: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;

    position: relative !important;
    z-index: 9999 !important;

    font-size: 0 !important;       /* non usiamo testo */
    line-height: 0 !important;
    color: #111 !important;
  }

  /* disattiva eventuali pseudo-elementi del tema */
  .pro-cta-row .pro-qty .pro-qty-btn::before,
  .pro-cta-row .pro-qty .pro-qty-btn::after{
    content: none !important;
  }

  /* Disegno PLUS (SVG) */
  .pro-cta-row .pro-qty .pro-qty-btn.js-pro-qty-up{
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='%23111' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  /* Disegno MINUS (SVG) */
  .pro-cta-row .pro-qty .pro-qty-btn.js-pro-qty-down{
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14' fill='none' stroke='%23111' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  /* se il tema mette overlay sopra, assicuriamo click */
  .pro-cta-row .pro-qty .pro-qty-btn{
    pointer-events: auto !important;
  }
}

@media (max-width: 991.98px){

  /* La riga CTA non deve mai andare fuori */
  .pro-cta-row{
    display:flex !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  /* Qty più compatta */
  .pro-cta-row .pro-qty{
    flex: 0 0 auto !important;
    height: 46px !important;
    border-radius: 12px !important;
  }

  .pro-cta-row .pro-qty .pro-qty-btn{
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 46px !important;
    background-size: 14px 14px !important;
  }

  .pro-cta-row .pro-qty .pro-qty-input{
    width: 44px !important;
    min-width: 44px !important;
    height: 46px !important;
    font-size: 15px !important;
  }

  /* Add to cart prende il resto e resta dentro */
  .pro-cta-row .pro-add,
  .pro-cta-row .pro-buy-now{
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .pro-cta-row .pro-add-to-cart,
  .pro-cta-row .pro-buy-now-btn{
    width: 100% !important;
    height: 46px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    padding: 0 10px !important;
    letter-spacing: .4px !important;
    white-space: nowrap !important;
  }
}


@media (max-width: 991.98px){

  /* Mostra SEMPRE il bordo completo della qty box */
  .pro-cta-row .pro-qty{
    border: 1px solid rgba(0,0,0,.18) !important;
    overflow: visible !important;          /* niente tagli al bordo */
    background: #fff !important;
    box-sizing: border-box !important;
  }

  /* Se qualche elemento interno “sborda”, lo blocchiamo senza tagliare il bordo */
  .pro-cta-row .pro-qty .pro-qty-input{
    box-sizing: border-box !important;
  }

  /* evita che il bottone add-to-cart tocchi/“copra” il bordo */
  .pro-cta-row{
    padding: 0 !important;
  }
}

@media (max-width: 991.98px){

  /* La qty deve stare SOPRA a qualsiasi layer bianco vicino */
  .pro-cta-row{
    position: relative !important;
    z-index: 1 !important;
  }

  .pro-cta-row .pro-qty{
    position: relative !important;
    z-index: 5 !important;                 /* sopra al bottone/overlay */
    background: #fff !important;

    /* bordo “indistruttibile” (non viene coperto come border) */
    border: 0 !important;
    outline: 1px solid rgba(0,0,0,.18) !important;
    outline-offset: 0 !important;

    border-radius: 12px !important;
  }

  /* anche i bottoni +/- restano sopra */
  .pro-cta-row .pro-qty .pro-qty-btn{
    position: relative !important;
    z-index: 6 !important;
    background-color: #fff !important;
  }

  /* il bottone add-to-cart non deve mai “salire sopra” la qty */
  .pro-cta-row .pro-add,
  .pro-cta-row .pro-buy-now,
  .pro-cta-row .pro-add-to-cart,
  .pro-cta-row .pro-buy-now-btn{
    position: relative !important;
    z-index: 2 !important;
  }
}

@media (max-width: 991.98px){
  .pro-cta-row{ gap: 10px !important; }
  .pro-cta-row .pro-qty{ margin-right: 2px !important; }
  .product-add-to-cart.js-product-add-to-cart{display: none !important;}
}

/* =========================
   0) FIX SCROLL BLOCCATO
   (molto probabile col tuo stickybar)
   ========================= */
html, body { overflow-x: hidden; } /* ok */
body.has-pro-stickybar { overflow-y: auto !important; }  /* sblocca scroll */
body.has-pro-stickybar { position: static !important; }  /* evita body fixed */

/* Se qualche overlay full-screen blocca lo scroll */
.pro-stickybar { pointer-events: auto; } /* la sticky deve restare cliccabile */

/* Stripe express / BNPL: sotto Add to cart e full width */
.product-add-to-cart .pro-extra-actions--stable{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;      /* se il parent è flex */
  clear: both !important;         /* se ci sono float */
  margin-top: 12px;
}

/* Se il parent usa CSS grid: span su tutte le colonne */
.product-add-to-cart{
  display: block; /* non cambia layout se già grid/flex, ma aiuta alcuni temi */
}
@supports (display:grid){
  .product-add-to-cart .pro-extra-actions--stable{
    grid-column: 1 / -1 !important;
  }
}

/* Forza gli StripeElement a occupare tutta la riga */
.product-add-to-cart .pro-extra-actions--stable .StripeElement,
.product-add-to-cart .pro-extra-actions--stable #stripe-express-checkout-element,
.product-add-to-cart .pro-extra-actions--stable #stripe-express-checkout-element iframe{
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* Evita tagli iframe */
.product-add-to-cart,
.product-add-to-cart .pro-extra-actions--stable{
  overflow: visible !important;
}

/* FORZA la colonna: tutto sotto (Add to cart + Stripe sotto) */
.product-add-to-cart.pro-addtocart{
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* ordine esplicito (prima buybox, poi stripe) */
.product-add-to-cart.pro-addtocart .js-pro-buybox{
  order: 1 !important;
  width: 100% !important;
}

.product-add-to-cart.pro-addtocart .pro-extra-actions--stable{
  order: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  float: none !important;
  position: static !important;
}




/* PRODUCT PAGE V3 – Mobile first */
.productpage-v3 .productpage-top { margin-top: 10px; }
.productpage-v3 .productpage-header { margin-bottom: 12px; }
.productpage-v3 .productpage-title { font-size: 28px; line-height: 1.15; margin: 0 0 10px; }
.productpage-v3 .productpage-reviews { margin: 6px 0 0; }
.productpage-v3 .productpage-meta { display:flex; flex-wrap:wrap; gap:10px 14px; margin-top: 8px; opacity: .95; }
.productpage-v3 .meta-label { font-weight: 600; margin-right: 6px; opacity: .9; }

.productpage-v3 .product-short-description { margin: 14px 0 16px; }

.productpage-v3 .buybox-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.productpage-v3 .productpage-bottom { margin-top: 22px; }
.productpage-v3 .productpage-tabs .nav-tabs { margin-bottom: 10px; }

/* Accessori più ordinati */
.productpage-v3 .productpage-accessories { margin-top: 28px; }

/* Desktop: buybox sticky */
@media (min-width: 992px){
  .productpage-v3 .productpage-buybox{
    position: sticky;
    top: 16px;
    align-self: flex-start;
  }
  .productpage-v3 .productpage-title { font-size: 34px; }
}

/* Sticky default */
.pro-stickybar{
  z-index: 9000; /* o quello che vuoi per stare sopra ai contenuti */
}

/* Quando il carrello/menu overlay è aperto, metti lo sticky sotto */
body.menu_shown .pro-stickybar,
body.menu_shown .js-pro-stickybar,
.overlay.overlay_active ~ .pro-stickybar{
  z-index: 1 !important;
}

/* Se il tuo overlay ha z-index basso, alzalo */
.overlay.overlay_active{
  z-index: 9998;
  display: contents !important;
}

/* mostra solo il primo blocco payment logo */
.productpage-payments + .productpage-payments { display:none !important; }

/* blocca overflow orizzontale globale */
html, body { overflow-x: hidden !important; }

/* owl: il wrapper esterno deve tagliare l'eccesso */
.owl-carousel,
.owl-wrapper-outer,
.owl-wrapper {
  overflow: hidden !important;
}

#header .header-nav .container{
    display: grid !important;
    
}


/* FIX SCROLL PRODUCT PAGE */
body#product,
body#product #page,
body#product #main,
body#product #content,
body#product .page-content,
body#product .productpage-top,
body#product .productpage-gallery,
body#product .product-leftside,
body#product .productpage-buybox,
body#product .row,
body#product .container,
body#product .container-fluid {
  overflow: visible !important;
  overflow-y: visible !important;
  max-height: none !important;
  height: auto !important;
  transform: none !important;
}

html,
body {
  overflow-x: hidden !important;
}

body#product.has-pro-stickybar,
body#product {
  padding-bottom: 0 !important;
}


.pro-gallery{
width:100%;
}

.pro-main-swiper{
border-radius:12px;
overflow:hidden;
margin-bottom:10px;
}

.pro-main-image{
width:100%;
display:block;
border-radius:12px;
}

.pro-thumb-swiper{
margin-top:6px;
}

.pro-thumb-image{
width:100%;
border-radius:8px;
opacity:.7;
cursor:pointer;
transition:opacity .2s;
}

.pro-thumb-image:hover{
opacity:1;
}

/* frecce */
.swiper-button-next:after,
.swiper-button-prev:after{
font-size:14px;
color:#111;
}

/* mobile */

@media (max-width:768px){
.swiper-button-next,
.swiper-button-prev{
display:none;
}
}


.pro-main-image{
width:100%;
display:block;
border-radius:12px;
transition:transform .25s ease;
}

.pro-main-image:hover{
transform:scale(1.02);
}

#header{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:99999;
}

/* evita qualsiasi salto */
.header-top-main,
.header-top-main.fixed{
  position:relative !important;
  top:0 !important;
}

/* animazioni */
#header{
  transition: background .25s ease, box-shadow .25s ease;
}

:root{
  --header-h: 80px;
}

body{
  padding-top: var(--header-h);
}

/* PRODUCT PAGE CLEAN */

.product-page{
margin-top:40px;
}

.product-title{
font-size:28px;
font-weight:700;
margin-bottom:10px;
}

.product-brand{
font-size:14px;
margin-bottom:6px;
color:#666;
}

.product-reference{
font-size:13px;
color:#888;
margin-bottom:15px;
}

.product-short-desc{
margin-bottom:20px;
line-height:1.6;
color:#444;
}

.product-actions{
margin-top:20px;
}

/* PRICE */

.product-prices{
font-size:26px;
font-weight:700;
margin:15px 0;
}

/* ADD TO CART */

.add-to-cart{
font-size:16px;
padding:14px 25px;
border-radius:4px;
}

/* TABS */

.product-tabs{
margin-top:60px;
}

.product-tabs .nav-tabs{
border-bottom:1px solid #eee;
}

.product-tabs .nav-tabs li a{
padding:12px 18px;
font-weight:600;
}

.product-description{
line-height:1.7;
color:#444;
}

/* RELATED PRODUCTS */

.section-title{
font-size:22px;
margin-bottom:25px;
font-weight:700;
}

.product-accessories{
margin-top:60px;
}


/* =========================
PRODUCT PAGE
========================= */

.product-page{
margin-top:40px;
}


/* =========================
TITLE
========================= */

.productpage_title{
font-size:30px;
font-weight:700;
margin-bottom:10px;
line-height:1.3;
color:#222;
}


/* =========================
BRAND + SKU
========================= */

.productpage-attributes-items{
margin:15px 0 20px;
font-size:14px;
color:#666;
}

.brand-infos{
margin-bottom:6px;
}

.brand-infos a{
font-weight:600;
color:#111;
}

.product-reference{
font-size:13px;
color:#888;
}


/* =========================
SHORT DESCRIPTION
========================= */

.product-short-description{
margin:15px 0 25px;
line-height:1.6;
font-size:15px;
color:#444;
}


/* =========================
PRICE
========================= */

.product-prices{
margin:15px 0;
}

.product-prices .current-price{
font-size:32px;
font-weight:700;
color:#111;
}

.product-prices .regular-price{
font-size:16px;
opacity:0.6;
margin-left:10px;
}


/* =========================
ADD TO CART
========================= */

.product-actions{
margin-top:20px;
}

.product-add-to-cart .btn-primary{
font-size:16px;
padding:14px 30px;
border-radius:4px;
font-weight:600;
transition:all .2s ease;
}

.product-add-to-cart .btn-primary:hover{
transform:translateY(-1px);
box-shadow:0 5px 14px rgba(0,0,0,0.15);
}


/* =========================
PRODUCT TABS
========================= */

.product-tabcontent{
margin-top:60px;
}

.tabs .nav-tabs{
border-bottom:1px solid #eee;
}

.tabs .nav-tabs .nav-link{
font-weight:600;
padding:12px 18px;
color:#444;
border:none;
}

.tabs .nav-tabs .nav-link.active{
border-bottom:2px solid #000;
color:#000;
}

.product-description{
margin-top:25px;
line-height:1.7;
color:#444;
}


/* =========================
RELATED PRODUCTS
========================= */

.product-accessories{
margin-top:70px;
}

.products-section-title .title{
font-size:24px;
font-weight:700;
margin-bottom:25px;
}


/* product card hover */

.product-miniature{
transition:all .25s ease;
}

.product-miniature:hover{
transform:translateY(-4px);
box-shadow:0 10px 20px rgba(0,0,0,0.08);
}


/* =========================
PRODUCT IMAGE
========================= */

.product-leftside img{
border-radius:4px;
}


/* =========================
REASSURANCE BLOCK
========================= */

.blockreassurance{
margin-top:25px;
font-size:14px;
color:#555;
}


/* =========================
MOBILE
========================= */

@media (max-width:768px){

.productpage_title{
font-size:24px;
}

.product-prices .current-price{
font-size:26px;
}

.product-actions{
margin-bottom:30px;
}

.product-tabcontent{
margin-top:40px;
}

}


.img-thumbnail{
    max-width: 200px !important;
}


/* PRODUTTI SIMILI */

.product-related{
margin-top:70px;
}

.products-section-title{
margin-bottom:25px;
}

.products-section-title .title{
font-size:24px;
font-weight:700;
color:#222;
}

.product-related .products{
display:flex;
flex-wrap:wrap;
gap:20px;
}

.product-item{
transition:all .25s ease;
}

.product-item:hover{
transform:translateY(-4px);
}

.product-miniature{
height:100%;
}


/* MOBILE GRID FIX */
@media (max-width:768px){

.product-miniature{
  margin-bottom:12px !important;
}

.product-miniature .row{
  padding:0 !important;
}

.product-miniature .thumbnail-container{
  margin-bottom:6px;
}

.product-miniature .product-description{
  padding:6px 4px;
}

.product-miniature .product-title{
  font-size:14px;
  line-height:1.2;
  margin-bottom:4px;
}

.product-miniature .product-price-top{
  margin-bottom:4px;
}

.product-miniature .product-detail{
  display:none; /* rimuove descrizione su mobile */
}

.product-miniature .product-brand{
  font-size:11px;
}

}

/* Riduce spazio tra prodotti nella griglia */
.product_list.gridcount.grid{
  row-gap:10px !important;
}

/* riduce margine delle card */
.product_list.gridcount.grid .product-miniature{
  margin-bottom:10px !important;
}

@media (max-width:768px){

.products-selection{
  display:flex !important;
}

.products-sort-order{
  margin-left:auto !important;
}

}

@media (max-width:1024px){

#left-column{
position:static!important;
}

#search_filters.filters-overlay{
position:fixed;
top:0;
left:0;
width:100vw;
height:100vh;
background:#fff;
z-index:99999;
transform:translateX(100%);
transition:transform .35s ease;
overflow-y:auto;
}

#search_filters.open{
transform:translateX(0);
}

.filters-overlay-header{
display:flex;
justify-content:space-between;
align-items:center;
padding:16px;
border-bottom:1px solid #eee;
}

.filters-overlay-footer{
position:sticky;
bottom:0;
background:#fff;
padding:16px;
display:flex;
gap:10px;
border-top:1px solid #eee;
}

.filters-overlay-footer button{
flex:1;
}

}


@media (max-width: 767px) {
  #search_filters.js-search-filters-panel {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  #search_filters.js-search-filters-panel.is-open {
    display: block;
  }

  body.filters-open,
  html.filters-open {
    overflow: hidden !important;
    height: 100%;
  }

  /* nasconde elementi desktop */
  #search_filters > .text-uppercase.h6,
  #search_filters > .h6.hidden-sm-down,
  #search_filters > #_desktop_search_filters_clear_all,
  #search_filters > .clear-all-wrapper,
  #search_filters .hidden-sm-down {
    display: none !important;
  }

  /* HEADER fisso */
  #search_filters .search-filters-mobile-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 56px;
    display: grid !important;
    grid-template-columns: 80px 1fr 80px;
    align-items: center;
    padding: 0 16px;
    margin: 0;
    background: #fff;
    border-bottom: 1px solid #ececec;
    z-index: 3;
    box-sizing: border-box;
  }

  #search_filters .filters-close {
    justify-self: start;
  }

  #search_filters .filters-reset {
    justify-self: end;
  }

  #search_filters .filters-mobile-title {
    margin: 0;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: #111;
  }

  #search_filters .filters-close,
  #search_filters .filters-reset {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #111;
    white-space: nowrap;
    box-shadow: none;
  }

  #search_filters .filters-reset[disabled] {
    opacity: .35;
    cursor: default;
  }

  /* BODY unico scroll */
  #search_filters .search-filters-mobile-body {
    position: absolute;
    top: 56px;
    right: 0;
    bottom: 72px;
    left: 0;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    padding: 0;
    background: #fff;
    box-sizing: border-box;
  }

  /* FOOTER fisso */
  #search_filters .search-filters-mobile-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    min-height: 72px;
    display: flex !important;
    align-items: center;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    margin: 0;
    background: #fff;
    border-top: 1px solid #ececec;
    z-index: 3;
    box-sizing: border-box;
  }

  #search_filters .search-filters-mobile-footer .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    margin: 0;
  }

  /* FACET */
  #search_filters .facet {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #efefef;
    background: #fff;
    text-align: center;
  }

  #search_filters .title.hidden-md-up,
  #search_filters .mobile-facet-toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    padding: 0 16px;
    margin: 0;
    background: #fff;
    cursor: pointer;
    text-align: left;
  }

  #search_filters .title.hidden-md-up .facet-title,
  #search_filters .mobile-facet-toggle .facet-title {
    margin: 0 auto 0 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    color: #111;
  }

  #search_filters .collapse-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 12px;
    flex: 0 0 auto;
  }

  /* contenuto filtri centrato e pulito */
  #search_filters .facet > .collapse {
    padding: 0 16px 16px;
    background: #fff;
  }

  #search_filters .facet ul {
    list-style: none;
    margin: 0;
    padding: 0 16px 16px;
  }

  #search_filters .facet ul li {
    margin: 0;
    padding: 8px 0;
  }

  #search_filters .facet-label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    margin: 0 auto;
    text-align: left;
  }

  #search_filters .facet-label .search-link {
    display: block;
    flex: 1 1 auto;
    color: #111;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
    text-align: left;
  }

  #search_filters .magnitude {
    opacity: .75;
  }

  /* dropdown */
  #search_filters .facet-dropdown {
    width: 100%;
    float: none;
    text-align: left;
  }

  #search_filters .select-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    color: #111;
    text-decoration: none;
    text-align: left;
  }

  #search_filters .dropdown-menu {
    width: 100%;
    text-align: left;
  }

  /* prezzo: tocco minimo */
  #search_filters .faceted-slider {
    margin: 0;
    padding: 0 16px 16px;
    background: #fff;
    text-align: left;
  }

  #search_filters .faceted-slider li {
    padding: 0;
  }

  #search_filters .faceted-slider p {
    margin: 0 0 12px;
    text-align: center;
  }

  #search_filters [id^="slider-range_"] {
    margin-top: 12px;
  }

  .modal-backdrop,
  .facets-backdrop {
    z-index: 99998 !important;
  }
}

@media (min-width: 768px) {
  .search-filters-mobile-header,
  .search-filters-mobile-footer {
    display: none !important;
  }
}


@media (max-width: 767px) {
  #search_filters .faceted-slider {
    max-width: 540px;
    margin: 0 auto;
    padding: 0 16px 16px;
    background: #fff;
    text-align: center;
  }

  #search_filters .faceted-slider li {
    padding: 0;
  }

  #search_filters .faceted-slider p {
    margin: 0 0 12px;
    text-align: center;
  }

  #search_filters [id^="slider-range_"] {
    width: 100%;
    max-width: 320px;
    margin: 12px auto 0;
  }
}


@media (max-width: 767px) {
  #search_filters [id^="slider-range_"] {
    width: calc(100% - 32px);
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 12px;
  }
}

@media (max-width: 767px) {
  #search_filters .facet-price-slider-item {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  #search_filters .faceted-slider p {
    margin: 0 0 12px;
    text-align: center;
  }

  #search_filters [id^="slider-range_"] {
    width: 100%;
    max-width: 320px;
    margin: 12px auto 0;
  }

  #search_filters .facet-price-apply {
    margin-top: 16px;
    min-width: 160px;
    min-height: 42px;
    padding: 0 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
  }
}

/* =========================
   HEADER ACCOUNT - PREMIUM
   ========================= */

#_desktop_user_info.header-user-nav {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

#_desktop_user_info .top-link {
  text-decoration: none;
}

#_desktop_user_info .aux-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 10px;
  color: #444;
  border-radius: 999px;
  transition: all .25s ease;
}

#_desktop_user_info .aux-link:hover {
  background: rgba(0,0,0,.04);
  color: #111;
}

/* premium account block */
#_desktop_user_info .sign-in-premium,
#_desktop_user_info .account-trigger {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 8px 10px 8px 8px;
  border-radius: 999px;
  position: relative;
  transition: all .28s ease;
}

/* guest */
#_desktop_user_info .sign-in-premium {
  background: linear-gradient(135deg, #111 0%, #2b2b2b 100%);
  color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.14);
}

#_desktop_user_info .sign-in-premium:hover {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}

/* logged */
#_desktop_user_info .account-trigger {
  background: #fff;
  color: #111;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

#_desktop_user_info .account-trigger:hover,
#_desktop_user_info .show .account-trigger {
  background: #fff;
  color: #111;
  box-shadow: 0 12px 32px rgba(0,0,0,.10);
}

/* avatar */
#_desktop_user_info .account-avatar {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#_desktop_user_info .sign-in-premium .account-avatar {
  background: rgba(255,255,255,.12);
}

#_desktop_user_info .account-trigger .account-avatar,
#_desktop_user_info .account-mobile-link .account-avatar {
  background: #f3f4f6;
}

#_desktop_user_info .account-icon {
  display: inline-block;
  font-size: 18px;
  line-height: 1;
}

/* text stack */
#_desktop_user_info .account-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}

#_desktop_user_info .account-eyebrow {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .10em;
  opacity: .72;
}

#_desktop_user_info .account-name {
  font-size: 14px;
  font-weight: 600;
  margin-top: 3px;
}

/* right pill cta on guest */
#_desktop_user_info .account-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 700;
  margin-left: 6px;
}

/* arrow */
#_desktop_user_info .expand-more {
  margin-left: 2px;
  font-size: 20px;
  opacity: .7;
}

/* dropdown */
#_desktop_user_info .user-account-block {
  position: relative;
}

#_desktop_user_info .account-dropdown {
  min-width: 280px;
  margin-top: 12px;
  padding: 10px 0;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
  overflow: hidden;
}

#_desktop_user_info .account-dropdown li {
  list-style: none;
}

#_desktop_user_info .account-dropdown a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  color: #222;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

#_desktop_user_info .account-dropdown a:hover {
  background: #f8f8f8;
  color: #111;
}

#_desktop_user_info .account-dropdown-head {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  margin-bottom: 6px;
}

#_desktop_user_info .account-dropdown-head a {
  display: block;
}

#_desktop_user_info .account-dropdown-head .hello-label {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #111;
}

#_desktop_user_info .account-dropdown-head small {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #777;
}

#_desktop_user_info .account-dropdown .material-icons {
  font-size: 18px;
  color: #777;
}

#_desktop_user_info .account-dropdown-footer {
  border-top: 1px solid rgba(0,0,0,.06);
  margin-top: 6px;
  padding-top: 6px;
}

#_desktop_user_info .account-dropdown-footer .logout {
  color: #b42318;
}

/* mobile / narrow */
@media (max-width: 991px) {
  #_desktop_user_info.header-user-nav {
    gap: 8px;
  }

  #_desktop_user_info .aux-link span,
  #_desktop_user_info .account-eyebrow,
  #_desktop_user_info .account-cta {
    display: none;
  }

  #_desktop_user_info .sign-in-premium,
  #_desktop_user_info .account-trigger {
    min-height: 46px;
    padding: 6px 10px 6px 6px;
  }

  #_desktop_user_info .account-name {
    font-size: 13px;
  }
}

@media (max-width: 767px) {
  #_desktop_user_info .locator,
  #_desktop_user_info .track-order {
    display: none;
  }

  #_desktop_user_info .sign-in-premium,
  #_desktop_user_info .account-trigger {
    width: auto;
    max-width: 100%;
  }
}


/* =========================
   ACCOUNT MENU
   ========================= */

#_desktop_user_info.header-user-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

#_desktop_user_info .user-menu-block {
  position: relative;
}

#_desktop_user_info .user-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 6px 10px 6px 6px;
  border-radius: 999px;
  text-decoration: none;
  transition: all .24s ease;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  color: #000;
  box-shadow: 0 4px 18px rgba(0,0,0,.05);
}

#_desktop_user_info .user-menu-trigger:hover,
#_desktop_user_info .show .user-menu-trigger {
  color: #000;
  background: #fff;
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.09);
}

#_desktop_user_info .user-badge-icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: #f4f4f5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #000;
}

#_desktop_user_info .user-badge-icon svg {
  display: block;
  width: 16px;
  height: 16px;
  color: #000;
}

#_desktop_user_info .user-badge-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.05;
}

#_desktop_user_info .user-badge-label {
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a8a8a;
}

#_desktop_user_info .user-badge-value {
  font-size: 13px;
  font-weight: 600;
  color: #000;
  margin-top: 2px;
  max-width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#_desktop_user_info .user-badge-arrow {
  display: inline-flex;
  align-items: center;
  color: #777;
}

#_desktop_user_info .user-badge-arrow .material-icons {
  font-size: 18px;
}

#_desktop_user_info .user-menu-dropdown {
  min-width: 260px;
  margin-top: 12px;
  padding: 8px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
  overflow: hidden;
  right: 0;
  left: auto;
}

#_desktop_user_info .user-menu-dropdown li {
  list-style: none;
}

#_desktop_user_info .user-menu-dropdown a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 12px;
  color: #1f1f1f;
  text-decoration: none;
}

#_desktop_user_info .user-menu-dropdown a:hover {
  background: #f7f7f8;
  color: #111;
}

#_desktop_user_info .user-menu-head {
  margin-bottom: 6px;
}

#_desktop_user_info .user-menu-head a {
  display: block;
  padding: 12px 12px 14px;
  background: #fafafa;
  border-radius: 12px;
}

#_desktop_user_info .menu-head-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

#_desktop_user_info .user-menu-head small {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #7a7a7a;
  line-height: 1.35;
}

#_desktop_user_info .user-menu-divider {
  height: 1px;
  margin: 6px 4px;
  background: rgba(0,0,0,.06);
}

/* MOBILE: only icon, no overlap */
@media (max-width: 767px) {
  #_desktop_user_info.header-user-nav {
    position: static !important;
    transform: none !important;
    margin: 0;
    width: auto;
    z-index: auto;
  }

  #_desktop_user_info .user-menu-trigger {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    gap: 0;
    justify-content: center;
  }

  #_desktop_user_info .user-menu-trigger:hover,
  #_desktop_user_info .show .user-menu-trigger {
    background: transparent;
    box-shadow: none;
    border: 0;
  }

  #_desktop_user_info .user-badge-copy,
  #_desktop_user_info .user-badge-arrow {
    display: none !important;
  }

  #_desktop_user_info .user-badge-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    background: transparent;
    border-radius: 0;
    padding: 0;
  }

  #_desktop_user_info .user-badge-icon svg {
    width: 22px;
    height: 22px;
    color: #000;
  }

  #_desktop_user_info .user-menu-dropdown {
    right: 0;
    left: auto;
    min-width: 220px;
    max-width: calc(100vw - 20px);
    margin-top: 10px;
  }
}

@media (max-width: 767px) {
  #header .header-top,
  #header .header-nav,
  #header .container {
    position: relative;
    z-index:1;
  }
  
    .header-top .header-div .container .header-left {
        z-index: 1;
    }

  /* gruppo icone destro */
  #header #_desktop_user_info,
  #header .header-user-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* =========================
   ACCOUNT MENU
   ========================= */

#_desktop_user_info.header-user-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

#_desktop_user_info .user-menu-block {
  position: relative;
}

#_desktop_user_info .user-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 6px 10px 6px 6px;
  border-radius: 999px;
  text-decoration: none;
  transition: all .24s ease;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  color: #000;
  box-shadow: 0 4px 18px rgba(0,0,0,.05);
}

#_desktop_user_info .user-menu-trigger:hover,
#_desktop_user_info .show .user-menu-trigger {
  color: #000;
  background: #fff;
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.09);
}

#_desktop_user_info .user-badge-icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: #f4f4f5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #000;
}

#_desktop_user_info .user-badge-icon svg {
  display: block;
  width: 16px;
  height: 16px;
  color: #000;
}

#_desktop_user_info .user-badge-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.05;
}

#_desktop_user_info .user-badge-label {
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a8a8a;
}

#_desktop_user_info .user-badge-value {
  font-size: 13px;
  font-weight: 600;
  color: #000;
  margin-top: 2px;
  max-width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#_desktop_user_info .user-badge-arrow {
  display: inline-flex;
  align-items: center;
  color: #777;
}

#_desktop_user_info .user-badge-arrow .material-icons {
  font-size: 18px;
}

#_desktop_user_info .user-menu-dropdown {
  min-width: 260px;
  margin-top: 12px;
  padding: 8px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
  overflow: hidden;
  right: 0;
  left: auto;
}

#_desktop_user_info .user-menu-dropdown li {
  list-style: none;
}

#_desktop_user_info .user-menu-dropdown a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 12px;
  color: #1f1f1f;
  text-decoration: none;
}

#_desktop_user_info .user-menu-dropdown a:hover {
  background: #f7f7f8;
  color: #111;
}

#_desktop_user_info .user-menu-head {
  margin-bottom: 6px;
}

#_desktop_user_info .user-menu-head a {
  display: block;
  padding: 12px 12px 14px;
  background: #fafafa;
  border-radius: 12px;
}

#_desktop_user_info .menu-head-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

#_desktop_user_info .user-menu-head small {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #7a7a7a;
  line-height: 1.35;
}

#_desktop_user_info .user-menu-divider {
  height: 1px;
  margin: 6px 4px;
  background: rgba(0,0,0,.06);
}

#_desktop_user_info .user-menu-footer .logout {
  color: #b42318;
}


/* =========================
   MOBILE HEADER LAYOUT
   ========================= */

@media (max-width: 767px) {
  .header-top.header-top-main .container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .header-top.header-top-main .header-left,
  .header-top.header-top-main .header-right {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
  }

  .header-top.header-top-main .header-left {
    justify-content: flex-start;
  }

  .header-top.header-top-main .header-right {
    justify-content: flex-end;
    gap: 14px;
  }

  .header-top.header-top-main .header-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
  }

  .header-top.header-top-main .header-center a,
  .header-top.header-top-main .header-center img {
    pointer-events: auto;
  }

  .header-top.header-top-main .header_logo,
  .header-top.header-top-main #_desktop_logo {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header-top.header-top-main .header_logo .logo,
  .header-top.header-top-main #_desktop_logo .logo {
    display: block;
    max-height: 100px;
    width: auto;
    height: auto;
  }

  /* account icon only on mobile */
  #_desktop_user_info.header-user-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
  }

  #_desktop_user_info .user-menu-trigger {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    gap: 0;
    justify-content: center;
  }

  #_desktop_user_info .user-menu-trigger:hover,
  #_desktop_user_info .show .user-menu-trigger {
    background: transparent;
    box-shadow: none;
    border: 0;
  }

  #_desktop_user_info .user-badge-copy,
  #_desktop_user_info .user-badge-arrow {
    display: none !important;
  }

  #_desktop_user_info .user-badge-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    background: transparent;
    border-radius: 0;
    padding: 0;
    color: #000;
  }

  #_desktop_user_info .user-badge-icon svg {
    width: 22px;
    height: 22px;
    color: #000;
  }

  #_desktop_user_info .user-menu-dropdown {
    right: 0;
    left: auto;
    min-width: 220px;
    max-width: calc(100vw - 20px);
    margin-top: 12px;
  }

  /* normalize right icons */
  .header-top.header-top-main .header-right a,
  .header-top.header-top-main .header-right .blockcart,
  .header-top.header-top-main .header-right .search-widget,
  .header-top.header-top-main .header-right #_desktop_user_info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
  }

  .header-top.header-top-main .header-right .material-icons,
  .header-top.header-top-main .header-right i,
  .header-top.header-top-main .header-right svg {
    color: #000;
  }
  
  #_desktop_cart .carthome, #_mobile_cart .carthome{
      mask-size: 18px !important;
  }
}

.brands .products .product_list article.item .brand-area, .brands .products .product_list article.product_item .brand-area{
    background-color: transparent !important;
}

/* =========================================
   CP SIDE VERTICAL MENU — CLEAN RESET
   ========================================= */

.mobile .menu-open {
  font-size: 28px;
  color: #000;
  line-height: 1;
}

#cp_sidevertical_menu_top .title_menu-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-align: center;
}

#cp_sidevertical_menu_top .title_menu-eyebrow {
  font-size: 10px;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #9a9a9a;
  font-weight: 500;
}

#cp_sidevertical_menu_top .menu-item-label {
  display: inline-block;
  width: 100%;
  text-align: center;
}

@media (max-width: 991px) {
  #cp_sidevertical_menu_top {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transform: translateX(-102%) !important;
    opacity: 1 !important;
    z-index: 999999 !important;
  }

  #cp_sidevertical_menu_top.slide {
    transform: translateX(0) !important;
    opacity: 1 !important;
  }

  #cp_sidevertical_menu_top::before {
    content: "";
    position: fixed;
    inset: 0;
    background: #fff;
    z-index: -1;
  }

  /* header menu */
  #cp_sidevertical_menu_top .title_main_menu {
    position: sticky;
    top: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    min-height: 74px;
    padding: 14px 16px !important;
    margin: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  #cp_sidevertical_menu_top .title_menu-spacer {
    width: 44px;
    height: 44px;
  }

  #cp_sidevertical_menu_top .title_menu {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
    font-weight: 300 !important;
    color: #111 !important;
  }

  #cp_sidevertical_menu_top .menu-icon.active {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
  }

  #cp_sidevertical_menu_top .cat-title.title2 {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 50%;
  }

  #cp_sidevertical_menu_top .menu-close {
    font-size: 25px !important;
    color: #000 !important;
    line-height: 1 !important;
  }

  /* wrapper */
  #cp_sidevertical_menu_top #sidevertical_menu,
  #cp_sidevertical_menu_top #sidevertical_menu .js-top-menu.mobile {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
  }

  #cp_sidevertical_menu_top #top-menu.top-menu[data-depth="0"] {
    padding: 12px 0 24px !important;
    margin: 0 !important;
    list-style: none !important;
  }

  #cp_sidevertical_menu_top #top-menu > li {
    position: relative;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  }

  /* livello 0 */
  #cp_sidevertical_menu_top .top-menu > li > a[data-depth="0"],
  #cp_sidevertical_menu_top .top-menu > li > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    margin: 0 !important;
    padding: 0 56px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-align: center !important;
    color: #111 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
  }

  #cp_sidevertical_menu_top .top-menu > li.current > a {
    font-weight: 400 !important;
    color: #000 !important;
  }

  /* toggler submenu */
  #cp_sidevertical_menu_top .top-menu .pull-xs-right {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
  }

  #cp_sidevertical_menu_top .top-menu .navbar-toggler,
  #cp_sidevertical_menu_top .top-menu .collapse-icons {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f5f5f5 !important;
    box-shadow: none !important;
  }

  #cp_sidevertical_menu_top .top-menu .collapse-icons .material-icons {
    font-size: 18px !important;
    color: #111 !important;
    line-height: 1 !important;
  }

  /* submenu: IMPORTANTISSIMO, non toccare il collapse Bootstrap */
  #cp_sidevertical_menu_top .top-menu .sub-menu {
    position: relative !important;
    width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    float: none !important;
  }

  #cp_sidevertical_menu_top .top-menu .collapse {
    display: none;
  }

  #cp_sidevertical_menu_top .top-menu .collapse.in {
    display: block;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="1"],
  #cp_sidevertical_menu_top .top-menu[data-depth="2"],
  #cp_sidevertical_menu_top .top-menu[data-depth="3"] {
    margin: 0 !important;
    padding: 0 !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="1"] li,
  #cp_sidevertical_menu_top .top-menu[data-depth="2"] li,
  #cp_sidevertical_menu_top .top-menu[data-depth="3"] li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="1"] li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 0 !important;
    padding: 8px 24px !important;
    text-align: center !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 300 !important;
    color: #444 !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="2"] li a {
    min-height: 38px;
    padding: 8px 26px !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: #666 !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="3"] li a {
    min-height: 36px;
    padding: 8px 28px !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #7a7a7a !important;
  }

  /* toglie frecce decorative vecchie */
  #cp_sidevertical_menu_top .top-menu[data-depth="1"] li a::before,
  #cp_sidevertical_menu_top .top-menu[data-depth="2"] li a::before,
  #cp_sidevertical_menu_top .top-menu[data-depth="3"] li a::before,
  #cp_sidevertical_menu_top .top-menu > li > a::before,
  #cp_sidevertical_menu_top .top-menu > li > a::after {
    display: none !important;
    content: none !important;
  }

  /* footer vuoto */
  #cp_sidevertical_menu_top .verticalmenu-side,
  #cp_sidevertical_menu_top .verticalmenu-side--empty,
  #cp_sidevertical_menu_top .vertical-side-top-text,
  #cp_sidevertical_menu_top #cpnav1cmsblock,
  #cp_sidevertical_menu_top .vertical_language,
  #cp_sidevertical_menu_top .vertical_currency {
    display: none !important;
  }
}

@media (max-width: 575px) {
  #cp_sidevertical_menu_top .title_main_menu {
    min-height: 70px;
    padding: 12px 14px !important;
    grid-template-columns: 40px 1fr 40px;
  }

  #cp_sidevertical_menu_top .title_menu-spacer,
  #cp_sidevertical_menu_top .menu-icon.active,
  #cp_sidevertical_menu_top .cat-title.title2 {
    width: 40px;
    height: 40px;
  }

  #cp_sidevertical_menu_top .title_menu {
    font-size: 19px !important;
  }

  #cp_sidevertical_menu_top .top-menu > li > a[data-depth="0"],
  #cp_sidevertical_menu_top .top-menu > li > a {
    min-height: 58px;
    padding: 0 52px !important;
    font-size: 17px !important;
  }

  #cp_sidevertical_menu_top .top-menu .pull-xs-right {
    right: 12px;
  }
}

/* =========================================
   PATCH — NASCONDE LOGO / HEADER-RIGHT
   QUANDO IL MENU MOBILE È APERTO
   ========================================= */

@media (max-width: 991px) {
  /* il drawer resta sopra tutto */
  #cp_sidevertical_menu_top {
    z-index: 2147483647 !important;
  }

  #cp_sidevertical_menu_top.slide {
    z-index: 2147483647 !important;
  }

  /* quando il side menu è aperto:
     nasconde i fratelli dentro il tuo header mobile */
  .header-top.header-top-main .header-left:has(#cp_sidevertical_menu_top.slide) ~ .header-center,
  .header-top.header-top-main .header-left:has(#cp_sidevertical_menu_top.slide) ~ .header-right {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ulteriore sicurezza: abbassa il layer di centro e destra */
  .header-top.header-top-main .header-center,
  .header-top.header-top-main .header-right,
  .header-top.header-top-main .header-right .blockcart,
  .header-top.header-top-main .header-right .search-widget,
  .header-top.header-top-main .header-right #_desktop_user_info {
    z-index: 1 !important;
  }
}

/* =========================================
   PATCH — HEADER MENU STICKY MA PIENO BIANCO
   ========================================= */

@media (max-width: 991px) {
  #cp_sidevertical_menu_top .title_main_menu {
    position: sticky;
    top: 0;
    z-index: 2147483647 !important;
    background: #fff !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  #cp_sidevertical_menu_top .title_main_menu::before,
  #cp_sidevertical_menu_top .title_main_menu::after {
    content: none !important;
    display: none !important;
  }

  #cp_sidevertical_menu_top #sidevertical_menu,
  #cp_sidevertical_menu_top .js-top-menu.mobile,
  #cp_sidevertical_menu_top .top-menu,
  #cp_sidevertical_menu_top .sub-menu,
  #cp_sidevertical_menu_top .collapse {
    background: #fff !important;
  }
}

/* =========================
   PREMIUM PROFESSIONAL FOOTER
========================= */

.footer-premium {
  background: #000;
  color: #fff;
  margin-top: 0px;
  position: relative;
  overflow: hidden;
}

.footer-premium,
.footer-premium p,
.footer-premium span,
.footer-premium li,
.footer-premium div,
.footer-premium strong,
.footer-premium small,
.footer-premium label {
  color: #fff;
}

.footer-premium a {
  color: #fff;
  text-decoration: none;
  transition: all 0.25s ease;
}

.footer-premium a:hover {
  color: #d9d9d9;
}

.footer-premium .footer-before {
  background: #0a0a0a;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.footer-premium .footer-main {
  background: linear-gradient(180deg, #080808 0%, #000000 100%);
  padding: 60px 0 35px;
}

.footer-premium__grid {
  display: grid;
  grid-template-columns: minmax(280px, 380px) 1fr;
  gap: 50px;
  align-items: start;
}

.footer-premium__brand {
  max-width: 380px;
}

.footer-premium__logo {
  display: inline-block;
  margin-bottom: 18px;
}

.footer-premium__logo img {
  display: block;
  width: auto;
  max-width: 80px;
  max-height: 80px;
  height: auto;
}

.footer-premium__brand-name {
  display: inline-block;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

.footer-premium__title {
  margin: 0 0 14px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
}

.footer-premium__text {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.72);
}

.footer-premium__contact {
  margin-top: 10px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

/* forza i colori sui moduli prestashop */
.footer-premium__contact,
.footer-premium__contact p,
.footer-premium__contact a,
.footer-premium__contact span,
.footer-premium__contact li,
.footer-premium__contact strong,
.footer-premium__content,
.footer-premium__content p,
.footer-premium__content a,
.footer-premium__content span,
.footer-premium__content li,
.footer-premium__content label,
.footer-premium__content h3,
.footer-premium__content h4,
.footer-premium__content .h3,
.footer-premium__content .title,
.footer-premium .block-contact,
.footer-premium .links,
.footer-premium .block_newsletter,
.footer-premium [class*="footer"] {
  color: #fff !important;
}

.footer-premium__content h3,
.footer-premium__content h4,
.footer-premium__content .h3,
.footer-premium__content .title {
  font-size: 18px;
  font-weight: 700;
  color: #fff !important;
}

.footer-premium__content ul,
.footer-premium__contact ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-premium__content ul li,
.footer-premium__contact ul li {
  margin-bottom: 10px;
}

.footer-premium__content ul li a,
.footer-premium__contact a {
  color: rgba(255,255,255,0.75) !important;
}

.footer-premium__content ul li a:hover,
.footer-premium__contact a:hover {
  color: #fff !important;
}

/* campi form footer */
.footer-premium input,
.footer-premium textarea,
.footer-premium select {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px;
  box-shadow: none !important;
}

.footer-premium input::placeholder,
.footer-premium textarea::placeholder {
  color: rgba(255,255,255,0.45) !important;
}

.footer-premium button,
.footer-premium .btn {
  border-radius: 10px;
}

/* bottom bar */
.footer-bottom {
  background: #050505;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 18px 0;
}

.footer-bottom__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.footer-bottom__left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.footer-bottom__copy {
  margin: 0;
  font-size: 13px;
  color: rgba(255,255,255,0.65);
}

.footer-bottom__credits {
  margin: 0;
  font-size: 13px;
  color: rgba(255,255,255,0.65);
}

.footer-bottom__credits a {
  color: #fff !important;
  font-weight: 600;
}

.footer-bottom__credits a:hover {
  color: #d9d9d9 !important;
}

.footer-bottom__extra,
.footer-bottom__extra p,
.footer-bottom__extra a,
.footer-bottom__extra span,
.footer-bottom__extra li {
  color: rgba(255,255,255,0.65) !important;
}

/* pulsante torna su */
.premium-top-button,
.top_button {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #111;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
  cursor: pointer;
  z-index: 99;
  transition: all 0.25s ease;
}

.premium-top-button:hover,
.top_button:hover {
  background: #1d1d1d;
  transform: translateY(-3px);
}

/* colonne moduli più ordinate */
.footer-premium__content .row {
  margin-left: 0;
  margin-right: 0;
}

.footer-premium__content .row > div,
.footer-premium__content .block,
.footer-premium__content section {
  margin-bottom: 20px;
}

/* tablet */
@media (max-width: 991px) {
  .footer-premium .footer-main {
    padding: 45px 0 25px;
  }

  .footer-premium__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .footer-premium__brand {
    max-width: 100%;
  }

  .footer-premium__logo img {
    max-width: 80px;
    max-height: 80px;
  }
}

/* mobile */
@media (max-width: 767px) {

  .footer-premium__grid {
    grid-template-columns: 1fr;
    gap: 0px;
    text-align: center;
  }

  .footer-premium__brand {
    max-width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .footer-premium__logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 16px;
  }

  .footer-premium__logo img {
    max-width: 80px;
    max-height: 80px;
    margin: 0 auto;
  }

  .footer-premium__brand-name {
    text-align: center;
  }

  .footer-premium__title {
    font-size: 24px;
    text-align: center;
  }

  .footer-premium__text {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-premium__contact {
    text-align: center;
  }

  .footer-premium__contact ul,
  .footer-premium__content ul {
    text-align: center;
  }

  .footer-premium__content,
  .footer-premium__content .row,
  .footer-premium__content .row > div,
  .footer-premium__content .block,
  .footer-premium__content section,
  .footer-premium__content .links,
  .footer-premium__content .wrapper {
    text-align: center !important;
  }

  .footer-premium__content h3,
  .footer-premium__content h4,
  .footer-premium__content .h3,
  .footer-premium__content .title {
    text-align: center !important;
  }

  .footer-bottom {
    padding: 16px 0;
  }

  .footer-bottom__inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
  }

  .footer-bottom__left {
    align-items: center;
    text-align: center;
  }

  .footer-bottom__copy,
  .footer-bottom__credits,
  .footer-bottom__extra,
  .footer-bottom__extra p,
  .footer-bottom__extra a,
  .footer-bottom__extra span {
    text-align: center !important;
  }

  .premium-top-button,
  .top_button {
    right: 15px;
    bottom: 15px;
    width: 42px;
    height: 42px;
  }
}

/* =========================================
   DESKTOP — SIDE MENU STESSO STILE DEL MOBILE
   ========================================= */

@media (min-width: 992px) {
  #cp_sidevertical_menu_top {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 420px !important;
    max-width: 420px !important;
    min-width: 420px !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 18px 0 50px rgba(0, 0, 0, 0.10) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transform: translateX(-102%) !important;
    opacity: 1 !important;
    z-index: 999999 !important;
  }

  #cp_sidevertical_menu_top.slide {
    transform: translateX(0) !important;
  }

  #cp_sidevertical_menu_top::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 420px;
    height: 100vh;
    background: #fff;
    z-index: -1;
  }

  /* header menu desktop */
  #cp_sidevertical_menu_top .title_main_menu {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    min-height: 82px;
    padding: 18px 22px !important;
    margin: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  #cp_sidevertical_menu_top .title_menu-spacer {
    width: 44px;
    height: 44px;
  }

  #cp_sidevertical_menu_top .title_menu-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-align: center;
  }

  #cp_sidevertical_menu_top .title_menu-eyebrow {
    font-size: 10px;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #9a9a9a;
    font-weight: 500;
  }

  #cp_sidevertical_menu_top .title_menu {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    font-size: 21px !important;
    line-height: 1.1 !important;
    font-weight: 300 !important;
    color: #111 !important;
  }

  #cp_sidevertical_menu_top .menu-icon.active {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
  }

  #cp_sidevertical_menu_top .cat-title.title2 {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 50%;
  }

  #cp_sidevertical_menu_top .menu-close {
    font-size: 25px !important;
    color: #000 !important;
    line-height: 1 !important;
  }

  /* wrapper */
  #cp_sidevertical_menu_top #sidevertical_menu,
  #cp_sidevertical_menu_top #sidevertical_menu .js-top-menu.mobile {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
  }

  #cp_sidevertical_menu_top #top-menu.top-menu[data-depth="0"] {
    padding: 16px 0 28px !important;
    margin: 0 !important;
    list-style: none !important;
  }

  #cp_sidevertical_menu_top #top-menu > li {
    position: relative;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  }

  /* livello 0 */
  #cp_sidevertical_menu_top .top-menu > li > a[data-depth="0"],
  #cp_sidevertical_menu_top .top-menu > li > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    margin: 0 !important;
    padding: 0 62px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-align: center !important;
    color: #111 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
  }

  #cp_sidevertical_menu_top .top-menu > li.current > a {
    font-weight: 400 !important;
    color: #000 !important;
  }

  /* toggler submenu */
  #cp_sidevertical_menu_top .top-menu .pull-xs-right {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
  }

  #cp_sidevertical_menu_top .top-menu .navbar-toggler,
  #cp_sidevertical_menu_top .top-menu .collapse-icons {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f5f5f5 !important;
    box-shadow: none !important;
  }

  #cp_sidevertical_menu_top .top-menu .collapse-icons .material-icons {
    font-size: 18px !important;
    color: #111 !important;
    line-height: 1 !important;
  }

  /* submenu */
  #cp_sidevertical_menu_top .top-menu .sub-menu {
    position: relative !important;
    width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    float: none !important;
  }

  #cp_sidevertical_menu_top .top-menu .collapse {
    display: none;
  }

  #cp_sidevertical_menu_top .top-menu .collapse.in {
    display: block;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="1"],
  #cp_sidevertical_menu_top .top-menu[data-depth="2"],
  #cp_sidevertical_menu_top .top-menu[data-depth="3"] {
    margin: 0 !important;
    padding: 0 !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="1"] li,
  #cp_sidevertical_menu_top .top-menu[data-depth="2"] li,
  #cp_sidevertical_menu_top .top-menu[data-depth="3"] li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="1"] li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0 !important;
    padding: 8px 28px !important;
    text-align: center !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 300 !important;
    color: #444 !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="2"] li a {
    min-height: 40px;
    padding: 8px 30px !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: #666 !important;
  }

  #cp_sidevertical_menu_top .top-menu[data-depth="3"] li a {
    min-height: 38px;
    padding: 8px 32px !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #7a7a7a !important;
  }

  /* pulizia frecce vecchie */
  #cp_sidevertical_menu_top .top-menu[data-depth="1"] li a::before,
  #cp_sidevertical_menu_top .top-menu[data-depth="2"] li a::before,
  #cp_sidevertical_menu_top .top-menu[data-depth="3"] li a::before,
  #cp_sidevertical_menu_top .top-menu > li > a::before,
  #cp_sidevertical_menu_top .top-menu > li > a::after {
    display: none !important;
    content: none !important;
  }
}


/* =========================================
   FIX TOGGLER + / - SEMPRE FISSO
   MOBILE + DESKTOP
   ========================================= */

#cp_sidevertical_menu_top .top-menu > li,
#cp_sidevertical_menu_top .top-menu li {
  position: relative;
}

#cp_sidevertical_menu_top .top-menu > li > a,
#cp_sidevertical_menu_top .top-menu li > a {
  position: relative;
}

/* il contenitore del toggler resta ancorato al li */
#cp_sidevertical_menu_top .top-menu .pull-xs-right {
  position: absolute !important;
  right: 14px;
  top: 30px;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  z-index: 3;
}

/* desktop un filo più arioso */
@media (min-width: 992px) {
  #cp_sidevertical_menu_top .top-menu .pull-xs-right {
    right: 18px;
    top: 32px;
  }
}

/* bottone + / - sempre uguale */
#cp_sidevertical_menu_top .top-menu .navbar-toggler,
#cp_sidevertical_menu_top .top-menu .collapse-icons {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f5f5f5 !important;
  box-shadow: none !important;
  vertical-align: middle;
}

#cp_sidevertical_menu_top .top-menu .collapse-icons .material-icons {
  position: absolute;
  inset: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #111 !important;
  margin: 0 !important;
}

/* mostra solo una icona per volta */
#cp_sidevertical_menu_top .top-menu .collapse-icons .remove {
  opacity: 0;
  visibility: hidden;
}

#cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .add,
#cp_sidevertical_menu_top .top-menu .navbar-toggler[aria-expanded="true"] .add {
  opacity: 0;
  visibility: hidden;
}

#cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .remove,
#cp_sidevertical_menu_top .top-menu .navbar-toggler[aria-expanded="true"] .remove {
  opacity: 1;
  visibility: visible;
}

/* il testo del link non deve urtare il toggler */
#cp_sidevertical_menu_top .top-menu > li > a[data-depth="0"],
#cp_sidevertical_menu_top .top-menu > li > a {
  padding-right: 64px !important;
}

/* submenu non deve spostare il bottone */
#cp_sidevertical_menu_top .top-menu .sub-menu,
#cp_sidevertical_menu_top .top-menu .collapse {
  clear: both;
}

/* livelli interni: niente toggler ballerino */
#cp_sidevertical_menu_top .top-menu[data-depth="1"] li,
#cp_sidevertical_menu_top .top-menu[data-depth="2"] li,
#cp_sidevertical_menu_top .top-menu[data-depth="3"] li {
  position: relative;
}

/* =========================================
   FIX CERCHIO + / - PERFETTAMENTE CENTRATO
   ========================================= */

#cp_sidevertical_menu_top .top-menu .navbar-toggler,
#cp_sidevertical_menu_top .top-menu .collapse-icons {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f5f5f5 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

#cp_sidevertical_menu_top .top-menu .collapse-icons .material-icons,
#cp_sidevertical_menu_top .top-menu .navbar-toggler .material-icons {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 18px !important;
  display: block !important;
  text-align: center !important;
  transform: translate(-50%, -50%) !important;
}

/* correzione fine: il - otticamente tende a stare più alto */
#cp_sidevertical_menu_top .top-menu .collapse-icons .remove,
#cp_sidevertical_menu_top .top-menu .navbar-toggler .remove {
  transform: translate(-50%, -50%) !important;
}

/* mostra una sola icona */
#cp_sidevertical_menu_top .top-menu .collapse-icons .remove,
#cp_sidevertical_menu_top .top-menu .navbar-toggler .remove {
  opacity: 0;
  visibility: hidden;
}

#cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .add,
#cp_sidevertical_menu_top .top-menu .navbar-toggler[aria-expanded="true"] .add {
  opacity: 0;
  visibility: hidden;
}

#cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .remove,
#cp_sidevertical_menu_top .top-menu .navbar-toggler[aria-expanded="true"] .remove {
  opacity: 1;
  visibility: visible;
}

.header-top-main.bg_main{
    z-index: 0 !important;
}

.header-top-main, .header-top-main.fixed{
    z-index: 1 !important;
}

@media (max-width: 991px) {

  /* la fascia che contiene hamburger + logo + icone */
  .header-top.header-top-main .header-div {
    overflow: visible; /* era hidden: tagliava il dropdown ajax cart */
    max-height: 140px;
    opacity: 1;
    transform: translateY(0);
    transition:
      max-height 0.32s ease,
      opacity 0.28s ease,
      transform 0.28s ease,
      padding 0.28s ease,
      margin 0.28s ease;
    will-change: max-height, opacity, transform;
  }

  body.mobile-header-scrolled .header-top.header-top-main .header-div {
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
  }

  /* evita buco residuo se il tema mette spazi verticali */
  .header-top.header-top-main {
    overflow: visible; /* sicurezza extra */
    transition: margin 0.28s ease, padding 0.28s ease, min-height 0.28s ease;
  }

  body.mobile-header-scrolled .header-top.header-top-main {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
  }

  /* la barra search resta stabile */
  .header-top-main.bg_main,
  .header-top-main.bg_main .container {
    overflow: visible; /* evita clipping se il dropdown si sovrappone */
    transition: transform 0.28s ease, opacity 0.28s ease;
  }

  /* popup/ajax cart sopra a tutto */
  .header-top.header-top-main .blockcart,
  .header-top.header-top-main #_mobile_cart,
  .header-top.header-top-main .shopping_cart,
  .header-top.header-top-main .cart_block,
  .header-top.header-top-main .dropdown-menu,
  .header-top.header-top-main .popup_cart,
  .header-top.header-top-main .ajax_cart_popup,
  .header-top.header-top-main .cart-preview.active .body,
  .header-top.header-top-main .cart-preview.active .dropdown-menu {
    position: relative;
    z-index: 9999;
  }
}

/* =========================================================
   STICKY ADD TO CART MOBILE — full responsive robusto
   ========================================================= */

@media (max-width: 991.98px) {

  .pro-stickybar{
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
    box-sizing: border-box;
  }

  .pro-sticky-inner{
    width: 100%;
    max-width: 100%;
  }

  .pro-sticky-row{
    display: flex;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    max-width: 100%;
  }

  /* qty: non deve mai esplodere in larghezza */
  .pro-qty.pro-qty--sticky{
    display: flex;
    align-items: stretch;
    flex: 0 0 auto;
    width: clamp(98px, 29vw, 124px);
    min-width: 98px;
    max-width: 124px;
    height: 48px;
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;
    background: #fff;
  }

  .pro-qty--sticky .pro-qty-btn{
    flex: 0 0 clamp(32px, 9vw, 40px);
    width: clamp(32px, 9vw, 40px);
    min-width: 32px;
    max-width: 40px;
    padding: 0;
    margin: 0;
    border: 0;
    font-size: clamp(18px, 4.8vw, 22px);
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }

  .pro-qty--sticky .pro-qty-input{
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    padding: 0 4px;
    margin: 0;
    border: 0;
    text-align: center;
    font-size: clamp(14px, 3.8vw, 16px);
    line-height: 1;
    box-sizing: border-box;
    background: #fff;
  }

  /* CTA prende tutto lo spazio restante */
  .pro-add-to-cart--sticky{
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    height: 48px;
    padding: 0 14px;
    border-radius: 12px;
    font-size: clamp(12px, 3.3vw, 14px);
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
  }

}

/* telefoni piccoli */
@media (max-width: 575.98px) {

  .pro-stickybar{
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  }

  .pro-sticky-row{
    gap: 6px;
  }

  .pro-qty.pro-qty--sticky{
    width: 98px;
    min-width: 98px;
    max-width: 98px;
    height: 46px;
  }

  .pro-qty--sticky .pro-qty-btn{
    flex-basis: 32px;
    width: 32px;
    min-width: 32px;
    font-size: 18px;
  }

  .pro-qty--sticky .pro-qty-input{
    padding: 0 2px;
    font-size: 14px;
  }

  .pro-add-to-cart--sticky{
    height: 46px;
    padding: 0 10px;
    font-size: 12px;
    letter-spacing: .2px;
  }

}

/* telefoni molto piccoli tipo 320–360 */
@media (max-width: 389.98px) {

  .pro-stickybar{
    padding: 7px 7px calc(7px + env(safe-area-inset-bottom));
  }

  .pro-sticky-row{
    gap: 5px;
  }

  .pro-qty.pro-qty--sticky{
    width: 92px;
    min-width: 92px;
    max-width: 92px;
    height: 44px;
    border-radius: 10px;
  }

  .pro-qty--sticky .pro-qty-btn{
    flex-basis: 30px;
    width: 30px;
    min-width: 30px;
    font-size: 17px;
  }

  .pro-qty--sticky .pro-qty-input{
    font-size: 13px;
    padding: 0 1px;
  }

  .pro-add-to-cart--sticky{
    height: 44px;
    padding: 0 8px;
    border-radius: 10px;
    font-size: 11px;
    letter-spacing: 0;
  }

}

.newproduct-swiper {
  overflow: hidden;
  width: 100%;
}

.newproduct-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.newproduct-swiper .swiper-slide {
  height: auto;
  flex-shrink: 0;
}

.newproduct-swiper .product_item {
  height: 100%;
}

.vp-entry-footer a {
  display: inline-block;
  padding: 12px 24px;
  background: #fff;
  color: #000;
  border: 2px solid #fff;
  border-radius: 0;
  text-decoration: none;
  font-weight: 600;
  text-transform: uppercase;
}

.vp-entry-footer a:hover {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
}
.ps-payment-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 12px 0;
}

.ps-payment-icons img {
  display: block;
  width: 38px;
  height: 24px;
  max-width: 100%;
  object-fit: contain;
}

/* tablet */
@media (max-width: 991px) {
  .ps-payment-icons {
    gap: 8px;
  }

  .ps-payment-icons img {
    width: 36px;
    height: 23px;
  }
}

/* mobile */
@media (max-width: 767px) {
  .ps-payment-icons {
    gap: 6px;
    justify-content: center;
  }

  .ps-payment-icons img {
    width: 34px;
    height: 22px;
  }
}

/* mobile piccolo */
@media (max-width: 480px) {
  .ps-payment-icons {
    gap: 5px;
  }

  .ps-payment-icons img {
    width: 30px;
    height: 19px;
  }
}



.contact-clean-container {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
  padding: 0 36px;
}

.contact-clean-header {
  margin: 0 0 28px;
}

.contact-clean-header h1 {
  margin: 0 0 10px;
  font-size: 56px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #111;
}

.contact-clean-header p {
  margin: 0;
  max-width: 780px;
  font-size: 16px;
  line-height: 1.7;
  color: #666;
}

.contact-clean-map {
  margin-bottom: 34px;
  overflow: hidden;
  background: #ececec;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.06);
}

.contact-clean-map iframe {
  display: block;
  width: 100%;
  min-height: 440px;
}



.contact-clean-form-card {
  padding: 36px 32px;
}

.contact-clean-form-card h2 {
  margin: 0 0 14px;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 600;
  color: #111;
}

.contact-clean-intro {
  margin: 0 0 24px;
  color: #666;
  font-size: 15px;
  line-height: 1.7;
}

/* neutralizza la vecchia colonna */
.contact-clean-info #left-column {
  float: none;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* recapiti automatici */
.contact-clean-info .block-contact,
.contact-clean-info .block-contact .data,
.contact-clean-info .block-contact .title,
.contact-clean-info .block-contact p,
.contact-clean-info .block-contact a,
.contact-clean-info .block-contact span,
.contact-clean-info .block-contact div,
.contact-clean-info address,
.contact-clean-info li {
  color: #111;
}

.contact-clean-info .block-contact {
  margin: 0;
}

.contact-clean-info p,
.contact-clean-info li,
.contact-clean-info address {
  font-size: 15px;
  line-height: 1.8;
}

.contact-clean-info ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-clean-info li {
  margin-bottom: 14px;
}

.contact-clean-info a {
  text-decoration: none;
}

.contact-clean-info a:hover {
  text-decoration: underline;
}

.contact-clean-info h3,
.contact-clean-info h4,
.contact-clean-info .h3,
.contact-clean-info .title {
  margin: 0 0 18px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 600;
  color: #111;
}

/* form */
.contact-clean-form-card form {
  margin: 0;
}

.contact-clean-form-card .row {
  margin-left: -10px;
  margin-right: -10px;
}

.contact-clean-form-card .row > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px;
}

.contact-clean-form-card .form-group {
  margin-bottom: 18px;
}

.contact-clean-form-card label {
  display: block;
  margin-bottom: 8px;
  color: #111;
  font-size: 13px;
  font-weight: 500;
}

.contact-clean-form-card .form-control,
.contact-clean-form-card input[type="text"],
.contact-clean-form-card input[type="email"],
.contact-clean-form-card input[type="tel"],
.contact-clean-form-card input[type="password"],
.contact-clean-form-card select,
.contact-clean-form-card textarea {
  width: 100%;
  min-height: 54px;
  padding: 12px 16px;
  border: 1px solid #cfcfcf;
  border-radius: 0;
  background: #fff;
  color: #111;
  font-size: 14px;
  box-shadow: none;
}

.contact-clean-form-card textarea {
  min-height: 220px;
  resize: vertical;
}

.contact-clean-form-card .form-control:focus,
.contact-clean-form-card input:focus,
.contact-clean-form-card select:focus,
.contact-clean-form-card textarea:focus {
  border-color: #111;
  outline: none;
  box-shadow: none;
}

.contact-clean-form-card .btn,
.contact-clean-form-card button[type="submit"],
.contact-clean-form-card input[type="submit"] {
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 0;
  background: #000;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: none;
}

.contact-clean-form-card .btn:hover,
.contact-clean-form-card button[type="submit"]:hover,
.contact-clean-form-card input[type="submit"]:hover {
  opacity: 0.9;
}

.contact-clean-form-card .custom-checkbox,
.contact-clean-form-card .gdpr_consent,
.contact-clean-form-card .form-footer,
.contact-clean-form-card .submit {
  margin-top: 16px;
}

/* nasconde allegato */
.contact-clean-form-card input[type="file"],
.contact-clean-form-card .form-control-file,
.contact-clean-form-card .custom-file,
.contact-clean-form-card .file-input {
  display: none !important;
}

.contact-clean-form-card .form-group:has(input[type="file"]),
.contact-clean-form-card .form-group:has(.form-control-file),
.contact-clean-form-card .form-group:has(.custom-file),
.contact-clean-form-card .form-group:has(.file-input) {
  display: none !important;
}

@media (max-width: 1199px) {
  .contact-clean-header h1 {
    font-size: 48px;
  }
}

@media (max-width: 991px) {
  .contact-clean-container {
    padding: 0 22px;
  }

  .contact-clean-header h1 {
    font-size: 40px;
  }

  .contact-clean-map iframe {
    min-height: 320px;
  }

  .contact-clean-info,
  .contact-clean-form-card {
    padding-left: 22px;
    padding-right: 22px;
  }

  .contact-clean-form-card {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

@media (max-width: 767px) {
  .contact-clean-page {
    padding: 14px 0 50px;
  }

  .contact-clean-container {
    padding: 0 14px;
  }

  .contact-clean-header {
    margin-bottom: 20px;
  }

  .contact-clean-header h1 {
    font-size: 30px;
  }

  .contact-clean-header p {
    font-size: 14px;
  }

  .contact-clean-map {
    margin-bottom: 22px;
  }

  .contact-clean-map iframe {
    min-height: 240px;
  }

  .contact-clean-form-card h2,
  .contact-clean-info h3,
  .contact-clean-info h4,
  .contact-clean-info .h3,
  .contact-clean-info .title {
    font-size: 24px;
  }

  .contact-clean-info,
  .contact-clean-form-card {
    padding: 18px 16px;
  }

  .contact-clean-form-card textarea {
    min-height: 180px;
  }
}

.contact-form-pro .contact-form-title {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 600;
  color: #111;
}

.contact-form-pro .contact-form-row-title {
  margin-bottom: 10px;
}

.contact-form-pro .form-control-comment {
  margin-top: 8px;
  font-size: 13px;
  color: #777;
}

.contact-form-pro .contact-form-alert-list {
  margin: 0;
  padding-left: 18px;
}

.contact-form-pro .contact-form-footer {
  margin-top: 24px;
}

.contact-form-pro .contact-form-submit {
  min-width: 220px;
}

.contact-form-pro textarea.form-control {
  min-height: 220px;
}

/* RESET PAGINA CMS */
body#cms.cms-id-4 .breadcrumb,
body#cms.cms-id-4 nav.breadcrumb,
body#cms.cms-id-4 .page-header,
body#cms.cms-id-4 #left-column,
body#cms.cms-id-4 #right-column {
  display: none !important;
}

body#cms.cms-id-4 #content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#cms.cms-id-4 #main {
  max-width: 100% !important;
  width: 100% !important;
}

body#cms.cms-id-4 #content.page-cms-custom-about {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#cms.cms-id-4 .page-cms-custom-about .va-about {
  width: 100%;
  margin: 0;
  padding: 0;
}
/* BASE */
.valentine-about-page {
  font-family: serif;
  color: #181310;
  background: #f8f4ef;
}

.valentine-about-page img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* HERO */
.va-hero {
  display: flex;
  min-height: 700px;
}

.va-hero-copy {
  width: 35%;
  background: #ede4d8;
  padding: 70px 40px;
}

.va-hero-copy h1 {
  font-size: 70px;
  line-height: .9;
  color: #3f2f27;
  font-style: italic;
}

.va-hero-media {
  width: 65%;
}

/* INFO */
.va-info-band {
  display: flex;
  background: #3f2f27;
  color: #fff;
  padding: 50px;
}

.va-info-col {
  width: 50%;
}

/* MANIFESTO */
.va-manifesto {
  padding: 50px;
}

.va-manifesto h2 {
  font-size: 100px;
  line-height: .9;
}

.va-manifesto span {
  color: #8a5c46;
}

/* BOUTIQUE */
.va-boutique {
  display: flex;
}

.va-boutique-copy {
  width: 40%;
  background: #6b4b3e;
  color: white;
  padding: 60px;
}

.va-boutique-media {
  width: 60%;
}

/* EDITORIAL */
.va-editorial {
  display: flex;
  padding: 60px;
}

.va-editorial-col {
  width: 50%;
}

/* SENSORY */
.va-sensory {
  display: flex;
}

.va-sensory-media {
  width: 50%;
}

.va-sensory-copy {
  width: 50%;
  background: #2b211c;
  color: white;
  padding: 60px;
}

/* CONTACT */
.va-contact {
  background: #181310;
  color: white;
  text-align: center;
  padding: 60px;
}

/* BRAND */
.va-brand-slider {
  background: white;
  padding: 60px;
  text-align: center;
}

/* MOBILE */
@media (max-width: 991px) {
  .va-hero,
  .va-boutique,
  .va-editorial,
  .va-sensory,
  .va-info-band {
    flex-direction: column;
  }

  .va-hero-copy,
  .va-hero-media,
  .va-boutique-copy,
  .va-boutique-media,
  .va-editorial-col,
  .va-sensory-media,
  .va-sensory-copy,
  .va-info-col {
    width: 100%;
  }

  .va-manifesto h2 {
    font-size: 50px;
  }
}

/* =========================================
   SOLO PAGINA CMS ID 4 - CHI SIAMO
========================================= */

/* nasconde solo il breadcrumb di questa pagina */
body#cms.cms-id-4 #breadcrumb_wrapper,
body#cms.cms-id-4 nav.breadcrumb,
body#cms.cms-id-4 .breadcrumb,
body#cms.cms-id-4 .page-header,
body#cms.cms-id-4 .page-title {
  display: none !important;
}



/* font */
body#cms.cms-id-4 .va-about {
  font-family: Georgia, "Times New Roman", serif;
  background: #f6f1ea;
  color: #1a1411;
}

body#cms.cms-id-4 .va-about p {
  margin: 0 0 16px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #2f2824;
}

body#cms.cms-id-4 .va-about h1,
body#cms.cms-id-4 .va-about h2 {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #1a1411;
}

body#cms.cms-id-4 .va-about img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* hero */
body#cms.cms-id-4 .va-about__hero {
  display: flex;
  flex-wrap: wrap;
  min-height: 680px;
}

body#cms.cms-id-4 .va-about__hero-copy {
  width: 36%;
  background: #e7ddd0;
  padding: 70px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body#cms.cms-id-4 .va-about__hero-copy h1 {
  font-size: 72px;
  line-height: 0.9;
  color: #3b2c24;
  font-style: italic;
}

body#cms.cms-id-4 .va-about__hero-media {
  width: 64%;
  min-height: 680px;
}

/* fascia scura */
body#cms.cms-id-4 .va-about__band {
  display: flex;
  flex-wrap: wrap;
  background: #3e2e27;
  color: #f8f2eb;
  padding: 58px 40px;
}

body#cms.cms-id-4 .va-about__band-col {
  width: 50%;
  padding: 0 20px;
}

body#cms.cms-id-4 .va-about__band h2,
body#cms.cms-id-4 .va-about__band p {
  color: #f8f2eb;
}

body#cms.cms-id-4 .va-about__band h2 {
  font-size: 40px;
  line-height: 1;
}

/* manifesto */
body#cms.cms-id-4 .va-about__manifesto {
  background: #f6f1ea;
  padding: 56px 34px 46px;
}

body#cms.cms-id-4 .va-about__manifesto-inner {
  max-width: 1600px;
  margin: 0 auto;
}

body#cms.cms-id-4 .va-about__manifesto h2 {
  font-size: 96px;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: #15110f;
}

body#cms.cms-id-4 .va-about__manifesto em {
  font-style: italic;
  font-weight: 400;
}

body#cms.cms-id-4 .va-about__manifesto span {
  color: #7e5a48;
  font-style: italic;
}

/* split boutique */
body#cms.cms-id-4 .va-about__split {
  display: flex;
  flex-wrap: wrap;
  min-height: 520px;
}

body#cms.cms-id-4 .va-about__split-copy {
  width: 38%;
  background: #6b4a3c;
  color: #fffaf5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 30px;
}

body#cms.cms-id-4 .va-about__split-copy h2,
body#cms.cms-id-4 .va-about__split-copy p {
  color: #fffaf5;
}

body#cms.cms-id-4 .va-about__split-copy h2 {
  font-size: 48px;
  line-height: 1;
}

body#cms.cms-id-4 .va-about__split-copy p {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 13px;
}

body#cms.cms-id-4 .va-about__split-media {
  width: 62%;
  min-height: 520px;
}

/* contenuto */
body#cms.cms-id-4 .va-about__content {
  display: flex;
  flex-wrap: wrap;
  background: #fbf8f4;
  padding: 76px 36px;
}

body#cms.cms-id-4 .va-about__content-col {
  width: 50%;
  padding: 0 24px;
}

body#cms.cms-id-4 .va-about__content-col h2 {
  font-size: 42px;
  line-height: 1;
  color: #4a372e;
  font-style: italic;
}

/* feature finale */
body#cms.cms-id-4 .va-about__feature {
  display: flex;
  flex-wrap: wrap;
  min-height: 460px;
}

body#cms.cms-id-4 .va-about__feature-media {
  width: 52%;
  min-height: 460px;
}

body#cms.cms-id-4 .va-about__feature-copy {
  width: 48%;
  background: #221a17;
  color: #f7f2ec;
  display: flex;
  align-items: center;
  padding: 60px 42px;
}

body#cms.cms-id-4 .va-about__feature-copy h2,
body#cms.cms-id-4 .va-about__feature-copy p {
  color: #f7f2ec;
}

body#cms.cms-id-4 .va-about__feature-copy h2 {
  font-size: 46px;
  line-height: 1;
}

/* contatti */
body#cms.cms-id-4 .va-about__contact {
  background: #18120f;
  color: #f8f3ee;
  text-align: center;
  padding: 62px 24px;
}

body#cms.cms-id-4 .va-about__contact h2,
body#cms.cms-id-4 .va-about__contact p {
  color: #f8f3ee;
}

body#cms.cms-id-4 .va-about__contact h2 {
  font-size: 42px;
}

/* marchi */
body#cms.cms-id-4 .va-about__brands {
  background: #ffffff;
  padding: 56px 24px 72px;
}

body#cms.cms-id-4 .va-about__brands-head {
  text-align: center;
  margin-bottom: 24px;
}

body#cms.cms-id-4 .va-about__brands-head h2 {
  font-size: 40px;
  color: #1a1411;
}

/* responsive */
@media (max-width: 1199px) {
  body#cms.cms-id-4 .va-about__hero-copy,
  body#cms.cms-id-4 .va-about__hero-media,
  body#cms.cms-id-4 .va-about__band-col,
  body#cms.cms-id-4 .va-about__split-copy,
  body#cms.cms-id-4 .va-about__split-media,
  body#cms.cms-id-4 .va-about__content-col,
  body#cms.cms-id-4 .va-about__feature-media,
  body#cms.cms-id-4 .va-about__feature-copy {
    width: 100%;
  }

  body#cms.cms-id-4 .va-about__hero-media,
  body#cms.cms-id-4 .va-about__split-media,
  body#cms.cms-id-4 .va-about__feature-media {
    min-height: 380px;
  }

  body#cms.cms-id-4 .va-about__manifesto h2 {
    font-size: 68px;
  }
}

@media (max-width: 767px) {
  body#cms.cms-id-4 .va-about__hero-copy,
  body#cms.cms-id-4 .va-about__band,
  body#cms.cms-id-4 .va-about__content,
  body#cms.cms-id-4 .va-about__feature-copy,
  body#cms.cms-id-4 .va-about__contact,
  body#cms.cms-id-4 .va-about__brands {
    padding-left: 20px;
    padding-right: 20px;
  }

  body#cms.cms-id-4 .va-about__hero-copy {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  body#cms.cms-id-4 .va-about__hero-copy h1 {
    font-size: 48px;
  }

  body#cms.cms-id-4 .va-about__band h2,
  body#cms.cms-id-4 .va-about__split-copy h2,
  body#cms.cms-id-4 .va-about__content-col h2,
  body#cms.cms-id-4 .va-about__feature-copy h2,
  body#cms.cms-id-4 .va-about__contact h2,
  body#cms.cms-id-4 .va-about__brands-head h2 {
    font-size: 30px;
  }

  body#cms.cms-id-4 .va-about__manifesto {
    padding: 36px 18px 30px;
  }

  body#cms.cms-id-4 .va-about__manifesto h2 {
    font-size: 42px;
    line-height: 0.96;
  }
}

/* =========================================
   PAGINA CMS ID 4 - CHI SIAMO
   Full Width - VERSIONE PULITA
   Semplicemente rimuove il container constraint
========================================= */

/* Rimuovi il constraint del container SOLO in questa pagina */
body#cms.cms-id-4 section#content.page-content .container {
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

/* Mantieni tutto il resto uguale */
body#cms.cms-id-4 {
  font-family: Georgia, "Times New Roman", serif;
  background: #f6f1ea;
  color: #1a1411;
}

body#cms.cms-id-4 .va-about p {
  margin: 0 0 16px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #2f2824;
}

body#cms.cms-id-4 .va-about h1,
body#cms.cms-id-4 .va-about h2 {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #1a1411;
}

body#cms.cms-id-4 .va-about img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* hero */
body#cms.cms-id-4 .va-about__hero {
  display: flex;
  flex-wrap: wrap;
  min-height: 680px;
}

body#cms.cms-id-4 .va-about__hero-copy {
  width: 36%;
  background: #e7ddd0;
  padding: 70px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body#cms.cms-id-4 .va-about__hero-copy h1 {
  font-size: 72px;
  line-height: 0.9;
  color: #3b2c24;
  font-style: italic;
}

body#cms.cms-id-4 .va-about__hero-media {
  width: 64%;
  min-height: 680px;
}

/* fascia scura */
body#cms.cms-id-4 .va-about__band {
  display: flex;
  flex-wrap: wrap;
  background: #3e2e27;
  color: #f8f2eb;
  padding: 58px 40px;
}

body#cms.cms-id-4 .va-about__band-col {
  width: 50%;
  padding: 0 20px;
}

body#cms.cms-id-4 .va-about__band h2,
body#cms.cms-id-4 .va-about__band p {
  color: #f8f2eb;
}

body#cms.cms-id-4 .va-about__band h2 {
  font-size: 40px;
  line-height: 1;
}

/* manifesto */
body#cms.cms-id-4 .va-about__manifesto {
  background: #f6f1ea;
  padding: 56px 34px 46px;
}

body#cms.cms-id-4 .va-about__manifesto-inner {
  max-width: 1600px;
  margin: 0 auto;
}

body#cms.cms-id-4 .va-about__manifesto h2 {
  font-size: 96px;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: #15110f;
}

body#cms.cms-id-4 .va-about__manifesto em {
  font-style: italic;
  font-weight: 400;
}

body#cms.cms-id-4 .va-about__manifesto span {
  color: #7e5a48;
  font-style: italic;
}

/* split boutique */
body#cms.cms-id-4 .va-about__split {
  display: flex;
  flex-wrap: wrap;
  min-height: 520px;
}

body#cms.cms-id-4 .va-about__split-copy {
  width: 38%;
  background: #6b4a3c;
  color: #fffaf5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 30px;
}

body#cms.cms-id-4 .va-about__split-copy h2,
body#cms.cms-id-4 .va-about__split-copy p {
  color: #fffaf5;
}

body#cms.cms-id-4 .va-about__split-copy h2 {
  font-size: 48px;
  line-height: 1;
}

body#cms.cms-id-4 .va-about__split-copy p {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 13px;
}

body#cms.cms-id-4 .va-about__split-media {
  width: 62%;
  min-height: 520px;
}

/* contenuto */
body#cms.cms-id-4 .va-about__content {
  display: flex;
  flex-wrap: wrap;
  background: #fbf8f4;
  padding: 76px 36px;
}

body#cms.cms-id-4 .va-about__content-col {
  width: 50%;
  padding: 0 24px;
}

body#cms.cms-id-4 .va-about__content-col h2 {
  font-size: 42px;
  line-height: 1;
  color: #4a372e;
  font-style: italic;
}

/* feature finale */
body#cms.cms-id-4 .va-about__feature {
  display: flex;
  flex-wrap: wrap;
  min-height: 460px;
}

body#cms.cms-id-4 .va-about__feature-media {
  width: 52%;
  min-height: 460px;
}

body#cms.cms-id-4 .va-about__feature-copy {
  width: 48%;
  background: #221a17;
  color: #f7f2ec;
  display: flex;
  align-items: center;
  padding: 60px 42px;
}

body#cms.cms-id-4 .va-about__feature-copy h2,
body#cms.cms-id-4 .va-about__feature-copy p {
  color: #f7f2ec;
}

body#cms.cms-id-4 .va-about__feature-copy h2 {
  font-size: 46px;
  line-height: 1;
}

/* contatti */
body#cms.cms-id-4 .va-about__contact {
  background: #18120f;
  color: #f8f3ee;
  text-align: center;
  padding: 62px 24px;
}

body#cms.cms-id-4 .va-about__contact h2,
body#cms.cms-id-4 .va-about__contact p {
  color: #f8f3ee;
}

body#cms.cms-id-4 .va-about__contact h2 {
  font-size: 42px;
}

/* marchi */
body#cms.cms-id-4 .va-about__brands {
  background: #ffffff;
  padding: 56px 24px 72px;
}

body#cms.cms-id-4 .va-about__brands-head {
  text-align: center;
  margin-bottom: 24px;
}

body#cms.cms-id-4 .va-about__brands-head h2 {
  font-size: 40px;
  color: #1a1411;
}

/* responsive */
@media (max-width: 1199px) {
  body#cms.cms-id-4 .va-about__hero-copy,
  body#cms.cms-id-4 .va-about__hero-media,
  body#cms.cms-id-4 .va-about__band-col,
  body#cms.cms-id-4 .va-about__split-copy,
  body#cms.cms-id-4 .va-about__split-media,
  body#cms.cms-id-4 .va-about__content-col,
  body#cms.cms-id-4 .va-about__feature-media,
  body#cms.cms-id-4 .va-about__feature-copy {
    width: 100%;
  }

  body#cms.cms-id-4 .va-about__hero-media,
  body#cms.cms-id-4 .va-about__split-media,
  body#cms.cms-id-4 .va-about__feature-media {
    min-height: 380px;
  }

  body#cms.cms-id-4 .va-about__manifesto h2 {
    font-size: 68px;
  }
}

@media (max-width: 767px) {
  body#cms.cms-id-4 .va-about__hero-copy,
  body#cms.cms-id-4 .va-about__band,
  body#cms.cms-id-4 .va-about__content,
  body#cms.cms-id-4 .va-about__feature-copy,
  body#cms.cms-id-4 .va-about__contact,
  body#cms.cms-id-4 .va-about__brands {
    padding-left: 20px;
    padding-right: 20px;
  }

  body#cms.cms-id-4 .va-about__hero-copy {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  body#cms.cms-id-4 .va-about__hero-copy h1 {
    font-size: 48px;
  }

  body#cms.cms-id-4 .va-about__band h2,
  body#cms.cms-id-4 .va-about__split-copy h2,
  body#cms.cms-id-4 .va-about__content-col h2,
  body#cms.cms-id-4 .va-about__feature-copy h2,
  body#cms.cms-id-4 .va-about__contact h2,
  body#cms.cms-id-4 .va-about__brands-head h2 {
    font-size: 30px;
  }

  body#cms.cms-id-4 .va-about__manifesto {
    padding: 36px 18px 30px;
  }

  body#cms.cms-id-4 .va-about__manifesto h2 {
    font-size: 42px;
    line-height: 0.96;
  }
}

@media (max-width: 767px) {
  .footer-container .links .collapse.in,
  .footer-container .block_newsletter .block_content.collapse.in, #block-contact_list li, .contactdiv {
    display: table;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .footer-container .title.hidden-lg-up {
    position: relative;
    text-align: center;
  }

  .footer-container .title.hidden-lg-up .pull-xs-right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .footer-container .title.hidden-lg-up .h3,
  .footer-container .title.hidden-lg-up span.h3 {
    display: block;
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .block-social .hidden-lg-up {
    text-align: center;
  }

  .block-social .block_title.hidden-lg-up {
    position: relative;
    display: block;
    text-align: center;
    padding-left: 30px;
    padding-right: 30px;
  }

  .block-social .block_title.hidden-lg-up .pull-xs-right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    float: none !important;
  }

  .block-social #block_social_toggle {
    text-align: center;
  }

  .block-social #block_social_toggle ul {
    display: inline-block;
    padding: 0;
    margin: 0 auto;
    text-align: center;
  }

  .block-social #block_social_toggle ul li {
    float: none;
    display: block;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .block-social #block_social_toggle {
    text-align: center;
  }

  .block-social #block_social_toggle ul {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 15px; /* spazio tra Facebook e Instagram */
    padding: 20px;
    margin: 0 auto;
    list-style: none;
  }

  .block-social #block_social_toggle ul li {
    float: none !important;
    display: inline-block;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .block_newsletter {
    text-align: center;
  }

  /* Titolo mobile */
  .block_newsletter .block_title.hidden-lg-up {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    padding: 0 34px;
    margin: 0 0 15px;
  }

  .block_newsletter .block_title.hidden-lg-up .pull-xs-right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    float: none !important;
  }

  /* Contenuto */
  .block_newsletter #block_email_toggle {
    text-align: center;
    padding: 0;
  }

  .block_newsletter #block_email_toggle .col-xs-12,
  .block_newsletter #block_email_toggle .col-md-12 {
    float: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  /* Form newsletter */
  .block_newsletter .input-wrapper {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
  }

  .block_newsletter .input-wrapper input[type="email"] {
    display: block;
    width: 100%;
    height: 44px;
    margin: 0 0 10px;
    text-align: center;
  }

  .block_newsletter .input-wrapper input[type="submit"] {
    display: inline-block;
    width: auto;
    min-width: 140px;
    height: 44px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .block_newsletter .block_title.hidden-lg-up {
    margin-bottom: 6px;
  }

  .block_newsletter #block_email_toggle {
    margin-top: 0;
    padding-top: 0;
  }

  .block_newsletter #block_email_toggle .block_content {
    margin-top: 0;
    padding-top: 0;
  }
}


.va-about__reviews{
  margin-top: 40px;
}

.page-cms-4.page-cms-custom-about,
.page-cms.page-cms-custom-about {
  padding-top: 40px;
  padding-bottom: 60px;
}

/* allarga solo il container centrale della pagina CMS 4 */
body#cms.cms-id-4 #main > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* azzera i wrapper del contenuto */
body#cms.cms-id-4 #content-wrapper,
body#cms.cms-id-4 #content.page-cms-custom-about,
body#cms.cms-id-4 .page-cms-custom-about {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* il tuo contenuto va edge-to-edge */
body#cms.cms-id-4 .page-cms-custom-about .va-about {
  width: 100%;
  margin: 0;
  padding: 0;
}


/* =========================================
   PAGINA CMS ID 4 - CHI SIAMO
   FULL WIDTH BOX - VERSIONE CORRETTA
   Sostituisci la sezione finale del tuo custom__10_.css con questo
========================================= */

/* allarga solo il container centrale della pagina CMS 4 */
body#cms.cms-id-4 #main > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* azzera i wrapper del contenuto */
body#cms.cms-id-4 #content-wrapper,
body#cms.cms-id-4 #content.page-cms-custom-about,
body#cms.cms-id-4 .page-cms-custom-about {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* il tuo contenuto va edge-to-edge */
body#cms.cms-id-4 .page-cms-custom-about .va-about {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ===== SEZIONI FULL WIDTH ===== */
/* Tutte le sezioni escono full width */
body#cms.cms-id-4 .va-about__hero,
body#cms.cms-id-4 .va-about__band,
body#cms.cms-id-4 .va-about__manifesto,
body#cms.cms-id-4 .va-about__split,
body#cms.cms-id-4 .va-about__content,
body#cms.cms-id-4 .va-about__feature,
body#cms.cms-id-4 .va-about__contact,
body#cms.cms-id-4 .va-about__brands {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ===== INNER CONTENT ===== */
/* Il contenuto interno mantiene la struttura */
body#cms.cms-id-4 .va-about__hero-copy,
body#cms.cms-id-4 .va-about__hero-media,
body#cms.cms-id-4 .va-about__band-col,
body#cms.cms-id-4 .va-about__split-copy,
body#cms.cms-id-4 .va-about__split-media,
body#cms.cms-id-4 .va-about__content-col,
body#cms.cms-id-4 .va-about__feature-media,
body#cms.cms-id-4 .va-about__feature-copy {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fix per il manifesto inner */
body#cms.cms-id-4 .va-about__manifesto-inner {
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 34px;
  padding-right: 34px;
}

/* Fix per i brands */
body#cms.cms-id-4 .va-about__brands .products,
body#cms.cms-id-4 .va-about__brands .container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 24px !important;
  margin: 0 !important;
}

/* =========================================================
   ORDER CONFIRMATION CUSTOM PAGE
   ========================================================= */

body#order-confirmation #left-column,
body#order-confirmation #right-column {
  display: none !important;
}

body#order-confirmation #content-wrapper.vp-order-page-shell {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}

body#order-confirmation .vp-order-page {
  width: 100%;
  padding: 24px 0 56px;
}

body#order-confirmation .vp-order-page__container {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
}

body#order-confirmation .vp-order-page__hero {
  padding: 34px;
  border: 1px solid #e8e1d8;
  background: linear-gradient(135deg, #f7f3ec 0%, #ffffff 48%, #eef5f1 100%);
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.06);
}

body#order-confirmation .vp-order-page__hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: #14342b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body#order-confirmation .vp-order-page__title {
  margin: 18px 0 10px;
  font-size: 42px;
  line-height: 1.05;
  color: #111;
}

body#order-confirmation .vp-order-page__lead {
  max-width: 760px;
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  overflow-wrap: anywhere;
}

body#order-confirmation .vp-order-page__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

body#order-confirmation .vp-order-page__meta-card,
body#order-confirmation .vp-order-page__aside-list li {
  padding: 16px 18px;
  border: 1px solid #e6dfd4;
  background: rgba(255, 255, 255, 0.88);
}

body#order-confirmation .vp-order-page__meta-label,
body#order-confirmation .vp-order-page__aside-list li span {
  display: block;
  margin-bottom: 8px;
  color: #6f6a62;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body#order-confirmation .vp-order-page__meta-card strong,
body#order-confirmation .vp-order-page__aside-list li strong,
body#order-confirmation .vp-order-page__aside-list li em {
  display: block;
  overflow-wrap: anywhere;
}

body#order-confirmation .vp-order-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

body#order-confirmation .vp-order-page__actions .btn {
  min-width: 190px;
}

body#order-confirmation .vp-order-page__hook {
  margin-top: 18px;
}

body#order-confirmation .vp-order-page__body {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, .9fr);
  gap: 24px;
  margin-top: 28px;
  align-items: start;
}

body#order-confirmation .vp-order-page__main > #order-items,
body#order-confirmation .vp-order-page__aside {
  width: 100%;
  max-width: 100%;
  padding: 0 !important;
  margin: 0;
}

body#order-confirmation .vp-order-page__aside-card {
  padding: 28px;
  border: 1px solid #e7e1d8;
  background: #f9f5ef;
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.05);
}

body#order-confirmation .vp-order-page__aside-title {
  margin: 0 0 18px;
  color: #111;
}

body#order-confirmation .vp-order-page__aside-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body#order-confirmation .vp-order-page__aside-list li + li {
  margin-top: 12px;
}

body#order-confirmation .vp-order-page__payment-return,
body#order-confirmation .vp-order-page__account,
body#order-confirmation .vp-order-page__extra,
body#order-confirmation .vp-order-page__recommendations {
  margin-top: 28px;
}

body#order-confirmation .vp-order-page__recommendations,
body#order-confirmation .vp-order-page__recommendations .vp-home-section,
body#order-confirmation .vp-order-page__recommendations .container {
  width: 100%;
  max-width: 100%;
}

body#order-confirmation .vp-order-page__recommendations .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#order-confirmation .vp-order-page__recommendations .vp-home-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: nowrap;
}

body#order-confirmation .vp-order-page__recommendations .vp-home-header > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

body#order-confirmation .vp-order-page__recommendations .vp-home-header__link {
  flex: 0 0 auto;
  white-space: nowrap;
  margin-left: auto;
}

body#order-confirmation .vp-order-page__recommendations .featured_grid.product_list.grid.row.gridcount {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

body#order-confirmation .vp-order-page__recommendations .featured_grid.product_list.grid.row.gridcount > article {
  display: flex;
  padding-left: 10px;
  padding-right: 10px;
}

body#order-confirmation .vp-order-page__recommendations .featured_grid.product_list.grid.row.gridcount > article > * {
  width: 100%;
}

@media (max-width: 991.98px) {
  body#order-confirmation .vp-order-page__container {
    width: min(100%, calc(100% - 30px));
  }

  body#order-confirmation .vp-order-page__meta,
  body#order-confirmation .vp-order-page__body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body#order-confirmation #wrapper,
  body#order-confirmation .columns.container,
  body#order-confirmation #columns_inner,
  body#order-confirmation #content-wrapper.vp-order-page-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body#order-confirmation .vp-order-page__container {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  body#order-confirmation .vp-order-page {
    padding: 0 0 28px;
  }

  body#order-confirmation .vp-order-page__hero,
  body#order-confirmation .vp-order-page__aside-card,
  body#order-confirmation .vp-order-page__payment-return,
  body#order-confirmation .vp-order-page__account {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body#order-confirmation .vp-order-page {
    padding-top: 18px;
  }

  body#order-confirmation .vp-order-page__hero,
  body#order-confirmation .vp-order-page__aside-card {
    padding: 20px 15px;
  }

  body#order-confirmation .vp-order-page__title {
    font-size: 30px;
  }

  body#order-confirmation .vp-order-page__actions .btn {
    width: 100%;
    min-width: 0;
  }

  body#order-confirmation .vp-order-page__recommendations .vp-home-header {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  body#order-confirmation .vp-order-page__recommendations .vp-home-header__link {
    width: 100%;
    margin-left: 0;
    white-space: normal;
  }
}

/* ordine: tabella articoli piu chiara */
body#order-confirmation .vp-order-page__main #order-items {
  width: 100%;
  max-width: 100%;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-items-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 12px 16px;
  border: 1px solid #e5ddd2;
  background: #f6f1e8;
}

body#order-confirmation .vp-order-page__main #order-items .order-confirmation-table {
  padding: 28px;
  border-radius: 20px;
  border: 1px solid #e5ddd2;
  background: linear-gradient(180deg, #fffdfa 0%, #ffffff 100%);
  box-shadow: 0 20px 44px rgba(17, 17, 17, 0.07);
}

body#order-confirmation .vp-order-page__main #order-items .card-title.h3 {
  margin: 0;
  font-size: 22px;
  color: #171717;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-items-head__title {
  flex: 1 1 auto;
  min-width: 0;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-items-head__legend {
  flex: 0 0 min(360px, 42%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
  text-align: center;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-items-label {
  color: #3b352f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-items-label--strong {
  display: inline-block !important;
  color: #171717 !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body#order-confirmation .vp-order-page__main #order-items .order-line {
  align-items: center;
  padding: 22px 0;
}

body#order-confirmation .vp-order-page__main #order-items .image {
  display: block;
}

body#order-confirmation .vp-order-page__main #order-items .image img {
  width: 100%;
  max-width: 92px;
  border-radius: 16px;
  border: 1px solid #e8dfd3;
  background: #f6f0e8;
  box-shadow: 0 8px 20px rgba(17, 17, 17, 0.06);
}

body#order-confirmation .vp-order-page__main #order-items .details {
  padding-right: 16px;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-product-name {
  margin-bottom: 8px;
  font-size: 20px;
  line-height: 1.3;
}

body#order-confirmation .vp-order-page__main #order-items .customizations a,
body#order-confirmation .vp-order-page__main #order-items .details a {
  color: #8d6b3d;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-line-stats {
  gap: 10px;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-line-stats > div {
  min-height: 96px;
  padding: 14px 16px;
  border: 1px solid #ece4d8;
  border-left: 1px solid #ece4d8;
  background: #fbf8f3;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-line-stats > div:first-child {
  border-left: 1px solid #ece4d8;
}

body#order-confirmation .vp-order-page__main #order-items .vp-order-line-stats > div span:last-child {
  font-size: 17px;
  font-weight: 700;
  color: #171717;
}

body#order-confirmation .vp-order-page__main #order-items hr {
  margin: 24px 0 10px;
  border-top: 1px solid #e9e1d6;
}

body#order-confirmation .vp-order-page__main #order-items table {
  width: 100%;
  margin-top: 8px;
}

body#order-confirmation .vp-order-page__main #order-items table tr td {
  padding: 12px 0;
  color: #3c3834;
}

body#order-confirmation .vp-order-page__main #order-items table tr td:last-child {
  text-align: right;
  font-weight: 700;
  color: #111;
}

body#order-confirmation .vp-order-page__main #order-items table tr.total-value td {
  padding-top: 16px;
  font-size: 17px;
  border-top: 1px solid #dcd1c2;
}

body#order-confirmation .vp-order-page__main #order-items table tr.sub.taxes td {
  padding-top: 14px;
  font-size: 13px;
  color: #6b665f;
}

/* nuovi arrivi: card piu pulite nella conferma ordine */
body#order-confirmation .vp-order-page__recommendations .vp-home-section--featured {
  padding: 10px 0 0;
  background: transparent;
}

body#order-confirmation .vp-order-page__recommendations .vp-home-header {
  margin-bottom: 26px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e7ddd0;
}

body#order-confirmation .vp-order-page__recommendations .vp-home-header__title {
  font-size: 34px;
  line-height: 1.05;
}

body#order-confirmation .vp-order-page__recommendations .vp-home-header__eyebrow {
  margin-bottom: 8px;
}

body#order-confirmation .vp-order-page__recommendations .featured_grid.product_list.grid.row.gridcount {
  row-gap: 22px;
}

body#order-confirmation .vp-order-page__recommendations .zpc-wrap {
  height: 100%;
  margin-bottom: 0 !important;
}

body#order-confirmation .vp-order-page__recommendations .zpc-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 14px !important;
  border: 1px solid #e8dfd3 !important;
  background: #fffdfa !important;
  box-shadow: 0 14px 28px rgba(17, 17, 17, 0.05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body#order-confirmation .vp-order-page__recommendations .zpc-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(17, 17, 17, 0.08);
  border-color: #dcc9ad !important;
}

body#order-confirmation .vp-order-page__recommendations .zpc-media {
  aspect-ratio: 4 / 5;
  background: #f5efe6;
}

body#order-confirmation .vp-order-page__recommendations .zpc-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 14px;
}

body#order-confirmation .vp-order-page__recommendations .zpc-name a {
  display: block;
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 17px;
  line-height: 1.35;
  color: #171717;
}

body#order-confirmation .vp-order-page__recommendations .zpc-brand {
  margin-top: 0;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #b08c55;
}

body#order-confirmation .vp-order-page__recommendations .zpc-price {
  margin-top: 2px;
}

body#order-confirmation .vp-order-page__recommendations .zpc-priceNow,
body#order-confirmation .vp-order-page__recommendations .zpc-priceNow--sale {
  font-size: 18px;
  font-weight: 700;
}

body#order-confirmation .vp-order-page__recommendations .vp-home-footer {
  margin-top: 20px;
}

@media (max-width: 767.98px) {
  body#order-confirmation .vp-order-page__main #order-items .order-confirmation-table {
    padding: 16px 0 20px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }

  body#order-confirmation .vp-order-page__main #order-items .vp-order-items-head {
    display: block;
    margin-bottom: 10px;
    padding: 0 15px 12px;
    border: 0;
    background: transparent;
  }

  body#order-confirmation .vp-order-page__main #order-items .vp-order-items-head__legend {
    display: none;
  }

  body#order-confirmation .vp-order-page__main #order-items .vp-order-product-name {
    font-size: 17px;
  }

  body#order-confirmation .vp-order-page__main #order-items .order-line {
    padding: 16px 15px 18px;
  }

  body#order-confirmation .vp-order-page__main #order-items .image img {
    max-width: 78px;
    border-radius: 12px;
  }

  body#order-confirmation .vp-order-page__main #order-items .vp-order-line-stats {
    display: block;
    margin-top: 12px;
  }

  body#order-confirmation .vp-order-page__main #order-items .vp-order-line-stats > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 0;
    padding: 10px 0;
    border: 0;
    border-top: 1px solid #eadfce;
    background: transparent;
    text-align: left !important;
  }

  body#order-confirmation .vp-order-page__main #order-items .vp-order-line-mobile-label {
    display: block;
    margin-bottom: 0;
    flex: 0 0 auto;
    color: #746a5d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  body#order-confirmation .vp-order-page__main #order-items .vp-order-line-stats > div span:last-child {
    font-size: 15px;
    line-height: 1.25;
    text-align: right;
  }

  body#order-confirmation .vp-order-page__aside,
  body#order-confirmation .vp-order-page__payment-return,
  body#order-confirmation .vp-order-page__account,
  body#order-confirmation .vp-order-page__extra {
    padding-left: 15px;
    padding-right: 15px;
  }

  body#order-confirmation .vp-order-page__recommendations .vp-home-header__title {
    font-size: 28px;
  }
}







/* ============================================================
   VALENTINE — Card Prodotto Minimal Elegante
   Solo tipografia, proporzioni, colori. Zero bordi, zero sfondi.
   Aggiungere in fondo a: themes/PRS04096/assets/css/custom.css
   ============================================================ */

/* CARD — nessun bordo, nessuno sfondo, nessuna ombra */
.product > .product-miniature,
.product > .product-miniature.product-card-premium {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
.product > .product-miniature:hover,
.product > .product-miniature.product-card-premium:hover {
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
}
.product > .product-miniature.product-card-premium::before {
  display: none !important;
}

/* FOTO — sfondo neutro pulito, nessun bordo */
.product-miniature .thumbnail-container,
.product-card-premium .thumbnail-container {
  background: #f5f2ee !important;
  border: none !important;
  overflow: hidden !important;
}
/* Overlay luce via */
.product-card-premium .thumbnail-container::after {
  display: none !important;
}
/* Zoom morbido al hover */
.product-miniature:hover .thumbnail.product-thumbnail picture > img,
.product-card-premium:hover .thumbnail.product-thumbnail picture > img {
  transform: scale(1.03) !important;
}

/* Rimuove i cerchietti +/♡ */
.product-miniature .product-actions-main,
.product-card-premium .product-actions-main {
  display: none !important;
}

/* AREA TESTO */
.product-miniature .product-description,
.product-card-premium .product-description {
  padding: 14px 4px 6px !important;
}

/* BRAND — oro, uppercase, leggero */
.product-miniature .product-brand,
.product-card-premium .product-brand {
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #c9a96e !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* NOME — Playfair, normale, no uppercase */
.product-miniature .product-title,
.product-card-premium .product-title {
  margin: 0 0 10px !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
}
.product-miniature .product-title a,
.product-card-premium .product-title a {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #1c1c1c !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease !important;
}
.product-miniature .product-title a:hover,
.product-card-premium .product-title a:hover {
  color: #c9a96e !important;
  text-decoration: none !important;
}

/* PREZZO */
.product-miniature .product-bottom,
.product-card-premium .product-bottom {
  padding: 0 4px 4px !important;
}
.product-miniature .product-price-and-shipping .price,
.product-card-premium .product-price-top .price {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1c1c1c !important;
  letter-spacing: 0 !important;
}
.product-miniature .product-price-and-shipping .regular-price,
.product-card-premium .product-price-top .regular-price {
  font-size: 12px !important;
  color: #bbb !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
}

/* BOTTONE — sottile, no bordo-radius, no ombra */
.product-miniature .add-to-cart-button .add-to-cart,
.product-card-premium .add-to-cart-button .add-to-cart {
  background: #1c1c1c !important;
  color: #f5f0e8 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 38px !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  transition: background 0.2s ease !important;
}
.product-miniature .add-to-cart-button .add-to-cart:hover:not(:disabled),
.product-card-premium .add-to-cart-button .add-to-cart:hover:not(:disabled) {
  background: #c9a96e !important;
  color: #1a1714 !important;
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* MOBILE */
@media (max-width: 767px) {
  .product-miniature .product-description,
  .product-card-premium .product-description {
    padding: 12px 2px 4px !important;
  }
  .product-miniature .product-title a,
  .product-card-premium .product-title a {
    font-size: 13px !important;
  }
}


/* Rimuove outline browser sulle card prodotto */
.product-miniature a,
.product-miniature a:hover,
.product-miniature a:focus,
.product-card-premium a,
.product-card-premium a:hover,
.product-card-premium a:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ============================================================
   VALENTINE — Card zpc-* Elegante (classi reali del tema)
   ============================================================ */

/* CARD — no bordo, no sfondo, no ombra */
.zpc-wrap { padding: 6px !important; }
.zpc-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
.zpc-card:hover { box-shadow: none !important; transform: none !important; border: none !important; }

/* FOTO — sfondo avorio neutro */
.zpc-media { background: #f5f2ee !important; }
.zpc-img { transition: transform 0.45s ease !important; }
.zpc-card:hover .zpc-img { transform: scale(1.03) !important; }

/* OVERLAY — beige, non nero */
.zpc-actions {
  background: rgba(245,242,238,0.96) !important;
  border-top: 1px solid #e0d8cc !important;
  transform: translateY(100%) !important;
  transition: transform 0.25s ease !important;
}
.zpc-card:hover .zpc-actions { transform: translateY(0) !important; }

/* BOTTONE + */
.zpc-actionBtn--atc {
  background: #1c1c1c !important;
  color: #f5f0e8 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 10px 14px !important;
  transition: background 0.2s !important;
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}
.zpc-actionBtn--atc::before { content: "Aggiungi"; font-size: 10px; letter-spacing: 0.12em; }
.zpc-actionBtn--atc:hover { background: #c9a96e !important; color: #1a1714 !important; }
.zpc-plus { display: none !important; }

/* WISHLIST */
.zpc-wish a, .zpc-wish button {
  width: 34px !important; height: 34px !important;
  border-radius: 0 !important;
  border: 1px solid #ccc !important;
  background: transparent !important;
  color: #999 !important;
  box-shadow: none !important;
}
.zpc-wish a:hover, .zpc-wish button:hover {
  border-color: #c9a96e !important;
  color: #c9a96e !important;
  background: transparent !important;
}
.zpc-wish svg, .zpc-wish svg:not(:root) { width: 14px !important; height: 14px !important; }
.zpc-wish .fa { font-size: 13px !important; }

/* TESTO */
.zpc-info { padding: 12px 2px 4px !important; background: transparent !important; border-top: none !important; }

/* BRAND — oro */
.zpc-brand {
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #c9a96e !important;
  margin-bottom: 5px !important;
}

/* NOME — Playfair, normale */
.zpc-name { margin-bottom: 8px !important; min-height: 0 !important; }
.zpc-name a {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #1c1c1c !important;
  line-height: 1.4 !important;
  outline: none !important;
}
.zpc-name a:hover { color: #c9a96e !important; text-decoration: none !important; outline: none !important; }
.zpc-name a:focus { outline: none !important; box-shadow: none !important; }

/* PREZZO */
.zpc-price { margin-top: 4px !important; }
.zpc-priceNow {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1c1c1c !important;
  letter-spacing: 0 !important;
}
.zpc-priceNow--sale { color: #9a3a1a !important; }
.zpc-priceOld { font-size: 12px !important; color: #bbb !important; text-decoration: line-through !important; }

/* BADGE NUOVO */
.zpc-card .product-flag,
.zpc-card ul.product-flags li {
  background: #1c1c1c !important;
  color: #c9a96e !important;
  border-radius: 0 !important;
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
  padding: 3px 9px !important;
}

/* MOBILE */
@media (max-width: 767px) {
  .zpc-actions { transform: translateY(0) !important; }
}

/* ============================================================
   VALENTINE — Card Fix Definitivo
   ============================================================ */

/* BOTTONE: solo icona +, elegante */
.zpc-actionBtn--atc {
  flex: none !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  background: #1c1c1c !important;
  color: #f5f0e8 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
}
.zpc-actionBtn--atc::before {
  content: "+" !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: #f5f0e8 !important;
  letter-spacing: 0 !important;
}
.zpc-actionBtn--atc:hover { background: #c9a96e !important; }
.zpc-actionBtn--atc:hover::before { color: #1a1714 !important; }
.zpc-plus { display: none !important; }

/* OVERLAY: centrato, solo icone */
.zpc-actions {
  background: rgba(245,242,238,0.92) !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 12px !important;
}

/* WISHLIST: cerchio coerente col + */
.zpc-wish a,
.zpc-wish .st-wishlist-button {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1px solid #ccc !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #888 !important;
  box-shadow: none !important;
  transition: border-color 0.2s, color 0.2s !important;
}
.zpc-wish a:hover,
.zpc-wish .st-wishlist-button:hover {
  border-color: #c9a96e !important;
  color: #c9a96e !important;
  background: transparent !important;
}
.zpc-wish .fa-heart { font-size: 13px !important; }
.zpc-wish .st-wishlist-title { display: none !important; }

/* BADGE NUOVO — oro su nero, pill arrotondata */
.zpc-card .product-flag,
.zpc-card ul.product-flags li {
  background: #1c1c1c !important;
  color: #c9a96e !important;
  border-radius: 20px !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 4px 12px !important;
  box-shadow: none !important;
}

/* ============================================================
   VALENTINE — Card Fix v3
   ============================================================ */

/* OVERLAY completamente trasparente — no background */
.zpc-actions {
  background: transparent !important;
  border-top: none !important;
  padding: 10px 10px 12px !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

/* BOTTONE + sempre visibile in basso a destra, no sfondo overlay */
.zpc-actionBtn--atc {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #1c1c1c !important;
  color: transparent !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18) !important;
  flex: none !important;
  padding: 0 !important;
  transition: background 0.2s !important;
}
.zpc-actionBtn--atc::before {
  content: "+" !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  color: #fff !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
.zpc-actionBtn--atc:hover { background: #c9a96e !important; }
.zpc-actionBtn--atc:hover::before { color: #1a1714 !important; }

/* WISHLIST — non sparisce, sempre visibile, no hover strano */
.zpc-wish,
.zpc-wish a,
.zpc-wish .st-wishlist-button {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.7) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18) !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.zpc-wish a:hover,
.zpc-wish .st-wishlist-button:hover {
  background: #c9a96e !important;
  border-color: #c9a96e !important;
  color: #1a1714 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.zpc-wish .fa-heart { font-size: 12px !important; }
.zpc-wish .st-wishlist-title { display: none !important; }

/* BADGE — testo bianco, pill nera */
.zpc-card .product-flag,
.zpc-card ul.product-flags li {
  background: #1c1c1c !important;
  color: #fff !important;
  border-radius: 20px !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 4px 12px !important;
  box-shadow: none !important;
}

/* ============================================================
   VALENTINE — Tipografia card Fix v4
   ============================================================ */

/* NOME — più grande e leggibile */
.zpc-name a {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

/* BRAND — un pelo più grande */
.zpc-brand {
  font-size: 11px !important;
  margin-bottom: 6px !important;
}

/* PREZZO — più presente */
.zpc-priceNow {
  font-size: 16px !important;
}

/* SPAZIATURA info area */
.zpc-info {
  padding: 14px 4px 6px !important;
}
.zpc-price {
  margin-top: 8px !important;
}


/* =========================================================
   AJAX CART FULLSCREEN + PAGINA SOTTO SCORRE
   ========================================================= */

/* overlay vero, non display: contents */
.overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.45) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .25s ease, visibility .25s ease !important;
  z-index: 9998 !important;
}

.overlay.overlay_active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
}

/* carrello ajax: SEMPRE agganciato allo schermo */
#_desktop_cart .cart_block,
#_mobile_cart .cart_block,
.cart_block.block.exclusive,
.cart_block {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;

  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 10000 !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;

  transform: translateX(100%) !important;
  transition: transform .3s ease !important;
}

/* stato aperto */
#_desktop_cart.open .cart_block,
#_desktop_cart.active .cart_block,
#_desktop_cart.is-open .cart_block,
#_mobile_cart.open .cart_block,
#_mobile_cart.active .cart_block,
#_mobile_cart.is-open .cart_block,
.cart_block.open,
.cart_block.active,
.cart_block.is-open,
body.cart-open .cart_block {
  transform: translateX(0) !important;
}

/* importantissimo: la pagina sotto continua a scrollare */
html,
body,
html.ui-locked,
body.ui-locked,
body.cart-open,
body.modal-open {
  overflow-y: auto !important;
  position: static !important;
  height: auto !important;
  top: auto !important;
}

/* evita che antenati rompano il fixed */
#header,
#page,
#wrapper,
.container,
.container-fluid,
.row,
#content,
#main {
  transform: none !important;
}

/* sticky bar: deve stare sopra i contenuti pagina prodotto */
.pro-stickybar,
.js-pro-stickybar {
  z-index: 9999 !important;
}

/* PDP fixes */
body#product .premium-top-button,
body#product .top_button {
  display: none !important;
}

/* PDP: non nascondere le CTA della buybox */
body#product .product-add-to-cart.pro-addtocart .pro-cta-row .pro-add,
body#product .product-add-to-cart.pro-addtocart .pro-cta-row .pro-buy-now {
  display: block !important;
}

@media (max-width: 991.98px) {
  /* "Compra ora" non deve comparire nella barra sticky mobile */
  body#product .js-sticky-buy-now {
    display: none !important;
  }

}


#site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
  background: #fff;
}

.header-topbar {
  background: #000;
  color: #fff;
}

.header-topbar-inner {
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-main {
  background: #fff;
  border-bottom: 1px solid #ececec;
}

.header-main-inner {
  min-height: 82px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.header-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}

.header-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}

.header_logo .logo {
  max-height: 100px;
  width: auto;
  display: block;
}



#site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99999;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.header-topbar {
  background: #000;
  color: #fff;
}

.header-main {
  background: #fff;
  border-bottom: 1px solid #eee;
}

body {
  padding-top: 126px;
}

/* ===== HEADER sempre visibile ===== */
#header,
#site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  transform: none !important;
  min-height: 147px !important;
}

/* spingi il contenuto sotto l'header */
body {
  padding-top: var(--header-h, 126px) !important;
}

/* ===== OVERLAY ===== */
.overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.45) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .25s ease, visibility .25s ease !important;
  z-index: 9998 !important;
}

.overlay.overlay_active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
}

/* ===== AJAX CART ===== */
#_desktop_cart .cart_block,
#_mobile_cart .cart_block,
.cart_block {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: 0 !important;

  width: min(420px, 100vw) !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  max-height: 100dvh !important;

  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 10000 !important;

  overflow: hidden !important;     /* niente scroll sul wrapper */
  transform: translateX(100%) !important;
  transition: transform .3s ease !important;
  background: #fff !important;
}

/* stato aperto */
#_desktop_cart.open .cart_block,
#_desktop_cart.active .cart_block,
#_desktop_cart.is-open .cart_block,
#_mobile_cart.open .cart_block,
#_mobile_cart.active .cart_block,
#_mobile_cart.is-open .cart_block,
.cart_block.open,
.cart_block.active,
.cart_block.is-open,
body.cart-open .cart_block {
  transform: translateX(0) !important;
}

/* scroll SOLO interno contenuto */
#_desktop_cart .cart_block .cart-products,
#_desktop_cart .cart_block .cart-items,
#_desktop_cart .cart_block .block_content,
#_mobile_cart .cart_block .cart-products,
#_mobile_cart .cart_block .cart-items,
#_mobile_cart .cart_block .block_content,
.cart_block .cart-products,
.cart_block .cart-items,
.cart_block .block_content {
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
}

/* la pagina sotto deve restare scrollabile quando il cart è aperto */
html,
body,
body.cart-open,
body.modal-open {
  overflow-y: auto !important;
  position: static !important;
  height: auto !important;
  top: auto !important;
}

/* SOLO quando è aperto il menu laterale, non il cart */
html.ui-locked,
body.ui-locked {
  overflow: hidden !important;
}

body.ui-locked {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}


.cgcd-header-cart {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 20px;
}

.cgcd-header-cart__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: #111;
  font: inherit;
  line-height: 1;
}

.cgcd-header-cart__icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
}

.cgcd-header-cart__icon svg {
  width: 24px !important;
  height: 24px !important;
  display: block;
}

.cgcd-header-cart__meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  white-space: nowrap;
}

.cgcd-header-cart__count,
.cgcd-header-cart__total {
  font-size: 16px;
  line-height: 1;
}


/* ============================================================
   AJAX CART DRAWER — VERSIONE DEFINITIVA
   Sostituisce TUTTE le regole cart precedenti nel custom.css
   (rimuovi le sezioni "AJAX CART FULLSCREEN" e il vecchio
    "AJAX CART DRAWER" prima di incollare questo blocco)
   ============================================================ */

/* ── Variabili ── */
:root {
  --drawer-width: 420px;
  --drawer-bg: #ffffff;
  --drawer-text: #1a1a1a;
  --drawer-text-light: #767676;
  --drawer-border: #e8e8e8;
  --drawer-accent: #c9a84c;
  --drawer-accent-dark: #b08f3a;
  --drawer-overlay-bg: rgba(0, 0, 0, 0.45);
  --drawer-cta-bg: #1a1a1a;
  --drawer-cta-text: #ffffff;
  --drawer-cta-hover: #333333;
  --drawer-progress-bg: #f0ead6;
  --drawer-progress-fill: linear-gradient(90deg, #c9a84c, #dbb85e);
  --drawer-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --drawer-z: 100001;
}

/* ══════════════════════════════════════════════════════════════
   1. OVERLAY
   ══════════════════════════════════════════════════════════════ */
.overlay.blockcart-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: var(--drawer-overlay-bg) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .3s ease, visibility .3s ease !important;
  z-index: var(--drawer-z) !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
}
.overlay.blockcart-overlay.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* L'overlay originale del tema (.overlay senza .blockcart-overlay)
   rimane com'è per il menu laterale, ma NON per il cart */
.overlay:not(.blockcart-overlay) {
  /* nessuna modifica — mantieni le regole del tema */
}

/* ══════════════════════════════════════════════════════════════
   2. DRAWER CONTAINER (.cart_block)
   Selettori ultra-specifici per vincere su TUTTO
   ══════════════════════════════════════════════════════════════ */
#_desktop_cart .blockcart .cart_block.block.exclusive.cart-drawer,
#_mobile_cart .blockcart .cart_block.block.exclusive.cart-drawer,
.cart_block.block.exclusive.cart-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;

  width: var(--drawer-width) !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  height: 100vh !important;   /* fallback */
  max-height: 100dvh !important;
  max-height: 100vh !important;

  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;

  background: var(--drawer-bg) !important;
  z-index: calc(var(--drawer-z) + 1) !important;

  display: flex !important;
  flex-direction: column !important;

  overflow: hidden !important;  /* NO scroll sul wrapper — solo sul body interno */

  transform: translateX(100%) !important;
  transition: transform var(--drawer-transition) !important;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.08) !important;
}

/* Stato APERTO */
#_desktop_cart .blockcart .cart_block.block.exclusive.cart-drawer.is-open,
#_desktop_cart .blockcart .cart_block.block.exclusive.cart-drawer.open,
#_desktop_cart .blockcart .cart_block.block.exclusive.cart-drawer.active,
#_mobile_cart .blockcart .cart_block.block.exclusive.cart-drawer.is-open,
.cart_block.block.exclusive.cart-drawer.is-open,
.cart_block.block.exclusive.cart-drawer.open,
.cart_block.block.exclusive.cart-drawer.active {
  transform: translateX(0) !important;
}

/* Nascondi il vecchio header del cart_block */
#_desktop_cart .cart_block.cart-drawer .top-block-cart,
.cart_block.cart-drawer .top-block-cart {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   3. HEADER DRAWER
   ══════════════════════════════════════════════════════════════ */
.cart-drawer__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 24px !important;
  border-bottom: 1px solid var(--drawer-border) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  min-height: auto !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  background: var(--drawer-bg) !important;
}
.cart-drawer__title {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--drawer-text) !important;
  line-height: 1.3 !important;
}
.cart-drawer__count {
  font-weight: 400 !important;
  color: var(--drawer-text-light) !important;
}
.cart-drawer__close {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 8px !important;
  color: var(--drawer-text) !important;
  transition: opacity 0.2s !important;
  line-height: 1 !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  font-size: inherit !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.cart-drawer__close:hover {
  opacity: 0.6 !important;
}

/* ══════════════════════════════════════════════════════════════
   4. BARRA PROGRESSO
   ══════════════════════════════════════════════════════════════ */
.cart-drawer__progress {
  padding: 16px 24px !important;
  border-bottom: 1px solid var(--drawer-border) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background: var(--drawer-bg) !important;
}
.cart-drawer__progress-msg {
  font-size: 13px;
  color: var(--drawer-text);
  text-align: center;
  margin-bottom: 12px;
  line-height: 1.5;
}
.cart-drawer__progress-msg strong {
  color: var(--drawer-accent-dark);
  font-weight: 700;
}
.cart-drawer__progress-bar {
  position: relative;
  padding-bottom: 28px;
}
.cart-drawer__progress-track {
  height: 6px;
  background: var(--drawer-progress-bg);
  border-radius: 3px;
  overflow: hidden;
}
.cart-drawer__progress-fill {
  height: 100%;
  background: var(--drawer-progress-fill);
  border-radius: 3px;
  transition: width 0.5s ease;
  min-width: 4px;
}
.cart-drawer__milestones {
  position: relative;
  height: 24px;
}
.cart-drawer__milestone {
  position: absolute;
  top: 4px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  opacity: 0.5;
  transition: opacity 0.3s;
}
.cart-drawer__milestone.reached { opacity: 1; }
.cart-drawer__milestone-icon { font-size: 16px; line-height: 1; }
.cart-drawer__milestone-label {
  font-size: 10px;
  color: var(--drawer-text-light);
  white-space: nowrap;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* ══════════════════════════════════════════════════════════════
   5. BODY — LISTA PRODOTTI (zona scrollabile)
   Qui il fix cruciale: sovrascriviamo height:100% del tema
   ══════════════════════════════════════════════════════════════ */
#_desktop_cart .cart_block.cart-drawer .block_content.cart-drawer__body,
#_mobile_cart .cart_block.cart-drawer .block_content.cart-drawer__body,
.cart_block.cart-drawer .block_content.cart-drawer__body,
.cart-drawer .cart-drawer__body {
  flex: 1 1 0% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;

  /* IMPORTANTE: annulliamo le regole del tema che settano height */
  height: 0 !important;        /* flex-basis 0 + flex-grow 1 = riempie lo spazio restante */
  min-height: 0 !important;
  max-height: none !important;

  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
}
.cart-drawer__body::-webkit-scrollbar { width: 4px; }
.cart-drawer__body::-webkit-scrollbar-track { background: transparent; }
.cart-drawer__body::-webkit-scrollbar-thumb { background: var(--drawer-border); border-radius: 2px; }

/* ══════════════════════════════════════════════════════════════
   6. PRODOTTO SINGOLO
   ══════════════════════════════════════════════════════════════ */
.cart-drawer__products .cart-item.cart-drawer__product {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  padding: 16px 24px !important;
  align-items: flex-start !important;
  border-bottom: 1px solid var(--drawer-border) !important;
  margin: 0 !important;
  background: var(--drawer-bg) !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.cart-drawer__product:last-child {
  border-bottom: none !important;
}

/* Pulsante X rimuovi */
.cart-drawer__product .cart-product__remove {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  width: 22px !important;
  height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--drawer-bg) !important;
  border: 1px solid var(--drawer-border) !important;
  border-radius: 50% !important;
  color: var(--drawer-text-light) !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  z-index: 2 !important;
  opacity: 0;
  padding: 0 !important;
  margin: 0 !important;
  right: auto !important;
  bottom: auto !important;
  font-size: 0 !important;    /* nasconde testo "delete" */
}
.cart-drawer__product .cart-product__remove i,
.cart-drawer__product .cart-product__remove .material-icons {
  display: none !important;
}
.cart-drawer__product:hover .cart-product__remove {
  opacity: 1 !important;
}
.cart-drawer__product .cart-product__remove:hover {
  color: #c0392b !important;
  border-color: #c0392b !important;
}

/* Immagine prodotto */
.cart-drawer__product .cart-product__image {
  flex-shrink: 0 !important;
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #f8f8f8 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cart-drawer__product .cart-product__image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.cart-drawer__product .cart-product__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  max-width: none !important;
}

/* Info prodotto */
.cart-drawer__product .cart-product__info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cart-product__name {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cart-product__name a {
  color: var(--drawer-text) !important;
  text-decoration: none !important;
}
.cart-product__name a:hover {
  text-decoration: underline !important;
}
.cart-product__attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}
.cart-product__attr {
  font-size: 12px;
  color: var(--drawer-text-light);
}
.cart-product__link {
  font-size: 13px;
  color: var(--drawer-accent-dark) !important;
  text-decoration: none !important;
  font-weight: 500;
  display: inline-block;
  margin-top: 2px;
}
.cart-product__link:hover {
  text-decoration: underline !important;
}

/* Bottom: qty + prezzo */
.cart-product__bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 8px !important;
  gap: 12px !important;
}
.cart-product__price {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--drawer-text) !important;
  white-space: nowrap;
}

/* Selettore quantità */
.cart-product__qty {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--drawer-border) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: var(--drawer-bg) !important;
}
.cart-product__qty-btn {
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 16px !important;
  color: var(--drawer-text) !important;
  transition: background 0.15s !important;
  padding: 0 !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.cart-product__qty-btn:hover:not(:disabled) {
  background: #f5f5f5 !important;
}
.cart-product__qty-btn:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}
.cart-product__qty-input {
  width: 36px !important;
  height: 32px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1px solid var(--drawer-border) !important;
  border-right: 1px solid var(--drawer-border) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--drawer-text) !important;
  background: none !important;
  -moz-appearance: textfield !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
}
.cart-product__qty-input::-webkit-inner-spin-button,
.cart-product__qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════════════════════
   7. EMPTY STATE
   ══════════════════════════════════════════════════════════════ */
.cart-drawer__body .cart-drawer__empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 60px 24px !important;
  color: var(--drawer-text-light) !important;
  gap: 12px !important;
  height: 100% !important;
}

/* ══════════════════════════════════════════════════════════════
   8. CROSS-SELL
   ══════════════════════════════════════════════════════════════ */
.cart-drawer__crosssell {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  border-top: 1px solid var(--drawer-border) !important;
  padding: 16px 24px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background: var(--drawer-bg) !important;
}
.cart-drawer__crosssell-title {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 12px;
  color: var(--drawer-text);
}
.cart-drawer__crosssell-slider {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.cart-drawer__crosssell-slider::-webkit-scrollbar { display: none; }
.cart-drawer__crosssell-slider > * {
  flex: 0 0 calc(50% - 6px);
  scroll-snap-align: start;
  min-width: 0;
}
.cart-drawer__crosssell-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}
.cart-crosssell-prev,
.cart-crosssell-next {
  background: none !important;
  border: 1px solid var(--drawer-border) !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  color: var(--drawer-text);
  transition: all 0.2s;
  padding: 0 !important;
}
.cart-crosssell-prev:hover,
.cart-crosssell-next:hover {
  border-color: var(--drawer-text) !important;
}
.cart-crosssell-dots { display: flex; gap: 6px; }
.cart-crosssell-dots .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--drawer-border); cursor: pointer;
  transition: background 0.2s;
}
.cart-crosssell-dots .dot.active { background: var(--drawer-accent); }

/* ══════════════════════════════════════════════════════════════
   9. FOOTER — TOTALI + CTA
   ══════════════════════════════════════════════════════════════ */
.cart-drawer__footer {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  border-top: 1px solid var(--drawer-border) !important;
  padding: 16px 24px 24px !important;
  background: var(--drawer-bg) !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.cart-drawer__totals {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 4px !important;
}
.cart-drawer__total-line {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cart-drawer__total-line--main {
  font-size: 16px !important;
  font-weight: 600 !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--drawer-border) !important;
  margin-top: 4px !important;
}
.cart-drawer__total-label { color: var(--drawer-text-light); }
.cart-drawer__total-line--main .cart-drawer__total-label { color: var(--drawer-text); }
.cart-drawer__total-value { font-weight: 600; color: var(--drawer-text); }

.cart-drawer__installments {
  font-size: 12px;
  color: var(--drawer-text-light);
  text-align: center;
  margin: 8px 0 16px;
  line-height: 1.4;
}

/* CTA */
.cart-drawer__actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
a.cart-drawer__btn-checkout,
.cart-drawer__btn-checkout {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  background: var(--drawer-cta-bg) !important;
  color: var(--drawer-cta-text) !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  text-transform: none !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
a.cart-drawer__btn-checkout:hover,
.cart-drawer__btn-checkout:hover {
  background: var(--drawer-cta-hover) !important;
  color: var(--drawer-cta-text) !important;
}
.cart-drawer__btn-continue {
  display: block !important;
  width: 100% !important;
  padding: 12px !important;
  background: none !important;
  border: none !important;
  color: var(--drawer-text-light) !important;
  font-size: 14px !important;
  text-align: center !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  transition: color 0.2s !important;
  margin-top: 4px !important;
  box-shadow: none !important;
}
.cart-drawer__btn-continue:hover {
  color: var(--drawer-text) !important;
}

/* ══════════════════════════════════════════════════════════════
   10. NASCONDI VECCHI ELEMENTI
   ══════════════════════════════════════════════════════════════ */
/* Vecchi summary e checkout del tema dentro al drawer */
.cart-drawer .card.cart-summary,
.cart-drawer .checkout:not(.cart-drawer__actions),
.cart_block.cart-drawer .card.cart-summary,
.cart_block.cart-drawer .checkout:not(.cart-drawer__actions) {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   11. SCROLL PAGINA
   ══════════════════════════════════════════════════════════════ */
/* Quando il drawer è aperto, blocca lo scroll della pagina */
body.cart-drawer-open {
  overflow: hidden !important;
}
/* Ma NON quando è solo cart-open (vecchia classe del tema) */

/* ══════════════════════════════════════════════════════════════
   12. ANIMAZIONI
   ══════════════════════════════════════════════════════════════ */
@keyframes cartProductSlideIn {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
.cart_block.cart-drawer.is-open .cart-drawer__product {
  animation: cartProductSlideIn 0.3s ease forwards;
}
.cart_block.cart-drawer.is-open .cart-drawer__product:nth-child(2) { animation-delay: 0.05s; }
.cart_block.cart-drawer.is-open .cart-drawer__product:nth-child(3) { animation-delay: 0.10s; }
.cart_block.cart-drawer.is-open .cart-drawer__product:nth-child(4) { animation-delay: 0.15s; }
.cart_block.cart-drawer.is-open .cart-drawer__product:nth-child(5) { animation-delay: 0.20s; }

/* ══════════════════════════════════════════════════════════════
   13. RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  #_desktop_cart .blockcart .cart_block.block.exclusive.cart-drawer,
  .cart_block.block.exclusive.cart-drawer {
    width: 100vw !important;
  }
  .cart-drawer__products .cart-item.cart-drawer__product {
    padding: 14px 16px !important;
    gap: 12px !important;
  }
  .cart-drawer__header,
  .cart-drawer__progress,
  .cart-drawer__crosssell,
  .cart-drawer__footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .cart-drawer__product .cart-product__image {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
  }
  .cart-drawer__product .cart-product__remove {
    opacity: 1 !important;
  }
}

/* FIX: prodotti visibili nel drawer */
.cart_block.cart-drawer .cart-drawer__product {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* FIX: X chiusura dimensione corretta */
.cart-drawer__close svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  min-width: 20px !important;
  flex-shrink: 0 !important;
}

/* ── Aggiungi queste regole IN FONDO al CSS definitivo ── */

/* Pulsante "Vai al Carrello" (outline) */
a.cart-drawer__btn-viewcart,
.cart-drawer__btn-viewcart {
  display: block !important;
  width: 100% !important;
  padding: 14px !important;
  background: transparent !important;
  color: var(--drawer-text) !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-decoration: none !important;
  border: 1px solid var(--drawer-border) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  text-transform: none !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
  margin-top: 8px !important;
}


/* =========================================================
   CP Ajax Category Search - Mobile fullscreen search
   ========================================================= */

/* base */
.cp-search-block-top {
	position: relative;
}

/* trigger mobile */
.cp-search-mobile-trigger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	box-shadow: none;
	outline: none;
}

.cp-search-mobile-trigger:focus,
.cp-search-mobile-trigger:active,
.cp-search-mobile-close:focus,
.cp-search-mobile-close:active {
	outline: none;
	box-shadow: none;
}

.cp-search-mobile-trigger-icon {
	display: inline-block;
	font-size: 22px;
	line-height: 1;
	height: 30px !important;
}

/* overlay */
.cp-search-mobile-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}


.cp-search-block-top {
	position: relative;
}

.cp-search-mobile-trigger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.cp-search-mobile-trigger-icon {
	display: block;
	width: 24px;
	height: 24px;
	fill: currentColor;
	color: #111;
}

.cp-search-mobile-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .25s ease, visibility .25s ease;
}

.cp-search-mobile-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.cp-search-mobile-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.35);
}

.cp-search-mobile-panel {
	position: relative;
	width: 100%;
	height: 100%;
	background: #fff;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.cp-search-mobile-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	border-bottom: 1px solid #e8e8e8;
	flex: 0 0 auto;
}

.cp-search-mobile-title {
	font-size: 18px;
	font-weight: 600;
	color: #111;
}

.cp-search-mobile-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 32px;
	line-height: 1;
	color: #111;
}

.cp-search-mobile-body {
	padding: 16px;
	overflow-y: auto;
	flex: 1 1 auto;
}

#cp-search-mobile-mount .searchtoggle {
	display: block !important;
}

#cp-search-mobile-mount .cpsearch-main {
	display: block;
}

#cp-search-mobile-mount .search_query.form-control {
	width: 100%;
	height: 50px;
	font-size: 16px;
	margin-bottom: 12px;
}

#cp-search-mobile-mount .select-wrapper {
	margin-bottom: 12px;
}

#cp-search-mobile-mount .form-control {
	width: 100%;
}

#cp-search-mobile-mount .btn.btn-primary {
	width: 100%;
	min-height: 48px;
	margin-bottom: 16px;
}

#cp-search-mobile-mount .content-ajax-search {
	margin-top: 12px;
}

#cp-search-mobile-mount .items-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

#cp-search-mobile-mount .items-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #f0f0f0;
	width: 100%;
	float: none;
	clear: both;
}

#cp-search-mobile-mount .items-list .image {
	width: 84px;
	min-width: 84px;
	float: none;
	padding: 0;
}

#cp-search-mobile-mount .items-list .image img {
	display: block;
	width: 100%;
	height: auto;
}

#cp-search-mobile-mount .items-list .cpsearch-content {
	flex: 1 1 auto;
	float: none;
	padding: 0;
}

#cp-search-mobile-mount .product-name {
	margin: 0 0 6px;
	font-size: 14px;
	line-height: 1.35;
}

body.cp-search-overlay-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	.cp-search-desktop {
		position: absolute !important;
		left: -99999px !important;
		top: 0 !important;
		width: 320px !important;
		display: block !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.cp-search-mobile-trigger {
		display: inline-flex;
	}

	#search_block_top.cp-search-block-top {
		width: auto;
		float: none;
	}
}

@media (min-width: 768px) {
	.cp-search-mobile-overlay {
		display: none !important;
	}

	.cp-search-mobile-trigger {
		display: none !important;
	}

	.cp-search-desktop {
		display: block;
	}
}
.cp-search-mobile-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.cp-search-mobile-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.cp-search-mobile-panel {
	position: relative;
	width: 100%;
	height: 100%;
	background: #fff;
	display: flex;
	flex-direction: column;
	overflow: auto;
}

.cp-search-mobile-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	border-bottom: 1px solid #e5e5e5;
}

.cp-search-mobile-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
}

.cp-search-mobile-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 32px;
	line-height: 1;
	color: #111;
}

.cp-search-mobile-body {
	padding: 18px;
}

.cpsearch-main-mobile {
	display: block;
}

.cpsearch-main-mobile .search_query_mobile {
	width: 100%;
	height: 48px;
	font-size: 16px;
	border-radius: 0;
	margin-bottom: 12px;
}

.cpsearch-main-mobile .select-wrapper {
	margin-bottom: 12px;
}

.cpsearch-main-mobile .form-control {
	width: 100%;
}

.cp-search-mobile-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
}

/* body lock quando overlay aperto */
body.cp-search-overlay-open {
	overflow: hidden;
}

/* mobile only */
@media (max-width: 767px) {
	.cp-search-desktop {
		display: none !important;
	}

	.cp-search-mobile-trigger {
		display: inline-flex;
	}

	#search_block_top.cp-search-block-top {
		width: auto;
		float: none;
	}
}

/* desktop */
@media (min-width: 768px) {
	.cp-search-mobile-overlay {
		display: none !important;
	}

	.cp-search-mobile-trigger {
		display: none !important;
	}

	.cp-search-desktop {
		display: block;
	}
}

/* =========================================================
   CP Ajax Category Search - Mobile fullscreen live search
   ========================================================= */

.cp-search-block-top {
	position: relative;
}

.cp-search-mobile-trigger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	box-shadow: none;
	outline: none;
}

.cp-search-mobile-trigger:focus,
.cp-search-mobile-trigger:active,
.cp-search-mobile-close:focus,
.cp-search-mobile-close:active {
	outline: none;
	box-shadow: none;
}

.cp-search-mobile-trigger-icon {
	display: block;
	width: 24px;
	height: 24px;
	fill: currentColor;
	color: #111;
}

.cp-search-mobile-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .25s ease, visibility .25s ease;
}

.cp-search-mobile-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.cp-search-mobile-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.35);
}

.cp-search-mobile-panel {
	position: relative;
	width: 100%;
	height: 100%;
	background: #fff;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.cp-search-mobile-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	border-bottom: 1px solid #e8e8e8;
	flex: 0 0 auto;
}

.cp-search-mobile-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
}

.cp-search-mobile-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 32px;
	line-height: 1;
	color: #111;
}

.cp-search-mobile-body {
	padding: 16px;
	overflow-y: auto;
	flex: 1 1 auto;
}

.cpsearch-main-mobile {
	display: block;
}

.cpsearch-main-mobile .search_query_mobile {
	width: 100%;
	height: 50px;
	font-size: 16px;
	border-radius: 0;
	margin-bottom: 12px;
}

.cpsearch-main-mobile .select-wrapper {
	margin-bottom: 12px;
}

.cpsearch-main-mobile .form-control {
	width: 100%;
}

.cp-search-mobile-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin-bottom: 16px;
}

/* live results */
.cp-search-mobile-live-results {
	min-height: 1px;
}

.cp-search-mobile-live-results .cp-search-mobile-message {
	padding: 12px 0;
	font-size: 14px;
	color: #666;
}

.cp-search-mobile-live-results .content-ajax-search {
	margin-top: 8px;
}

@media (max-width: 767px) {
  #cp-search-mobile-mount {
    width: 100%;
  }

  #cp-search-mobile-mount #searchbox {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  #cp-search-mobile-mount #searchbox .cpsearch-main {
    display: block;
    width: 100%;
  }

  #cp-search-mobile-mount #searchbox .search_query.form-control {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 52px;
    padding: 0 16px;
    font-size: 16px;
    border: 1px solid #dcdcdc;
    border-radius: 12px;
    box-sizing: border-box;
    margin: 0 0 12px 0;
  }

  #cp-search-mobile-mount #searchbox .select-wrapper {
    display: block;
    width: 100%;
    margin: 0 0 12px 0;
  }

  #cp-search-mobile-mount #searchbox .select-wrapper select,
  #cp-search-mobile-mount #searchbox #search_category {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #dcdcdc;
    border-radius: 12px;
    box-sizing: border-box;
    background: #fff;
  }

  #cp-search-mobile-mount #searchbox .btn.btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    border-radius: 12px;
    margin: 0 0 16px 0;
  }

  #cp-search-mobile-mount #searchbox .submit-text {
    width: 100%;
    text-align: center;
  }

  #cp-search-mobile-mount .content-ajax-search {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    padding: 0;
    box-sizing: border-box;
  }

  #cp-search-mobile-mount .items-list {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #cp-search-mobile-mount .items-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 14px 0;
    margin: 0;
    border-bottom: 1px solid #efefef;
    box-sizing: border-box;
  }

  #cp-search-mobile-mount .items-list .image {
    width: 72px;
    min-width: 72px;
  }

  #cp-search-mobile-mount .items-list .cpsearch-content {
    flex: 1 1 auto;
    min-width: 0;
  }

  #cp-search-mobile-mount .product-name {
    font-size: 14px;
    line-height: 1.35;
    margin: 0 0 6px 0;
  }

  #cp-search-mobile-mount .product-price-and-shipping {
    font-size: 14px;
    line-height: 1.3;
  }

  .cp-search-mobile-body {
    padding: 16px;
  }

  .cp-search-mobile-panel {
    background: #fff;
  }

  .cp-search-mobile-header {
    padding: 14px 16px;
    border-bottom: 1px solid #ededed;
  }

  .cp-search-mobile-title {
    font-size: 18px;
    font-weight: 600;
  }

  .cp-search-mobile-close {
    width: 40px;
    height: 40px;
    font-size: 30px;
  }
}

.cp-search-mobile-live-results .items-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cp-search-mobile-live-results .items-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #f0f0f0;
	width: 100%;
	float: none;
	clear: both;
}

.cp-search-mobile-live-results .items-list .image {
	width: 84px;
	min-width: 84px;
	float: none;
	padding: 0;
}

.cp-search-mobile-live-results .items-list .image img {
	display: block;
	width: 100%;
	height: auto;
}

.cp-search-mobile-live-results .items-list .cpsearch-content {
	flex: 1 1 auto;
	float: none;
	padding: 0;
}

.cp-search-mobile-live-results .product-name {
	margin: 0 0 6px;
	font-size: 14px;
	line-height: 1.35;
}

.cp-search-mobile-live-results .product-price-and-shipping {
	font-size: 14px;
}

.cp-search-mobile-live-results .search-title {
	margin-top: 14px;
	font-size: 14px;
	color: #222;
}

.cp-search-mobile-live-results .title_showall_text,
.cp-search-mobile-live-results .title_showall {
	margin-top: 10px;
}

body.cp-search-overlay-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	.cp-search-desktop {
		display: none !important;
	}

	.cp-search-mobile-trigger {
		display: inline-flex;
	}

	#search_block_top.cp-search-block-top {
		width: auto;
		float: none;
	}
}

@media (min-width: 768px) {
	.cp-search-mobile-overlay {
		display: none !important;
	}

	.cp-search-mobile-trigger {
		display: none !important;
	}

	.cp-search-desktop {
		display: block;
	}
}


/* OVERLAY CART: nascosto di default */
.overlay.blockcart-overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* OVERLAY CART: visibile solo quando il drawer è aperto */
body.cart-drawer-open .overlay.blockcart-overlay,
.cart_block.cart-drawer.is-open ~ .overlay.blockcart-overlay,
.overlay.blockcart-overlay.is-open,
.overlay.blockcart-overlay.overlay_active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* sicurezza: se il cart NON è aperto, qualsiasi overlay cart sparisce */
body:not(.cart-drawer-open) .overlay.blockcart-overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* eventuali backdrop/modali lasciati dal tema */
.modal-backdrop,
#blockcart-modal {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* se il drawer è chiuso, togli qualunque lock residuo */
body:not(.cart-drawer-open) {
  overflow: auto !important;
  position: static !important;
  top: auto !important;
}

html {
  overflow: auto !important;
}

/* DISATTIVA TOTALMENTE L'OVERLAY DEL CART */
.overlay.blockcart-overlay,
.blockcart-overlay,
.overlay,
.modal-backdrop,
#blockcart-modal {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
}

/* mai bloccare la pagina per il cart */
body.cart-drawer-open,
body.cart-open,
body.modal-open {
  overflow: auto !important;
  position: static !important;
  top: auto !important;
}

html.cart-open,
html.ui-locked,
body.ui-locked {
  overflow: auto !important;
}

@media (max-width: 767px) {
  .cp-search-mobile-overlay {
    background: rgba(10, 10, 10, 0.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .cp-search-mobile-panel {
    position: relative;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #ffffff 0%, #fcfcfc 100%);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .cp-search-mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 18px 14px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .cp-search-mobile-title {
    font-size: 20px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #111111;
  }

  .cp-search-mobile-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 999px;
    background: #ffffff;
    color: #111111;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(17, 17, 17, 0.08);
    transition: all 0.2s ease;
  }

  .cp-search-mobile-close:hover,
  .cp-search-mobile-close:active {
    transform: scale(0.98);
    box-shadow: 0 4px 16px rgba(17, 17, 17, 0.08);
  }

  .cp-search-mobile-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 18px 18px 28px;
    box-sizing: border-box;
  }

  #cp-search-mobile-mount {
    width: 100%;
    max-width: 100%;
  }

  #cp-search-mobile-mount #searchbox {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  #cp-search-mobile-mount #searchbox .cpsearch-main {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    margin: 0 0 14px;
  }

  #cp-search-mobile-mount #searchbox .search_query.form-control {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 56px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 18px;
    background: #ffffff;
    color: #111111;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.01em;
    box-sizing: border-box;
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.04),
      0 10px 30px rgba(17, 17, 17, 0.05);
    transition: all 0.22s ease;
  }

  #cp-search-mobile-mount #searchbox .search_query.form-control::placeholder {
    color: #8b8b8b;
    font-weight: 400;
  }

  #cp-search-mobile-mount #searchbox .search_query.form-control:focus {
    outline: none;
    border-color: rgba(17, 17, 17, 0.16);
    background: #ffffff;
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.04),
      0 14px 34px rgba(17, 17, 17, 0.08);
  }

  #cp-search-mobile-mount #searchbox .select-wrapper {
    display: block;
    width: 100%;
    margin: 0;
  }

  #cp-search-mobile-mount #searchbox .select-wrapper select,
  #cp-search-mobile-mount #searchbox #search_category {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 52px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 16px;
    background: #ffffff;
    color: #111111;
    font-size: 15px;
    font-weight: 500;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.04),
      0 8px 24px rgba(17, 17, 17, 0.04);
    transition: all 0.22s ease;
    background-image:
      linear-gradient(45deg, transparent 50%, #111111 50%),
      linear-gradient(135deg, #111111 50%, transparent 50%);
    background-position:
      calc(100% - 22px) calc(50% - 3px),
      calc(100% - 16px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
  }

  #cp-search-mobile-mount #searchbox .select-wrapper select:focus,
  #cp-search-mobile-mount #searchbox #search_category:focus {
    outline: none;
    border-color: rgba(17, 17, 17, 0.16);
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.04),
      0 12px 30px rgba(17, 17, 17, 0.08);
  }

  #cp-search-mobile-mount #searchbox .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    margin: 0 0 18px;
    padding: 0 18px;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.01em;
    box-sizing: border-box;
    box-shadow:
      0 12px 28px rgba(17, 17, 17, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
  }

  #cp-search-mobile-mount #searchbox .btn.btn-primary:hover,
  #cp-search-mobile-mount #searchbox .btn.btn-primary:active {
    transform: translateY(1px);
    box-shadow:
      0 8px 20px rgba(17, 17, 17, 0.16),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }

  #cp-search-mobile-mount #searchbox .submit-text {
    width: 100%;
    text-align: center;
    color: #ffffff;
    font-weight: 700;
  }

  #cp-search-mobile-mount .content-ajax-search {
    width: 100%;
    max-width: 100%;
    margin-top: 8px;
    padding: 0;
    box-sizing: border-box;
  }

  #cp-search-mobile-mount .items-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #cp-search-mobile-mount .items-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 14px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 20px;
    background: #ffffff;
    box-sizing: border-box;
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.03),
      0 12px 30px rgba(17, 17, 17, 0.05);
  }

  #cp-search-mobile-mount .items-list .image {
    width: 76px;
    min-width: 76px;
    margin: 0;
    padding: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #f7f7f7;
  }

  #cp-search-mobile-mount .items-list .image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  #cp-search-mobile-mount .items-list .cpsearch-content {
    flex: 1 1 auto;
    min-width: 0;
    padding: 2px 0 0;
  }

  #cp-search-mobile-mount .product-name {
    display: block;
    margin: 0 0 8px;
    color: #111111;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -0.01em;
  }

  #cp-search-mobile-mount .product-name a {
    color: inherit;
    text-decoration: none;
  }

  #cp-search-mobile-mount .product-price-and-shipping,
  #cp-search-mobile-mount .price {
    color: #111111;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
  }

  #cp-search-mobile-mount .regular-price,
  #cp-search-mobile-mount .old-price,
  #cp-search-mobile-mount .product-discount {
    font-size: 12px;
    line-height: 1.25;
  }

  #cp-search-mobile-mount .search-title,
  #cp-search-mobile-mount .title_showall,
  #cp-search-mobile-mount .title_showall_text {
    margin-top: 10px;
    color: #111111;
    font-size: 14px;
    font-weight: 600;
  }

  #cp-search-mobile-mount .title_showall a,
  #cp-search-mobile-mount .title_showall_text a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    background: #111111;
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.16);
  }

  #cp-search-mobile-mount .limit,
  #cp-search-mobile-mount .alert,
  #cp-search-mobile-mount .warning,
  #cp-search-mobile-mount .no-results {
    margin: 10px 0 0;
    padding: 14px 16px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 16px;
    background: #ffffff;
    color: #666666;
    font-size: 14px;
    line-height: 1.4;
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.03),
      0 8px 24px rgba(17, 17, 17, 0.04);
  }

  .cp-search-mobile-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    background: #ffffff;
    
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  .cp-search-mobile-trigger:active {
    transform: scale(0.98);
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.03),
      0 6px 18px rgba(17, 17, 17, 0.08);
  }

  .cp-search-mobile-trigger-icon {
    display: block;
    width: 21px;
    height: 21px;
    fill: currentColor;
    color: #111111;
  }

  .cp-search-desktop {
    position: absolute !important;
    left: -99999px !important;
    top: 0 !important;
    width: 320px !important;
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #search_block_top.cp-search-block-top {
    width: auto;
    float: none;
  }
}

@media (max-width: 767px) {
  #cp-search-mobile-mount #searchbox .cpsearch-main {
    display: block;
    width: 100%;
    margin: 0 0 14px;
  }

  #cp-search-mobile-mount #searchbox .search_query.form-control {
    width: 100%;
    max-width: 100%;
    height: 56px;
    margin: 0 0 14px;
    padding: 0 18px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 18px;
    background: #fff;
    box-shadow:
      0 1px 2px rgba(17, 17, 17, 0.04),
      0 10px 30px rgba(17, 17, 17, 0.05);
  }

  #cp-search-mobile-mount #searchbox .btn.btn-primary {
    width: 100%;
    min-height: 54px;
    border-radius: 18px;
  }
}

.overlay,
.blockcart-overlay,
.overlay.blockcart-overlay,
.modal-backdrop,
#blockcart-modal {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.cart_block.block.exclusive.cart-drawer {
  display: none;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateX(100%);
}

.cart_block.block.exclusive.cart-drawer.is-open,
.cart_block.block.exclusive.cart-drawer.open,
.cart_block.block.exclusive.cart-drawer.active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
}


/* =========================
   CART DRAWER PROGRESS BAR
   ========================= */

.cart-drawer__progress {
  padding: 14px 16px 18px;
  border-bottom: 1px solid #ece7df;
  background: #fff;
}

.cart-drawer__progress-head {
  margin-bottom: 14px;
}

.cart-drawer__progress-msg {
  font-size: 15px;
  line-height: 1.35;
  color: #2b2b2b;
  text-align: center;
}

.cart-drawer__progress-msg strong {
  color: #c49a3a;
  font-weight: 700;
}

.cart-progress {
  position: relative;
  padding-top: 8px;
  padding-bottom: 54px;
}

.cart-progress__track,
.cart-progress__fill {
  height: 6px;
  border-radius: 999px;
  position: relative;
}

.cart-progress__track {
  background: #e8dfcf;
  width: 100%;
}

.cart-progress__fill {
  position: absolute;
  left: 0;
  top: 8px;
  width: var(--fill-pos);
  background: linear-gradient(90deg, #c9a24a 0%, #b88a2f 100%);
  box-shadow: 0 1px 4px rgba(184, 138, 47, 0.22);
  transition: width 0.35s ease;
}

.cart-progress__step {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  text-align: center;
  min-width: 96px;
}

.cart-progress__step--shipping {
  left: var(--shipping-pos);
}

.cart-progress__step--gift {
  left: var(--gift-pos);
}

.cart-progress__icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fffaf0;
  border: 1px solid #dbc48b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.cart-progress__step.is-reached .cart-progress__icon {
  background: #c49a3a;
  border-color: #c49a3a;
  color: #fff;
}

.cart-progress__label {
  display: block;
  margin-top: 24px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #7b7468;
}

.cart-progress__amount {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  line-height: 1;
  color: #b08a36;
  font-weight: 600;
}

.cart-progress__step.is-reached .cart-progress__label {
  color: #2a2a2a;
}

.cart-progress__step.is-reached .cart-progress__amount {
  color: #8c6720;
}

/* LOCK BODY */
html.cp-search-lock,
body.cp-search-lock {
	overflow: hidden;
	touch-action: none;
}

/* TRIGGER */
.cp-search-mobile-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(13, 24, 37, 0.08);
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.cp-search-mobile-trigger:hover,
.cp-search-mobile-trigger:focus {
	transform: translateY(-1px);
	box-shadow: 0 12px 30px rgba(13, 24, 37, 0.14);
	outline: none;
}

/* OVERLAY */
.cp-search-mobile-overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .28s ease, visibility .28s ease;
}

.cp-search-mobile-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.cp-search-mobile-backdrop {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at top, rgba(255,255,255,0.12), rgba(255,255,255,0) 30%),
		rgba(8, 15, 27, 0.68);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

/* PANEL */
.cp-search-mobile-panel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-height: 92vh;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border-radius: 28px 28px 0 0;
	box-shadow: 0 -20px 60px rgba(13, 24, 37, 0.22);
	transform: translateY(30px);
	transition: transform .32s cubic-bezier(.2, .8, .2, 1);
	overflow: hidden;
}

.cp-search-mobile-overlay.is-open .cp-search-mobile-panel {
	transform: translateY(0);
}

/* TOPBAR */
.cp-search-mobile-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 18px 10px;
}

.cp-search-mobile-kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #7a8795;
}

.cp-search-mobile-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 999px;
	background: #f1f5f9;
	color: #0d1825;
	font-size: 28px;
	line-height: 1;
	box-shadow: inset 0 0 0 1px rgba(13, 24, 37, 0.05);
	transition: transform .2s ease, background .2s ease;
}

.cp-search-mobile-close:hover,
.cp-search-mobile-close:focus {
	background: #e2e8f0;
	transform: rotate(90deg);
	outline: none;
}

/* CONTENT */
.cp-search-mobile-content {
	padding: 0 18px 22px;
	overflow-y: auto;
	max-height: calc(92vh - 70px);
}

/* FORM */
.cp-search-mobile-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 4px;
}

.cp-search-mobile-inputwrap {
	position: relative;
	padding: 14px;
	border-radius: 22px;
	background: rgba(255,255,255,0.92);
	border: 1px solid rgba(13, 24, 37, 0.08);
	box-shadow:
		0 10px 30px rgba(13, 24, 37, 0.06),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.cp-search-mobile-input {
	width: 100%;
	height: 56px;
	padding: 0 4px;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	font-size: 18px;
	font-weight: 500;
	color: #0d1825;
}

/* QUI RIMUOVI QUALSIASI ICONA CERCA NELL’OVERLAY */
.cp-search-mobile-inputwrap:before,
.cp-search-mobile-inputwrap:after,
.cp-search-mobile-form .search_button,
.cp-search-mobile-form .search-icon,
.cp-search-mobile-form .icon-search,
.cp-search-mobile-form .fa-search,
.cp-search-mobile-form i,
.cp-search-mobile-form svg {
	display: none !important;
	content: none !important;
}

.cp-search-mobile-input::placeholder {
	color: #94a3b8;
	font-weight: 400;
}

.cp-search-mobile-submit {
	height: 52px;
	border: 0;
	border-radius: 18px;
	background: linear-gradient(135deg, #0d1825 0%, #1f3347 100%);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .02em;
	box-shadow: 0 14px 34px rgba(13, 24, 37, 0.18);
	transition: transform .2s ease, box-shadow .2s ease;
}

.cp-search-mobile-submit:hover,
.cp-search-mobile-submit:focus {
	transform: translateY(-1px);
	box-shadow: 0 18px 36px rgba(13, 24, 37, 0.24);
	outline: none;
}

.cp-search-mobile-helper {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: #6b7280;
}

/* RESULTS AREA */
.cp-search-mobile-results {
	margin-top: 18px;
	padding-bottom: 10px;
}

.cp-search-mobile-results.is-visible {
	display: block;
}

/* STILE GENERICO RISULTATI AJAX */
.cp-search-mobile-results ul,
.cp-search-mobile-results ol,
.cp-search-mobile-results .ac_results,
.cp-search-mobile-results .ui-autocomplete,
.cp-search-mobile-results .autocomplete-suggestions {
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	position: static !important;
	width: 100% !important;
	max-height: none !important;
}

.cp-search-mobile-results li,
.cp-search-mobile-results .ac_results li,
.cp-search-mobile-results .ui-menu-item,
.cp-search-mobile-results .autocomplete-suggestion {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px;
	margin-bottom: 10px;
	border-radius: 20px;
	background: rgba(255,255,255,0.92);
	border: 1px solid rgba(13, 24, 37, 0.06);
	box-shadow: 0 10px 26px rgba(13, 24, 37, 0.06);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.cp-search-mobile-results li:hover,
.cp-search-mobile-results .ui-menu-item:hover,
.cp-search-mobile-results .autocomplete-suggestion:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(13, 24, 37, 0.1);
	border-color: rgba(13, 24, 37, 0.12);
}

.cp-search-mobile-results a {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	color: #0f172a;
	text-decoration: none !important;
}

.cp-search-mobile-results img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 16px;
	background: #f8fafc;
	flex: 0 0 64px;
}

.cp-search-mobile-results .product-name,
.cp-search-mobile-results .name,
.cp-search-mobile-results .product_title,
.cp-search-mobile-results strong {
	display: block;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: #0d1825;
}

.cp-search-mobile-results .price,
.cp-search-mobile-results .product-price {
	display: inline-block;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 700;
	color: #0d1825;
}

.cp-search-mobile-results .old-price,
.cp-search-mobile-results .price-old {
	margin-left: 6px;
	font-size: 13px;
	color: #94a3b8;
	text-decoration: line-through;
}

.cp-search-mobile-results .no-result,
.cp-search-mobile-results .empty,
.cp-search-mobile-results .limit {
	padding: 18px;
	border-radius: 18px;
	background: rgba(255,255,255,0.88);
	color: #64748b;
	font-size: 14px;
	text-align: center;
	box-shadow: 0 10px 26px rgba(13, 24, 37, 0.05);
}

/* SOLO MOBILE */
@media (min-width: 768px) {
	.cp-search-mobile-trigger,
	.cp-search-mobile-overlay {
		display: none !important;
	}
}

@media (max-width: 767px) {
  #cp-search-mobile-overlay #searchbox button[type="submit"] {
    display: none !important;
  }
}

body#product #breadcrumb_wrapper,
body#product nav.breadcrumb,
body#product .breadcrumb {
  display: none !important;
}

body#product.cart-drawer-open .pro-stickybar,
body#product.cart-drawer-open .js-pro-stickybar {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

body#product.cart-open .pro-stickybar,
body#product.cart-open .js-pro-stickybar,
body#product.modal-open .pro-stickybar,
body#product.modal-open .js-pro-stickybar,
body#product #_desktop_cart.open .pro-stickybar,
body#product #_desktop_cart.active .pro-stickybar,
body#product #_desktop_cart.is-open .pro-stickybar,
body#product #_mobile_cart.open .pro-stickybar,
body#product #_mobile_cart.active .pro-stickybar,
body#product #_mobile_cart.is-open .pro-stickybar,
body#product .cart_block.open ~ .pro-stickybar,
body#product .cart_block.active ~ .pro-stickybar,
body#product .cart_block.is-open ~ .pro-stickybar,
body#product .overlay.blockcart-overlay.is-open ~ .pro-stickybar,
body#product .overlay.blockcart-overlay.overlay_active ~ .pro-stickybar,
body#product #_desktop_cart.open .js-pro-stickybar,
body#product #_desktop_cart.active .js-pro-stickybar,
body#product #_desktop_cart.is-open .js-pro-stickybar,
body#product #_mobile_cart.open .js-pro-stickybar,
body#product #_mobile_cart.active .js-pro-stickybar,
body#product #_mobile_cart.is-open .js-pro-stickybar,
body#product .cart_block.open ~ .js-pro-stickybar,
body#product .cart_block.active ~ .js-pro-stickybar,
body#product .cart_block.is-open ~ .js-pro-stickybar,
body#product .overlay.blockcart-overlay.is-open ~ .js-pro-stickybar,
body#product .overlay.blockcart-overlay.overlay_active ~ .js-pro-stickybar {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

/* Lo stato reale del drawer vince sulle classi residue del tema */
body#product.pro-sticky-hidden-by-cart .pro-stickybar,
body#product.pro-sticky-hidden-by-cart .js-pro-stickybar {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

body#product.has-pro-stickybar:not(.pro-sticky-hidden-by-cart) .pro-stickybar,
body#product.has-pro-stickybar:not(.pro-sticky-hidden-by-cart) .js-pro-stickybar {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 99999 !important;
}
