/* Scheda prodotto: miniature galleria in riga con scroll orizzontale */
.cz-thumblist {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
}
.cz-thumblist::-webkit-scrollbar { height: 6px; }
.cz-thumblist > * { flex: 0 0 auto !important; }
.cz-thumblist img { max-height: 72px; width: auto; }

/* Forza thumblist su una sola riga con scroll orizzontale (mobile) */
/* Mobile + tablet: stesso layout galleria fino a 991px */
@media (max-width: 991.98px) {
  .cz-product-gallery .cz-thumblist {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
    gap: 8px !important;
  }
  .cz-product-gallery .cz-thumblist-item {
    flex: 0 0 auto !important;
    display: inline-block !important;
  }
}

/* Salvaguardia: nascondi sempre le thumbnails sotto i 992px (alcuni device hanno DPR elevato) */
@media (max-width: 991.98px) {
  .cz-thumblist, .cz-thumblist.order-sm-1 { display: none !important; }
}
/* css personalizzato */

/* Home: blocco ex-inline estratto dal template index */
#main-content .cz-carousel .tns-controls > button {
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  padding: 0.15rem;
  font-size: 0.78rem;
  line-height: 1;
}
#main-content .cz-carousel .tns-controls > [data-controls="prev"] {
  margin-left: -0.2rem;
}
#main-content .cz-carousel .tns-controls > [data-controls="next"] {
  margin-right: -0.2rem;
}
#main-content .cz-carousel .product-card .bg-white {
  height: 95px !important;
}
#main-content .cz-carousel .product-card .bg-white table {
  height: 95px !important;
}
#main-content .cz-carousel .product-card .bg-white img {
  height: 95px !important;
  max-height: 95px !important;
  width: auto !important;
  object-fit: contain !important;
}
#main-content .home-section-title.border-bottom {
  border-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .75rem !important;
  text-align: center !important;
}
#main-content .home-section-title.border-bottom::before,
#main-content .home-section-title.border-bottom::after {
  content: "";
  flex: 1 1 auto;
  border-top: 1px solid #d9dee3;
  min-width: 24px;
}
#main-content .home-dcs-carousel-frame {
  height: 230px !important;
  min-height: 230px !important;
}
#main-content #homePartnerCarousel .carousel-inner,
#main-content #homePartnerCarousel .carousel-item,
#main-content #homePartnerCarousel img {
  height: 190px !important;
}
.home-block {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.home-block:empty {
  display: none;
  margin: 0 !important;
}
.home-block:last-of-type {
  margin-bottom: 0;
}
.home-block.home-block-banneroni {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .home-block.home-block-servizi {
    margin-bottom: 0;
  }
}
@media (max-width: 991.98px) {
  #main-content .home-dcs-carousel-frame {
    height: 180px !important;
    min-height: 180px !important;
  }

  .home-block.home-block-servizi {
    margin-bottom: .75rem;
  }

  .home-partner-cta-btn {
    display: none !important;
  }
}

/* Promo / note prezzo: alert grigio con bordo tratteggiato */
.promo-alert { border: 1px dashed #6c757d !important; }

/* Carrellino testata: larghezza più ampia e responsiva */
.cart-dropdown {
  width: 420px;
  max-width: 95vw;
  font-size: 0.8rem;
}

/* Tipografia globale: usa Rubik come font principale */
html, body {
    font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif !important;
}

/* ========================================
   PERSONALIZZAZIONE PALETTE BOOTSTRAP
   ======================================== */
:root {
	/* Colori primari personalizzati */
	--bs-primary: #046aac;
	--bs-primary-rgb: 4, 106, 172;
	--bs-secondary: #f3f5f9;
	--bs-secondary-rgb: 243, 245, 249;
	--bs-success: #009900;
	--bs-success-rgb: 0, 153, 0;
	--bs-info: #69b3fe;
	--bs-info-rgb: 105, 179, 254;
	--bs-warning: #FFCC00;
	--bs-warning-rgb: 255, 204, 0;
	--bs-danger: #c00;
	--bs-danger-rgb: 204, 0, 0;
	--bs-light: #f8f9fa;
	--bs-light-rgb: 248, 249, 250;
	--bs-dark: #2b3445;
	--bs-dark-rgb: 43, 52, 69;
	
	/* Colori personalizzati aggiuntivi */
	--bs-accent: #046aac;
	--bs-accent-rgb: 4, 106, 172;
	--bs-accent-dark: #024b7a;
	--bs-accent-dark-rgb: 2, 75, 122;
	--bs-amaranto: #8c3839;
	--bs-amaranto-rgb: 140, 56, 57;
	
	/* Varianti di hover e stati */
	--bs-primary-hover: #024b7a;
	--bs-warning-hover: #e6b800;
	--bs-danger-hover: #a00;
	
	/* Colori per background */
	--bs-body-bg: #ffffff;
	--bs-body-color: #4b566b;
	
	/* Link colors */
	--bs-link-color: #727272;
	--bs-link-hover-color: #fe3638;
}

/* Applica i colori personalizzati agli elementi Bootstrap */
.btn-primary {
	background-color: var(--bs-primary) !important;
	border-color: var(--bs-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: var(--bs-primary-hover) !important;
	border-color: var(--bs-primary-hover) !important;
}

.btn-warning {
	background-color: var(--bs-warning) !important;
	border-color: var(--bs-warning) !important;
	color: #111 !important;
}

.btn-warning:hover {
	background-color: var(--bs-warning-hover) !important;
	border-color: var(--bs-warning-hover) !important;
}

.btn-danger {
	background-color: var(--bs-danger) !important;
	border-color: var(--bs-danger) !important;
}

.btn-danger:hover {
	background-color: var(--bs-danger-hover) !important;
	border-color: var(--bs-danger-hover) !important;
}

.btn-success {
	background-color: var(--bs-success) !important;
	border-color: var(--bs-success) !important;
}

.badge-primary {
	background-color: var(--bs-primary) !important;
}

.badge-warning {
	background-color: var(--bs-warning) !important;
	color: #111 !important;
}

.badge-success {
	background-color: var(--bs-success) !important;
}

.text-primary {
	color: var(--bs-primary) !important;
}

.bg-primary {
	background-color: var(--bs-primary) !important;
}

.bg-warning {
	background-color: var(--bs-warning) !important;
}

.alert-primary {
	background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
	border-color: var(--bs-primary) !important;
	color: var(--bs-primary-hover) !important;
}

.alert-warning {
	background-color: rgba(var(--bs-warning-rgb), 0.15) !important;
	border-color: var(--bs-warning) !important;
	color: #856404 !important;
}

.alert-danger {
	background-color: rgba(var(--bs-danger-rgb), 0.1) !important;
	border-color: var(--bs-danger) !important;
	color: var(--bs-danger) !important;
}


.sidebar a {
    color: var(--darker, #2b3445) !important;
} 


/* ======================================== */

#myTab .nav-link .active,
#myTab .nav-link {
	font-weight: bold !important;
    font-size: 1.05rem !important;
}

/* Icecat: nasconde la nav tab finché non è pronta */
#myTab[data-icecat-gated="1"] {
  display: none !important;
  visibility: hidden !important;
}
#myTab[data-icecat-gated="1"][data-icecat-ready="1"] {
  display: flex !important;
  visibility: visible !important;
}

/* Tab scheda prodotto: su viewport medio-piccoli (tablet orizzontale) riduci leggermente il font e il padding */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #myTab .nav-link {
    font-size: 0.9rem !important;
    padding: 0.6rem 0.4rem;
  }
}

@media (max-width: 768px) {
  #myTab .nav-link { font-size: 1.1rem !important; }
}

/* Scheda prodotto mobile: tab in griglia con bordo */
@media (max-width: 991.98px) { 
  #myTab {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding-left: 8px;
    padding-right: 8px;
    border-bottom: 0 !important;
    white-space: normal !important;
  }
  #myTab .nav-item {
    width: 100% !important;
    margin: 0 !important;
  }
  #myTab .nav-link {
    display: block !important;
    width: 100%;
    text-align: center;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    line-height: 1.2;
    padding: 0.55rem 0.45rem !important;
    border: 1px solid #d9dee7 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #2b3445 !important;
  }
  #myTab .nav-link.active,
  #myTab .nav-item.show .nav-link {
    border-color: #046aac !important;
    background: #eef6ff !important;
    color: #024b7a !important;
  }
}

/* Scheda prodotto: le regole generiche #myTab sopra usano display:block e font piccolo con !important;
   qui ripristiniamo flex + tipografia uniforme (tutte le tab, con o senza <span>). */
@media (max-width: 991.98px) {
  #descrizione-prodotto #myTab.ifta-product-tabs .nav-link,
  #descrizione-prodotto #myTab.ifta-product-tabs .nav-link.active,
  #descrizione-prodotto #myTab.ifta-product-tabs .nav-item.show .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    min-height: 3.15rem !important;
    padding: 0.65rem 0.55rem !important;
    text-align: center !important;
    white-space: normal !important;
  }
  #descrizione-prodotto #myTab.ifta-product-tabs .nav-link span {
    font-size: inherit !important;
    line-height: inherit !important;
    display: inline !important;
    width: auto !important;
  }
}

/* Breadcrumb più compatto su mobile */
@media (max-width: 991.98px) {
  .breadcrumb,
  .breadcrumb .breadcrumb-item,
  .breadcrumb .breadcrumb-item a { font-size: 0.8rem !important; }
  .breadcrumb { margin-bottom: .5rem !important; }
}

/* Scheda prodotto mobile: riduci padding laterale sezione descrizione */
@media (max-width: 991.98px) {
  #descrizione-prodotto.container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Scheda prodotto mobile: allinea meglio la griglia prodotti (tab Accessori) */
@media (max-width: 991.98px) {
  #myTabContent > .tab-pane {
    padding-left: 8px;
    padding-right: 8px;
  }
  #accessori .d-lg-none {
    padding-left: 0;
    padding-right: 0;
  }
  #accessori .d-lg-none .row {
    margin-left: -6px;
    margin-right: -6px;
  }
  #accessori .d-lg-none .row > [class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
  }
  #accessori .d-lg-none .card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0.65rem;
  }
  #accessori .d-lg-none .card-body .img-fluid {
    width: 100%;
    height: 120px;
    object-fit: contain;
    margin-bottom: 0.5rem !important;
  }
  #accessori .d-lg-none .card-title {
    min-height: 2.8em;
    margin-bottom: 0.25rem;
    line-height: 1.2;
    font-size: 0.8rem;
  }
  #accessori .d-lg-none .product-price {
    min-height: 2.2em;
    margin-top: auto;
  }
  /* Nasconde marca sotto il titolo */
  #accessori .d-lg-none .card-body > small.text-muted {
    display: none !important;
  }
  /* Prezzo più compatto su mobile */
  #accessori .d-lg-none .product-price,
  #accessori .d-lg-none .product-price .text-accent,
  #accessori .d-lg-none .product-price .prezzo {
    font-size: 0.92rem !important;
    line-height: 1.2;
  }
  /* Nasconde il bollino percentuale sconto */
  #accessori .d-lg-none .product-price .percento_grande {
    display: none !important;
  }
  /* Look & feel più vicino alle card desktop */
  #accessori .d-lg-none .card {
    border: 1px solid #e3e9ef !important;
    border-radius: 0.4375rem !important;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.04);
    background: #fff;
  }
  #accessori .d-lg-none .card-title a {
    color: #2b3445 !important;
    text-decoration: none !important;
  }
  #accessori .d-lg-none .card-title a b {
    font-weight: 600 !important;
  }
  #accessori .d-lg-none .product-price .text-accent {
    color: #fe3638 !important;
    font-weight: 700 !important;
  }
  #accessori .d-lg-none .product-price del,
  #accessori .d-lg-none .product-price .barrato {
    font-weight: 400 !important;
  }
  #accessori .d-lg-none .btn.btn-carrello {
    margin-top: 0.35rem;
    border-radius: 0.35rem;
    padding: 0.35rem 0.5rem;
    min-height: 34px;
  }
  #accessori .d-lg-none .btn.btn-carrello a {
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    font-size: 0.82rem;
    font-weight: 600;
  }
}

/* Contenuto tab: Descrizione e Scheda tecnica */
#myTabContent #tab-desc,
#myTabContent #tab-tech {
  font-size: 1.06rem;
  line-height: 1.7;
}
#myTabContent #tab-desc p,
#myTabContent #tab-desc li,
#myTabContent #tab-tech p,
#myTabContent #tab-tech li {
  font-size: 1.06rem;
  line-height: 1.7;
}
@media (max-width: 991.98px) {
  #myTabContent #tab-desc,
  #myTabContent #tab-tech,
  #myTabContent #tab-desc p,
  #myTabContent #tab-desc li,
  #myTabContent #tab-tech p,
  #myTabContent #tab-tech li { font-size: 1rem; line-height: 1.6; }
}

nav-pills .nav-link.active {   
				box-shadow: none !important;
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff !important;    
				background-color: #333 !important;}				
.nav-pills .nav-link.active {
    box-shadow: none !important;
}

label:not(.form-check-label):not(.custom-control-label):not(.custom-file-label):not(.custom-option-label) {
    color: #111 !important;
}
label:not(.form-check-label):not(.custom-control-label):not(.custom-file-label):not(.custom-option-label) {
    color: #111 !important;
}

/* Applica a tutti gli elementi focusabili */
:focus {
		outline: 3px solid #005fcc;   /* bordo spesso e ben visibile */
		outline-offset: 2px;          /* lascia un po’ di spazio dal bordo dell’elemento */
}

/* Se vuoi disegnare un bordo arrotondato o un’ombra: */
button:focus,
a:focus {
		outline: none;                /* rimuovi outline di default */
		box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.6);
		border-radius: 4px;
}
		
:focus-visible {
  outline: 3px dashed #e6007e;
}

a{color:#727272 !Important;text-decoration:none;background-color:transparent}
a:hover{color:#fe3638;text-decoration:none}

/* Forza Rubik nella sidebar (sovrascrive lo stile inline in inc_css.php) */
.sidebar, .sidebar * {
    font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif !important;
}

/* Testata: larghezze specifiche per voci menu reparti (desktop) */
@media (min-width: 992px) {
  .wsmenu>.wsmenu-list>li:first-child { width: 9% !important; }
  .wsmenu>.wsmenu-list>li:nth-child(6) { width: 13% !important; }
  .wsmenu>.wsmenu-list>li:nth-child(7) { width: 9% !important; }
  .wsmenu>.wsmenu-list>li:nth-child(8) { width: 9% !important; }
  /* Mega menu: molte colonne .col su una riga portavano flex-basis a zero e titoli lunghi si sovrapponevano */
  .wsmenu>.wsmenu-list>li>.wsmegamenu .row {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }
  .wsmenu>.wsmenu-list>li>.wsmegamenu .row > .col {
    flex: 1 1 12rem;
    min-width: 0;
    max-width: 100%;
  }
  .wsmenu>.wsmenu-list>li .wstliststy02 li.wstheading a {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    line-height: 1.25;
    display: inline-block;
    max-width: 100%;
  }
  .wsmenu>.wsmenu-list>li .wstliststy02 li:not(.wstheading) a {
    white-space: normal;
    overflow-wrap: break-word;
  }
}

/* Menu reparti: compattalo tra 992px e 1262px per evitare sovrapposizioni */
@media (min-width: 992px) and (max-width: 1261.98px) {
  .wsmenu > .wsmenu-list > li > a {
    font-size: 0.9rem !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    letter-spacing: 0 !important;
  }
}

/* Menu testata: fascia desktop stretta, evita sovrapposizione etichette */
@media (min-width: 992px) and (max-width: 1261.98px) {
  .wsmenu > .wsmenu-list {
    display: flex !important;
    width: 100% !important;
  }
  .wsmenu > .wsmenu-list > li {
    width: 10% !important;
    flex: 0 0 10% !important;
    max-width: 10% !important;
  }
  .wsmenu > .wsmenu-list > li > a {
    font-size: clamp(0.78rem, 0.58rem + 0.45vw, 0.92rem) !important;
    line-height: 1.1 !important;
    padding: 0.45rem 0.35rem !important;
    white-space: normal !important;
    text-align: center;
  }
}

@font-face {
   font-family: Stokke-Regular;
   src: url("../fonts/STOKKE/Stokke-Regular.otf") format("opentype");
}

@font-face {
    font-family: Stokke-Regular;
    font-weight: bold;
    src: url("../fonts/STOKKE/Stokke-Bold.otf") format("opentype");
}

.STOKKE {font-family:Stokke-Regular !Important}
.STOKKE p {color:#222 !important; }
.STOKKE h3 {font-size:24px !important; }
.STOKKE .btn {background-color:#222222 !Important; border-color:#222222 !Important}



 
h2, #descrizione-prodotto h4, #descrizione-prodotto h5,
#descrizione-prodotto h6, aside h3 {color:#024b7a !important}

.cz-range-slider-ui .noUi-tooltip,
.cz-range-slider-ui .noUi-connect { background-color:#2b3445 !important}

.sidebar .cz-range-slider-ui .noUi-handle {
    background-color: #2b3445 !important;
    border-color: #2b3445 !important;
}

.sidebar .cz-range-slider-ui .noUi-handle:before,
.sidebar .cz-range-slider-ui .noUi-handle:after {
    background-color: #fff !important;
} 
 
#descrizione-prodotto h4, #descrizione-prodotto h5 
{margin-top:50px; text-transform:uppercase}

#descrizione-prodotto h2 {font-size:24px; margin-top:40px}
#descrizione-prodotto h3 {font-size:20px; margin-top:40px}

.card-body { 
padding-right: .50rem !important; 
padding-left: .50rem !important;}
	
.product-price span { color:#222 !important; }

.product-badge {right: -1rem !Important}

@media (min-width: 992px){
				.product-details {
    width: 100%;
    max-width: 100% !important;
    padding-top: 0.25rem;}
}

@media (min-width: 1280px)
{.container{max-width:1340px !important}}
@media (min-width: 1280px)
{.container,.container-sm,
.container-md,
.container-lg,
.container-xl{max-width:1340px !important}}
@media (min-width: 1280px) {
  .home-banner-section .container {
    max-width: 1340px !important;
  }
}

.navbar-brand{padding: 0 !important;} 
.navbar {padding-top: 5px !important;}


.cz-sidebar-body {
    /*padding: 1.875rem 1.875rem;*/
	padding: 2.5rem 1.275rem 0 1.275rem !important;}
.cz-sidebar-body .simplebar-content {
    padding-right: 1.275rem !important;}
.widget-categories .widget-list-item {
    padding-left: 0rem !Important;
}

.product-badge {top:25px !important}

.badge-colori { font-size: 70%;
line-height: 1; padding-top:5px !important} 
.product-list .btn-wishlist
{position:absolute;top:0 !important;right:0 !important}

/* Margine superiore extra per la barra azioni su mobile, per staccarla dalla foto */
@media (max-width: 767.98px) {
  .home-card-actions {
    margin-top: 0.5rem !important;
  }
}

.wishlist-button {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  background-color: #f6f9fc !important;
  border-color: transparent !important;
  color: #4b566b !important;
  box-shadow: none !important;
}

.wishlist-button .czi-heart,
.wishlist-button i,
.wishlist-button span {
  color: #4b566b !important;
}

.wishlist-button:hover,
.wishlist-button:focus,
.wishlist-button:active {
  background-color: #e3ebf6 !important;
  border-color: transparent !important;
  color: #2b3445 !important;
}

.wishlist-button:hover .czi-heart,
.wishlist-button:focus .czi-heart,
.wishlist-button:active .czi-heart {
  color: #2b3445 !important;
}

.wishlist-button--active {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

.wishlist-button--active .fa-heart,
.wishlist-button--active .czi-heart,
.wishlist-button--active span,
.wishlist-button--active i {
  color: #fff !important;
}

.wishlist-button--active:hover,
.wishlist-button--active:focus,
.wishlist-button--active:active {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

.wishlist-button--active:hover .fa-heart,
.wishlist-button--active:hover .czi-heart,
.wishlist-button--active:focus .fa-heart,
.wishlist-button--active:focus .czi-heart,
.wishlist-button--active:active .fa-heart,
.wishlist-button--active:active .czi-heart {
  color: #fff !important;
}

.wishlist-button--pending {
  pointer-events: none;
  opacity: 0.6;
}

/* Ottimizza caricamento font icone cartzilla (PageSpeed: font-display) */
@font-face {
  font-family: 'cartzilla-icons';
  src: url("../fonts/cartzilla-iconsc17f.woff?v4xwry") format("woff"),
       url("../fonts/cartzilla-iconsc17f.ttf?v4xwry") format("truetype"),
       url("../fonts/cartzilla-iconsc17f.svg?v4xwry#cartzilla-icons") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Wishlist (griglia): allinea prezzo + pulsanti alla base card */
.wishlist-card-aligned {
  display: flex !important;
  flex-direction: column !important;
}
.wishlist-card-aligned .card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.wishlist-card-aligned .product-price {
  min-height: 2.4rem;
}
.wishlist-card-aligned .home-card-actions {
  margin-top: auto !important;
}

.image-center {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

.btn-carrello {background-color:#FFCC00 !Important; 
font-weight:bold; color:#111 !important; border:none !important; text-transform:none !important}

#attesa {
margin:auto; text-align:center;
width: 12rem; height: 12rem;
border-top: 1.5em solid rgba(255, 255, 255, .7);
border-right: 1.5em solid rgba(255, 255, 255, .7);
border-bottom: 1.5em solid rgba(255, 255, 255, .7);
border-left: 1.5em solid #fff; 
}

.custom-option-label { border:2px solid #ddd !important}
.custom-option-label:hover { border:2px solid #999 !important}

.navbar-nav a.nav-link {color:#fff !important} 

.bg-amaranto {background-color:#8c3839 !important}
.text-accent {color:#c00 !important}

/* Scheda usato: galleria piu ampia, colonna info piu compatta */
@media (min-width: 992px) {
  .usato-product-layout > .col-lg-7 .cz-product-gallery .cz-preview-item img {
    max-height: 620px;
    object-fit: contain;
  }
}

/* Vetrina usato nei punti vendita: allinea dimensione prezzi a /usato */
#vetrina-usato-punto-vendita .product-price .text-accent,
#vetrina-usato-punto-vendita .product-price .text-muted {
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

/* Paginazione liste usato: layout mobile su nuova riga */
@media (max-width: 767.98px) {
  .usato-list-header {
    flex-direction: column;
    align-items: stretch;
  }
  .usato-sort,
  .usato-pagination,
  .usato-viewmode {
    width: 100%;
  }
  .usato-pagination {
    order: 2;
    margin-top: 0.5rem;
    justify-content: center !important;
  }
  .usato-viewmode {
    order: 3;
    margin-top: 0.5rem;
    justify-content: flex-start;
  }
  .usato-list-header .pagination {
    flex-wrap: wrap;
  }
  /* Nascondi solo la paginazione header usato in alto su mobile (ordina + vista restano visibili) */
  .usato-list-header-top .usato-pagination {
    display: none !important;
  }
}

/* Breadcrumb famiglie (nuovo): più leggibile su mobile */
@media (max-width: 575.98px) {
  .page-title-overlap .breadcrumb {
    font-size: 0.8rem;
    flex-wrap: wrap;
  }
  .page-title-overlap .breadcrumb-item {
    max-width: 100%;
    white-space: normal;
  }
}

/* Scheda prodotto: breadcrumb centrato su mobile */
@media (max-width: 991.98px) {
  .page-title-overlap .d-lg-none.text-left {
    text-align: center !important;
  }
  .page-title-overlap .product-mobile-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .page-title-overlap .product-breadcrumb-mobile {
    justify-content: center !important;
  }
}

/* Scheda prodotto: breadcrumb senza grassetto */
.page-title-overlap .product-mobile-back-link,
.page-title-overlap .product-mobile-back-link span,
.page-title-overlap .product-breadcrumb-mobile .breadcrumb-item,
.page-title-overlap .product-breadcrumb-mobile .breadcrumb-item a {
  font-weight: 400 !important;
}

.text-darker {color:#2b3445 !important}

/* Liste prodotto: altezza coerente per CTA acquisto e bottoni icona */
.list-add-cart-btn {
  min-height: 42px;
  height: 42px;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  line-height: 1 !important;
}
.list-add-cart-btn.btn,
.list-add-cart-btn a {
  min-height: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
}

/* Liste prodotto: distanza uniforme tra wishlist / quickview / acquisto */
.home-card-actions {
  gap: 8px;
}
.home-card-actions > .btn,
.home-card-actions > a.btn,
.home-card-actions > .wishlist-button {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.home-card-actions > * + * {
  margin-left: 8px !important;
}

/* Shared card-actions contract (home sliders + PLP) */
.iftm-card-actions-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.iftm-card-actions-row > * + * {
  margin-left: 0 !important;
}
.iftm-card-action-icon {
  min-width: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.iftm-card-action-main {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ========================================
   REGOLA GLOBALE: Tutti i tag h devono avere text-darker
   ======================================== */
/* Applica text-darker a tutti i tag heading del sito */
h1:not(.text-muted):not(.text-white):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info),
h2:not(.text-muted):not(.text-white):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info),
h3:not(.text-muted):not(.text-white):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info),
h4:not(.text-muted):not(.text-white):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info),
h5:not(.text-muted):not(.text-white):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info),
h6:not(.text-muted):not(.text-white):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info) {
    color: var(--bs-darker, #2b3445) !important;
}

/* Eccezioni: mantieni i colori originali per elementi specifici */
.breadcrumb h1, .breadcrumb h2, .breadcrumb h3, .breadcrumb h4, .breadcrumb h5, .breadcrumb h6,
.modal h1, .modal h2, .modal h3, .modal h4, .modal h5, .modal h6,
.offcanvas h1, .offcanvas h2, .offcanvas h3, .offcanvas h4, .offcanvas h5, .offcanvas h6,
.dropdown-menu h1, .dropdown-menu h2, .dropdown-menu h3, .dropdown-menu h4, .dropdown-menu h5, .dropdown-menu h6,
.navbar h1, .navbar h2, .navbar h3, .navbar h4, .navbar h5, .navbar h6,
/* Tag h nel footer devono essere bianchi - forziamo text-white con massima specificità */
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer h1.text-white, footer h2.text-white, footer h3.text-white, footer h4.text-white, footer h5.text-white, footer h6.text-white,
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6,
footer .widget-title,
footer h1.widget-title, footer h2.widget-title, footer h3.widget-title, 
footer h4.widget-title, footer h5.widget-title, footer h6.widget-title,
footer .widget h1, footer .widget h2, footer .widget h3, footer .widget h4, footer .widget h5, footer .widget h6 {
    color: #ffffff !important;
}

/* Assicura che tutti i tag h nel footer siano bianchi, anche senza classe text-white */
footer h1:not(.text-white):not(.text-muted):not(.text-primary),
footer h2:not(.text-white):not(.text-muted):not(.text-primary),
footer h3:not(.text-white):not(.text-muted):not(.text-primary),
footer h4:not(.text-white):not(.text-muted):not(.text-primary),
footer h5:not(.text-white):not(.text-muted):not(.text-primary),
footer h6:not(.text-white):not(.text-muted):not(.text-primary) {
    color: #ffffff !important;
}

/* Sorting select and its options: force darker color */
#sorting, #sorting option { color:#2b3445 !important; }

.bg-bannerino-1 {background-color:#e8f2fc !important}
.bg-bannerino-2 {background-color:#f7f1ed !important}
.bg-bannerino-3 {background-color:#e4f6f1 !important}

.bg-danger, .badge-danger {background:#c00 !Important}
.bg-accent {background:#046aac !Important}
.bg-accent:hover {background-color:#024b7a !Important}

.bg-navbar {background-color:#000 !Important}

.mega-nav::after {width:0 !important}

.cz-image-zoom {margin:auto}

.product-title {
    text-transform:uppercase !important;
    line-height: 1.15 !important;
}
.product-title a {
    color:#000 !Important;
    line-height: 1.15 !important;
}

/* Vetrina usato (lista in col-7): nome prodotto più compatto */
.card .col-7 > ul.list-unstyled > li .font-weight-bold{
    line-height: 1.15 !important;
    display: block;
}

/* Desktop: riduci font nomi prodotto nella lista (vetrina usato) */
@media (min-width: 992px) {
    .card .col-7 > ul.list-unstyled > li .font-weight-bold{
        font-size: 0.85rem !important;
    }
}

/* Vetrina usato (lista in col-7): nascondi fotine a sinistra */
.card .col-7 > ul.list-unstyled > li > a.mr-2 {
    display: none !important;
}

/* Icone nei titoli delle sezioni home: allineamento verticale coerente */
.home-section-title i[class^="czi-"],
.home-section-title i[class*=" czi-"] {
    position: relative;
    top: -1px;
    vertical-align: middle;
}

/* Titoli prodotti: stile più leggero nelle card, soprattutto in homepage */
@media (max-width: 991px) {
    .cz-carousel .product-card .product-title,
    .cz-carousel .product-card .product-title a {
        font-weight: 500 !important;
    }
}

/* Anche su desktop alleggeriamo il grassetto delle card prodotto (reparti / schede elenco) */
.product-card .product-title,
.product-card .product-title a {
    font-weight: 500 !important;
}

/* Nascondi selettore lingua in testata (sito solo in italiano per ora) */
.lang-switcher { display: none !important; }

.text-success {color:#009900 !important}

h1 {
	font-weight: 900 !important;
	font-size: 1.75rem !important; /* Ridotto da ~2.5rem (default Bootstrap) a 1.75rem */
}

.page-title-overlap {
    padding-bottom: 4.975rem;
}

/* Area privata (e pagine con header sovrapposto): su mobile titolo troppo grande */
@media (max-width: 575.98px) {
  .page-title-overlap h1 {
    font-size: 1.2rem !important;
    line-height: 1.2 !important;
  }

  /* Area riservata: nasconde sidebar su mobile */
  .area-privata-menu-col {
    display: none !important;
  }

  /* Area riservata: nel breadcrumb nasconde la pagina corrente su mobile */
  .page-title-overlap .breadcrumb .breadcrumb-item.active[aria-current="page"] {
    display: none !important;
  }
}

.page-item.active>.page-link {
    box-shadow: none !important;
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #222;
}

/* Badges filtri attivi (reparto/famiglia) */
.filter-badges {
  padding: .5rem !important;
}
.filter-badges .badge {
  margin: 0 .5rem .5rem 0 !important;
}


#testata-cerca .prepended-form-control:not(.rounded-left-0) {
padding-left: 1rem !important; }
#testata-cerca .custom-select, 
#testata-cerca .btn {border-radius:0}

/* Header desktop search (ex inline/style block in inc_testata_cerca.php) */
.iftm-search-desktop-wrap {
  position: relative;
  width: 100%;
}

#testata-cerca {
  position: relative;
  padding-right: 0rem;
}

#testata-cerca .form-control,
#testata-cerca .search-desktop-input {
  padding-right: 0;
}

#testata-cerca .search-desktop-input {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
}

#criterio {
  width: 100%;
  padding-left: 90px;
}

#doofinder-catalog-selector {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  border: none;
  border-right: 1px solid #dee2e6;
  background: #fff;
  padding: 9px;
  margin-left: 0;
  font-size: 0.875rem;
  color: #000;
  cursor: pointer;
  z-index: 10;
  border-radius: 0.25rem 0 0 0.25rem;
  width: auto;
  min-width: 80px;
}

#doofinder-catalog-selector:hover {
  color: #000;
}

#doofinder-catalog-selector option {
  color: #000 !important;
  background: #fff !important;
}

#doofinder-catalog-selector option:checked {
  color: #000 !important;
  background: #fff !important;
}

#doofinder-catalog-selector option:hover {
  color: #000 !important;
  background: #f0f0f0 !important;
}

#doofinder-catalog-selector:focus {
  outline: none;
  box-shadow: none;
}

/* Header mobile search (ex inline styles in inc_testata_cerca_mobile.php) */
.iftm-mobile-search-wrap {
  position: relative;
}

/* Home servizi (ex inline style block in inc_home_servizi.php) */
.home-servizi .media {
  display: flex;
  align-items: center;
  height: auto;
  margin: 0;
}
.home-servizi .media > i,
.home-servizi .media > img {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-servizi .media > img {
  object-fit: contain;
}
.home-servizi .media > img[src*="giftcard"],
.home-servizi .media > img[src*="longeva"] {
  width: 2.5rem;
  height: 2.5rem;
}
.home-servizi .media > img.service-icon-feedback {
  width: 40px;
  height: auto;
  margin-right: 0.5rem;
}
.home-servizi .service-icon-lg {
  font-size: 2rem;
}
.home-servizi .media > i,
.home-servizi .media > i:hover,
.home-servizi .media > a:hover > i {
  color: #212529 !important;
}
.home-servizi .service-inline-logo {
  height: 16px;
  width: auto;
  object-fit: contain;
}
.home-servizi .media-body {
  flex: 1;
  padding-left: 0.75rem;
  display: flex;
  align-items: center;
}
.home-servizi h6 {
  margin: 0;
  line-height: 1.4;
  font-size: 1rem;
  font-weight: normal;
}
.home-servizi h6 a {
  color: inherit;
  text-decoration: none;
}
.home-servizi h6 a:hover {
  color: inherit;
  text-decoration: underline;
}
.home-service-stars {
  color: #ffcc00;
}

/* Footer mobile toolbar (ex inline/style block in inc_footer_mobile.php) */
.iftm-footer-mobile-toolbar {
  background: #000 !important;
  border-top: none !important;
  border-left: none !important;
}
.cz-handheld-toolbar-item:first-child {
  border-left: none !important;
}
.cz-handheld-toolbar-item:last-child {
  border-right: none !important;
}
.cz-handheld-toolbar .badge-cart-count {
  background-color: #ffcc00 !important;
  color: #000 !important;
  display: none !important;
}
.cz-handheld-toolbar .cz-handheld-toolbar-label {
  display: none !important;
}

/* Home banner (ex inline/style block in inc_home_banner.php) */
.iftm-home-banner-img {
  width: 100%;
  height: auto;
  display: block;
}
.home-banner-section #image-slider .splide__slide {
  aspect-ratio: 3 / 1;
}
.home-banner-section #image-slider .splide__slide > a {
  display: block;
  width: 100%;
  height: 100%;
}
.home-banner-section #image-slider .splide__slide .iftm-home-banner-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}
.iftm-home-hero-lite-img {
  transition: opacity 1.5s ease-in-out;
  opacity: 1;
}
.iftm-home-hero-lite-img.is-fading {
  opacity: .65;
}
.iftm-home-hero-lite-dots {
  display: none;
}
@media (min-width: 992px) {
  .iftm-home-hero-lite-dots {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    pointer-events: auto;
  }
  .iftm-home-hero-lite-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: rgba(255, 255, 255, .65);
    cursor: pointer;
  }
  .iftm-home-hero-lite-dot.is-active {
    background: #fff;
    transform: scale(1.15);
  }
}
@media (min-width: 992px) {
  .home-banner-section #image-slider .splide__slide {
    height: 480px;
    aspect-ratio: auto;
  }
  .home-banner-section #image-slider {
    min-height: 480px;
  }
}
@media (max-width: 991px) {
  .home-banner-section #image-slider .splide__slide {
    aspect-ratio: 4 / 3;
  }
  .home-banner-section #image-slider .splide__slide .iftm-home-banner-img {
    object-fit: cover;
    background: transparent;
  }
  .home-banner-section #image-slider {
    min-height: 75vw;
  }
}

/* Home vetrina slider (ex inline/style in inc_home_vetrina_slide.php) */
.home-vetrina-title-link {
  text-decoration: none;
  color: inherit;
}

.home-vetrina-carousel [data-nav].tns-nav-active {
  background-color: #000 !important;
}

.home-vetrina-media-box {
  height: 130px;
}
@media (max-width: 991px) {
  .home-block.home-block-servizi {
    margin-bottom: .5rem;
  }
}

.home-vetrina-discount-badge {
  z-index: 5;
  font-size: 0.7rem;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  line-height: 1.1;
  top: 5px;
  left: 8px;
}

.home-vetrina-product-img {
  height: 95px;
  max-height: 95px;
  width: auto;
  object-fit: contain;
}

.home-vetrina-price-old {
  text-decoration: line-through;
}

/* Home offerte slider (ex inline/style in inc_home_offerte.php) */
.home-offerte-title-link {
  text-decoration: none;
  color: inherit;
}

.home-offerte-carousel [data-nav].tns-nav-active {
  background-color: #000 !important;
}

.home-offerte-carousel .tns-controls > button {
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  padding: 0.2rem;
  font-size: 0.78rem;
  line-height: 1;
}
.home-offerte-carousel .tns-controls > [data-controls="prev"] {
  margin-left: -0.2rem;
}
.home-offerte-carousel .tns-controls > [data-controls="next"] {
  margin-right: -0.2rem;
}

.home-offerte-media-box {
  height: 150px;
}

.home-offerte-discount-badge {
  z-index: 5;
  font-size: 0.7rem;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  line-height: 1.1;
  top: 5px;
  left: 8px;
}

.home-offerte-product-img {
  max-height: 150px;
}

.home-offerte-price-old {
  text-decoration: line-through;
}

/* Home wishlist slider (ex local style block in inc_home_wishlist.php) */
.home-wishlist-title-link {
  text-decoration: none;
  color: inherit;
}

.home-wishlist-carousel [data-nav].tns-nav-active {
  background-color: #000 !important;
}

.home-wishlist-carousel .tns-controls > button {
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  padding: 0.2rem;
  font-size: 0.78rem;
  line-height: 1;
}

.home-wishlist-carousel .tns-controls > [data-controls="prev"] {
  margin-left: -0.2rem;
}

.home-wishlist-carousel .tns-controls > [data-controls="next"] {
  margin-right: -0.2rem;
}

.home-wishlist-media-box {
  height: 150px;
}

.home-wishlist-usato-state-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
}

.home-wishlist-discount-badge {
  z-index: 5;
  font-size: 0.7rem;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  line-height: 1.1;
  top: 5px;
  left: 8px;
}

.home-wishlist-product-img {
  max-height: 150px;
}

.home-wishlist-price-old {
  text-decoration: line-through;
}

/* Home top vendite slider (ex inline/style in inc_top_vendite_articoli_new.php) */
.home-top-vendite-title-link {
  text-decoration: none;
  color: inherit;
}

.home-top-vendite-section #myTab {
  border-bottom: none !important;
  justify-content: center;
}

.home-top-vendite-section #myTab .nav-link {
  border: none !important;
  background-color: rgba(255, 255, 255, 0.3);
  color: #333;
  margin-right: 5px;
  border-width: 0 0 3px 0;
  border-color: transparent;
  transition: color .2s ease, border-color .2s ease;
}

.home-top-vendite-section #myTab .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.6);
  color: #000;
}

.home-top-vendite-section #myTab .nav-link.active,
.home-top-vendite-section .nav-tabs .nav-link.active,
.home-top-vendite-section .nav-tabs .nav-item.show .nav-link {
  color: #000 !important;
  border-color: #000 transparent !important;
  background-color: transparent;
  font-weight: bold;
}

.home-top-vendite-section .nav-tabs .nav-link {
  position: relative;
}

.home-top-vendite-section .nav-tabs .nav-link.active::before {
  display: none;
}

.home-top-vendite-media-box {
  height: 150px;
}

.home-top-vendite-discount-badge {
  z-index: 5;
  font-size: 0.7rem;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  line-height: 1.1;
  top: 5px;
  left: 8px;
}

.home-top-vendite-product-img {
  max-height: 150px;
}

.home-top-vendite-price-old {
  text-decoration: line-through;
}
@media (max-width: 991px) {
  .home-top-vendite-section .rounded.p-3.my-5 {
    margin-top: 0 !important;
    margin-bottom: .5rem !important;
  }
}

/* Home top vendite "migliori articoli" (ex style in inc_top_vendite_migliori_articoli.php) */
.home-top-vendite-best-section .product-col {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0 15px;
}

@media (min-width: 768px) {
  .home-top-vendite-best-section .product-col {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
}

@media (min-width: 992px) {
  .home-top-vendite-best-section .product-col {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (min-width: 1200px) {
  .home-top-vendite-best-section .product-col {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

.home-top-vendite-best-section .product-title {
  min-height: 3rem;
  line-height: 1.25;
}

.home-top-vendite-best-section .product-title a {
  color: #373f50;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-top-vendite-best-section .product-title a:hover {
  color: #fe696a;
}

.home-top-vendite-best-section .product-price {
  min-height: 1.5rem;
}

.home-top-vendite-best-section .home-card-actions {
  min-height: 44px;
}

.home-top-vendite-best-media-box {
  height: 150px;
}

.home-top-vendite-best-product-img {
  max-height: 150px;
}

/* Griglia prodotti (ex inline style echo in inc_listaprodotti_griglia.php) */
.ifta-grid-row > [class*="col-"] {
  padding-right: 0 !important;
}
.ifta-grid-card .ifta-grid-price-wrap {
  min-height: 2.4rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: 0;
}
.ifta-grid-card .home-card-actions {
  min-height: 2.25rem;
}
.ifta-grid-cta-label {
  display: inline;
}
.ifta-grid-card .product-title {
  min-height: 2.5rem !important;
  margin-bottom: 0.2rem;
}
.ifta-grid-card {
  position: relative;
}
.ifta-grid-actions-row {
  position: static;
}
.ifta-grid-media-actions {
  position: absolute;
  top: 3px;
  left: 3px;
  z-index: 8;
  display: flex;
  gap: 4px;
}
.ifta-grid-media-actions .btn {
  width: auto;
  height: auto;
  min-width: 0;
  padding: 0.1rem !important;
  border-radius: 0 !important;
  margin-right: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.ifta-grid-media-actions .btn:hover,
.ifta-grid-media-actions .btn:focus {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.ifta-grid-media-actions .btn i {
  font-size: 0.95rem;
}
.ifta-grid-media-actions .wishlist-button--active,
.ifta-grid-media-actions .wishlist-button--active:hover,
.ifta-grid-media-actions .wishlist-button--active:focus {
  background: transparent !important;
  border-color: transparent !important;
}
.ifta-grid-media-actions .wishlist-button--active .czi-heart,
.ifta-grid-media-actions .wishlist-button--active i {
  color: #000 !important;
}
.ifta-grid-actions-row > .ifta-grid-main-cta {
  flex: 1 1 100%;
  min-height: 40px;
  padding: 0.45rem 0.6rem !important;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  text-decoration: none !important;
  gap: 0.3rem;
}
.ifta-grid-actions-row > .ifta-grid-main-cta .ifta-grid-cta-label {
  display: inline;
  font-size: 0.78rem;
  line-height: 1.1;
  white-space: nowrap;
}

/* Footer shell refinements (ex inline/style in inc_footer.php) */
.iftm-footer-shell {
  background: #000 !important;
}
.footer-payment-logo {
  height: 30px;
}
@media (max-width: 991.98px) {
  .footer-hide-on-mobile {
    display: none !important;
  }
}
.iftm-footer-legal {
  color: #111 !important;
  opacity: 1 !important;
}
.iftm-footer-devitalia-link {
  color: #000 !important;
}

/* Login popup (ex inline/style in inc_login_popup.php) */
#signin-modal .nav-link.active {
  color: #ffffff !important;
  background-color: transparent !important;
  border-color: transparent transparent #ffffff !important;
}
#signin-modal .nav-link {
  color: #ffffff !important;
}
#signin-modal .nav-link:hover {
  color: #ffffff !important;
  opacity: 0.8;
}
#google-signin-button,
#signin-modal .btn-light[href*="chk_sso.php"] {
  transition: all 0.2s ease;
}
#google-signin-button:hover,
#signin-modal .btn-light[href*="chk_sso.php"]:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  background-color: #f8f9fa !important;
  transform: translateY(-1px);
}
#google-signin-button:active,
#signin-modal .btn-light[href*="chk_sso.php"]:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
}
.iftm-login-social-btn {
  height: 48px;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  border: 1px solid #dadce0;
  background: #fff;
}
.iftm-login-social-icon {
  margin-right: 12px;
}
.iftm-login-social-text {
  font-size: 14px;
  font-weight: 500;
  color: #3c4043;
}
.iftm-login-divider-line {
  border-color: #dadce0;
}
.iftm-login-warning-btn {
  color: #111 !important;
}

@media (max-width: 767.98px) {
  .home-usato-wishlist-title {
    padding-top: 0 !important;
    padding-bottom: 0.6rem !important;
    margin-bottom: 0.75rem !important;
  }
}

@media (max-width: 575.98px) {
  .home-offerte-carousel .tns-controls > button {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0.15rem;
    font-size: 0.78rem;
    line-height: 1;
  }
  .home-offerte-carousel .tns-controls > [data-controls="prev"] {
    margin-left: -0.2rem;
  }
  .home-offerte-carousel .tns-controls > [data-controls="next"] {
    margin-right: -0.2rem;
  }
}

@media (max-width: 575.98px) {
  .home-wishlist-carousel .tns-controls > button {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0.15rem;
    font-size: 0.78rem;
    line-height: 1;
  }
  .home-wishlist-carousel .tns-controls > [data-controls="prev"] {
    margin-left: -0.2rem;
  }
  .home-wishlist-carousel .tns-controls > [data-controls="next"] {
    margin-right: -0.2rem;
  }
  .home-wishlist-card-mobile-top {
    display: block;
  }
  .home-wishlist-card-mobile-image {
    width: 100%;
    min-width: 0;
    max-width: none;
    border-right: 0;
  }
  .home-wishlist-card-mobile-image table,
  .home-wishlist-card-mobile-image tbody,
  .home-wishlist-card-mobile-image tr,
  .home-wishlist-card-mobile-image td {
    height: 100%;
  }
  .home-wishlist-card-mobile-image img {
    width: 100%;
    max-width: 100%;
    max-height: 120px;
    object-fit: contain;
  }
  .home-wishlist-card-mobile-body {
    width: 100%;
    padding: 0.65rem 0.75rem;
  }
  .home-wishlist-card-mobile-body .product-title {
    margin-bottom: 0.25rem;
    font-size: 0.88rem;
    line-height: 1.25;
  }
  .home-wishlist-card-mobile-body .text-center {
    text-align: center !important;
  }
  .home-wishlist-card-mobile-actions {
    border-top: 0;
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
    justify-content: center !important;
  }
}

@media (max-width: 991px) {
  #image-slider .splide__arrow { display: none !important; }
  #image-slider .splide__pagination {
    display: flex !important;
    justify-content: center;
    gap: 8px;
    bottom: 10px;
  }
  #image-slider .splide__pagination__page {
    width: 8px;
    height: 8px;
    opacity: .75;
  }
  #image-slider .splide__pagination__page.is-active {
    transform: none;
    opacity: 1;
  }
  #image-slider .splide__slide {
    padding-left: 0;
    padding-right: 0;
  }
  #image-slider .splide__track {
    padding-left: 0;
    padding-right: 0;
  }
  #image-slider {
    margin-top: 0;
  }
  .home-banner-section {
    margin-bottom: 0.75rem !important;
  }
}

@media (min-width: 992px) and (max-width: 1261.98px) {
  .home-servizi h6,
  .home-servizi h6 a {
    font-size: clamp(0.78rem, 0.58rem + 0.45vw, 0.92rem) !important;
    line-height: 1.2 !important;
  }
}
@media (min-width: 1000px) and (max-width: 1261.98px) {
  .home-servizi .home-servizio-siena,
  .home-servizi .home-servizio-siena * {
    display: none !important;
  }
  .home-servizi .col-md-2.col-sm-6.col-6.mb-4:not(.home-servizio-siena) {
    flex: 0 0 20% !important;
    max-width: 20% !important;
  }
}
@media (max-width: 999.98px) {
  .home-servizi .home-servizio-siena,
  .home-servizi .home-servizio-giftcard {
    display: block !important;
  }
  .home-servizi {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    column-gap: 0.5rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 0.35rem;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-right: 0.5rem;
  }
  .home-servizi > .col-md-2.col-sm-6.col-6.mb-4 {
    box-sizing: border-box;
    width: auto !important;
    max-width: 78vw !important;
    flex: none !important;
    display: flex;
    min-width: 10.5rem;
    margin-bottom: 0.5rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .home-servizi > .col-md-2.col-sm-6.col-6.mb-4 .media {
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    padding: 0.45rem 0.5rem;
    background: #fff;
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 889px) {
  .home-servizi .col-md-2.col-sm-6.col-6.mb-4 {
    margin-bottom: 0.75rem !important;
  }
  .home-servizi .media > i,
  .home-servizi .media > img {
    width: 1.4rem !important;
    height: 1.4rem !important;
  }
  .home-servizi .media > img.service-icon-feedback {
    width: 28px !important;
    margin-right: 0.35rem !important;
  }
  .home-servizi .service-icon-lg {
    font-size: 1.4rem !important;
  }
  .home-servizi .media-body {
    padding-left: 0.4rem !important;
  }
  .home-servizi h6,
  .home-servizi h6 a {
    font-size: 0.78rem !important;
    line-height: 1.15 !important;
  }
  .home-servizi .d-block.mb-1 {
    margin-bottom: 0.15rem !important;
  }
}
@media (max-width: 640px) {
  .home-servizi > .col-md-2.col-sm-6.col-6.mb-4 {
    margin-bottom: 0.5rem !important;
  }
  .home-servizi > .col-md-2.col-sm-6.col-6.mb-4:last-child {
    margin-right: 0.25rem;
  }
}

/* Header shell (ex inline style in inc_testata.php) */
header.box-shadow-sm.iftm-header-shell {
  background: #000 !important;
}

header.box-shadow-sm .container,
header.box-shadow-sm .container-fluid {
  max-width: 1920px !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

header .navbar {
  padding: 0 !important;
}

#criterio-mobile {
  padding-left: 85px;
  padding-right: 0;
}

#doofinder-catalog-selector-mobile {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  border: none;
  border-right: 1px solid #dee2e6;
  background: #fff;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  color: #000;
  cursor: pointer;
  z-index: 10;
  border-radius: 0.25rem 0 0 0.25rem;
  min-width: 75px;
}

/* Header search: forza colore testo coerente anche in focus/autofill */
#criterio,
#criterio-mobile,
#criterio:focus,
#criterio-mobile:focus {
  color: #2b3445 !important;
  -webkit-text-fill-color: #2b3445 !important;
  caret-color: #2b3445;
}

#criterio::placeholder,
#criterio-mobile::placeholder {
  color: #7d879c !important;
}

#criterio:-webkit-autofill,
#criterio:-webkit-autofill:hover,
#criterio:-webkit-autofill:focus,
#criterio-mobile:-webkit-autofill,
#criterio-mobile:-webkit-autofill:hover,
#criterio-mobile:-webkit-autofill:focus {
  -webkit-text-fill-color: #2b3445 !important;
  transition: background-color 9999s ease-out 0s;
}

/* Header: su desktop stretti (tra 992 e ~1200px) il campo di ricerca prende sempre un minimo di spazio */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #testata-cerca {
    flex: 1 1 40%;
    min-width: 9rem;
    margin-left: 0.75rem !important;
    margin-right: 0.75rem !important;
  }
  #testata-cerca .search-desktop-input {
    min-width: 7rem;
  }
}

@media (max-width: 991.98px) {
  .input-group-overlay.d-lg-none .prepended-form-control {
    padding-left: 85px !important;
  }
  #doofinder-catalog-selector-mobile {
    font-size: 0.8rem;
    padding: 0 0.4rem;
    min-width: 75px;
    color: #000;
    left: 0;
    right: auto;
    border-right: 1px solid #dee2e6;
    border-left: none;
    border-radius: 0.25rem 0 0 0.25rem;
  }
  #doofinder-catalog-selector-mobile:hover {
    color: #000;
  }
  #doofinder-catalog-selector-mobile option {
    color: #000 !important;
    background: #fff !important;
  }
  #doofinder-catalog-selector-mobile option:checked {
    color: #000 !important;
    background: #fff !important;
  }
  #doofinder-catalog-selector-mobile option:hover {
    color: #000 !important;
    background: #f0f0f0 !important;
  }
}

@media (max-width: 575.98px) {
  header .navbar > .container {
    display: flex;
    flex-wrap: nowrap !important;
    align-items: center;
  }
  header .navbar-toolbar {
    display: flex;
    flex-wrap: nowrap !important;
    white-space: nowrap;
    margin-left: auto !important;
    margin-right: .45rem !important;
  }
  header .navbar-toolbar .navbar-tool {
    flex: 0 0 auto;
  }
  header .navbar-brand.d-sm-none {
    margin-right: 0.35rem !important;
    min-width: 0 !important;
  }
  header .navbar-brand.d-sm-none img {
    width: 155px;
    max-width: 42vw;
    height: auto;
  }
}

/* Header mobile/tablet: tra 576 e 991px la barra di ricerca sotto il logo prende tutta la larghezza reale */
@media (min-width: 576px) and (max-width: 991.98px) {
  .navbar-sticky .row.bg-darker > .d-lg-none {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .navbar-sticky .row.bg-darker #criterio-mobile {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0.75rem !important;
  }
}




#scheda-bollino {position:relative; bottom:0px; left:0px; 
margin-bottom:-45px; width:65px; height:65px; z-index:9999;
background-size: 100% 100%; background-repeat: no-repeat;}
#scheda-bollino.A {background-image:url(../immagini/bollini/a.png)}
#scheda-bollino.B {background-image:url(../immagini/bollini/b.png)}
#scheda-bollino.C {background-image:url(../immagini/bollini/c.png)}
#scheda-bollino.D {background-image:url(../immagini/bollini/d.png)}
#scheda-bollino.E {background-image:url(../immagini/bollini/e.png)}
#scheda-bollino.F {background-image:url(../immagini/bollini/f.png)}
#scheda-bollino.G {background-image:url(../immagini/bollini/g.png)} 
#scheda-bollino.H {background-image:url(../immagini/bollini/h.png)}
#scheda-bollino.I {background-image:url(../immagini/bollini/i.png)}
#scheda-bollino.L {background-image:url(../immagini/bollini/l.png)}
#scheda-bollino.M {background-image:url(../immagini/bollini/m.png)}
#scheda-bollino.N {background-image:url(../immagini/bollini/n.png)}
#scheda-bollino.O {background-image:url(../immagini/bollini/o.png)}
#scheda-bollino.P {background-image:url(../immagini/bollini/p.png)}
#scheda-bollino.Q {background-image:url(../immagini/bollini/q.png)}
#scheda-bollino.R {background-image:url(../immagini/bollini/r.png)}
#scheda-bollino.S {background-image:url(../immagini/bollini/s.png)}
#scheda-bollino.T {background-image:url(../immagini/bollini/t.png)}
#scheda-bollino.U {background-image:url(../immagini/bollini/u.png)}
#scheda-bollino.V {background-image:url(../immagini/bollini/v.png)}
#scheda-bollino.Z {background-image:url(../immagini/bollini/z.png)}
#scheda-bollino.K {background-image:url(../immagini/bollini/k.png)}
#scheda-bollino.J {background-image:url(../immagini/bollini/j.png)}
#scheda-bollino.X {background-image:url(../immagini/bollini/x.png)}
#scheda-bollino.Y {background-image:url(../immagini/bollini/y.png)}
#scheda-bollino.W {background-image:url(../immagini/bollini/w.png)}

/* Bollini nella galleria prodotto (anche quando iniettata da Icecat: .scheda-bollino) */
.cz-product-gallery .cz-preview-item { position: relative; }
.cz-product-gallery .scheda-bollino {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 65px !important;
  height: 65px !important;
  margin: 0 !important;
  z-index: 9999;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  flex-shrink: 0;
  pointer-events: none;
}
.cz-product-gallery .scheda-bollino.A { background-image: url(../immagini/bollini/a.png); }
.cz-product-gallery .scheda-bollino.B { background-image: url(../immagini/bollini/b.png); }
.cz-product-gallery .scheda-bollino.C { background-image: url(../immagini/bollini/c.png); }
.cz-product-gallery .scheda-bollino.D { background-image: url(../immagini/bollini/d.png); }
.cz-product-gallery .scheda-bollino.E { background-image: url(../immagini/bollini/e.png); }
.cz-product-gallery .scheda-bollino.F { background-image: url(../immagini/bollini/f.png); }
.cz-product-gallery .scheda-bollino.G { background-image: url(../immagini/bollini/g.png); }
.cz-product-gallery .scheda-bollino.H { background-image: url(../immagini/bollini/h.png); }
.cz-product-gallery .scheda-bollino.I { background-image: url(../immagini/bollini/i.png); }
.cz-product-gallery .scheda-bollino.L { background-image: url(../immagini/bollini/l.png); }
.cz-product-gallery .scheda-bollino.M { background-image: url(../immagini/bollini/m.png); }
.cz-product-gallery .scheda-bollino.N { background-image: url(../immagini/bollini/n.png); }
.cz-product-gallery .scheda-bollino.O { background-image: url(../immagini/bollini/o.png); }
.cz-product-gallery .scheda-bollino.P { background-image: url(../immagini/bollini/p.png); }
.cz-product-gallery .scheda-bollino.Q { background-image: url(../immagini/bollini/q.png); }
.cz-product-gallery .scheda-bollino.R { background-image: url(../immagini/bollini/r.png); }
.cz-product-gallery .scheda-bollino.S { background-image: url(../immagini/bollini/s.png); }
.cz-product-gallery .scheda-bollino.T { background-image: url(../immagini/bollini/t.png); }
.cz-product-gallery .scheda-bollino.U { background-image: url(../immagini/bollini/u.png); }
.cz-product-gallery .scheda-bollino.V { background-image: url(../immagini/bollini/v.png); }
.cz-product-gallery .scheda-bollino.Z { background-image: url(../immagini/bollini/z.png); }
.cz-product-gallery .scheda-bollino.K { background-image: url(../immagini/bollini/k.png); }
.cz-product-gallery .scheda-bollino.J { background-image: url(../immagini/bollini/j.png); }
.cz-product-gallery .scheda-bollino.X { background-image: url(../immagini/bollini/x.png); }
.cz-product-gallery .scheda-bollino.Y { background-image: url(../immagini/bollini/y.png); }
.cz-product-gallery .scheda-bollino.W { background-image: url(../immagini/bollini/w.png); }

/* Dimming backdrop for Bootstrap modals */
.modal-backdrop { background-color: #000; z-index: 1050; }
.modal-backdrop.show { opacity: .7; }

/* Elevate modal above sticky headers/menus */
.modal-backdrop { z-index: 2000; }
.modal, .modal.show { z-index: 2050; }
.modal .modal-dialog { z-index: 2051; }

/* Disable pointer events on common sticky/overlay layers when a modal is open */
.modal-open .stickybar-overlay,
.modal-open .navbar-stuck-overlay,
.modal-open .header-overlay,
.modal-open .overlay,
.modal-open .cz-sidebar-backdrop,
.modal-open .offcanvas-backdrop {
  z-index: 1500 !important;
  pointer-events: none !important;
}

/* Make entire cart button clickable */
.add_to_cart_button a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

/* Stile per checkbox checked con sfondo darker nella sidebar */
.sidebar .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #2b3445 !important;
    border-color: #2b3445 !important;
}

.sidebar .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

.sidebar .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(43, 52, 69, 0.25) !important;
}

.sidebar .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #2b3445 !important;
}

/* Stile per il pulsante "Aggiorna Filtri" con sfondo darker */
.sidebar button[name="aggiorna_filtri"],
.sidebar button[value="Aggiorna Filtri"] {
    background-color: #2b3445 !important;
    border-color: #2b3445 !important;
    color: #fff !important;
}

.sidebar button[name="aggiorna_filtri"]:hover,
.sidebar button[name="aggiorna_filtri"]:focus,
.sidebar button[value="Aggiorna Filtri"]:hover,
.sidebar button[value="Aggiorna Filtri"]:focus {
    background-color: #1a202c !important;
    border-color: #1a202c !important;
    color: #fff !important;
}

/* Stile per link e badge delle famiglie con colore darker */
.sidebar .widget .nav-pills .nav-link {
    color: #2b3445 !important;
}

.sidebar .widget .nav-pills .nav-link:hover {
    color: #2b3445 !important;
    text-decoration: underline;
}

.sidebar .widget .nav-pills .nav-link.active {
    background-color: #2b3445 !important;
    color: #fff !important;
}

/* Badge nelle famiglie NON selezionate: no sfondo, solo testo darker */
.sidebar .widget .nav-pills .nav-link:not(.active) .badge {
    background-color: transparent !important;
    color: #2b3445 !important;
    border: none !important;
    padding: 0 !important;
}

/* Badge nelle famiglie selezionate: sfondo e testo bianco */
.sidebar .widget .nav-pills .nav-link.active .badge {
    background-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

/* Breadcrumb: link in grassetto, esclusi quelli attivi */
.breadcrumb .breadcrumb-item:not(.active) a,
.breadcrumb-item:not(.active) a {
    font-weight: 600;
}

/* Layout card prodotti più compatto su mobile (soprattutto homepage / slide) */
@media (max-width: 991px) {
    /* Riduci ulteriormente l’ingombro verticale delle immagini prodotto nelle card all’interno degli slider */
    .cz-carousel .product-card .bg-white {
        height: 140px !important;
    }
    .cz-carousel .product-card .bg-white img {
        max-height: 140px !important;
    }
    .cz-carousel .product-card table[width="100%"] {
        height: 140px !important;
    }
    /* Macroreparti: rimuovi l'altezza forzata nello slider (solo qui) */
    .home-reparti-section .product-card .bg-white {
        height: auto !important;
    }
    /* Titolo prodotto nelle card: mantieni dimensione desktop ma limita le righe su mobile */
    .cz-carousel .product-card .product-title {
        min-height: auto !important;
        margin-bottom: 0.08rem !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* Corpo card prodotto nelle slide: meno padding verticale */
    .cz-carousel .product-card .card-body {
        padding-top: 0.35rem !important;
        padding-bottom: 0.45rem !important;
    }
    /* Barra azioni (wishlist / vista rapida / carrello) su mobile */
    .home-card-actions {
        padding: 0.5rem 0 0.25rem 0 !important;
        gap: 3px !important;
        margin-top: 0.5rem !important;
    }
    
    /* Riduci font nome prodotto su mobile */
    .product-title,
    .product-title a,
    .cz-carousel .product-title,
    .cz-carousel .product-title a {
        font-size: 0.9rem !important;
        line-height: 1.15 !important;
    }

    /* Bottoni azioni nelle card slider: dimensioni più compatte - allineati alle griglie */
    .cz-carousel .home-card-actions .btn,
    .home-card-actions .btn {
        padding: 0.25rem 0.45rem !important;
        font-size: 0.8rem !important;
        min-width: 36px !important;
        height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
    }
    
    /* Rimuovi sottolineatura dai link bottoni con icone su mobile */
    .cz-carousel .home-card-actions a.btn,
    .home-card-actions a.btn {
        text-decoration: none !important;
    }
    
    .cz-carousel .home-card-actions a.btn:hover,
    .cz-carousel .home-card-actions a.btn:focus,
    .home-card-actions a.btn:hover,
    .home-card-actions a.btn:focus {
        text-decoration: none !important;
    }
    
    /* Icone nei pulsanti - dimensione uniforme */
    .cz-carousel .home-card-actions .btn i,
    .home-card-actions .btn i {
        font-size: 0.9rem !important;
    }
    
    /* Pulsante carrello - stesso stile degli altri */
    .cz-carousel .home-card-actions .btn.btn-carrello,
    .home-card-actions .btn.btn-carrello {
        padding: 0.25rem 0.45rem !important;
        font-size: 0.8rem !important;
        min-width: 36px !important;
        height: 36px !important;
    }

    /* Scheda prodotto: bollino in alto a sinistra sulla foto (mobile) */
    .cz-product-gallery .cz-preview { position: relative; }
    .cz-product-gallery #scheda-bollino,
    .cz-product-gallery .scheda-bollino {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 55px !important;
        height: 55px !important;
        background-size: 100% 100% !important;
        background-repeat: no-repeat !important;
    }

}

/* Homepage / slider: immagini ancora più piccole su smartphone */
@media (max-width: 575.98px) {
    .cz-carousel .product-card .bg-white {
        height: 100px !important;
    }
    .cz-carousel .product-card .bg-white img {
        max-height: 100px !important;
    }
    .cz-carousel .product-card table[width="100%"] {
        height: 100px !important;
    }
}

/* Slider (home + visti/preferiti): allinea il blocco prezzo + pulsanti sempre in basso */
.cz-carousel .tns-item,
.cz-carousel .tns-item > * {
  height: 100%;
}
.cz-carousel .tns-item {
  display: flex;
}
.cz-carousel .tns-item .product-card.card-static {
  height: 100%;
}
.cz-carousel .product-card .card-body {
  display: flex;
  flex-direction: column;
}

/* Slider: nome prodotto leggermente più piccolo (desktop) */
@media (min-width: 992px) {
  .cz-carousel .product-card .product-title,
  .cz-carousel .product-card .product-title a {
    font-size: 0.95rem !important;
    line-height: 1.15 !important;
  }
}

/* Slider: forza altezza uniforme card e allineamento fondo */
.cz-carousel .tns-slider {
  display: flex !important;
  align-items: stretch !important;
}
.cz-carousel .tns-item {
  height: auto !important;
}
.cz-carousel .tns-item > * {
  height: 100% !important;
}
.cz-carousel .product-card.card-static {
  height: 100% !important;
}
.cz-carousel .product-card.card-static .card-body {
  flex: 1 1 auto !important;
}
.cz-carousel .product-card .mt-auto {
  margin-top: auto !important;
}

/* Slider: titolo su 2 righe con altezza fissa (stabilizza quota pulsanti) */
.cz-carousel .product-card .product-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

/* Footer (sezione bg-light): testi e link sempre neri */
.pt-4.bg-light,
.pt-4.bg-light .widget,
.pt-4.bg-light .widget * {
  color: #111 !important;
}
.pt-4.bg-light a,
.pt-4.bg-light .widget-list-link {
  color: #111 !important;
}
.pt-4.bg-light a:hover,
.pt-4.bg-light a:focus,
.pt-4.bg-light a:active,
.pt-4.bg-light .widget-list-link:hover,
.pt-4.bg-light .widget-list-link:focus,
.pt-4.bg-light .widget-list-link:active {
  color: #111 !important;
}

/* Footer: uniforma altezza loghi pagamento */
.footer-payment-logos {
  align-items: center;
}
.footer-payment-logos img {
  height: 30px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: inline-block;
  vertical-align: middle;
}

@media (min-width: 992px) {
  /* Desktop: loghi pagamento leggermente più compatti */
  .footer-payment-logos img {
    height: 26px !important;
  }
  .cz-carousel .product-card .product-title {
    min-height: calc(2 * 1.15em) !important;
  }
}

/* --- Scheda Usato: galleria e prezzo --- */
.usato-gallery-thumb { max-width: 88px; max-height: 88px; object-fit: cover; border:1px solid #eee; border-radius:4px; }
.usato-price .prezzo { font-size: 1.8rem; font-weight: 700; }
.usato-price .percento_grande { color:#fff; font-weight:700; margin-left:.5rem; }
/* Gallery styles aligned to p/index.php */
.cz-product-gallery { display:flex; flex-direction:row; gap:1rem; align-items:flex-start; }
.cz-product-gallery .cz-preview { position:relative; flex:1; min-height:400px; }
.cz-preview-item { display:none !important; text-align:center; width:100%; box-sizing:border-box; min-height:400px; align-items:center; justify-content:center; }
.cz-preview-item.active { display:flex !important; }
.cz-product-gallery .cz-preview { flex: 1 1 0%; min-width: 60%; }
.cz-preview-item img { width:100%; max-width:100%; height:auto; max-height:520px; object-fit:contain; }
.cz-thumblist { overflow-y:auto; overflow-x:hidden; display:flex; flex-direction:column; gap:.3rem; padding:.3rem; max-width:150px; max-height:520px; }
.cz-thumblist{ scrollbar-width: thin; scrollbar-color: #666 #f1f1f1; }
.cz-thumblist::-webkit-scrollbar{ width: 8px; }
.cz-thumblist::-webkit-scrollbar-track{ background:#f1f1f1; border-radius:4px; }
.cz-thumblist::-webkit-scrollbar-thumb{ background:#666; border-radius:4px; }
.cz-thumblist-item { display:block; border:1px solid #eee; border-radius:4px; transition:border-color .2s ease; }
.cz-thumblist-item.active, .cz-thumblist-item:hover { border-color:#666; }
.cz-thumblist-item img { width:90px; height:90px; object-fit:contain; display:block; }
/* Scheda prodotto: rimuovi cursore a croce/zoom sulla foto grande (mobile) */
@media (max-width: 991px) {
  .cz-product-gallery .cz-preview,
  .cz-product-gallery .cz-preview .cz-preview-item,
  .cz-product-gallery .cz-preview img,
  .cz-image-zoom,
  img.jqzoom { cursor: default !important; }
}
@media (min-width: 992px) {
  /* Desktop: mostra cursore zoom-in sulla foto grande per suggerire il click */
  .cz-product-gallery .cz-preview img,
  .cz-product-gallery .cz-preview .cz-image-zoom,
  .cz-product-gallery .cz-preview .cz-preview-item img { cursor: zoom-in !important; }
  /* Rimuovi cursore a croce da jqzoom su desktop */
  img.jqzoom { cursor: zoom-in !important; }
}
/* Forza lo scrolling verticale su desktop */
@media (min-width: 992px) {
  .cz-thumblist {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 380px !important; /* ~4 thumbs (90px) + gap */
  }
  .cz-thumblist-item { flex: 0 0 auto !important; }
}
@media (max-width: 991.98px) {
    .cz-product-gallery { flex-direction:column !important; position: relative; max-width:100% !important; overflow:hidden !important; }
    /* Scheda prodotto nuovo: overflow visibile così lo scroll verticale non resta “intrappolato” nel box */
    #product-gallery-container .cz-product-gallery {
        overflow: visible !important;
    }
    /* nessuna altezza minima fissa per il box anteprima */
    .cz-product-gallery .cz-preview {
        min-height: auto !important;
        height: auto !important;
        padding-bottom: 0 !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
    }
    /* Anteprima: l'immagine grande occupa lo spazio, centrata */
    .cz-product-gallery .cz-preview-item {
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }
    .cz-product-gallery .cz-preview-item img.cz-image-zoom,
    .cz-product-gallery .cz-image-zoom {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 60vh !important;
        object-fit: contain !important;
        display: block !important;
    }
    /* Drift (tema): senza pan-y il touch sulla foto non scrolla la pagina */
    #product-gallery-container .cz-preview,
    #product-gallery-container .cz-preview-item,
    #product-gallery-container .cz-image-zoom,
    .usato-product-layout #scheda-usato-gallery .cz-preview,
    .usato-product-layout #scheda-usato-gallery .cz-preview-item,
    .usato-product-layout #scheda-usato-gallery .cz-image-zoom {
        touch-action: pan-y pinch-zoom;
    }
    /* Evita padding orizzontale eccessivo intorno all'immagine grande */
    .cz-preview-item.px-5 { padding-left: 0 !important; padding-right: 0 !important; }
    /* Nascondi thumblist: useremo la preview grande a tutta larghezza */
    .cz-thumblist { display:none !important; }
    /* Solo la preview attiva è visibile */
    .cz-product-gallery .cz-preview .cz-preview-item { display: none !important; }
    .cz-product-gallery .cz-preview .cz-preview-item.active { display: flex !important; }

    /* Scheda usato mobile: evita contenitore galleria troppo alto rispetto alla foto */
    .usato-product-layout .cz-product-gallery .cz-preview .cz-preview-item,
    .usato-product-layout .cz-product-gallery .cz-preview .cz-preview-item.active {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: auto !important;
        min-height: 0 !important;
    }
    .usato-product-layout .cz-product-gallery .cz-preview-item img,
    .usato-product-layout .cz-product-gallery .cz-image-zoom {
        width: auto !important;
        max-width: 100% !important;
        max-height: 220px !important;
        object-fit: contain !important;
    }

    /* Scheda usato mobile: evita overflow del bottone carrello fuori card */
    .usato-price .d-flex.align-items-center {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0.5rem !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .usato-price .d-flex.align-items-center > a:first-child {
        flex: 0 0 auto !important;
    }
    .usato-price .btn-carrello {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        font-size: 1.45rem !important;
    }
    .usato-price .btn-carrello i {
        margin-right: 0.35rem !important;
    }

    @media (max-width: 380px) {
        .usato-price .btn-carrello {
            font-size: 1.2rem !important;
            padding-left: 0.6rem !important;
            padding-right: 0.6rem !important;
        }
    }

    /* Allinea checkbox Longeva e label sulla stessa riga su mobile */
    #longeva { 
        vertical-align: middle !important; 
        display: inline-block !important;
        margin-right: 6px !important;
        float: none !important;
    }
    #longeva + label { 
        display: inline !important; 
        vertical-align: middle !important; 
        margin-left: 0 !important;
        float: none !important;
    }
    /* Il td che contiene il checkbox non deve forzare il wrap */
    td:first-child + td {
        white-space: nowrap !important;
    }
    td:first-child + td label {
        white-space: normal !important;
        display: inline !important;
    }

    /* Frecce nav galleria - posizionate sopra la foto grande */
    .cz-product-gallery { position: relative; }
    .cz-product-gallery .cz-preview { 
        position: relative !important; 
        overflow: visible !important;
    }
    /* Frecce galleria: stile forzato e posizionamento sopra la foto */
    .cz-product-gallery .cz-preview .cz-nav-btn {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        background: #fff !important;
        color: #666 !important;
        border: 1px solid #ddd !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 18px !important;
        z-index: 1000 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 1px 3px rgba(0,0,0,.15) !important;
        pointer-events: auto !important;
        opacity: .9 !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1 !important;
        font-size: 20px !important;
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        text-align: center !important;
    }
    /* Assicura che il layer immagine non copra le frecce */
    .cz-product-gallery .cz-preview .cz-preview-item { position: relative !important; z-index: 1 !important; }
    .cz-product-gallery .cz-preview .cz-nav-prev { 
        left: 10px !important; 
        right: auto !important;
    }
    .cz-product-gallery .cz-preview .cz-nav-next { 
        right: 10px !important; 
        left: auto !important;
    }
    .cz-product-gallery .cz-preview .cz-nav-btn:hover,
    .cz-product-gallery .cz-preview .cz-nav-btn:active,
    .cz-product-gallery .cz-preview .cz-nav-btn:focus {
        border-radius: 18px !important;
        outline: none !important;
        box-shadow: 0 0 0 2px rgba(0,0,0,.05) !important;
        opacity: 1 !important;
    }

    /* Desktop: mantieni frecce visibili */
    @media (min-width: 992px) {
        .cz-product-gallery .cz-preview .cz-nav-btn { 
            opacity: .9 !important; 
        }
        .cz-product-gallery .cz-preview .cz-nav-btn:hover { opacity: 1 !important; }
    }
    .cz-thumblist-item img { width:62px; height:62px; }
    /* titolo prodotto */
    #product-title { font-size: 1.6rem !important; }
    h1.text-darker.font-weight-bold { font-size: 1.7rem !important; }
    /* Card home categorie: rimuovi h-100 su mobile */
    .product-card.h-100,
    .card-static.h-100,
    .family-card.h-100 { height: auto !important; }

    /* Allineamento logo marca con pulsante Condividi su mobile */
    .cz-product-gallery .dropdown + .ml-3 img,
    .brand-share-row img { height:32px !important; width:auto !important; }
}

/* Badge stato usato sopra foto (colori come legenda homepage usato) */
.usato-state-badge{
    position:absolute;
    top:8px;
    left:8px;
    z-index:2;
    display:inline-block;
    padding:.28rem .55rem;
    border-radius:999px;
    font-weight:800;
    letter-spacing:.2px;
    font-size:.72rem;
    line-height:1;
    color:#fff;
    text-transform:uppercase;
    box-shadow:0 6px 18px rgba(0,0,0,.14);
}
.usato-state--liquidazione{ background:#56AEFF; } /* azzurro */
.usato-state--ottimo{ background:#22BFA6; }       /* verde acqua */
.usato-state--buono{ background:#86B01E; }        /* verde */
.usato-state--discreto{ background:#F0B400; }     /* giallo */

@media (max-width: 767.98px) {
    /* Titoli sezione slide homepage (offerte, vetrina, usato, ecc.) più compatti */
    .home-section-title {
        font-size: 0.95rem !important;
        padding-top: 0.7rem !important;
        padding-bottom: 0.7rem !important;
        margin-bottom: 0.75rem !important;
    }

    /* Nomi macroreparti nelle card slider (quando visibili su schermi piccoli) */
    .home-reparti-section h3.text-center.font-size-lg {
        font-size: 0.95rem !important;
        line-height: 1.25 !important;
    }
}

/* ========================================
   LAYOUTPAGE TYPOGRAPHY & STYLING
   ======================================== */
.layoutpage-content,
.layoutpage-text-content,
.layoutpage-html-content {
    line-height: 1.8;
    font-size: 1.05rem;
    color: var(--bs-body-color, #495057);
}

/* Titoli h3 nelle layoutpage - dimensione leggermente ridotta su mobile */
@media (max-width: 575.98px) {
    .layoutpage-content h3,
    .layoutpage-text-content h3,
    .layoutpage-html-content h3,
    .abstract-content h3 {
        font-size: 1.05rem;
        line-height: 1.3;
    }
}

/* Escludi liste prodotti dalla regola line-height e font-size: le liste hanno il loro stile specifico */
/* Reset line-height e font-size per liste prodotti nelle layoutpage */
body:has(.layoutpage-content) .row:has(.product-card),
body:has(.layoutpage-content) .list-group,
body:has(.layoutpage-content) .product-card,
body:has(.layoutpage-content) .list-group-item,
/* Fallback per browser senza :has() - selettore più specifico per layoutpage */
section.col-lg-9 .row:has(.product-card),
section.col-lg-9 .list-group,
.col-lg-9 .row:has(.product-card),
.col-lg-9 .list-group {
    line-height: normal !important;
    font-size: 1rem !important;
}

/* Tutti i tag h nelle layoutpage devono avere text-darker */
.layoutpage-content h1,
.layoutpage-content h2,
.layoutpage-content h3,
.layoutpage-content h4,
.layoutpage-content h5,
.layoutpage-content h6,
.layoutpage-text-content h1,
.layoutpage-text-content h2,
.layoutpage-text-content h3,
.layoutpage-text-content h4,
.layoutpage-text-content h5,
.layoutpage-text-content h6,
.layoutpage-html-content h1,
.layoutpage-html-content h2,
.layoutpage-html-content h3,
.layoutpage-html-content h4,
.layoutpage-html-content h5,
.layoutpage-html-content h6,
.abstract-content h1,
.abstract-content h2,
.abstract-content h3,
.abstract-content h4,
.abstract-content h5,
.abstract-content h6 {
    color: var(--bs-darker, #2b3445) !important;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

/* Selettore globale per tutte le layoutpage - tutti i tag h devono avere text-darker */
body:has(.layoutpage-content) h1:not(.breadcrumb-item h1):not(.modal h1),
body:has(.layoutpage-content) h2:not(.breadcrumb-item h2):not(.modal h2),
body:has(.layoutpage-content) h3:not(.breadcrumb-item h3):not(.modal h3),
body:has(.layoutpage-content) h4:not(.breadcrumb-item h4):not(.modal h4),
body:has(.layoutpage-content) h5:not(.breadcrumb-item h5):not(.modal h5),
body:has(.layoutpage-content) h6:not(.breadcrumb-item h6):not(.modal h6) {
    color: var(--bs-darker, #2b3445) !important;
}

/* Fallback per browser che non supportano :has() - selettore più specifico */
.container .layoutpage-content ~ * h1,
.container .layoutpage-content ~ * h2,
.container .layoutpage-content ~ * h3,
.container .layoutpage-content ~ * h4,
.container .layoutpage-content ~ * h5,
.container .layoutpage-content ~ * h6,
.container .layoutpage-text-content ~ * h1,
.container .layoutpage-text-content ~ * h2,
.container .layoutpage-text-content ~ * h3,
.container .layoutpage-text-content ~ * h4,
.container .layoutpage-text-content ~ * h5,
.container .layoutpage-text-content ~ * h6,
.container .layoutpage-html-content ~ * h1,
.container .layoutpage-html-content ~ * h2,
.container .layoutpage-html-content ~ * h3,
.container .layoutpage-html-content ~ * h4,
.container .layoutpage-html-content ~ * h5,
.container .layoutpage-html-content ~ * h6 {
    color: var(--bs-darker, #2b3445) !important;
}

.layoutpage-content p,
.layoutpage-text-content p,
.layoutpage-html-content p {
    margin-bottom: 1.25rem;
}

.layoutpage-content img,
.layoutpage-html-content img {
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
}

.layoutpage-content a,
.layoutpage-html-content a {
    color: var(--bs-primary, #046aac);
    text-decoration: underline;
}

.layoutpage-content a:hover,
.layoutpage-html-content a:hover {
    color: var(--bs-primary-dark, #035a8c);
    text-decoration: none;
}

.layoutpage-content a.btn,
.layoutpage-html-content a.btn {
    text-decoration: none;
}

.abstract-content {
    font-size: 1.1rem;
    line-height: 1.7;
}

.banner-layout {
    margin-bottom: 2rem;
}

.banner-layout img {
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Nascondi solo il contenuto testuale di layoutpage-header (titoli, abstract) */
/* Il titolo è già presente nella testata */
/* I banner sono ora fuori da layoutpage-header per garantire visibilità */
.layoutpage-header h2,
.layoutpage-header .abstract-content {
    display: none !important;
}

/* ========================================
   STILI BREVO NEWSLETTER FORM
   ======================================== */

/* Form newsletter nel footer */
.brevo-newsletter-form-footer {
    margin-top: 1rem;
}

.brevo-form-inline .input-group {
    display: flex;
    flex-wrap: nowrap;
}

.brevo-form-inline .form-control {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 4px 0 0 4px;
    border: 1px solid #ddd;
    padding: 8px 12px;
    font-size: 0.9rem;
    background: #fff;
    color: #333;
}

.brevo-form-inline .form-control:focus {
    border-color: #FFCC00;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(255, 204, 0, 0.25);
}

.brevo-form-inline .input-group-append {
    display: flex;
}

.brevo-form-inline .btn {
    border-radius: 0 4px 4px 0;
    white-space: nowrap;
    padding: 8px 16px;
    font-size: 0.9rem;
    font-weight: 600;
}

/* Stili per form Brevo embedded nel footer - Allineato al CSS del sito */
#sib-form {
    margin: 0;
}

#sib-form .input-group {
    display: flex;
    flex-wrap: nowrap;
}

#sib-form .form-control {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 4px 0 0 4px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 8px 12px;
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

#sib-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

#sib-form .form-control:focus {
    border-color: #FFCC00;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(255, 204, 0, 0.25);
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

#sib-form .btn-warning {
    border-radius: 0 4px 4px 0;
    white-space: nowrap;
    padding: 8px 16px;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.2s;
}

#sib-form .btn-warning:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(255, 204, 0, 0.3);
}

#sib-form-message {
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    display: none;
}

#sib-form-message.success {
    display: block;
    background: rgba(40, 167, 69, 0.2);
    color: #d4edda;
    border: 1px solid rgba(40, 167, 69, 0.3);
}

#sib-form-message.error {
    display: block;
    background: rgba(220, 53, 69, 0.2);
    color: #f8d7da;
    border: 1px solid rgba(220, 53, 69, 0.3);
}

/* Responsive per form footer */
@media (max-width: 575.98px) {
    .brevo-form-inline .input-group {
        flex-direction: column;
    }
    
    .brevo-form-inline .form-control {
        border-radius: 4px;
        margin-bottom: 8px;
    }
    
    .brevo-form-inline .btn {
        border-radius: 4px;
        width: 100%;
    }
    
    #brevo-footer-form .sib-form input[type="email"] {
        border-radius: 4px;
        margin-bottom: 8px;
    }
    
    #brevo-footer-form .sib-form button[type="submit"],
    #brevo-footer-form .sib-form input[type="submit"] {
        border-radius: 4px;
        width: 100%;
    }
    
    #sib-form .input-group {
        flex-direction: column;
    }
    
    #sib-form .form-control {
        border-radius: 4px;
        margin-bottom: 8px;
    }
    
    #sib-form .btn-warning {
        border-radius: 4px;
        width: 100%;
    }
}

/* Form newsletter in inc_info.php */
.brevo-form-inline-info .input-group {
    display: flex;
    flex-wrap: nowrap;
}

.brevo-form-inline-info .form-control {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 4px 0 0 4px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 6px 10px;
    font-size: 0.85rem;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.brevo-form-inline-info .form-control::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.brevo-form-inline-info .form-control:focus {
    border-color: rgba(255, 255, 255, 0.5);
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.15);
}

.brevo-form-inline-info .btn {
    border-radius: 0 4px 4px 0;
    white-space: nowrap;
}

/* Stili per form Brevo embedded in inc_info */
#brevo-info-form .sib-form {
    margin: 0;
}

#brevo-info-form .sib-form input[type="email"] {
    width: 100%;
    padding: 6px 10px;
    border-radius: 4px 0 0 4px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    font-size: 0.85rem;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

#brevo-info-form .sib-form input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

#brevo-info-form .sib-form input[type="email"]:focus {
    border-color: rgba(255, 255, 255, 0.5);
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.15);
}

#brevo-info-form .sib-form button[type="submit"],
#brevo-info-form .sib-form input[type="submit"] {
    padding: 6px 12px;
    border-radius: 0 4px 4px 0;
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.5);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
}

#brevo-info-form .sib-form button[type="submit"]:hover,
#brevo-info-form .sib-form input[type="submit"]:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.7);
}

/* Form newsletter mobile footer */
.brevo-mobile-newsletter .sib-form {
    margin: 0;
    max-width: 100%;
}

.brevo-mobile-newsletter .sib-form input[type="email"] {
    width: 100%;
    padding: 8px 12px;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    margin-bottom: 8px;
}

.brevo-mobile-newsletter .sib-form input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.brevo-mobile-newsletter .sib-form input[type="email"]:focus {
    border-color: rgba(255, 255, 255, 0.5);
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.15);
}

.brevo-mobile-newsletter .sib-form button[type="submit"],
.brevo-mobile-newsletter .sib-form input[type="submit"] {
    width: 100%;
    padding: 8px 16px;
    border-radius: 4px;
    background: #FFCC00;
    color: #000;
    border: 1px solid #FFCC00;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.2s;
}

.brevo-mobile-newsletter .sib-form button[type="submit"]:hover,
.brevo-mobile-newsletter .sib-form input[type="submit"]:hover {
    background: #e6b800;
    border-color: #e6b800;
}

.brevo-mobile-newsletter .sib-form .message_area {
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    text-align: left;
}

.brevo-mobile-newsletter .sib-form .message_area.success {
    background: rgba(212, 237, 218, 0.2);
    color: #fff;
    border: 1px solid rgba(195, 230, 203, 0.3);
}

.brevo-mobile-newsletter .sib-form .message_area.error {
    background: rgba(248, 215, 218, 0.2);
    color: #fff;
    border: 1px solid rgba(245, 198, 203, 0.3);
}

/* ========================================
   Footer payment logos
   ======================================== */
/* Altezza loghi: vedi regole .footer-payment-logos img sopra (evita duplicati) */

@media (max-width: 575.98px) {
    /* Margine inferiore tra la prima e la seconda riga di loghi pagamento su mobile */
    .footer-payment-logos .col-4:nth-child(-n+3) {
        margin-bottom: 0.75rem;
    }
}

/* Privacy text in footer newsletter checkbox */
.footer-privacy-text {
    color: rgba(255, 255, 255, 0.7);
}

.footer-privacy-link {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: underline;
}

/* ========================================
   Floating cookie preferences button (desktop)
   ======================================== */
.cookie-floating-btn {
    position: fixed;
    left: 0;
    /* Stessa distanza dal basso di .btn-scroll-top (theme: bottom: 1.25rem) */
    bottom: 1.25rem;
    z-index: 1050;
    min-width: 44px;
    height: 44px;
    border: none;
    border-radius: 0 22px 22px 0;
    background-color: #2b3445; /* grigio scuro */
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 12px 0 8px;
    cursor: pointer;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.3);
}

.cookie-floating-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.6);
}

.cookie-floating-icon {
    position: relative;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #fff;
}

.cookie-floating-label {
    margin-left: 8px;
    font-size: 0.8rem;
    white-space: nowrap;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    transition: opacity 0.2s ease, max-width 0.2s ease;
}

.cookie-floating-btn:hover .cookie-floating-label,
.cookie-floating-btn:focus .cookie-floating-label {
    opacity: 1;
    max-width: 200px;
}

.cookie-floating-icon::before,
.cookie-floating-icon::after {
    content: "";
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: #fff;
}

.cookie-floating-icon::before {
    top: 4px;
    left: 4px;
}

.cookie-floating-icon::after {
    bottom: 4px;
    right: 4px;
}

/* ========================================
   Layoutpage banner container width
   ======================================== */
.layoutpage-banner-container {
    margin: 0;
    padding: 0;
    width: 100%;
}

.layoutpage-banner-container .container {
    margin: 0 auto;
    padding: 0;
}

.layoutpage-banner-container img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Su mobile: aggiungi margini/padding come prima */
@media (max-width: 991.98px) {
    .layoutpage-banner-container {
        padding-top: 1rem;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .layoutpage-banner-container .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ========================================
   Hotfix mobile scheda usato (CTA + galleria)
   ======================================== */
@media (max-width: 480px) {
    /* CTA acquisto schede prodotto (nuovo + usato) */
    .btn-carrello.btn-lg.add_to_cart_button {
        font-size: 0.86rem !important;
        line-height: 1.2 !important;
        padding: 0.5rem 0.42rem !important;
        letter-spacing: 0 !important;
    }
    .btn-carrello.btn-lg.add_to_cart_button i {
        font-size: 0.86rem !important;
    }

    .usato-price .btn-carrello {
        font-size: 0.86rem !important;
        line-height: 1.2 !important;
        padding: 0.5rem 0.42rem !important;
        letter-spacing: 0 !important;
    }
    .usato-price .btn-carrello i {
        margin-right: 0.28rem !important;
        font-size: 0.86rem !important;
    }

    /* Mantieni la logica gallery originale: limita solo l'immagine */
    .usato-product-layout .cz-product-gallery .cz-preview img,
    .usato-product-layout .cz-product-gallery .cz-image-zoom {
        max-height: 220px !important;
        width: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }
}

/* ========================================
   Scheda usato: allineamento a scheda nuovo
   ======================================== */
@media (max-width: 991.98px) {
    /* Prezzo: stessa dimensione usata su p/index.php mobile */
    .usato-price .h1 {
        font-size: 1.8rem !important;
        line-height: 1.05 !important;
    }

    /* Gallery: stessa logica anti-spazio vuoto della scheda nuovo */
    .usato-product-layout .cz-product-gallery .cz-preview {
        min-height: 0 !important;
        max-height: 45vh !important;
        overflow: visible !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .usato-product-layout .cz-product-gallery .cz-preview-item,
    .usato-product-layout .cz-product-gallery .cz-preview-item.active {
        min-height: 240px !important;
        height: auto !important;
        overflow: visible !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .usato-product-layout .cz-product-gallery .cz-preview-item img,
    .usato-product-layout .cz-product-gallery .cz-preview-item img.cz-image-zoom,
    .usato-product-layout .cz-product-gallery .cz-image-zoom {
        height: auto !important;
        max-height: 45vh !important;
        width: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
        display: block !important;
    }
}

/* Home: aumenta area cliccabile dei pallini Splide (touch target) */
.splide__pagination__page {
  width: 12px;
  height: 12px;
  margin: 6px 6px;
  padding: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Topbar: testo ad alto contrasto su sfondo nero */
.topbar {
  color: #f8f9fa !important;
}
.topbar a,
.topbar .topbar-link,
.topbar .small,
.topbar .small a {
  color: #f8f9fa !important;
}

/* Footer scuro: link e testi chiari per contrasto sufficiente */
footer.bg-darker,
footer.bg-darker .widget-title,
footer.bg-darker .widget-list-link,
footer.bg-darker .widget-list-link:hover,
footer.bg-darker .footer-privacy-link,
footer.bg-darker .footer-privacy-link:hover,
footer.bg-darker .text-darker,
footer.bg-darker .text-muted,
footer.bg-darker .font-size-xs {
  color: #f8f9fa !important;
}
footer.bg-darker .opacity-50 {
  opacity: 0.9 !important;
}
footer.bg-darker a,
footer.bg-darker a:hover {
  color: #fff !important;
}
footer.bg-darker .widget-list-item,
footer.bg-darker .widget-list-item b,
footer.bg-darker .widget-list-item strong {
  color: #fff !important;
}
footer.bg-darker .widget-list .widget-list-item {
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
}
footer.bg-darker .widget-list .widget-list-item b,
footer.bg-darker .widget-list .widget-list-item strong {
  font-size: 0.86rem !important;
  line-height: 1.35 !important;
}
/* Nascondi topbar sotto i 900px */
@media (max-width: 899.98px) {
    .topbar {
        display: none !important;
    }
}

/* Scheda prodotto: banner layout correlati */
@media (min-width: 992px) {
  .product-layout-banners.product-layout-banners--single {
    max-width: 600px;
  }
}
.product-layout-banner-col {
  display: flex;
  min-width: 0;
}
.product-layout-banner-link {
  display: inline-block;
  line-height: 0;
}
.product-layout-banner-frame {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .product-layout-banner-frame {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}
.product-layout-banner-img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 8px !important;
  display: block;
}

/* Gallery arrows: avoid duplicate ">" icon */
.cz-product-gallery .cz-preview .cz-nav-btn::before,
.cz-product-gallery .cz-preview .cz-nav-btn::after {
  content: none !important;
  display: none !important;
}

/* Inline style extraction: sidebars + listing templates */
.iftm-area-personale-sidebar .list-group-item.active {
  background-color: #e0e0e0 !important;
  border-color: #e0e0e0 !important;
  color: #000 !important;
}
.iftm-area-personale-sidebar .list-group-item.active span,
.iftm-area-personale-sidebar .list-group-item.active i {
  color: #000 !important;
}
.iftm-area-personale-icon-wrap {
  width: 2.5rem;
  height: 2.5rem;
}
.iftm-area-rivenditori-icon-wrap {
  width: 2.25rem;
  height: 2.25rem;
}

.home-usato-lista1-title-link {
  text-decoration: none;
  color: inherit;
}
.home-usato-lista1-media-wrap {
  height: 150px;
  position: relative;
}
.home-usato-lista1-state-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
}
.home-usato-lista1-img {
  max-height: 150px;
}
.home-usato-lista1-price-old {
  text-decoration: line-through;
}
.home-usato-lista1 .cz-carousel [data-nav].tns-nav-active {
  background-color: #000 !important;
}

@media (max-width: 767.98px) {
  .home-vetrina-usato .card-header .card-title {
    font-size: 0.92rem;
    line-height: 1.2;
  }
}
.home-vetrina-usato-thumb-link {
  flex-shrink: 0;
}
.home-vetrina-usato-thumb-img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  border-radius: 4px;
}
.home-vetrina-usato-main-col {
  position: relative;
}
.home-vetrina-usato-state-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
}
.home-vetrina-usato-main-img {
  max-height: 110px;
  width: auto;
}

.iftm-lista-testo-compare-btn {
  position: absolute;
  bottom: 5px;
  left: 5px;
  z-index: 10;
  padding: 0.25rem 0.5rem;
}
.iftm-lista-testo-compare-icon {
  font-size: 0.875rem;
}
.iftm-lista-testo-state-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 101;
}
.iftm-lista-testo-img {
  max-height: 160px;
  object-fit: contain;
}

.iftm-layoutpage-single-state-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 101;
}
.iftm-layoutpage-single-bollino {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 100;
}
.iftm-layoutpage-single-img {
  max-height: min(88vh, 920px);
  width: 100%;
  object-fit: contain;
}
.layoutpage-single-product__photo-col {
  min-height: 260px;
}
@media (min-width: 768px) {
  .layoutpage-single-product__photo-col {
    min-height: 400px;
  }
}
@media (max-width: 767px) {
  .layoutpage-single-product__img {
    max-height: 65vh !important;
  }
}

.ifta-grid-compare-btn {
  position: absolute;
  top: 3px;
  right: 3px;
  z-index: 100;
  padding: 0.15rem 0.35rem;
}
.ifta-grid-compare-icon {
  font-size: 0.7rem;
}
.ifta-grid-badge-row {
  height: auto;
  min-height: 20px;
  margin: 0.2rem 0 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  position: static;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  overflow: visible;
  width: 100%;
  z-index: 1;
  text-align: center;
}
.ifta-grid-badge-small {
  font-size: .75rem;
  white-space: normal;
  line-height: 1.15;
  position: static !important;
}
.ifta-grid-badge-row .badge,
.ifta-grid-badge-row a,
.ifta-grid-badge-row span {
  position: static !important;
  transform: none !important;
}
.ifta-grid-media-wrap {
  height: 140px;
  overflow: hidden;
  padding-top: 8px;
}
.ifta-grid-state-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 101;
}
.ifta-grid-bollino {
  position: absolute;
  top: 0;
  left: 0;
}
.ifta-grid-img {
  max-height: 120px;
  width: auto;
  max-width: 100%;
}
.ifta-grid-title {
  min-height: 2.2rem;
}
.ifta-grid-meta {
  margin-top: .35rem;
}
.ifta-grid-badge-link-light,
.ifta-grid-badge-link-light:hover,
.ifta-grid-badge-link-light:focus {
  color: #fff !important;
  text-decoration: none;
}
.ifta-grid-badge-link-light .badge,
.ifta-grid-badge-link-light .badge i {
  color: #fff !important;
}

@media (max-width: 991.98px) {
  .ifta-grid-actions-row {
    padding-top: 0.15rem !important;
    justify-content: center;
  }
  .ifta-grid-actions-row > .ifta-grid-main-cta {
    min-height: 42px;
  }
}

.iftm-badge-disponibilita-neutral {
  background-color: #6c757d !important;
}
.iftm-badge-disponibilita-order {
  background-color: #2B3445 !important;
  color: #fff !important;
}

.iftm-testata-logo-desktop {
  min-width: 7rem;
}
.iftm-testata-logo-mobile {
  min-width: 4.625rem;
}
.iftm-testata-toolbar-user-logged {
  color: #FFCC00;
}
.iftm-topbar-shell {
  background: #000 !important;
}
.iftm-usato-banner-img {
  display: block;
}

.home-ultimi-usato-slider-title-link {
  text-decoration: none;
  color: inherit;
}
.home-ultimi-usato-slider-media-wrap {
  height: 150px;
}
.home-ultimi-usato-slider-img {
  max-height: 140px;
}

.home-notizie-title-link {
  text-decoration: none;
}
.home-notizie-mobile-img {
  width: 100%;
  height: auto;
  display: block;
}
.home-notizie-section .grid-item .card {
  border-top: 1px solid #e5e5e5;
}
@media (max-width: 991px) {
  .home-notizie-section .news-mobile-carousel {
    position: relative;
    overflow: visible;
    width: 100%;
  }
  .home-notizie-section .news-mobile-carousel-wrapper {
    display: block;
    width: 100%;
    transform: none !important;
  }
  .home-notizie-section .news-mobile-carousel-item {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    margin-bottom: 0.85rem;
  }
  .home-notizie-section .news-mobile-carousel .card {
    margin-bottom: 0;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    overflow: hidden;
  }
  .home-notizie-section .news-mobile-carousel .card-img-top {
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  .home-notizie-section .news-mobile-carousel .blog-entry-thumb {
    display: block;
    width: 100%;
    background: #fff;
    padding: 0;
  }
  .home-notizie-section .news-mobile-carousel .card-body {
    padding: .75rem;
    text-align: left !important;
  }
  .home-notizie-section .news-mobile-carousel .blog-entry-title {
    font-size: .95rem;
    line-height: 1.35;
  }
  .home-notizie-section .news-mobile-carousel .blog-entry-title a {
    color: #2b3445;
  }
  .home-notizie-section .news-carousel-nav {
    display: none !important;
  }
  .home-notizie-section .news-desktop-grid {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .home-notizie-section .news-mobile-carousel {
    display: none !important;
  }
  .home-notizie-section .news-desktop-grid {
    display: block;
  }
  .home-notizie-section .news-desktop-grid .grid-item {
    display: flex;
  }
  .home-notizie-section .news-desktop-grid .grid-item .card {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
  }
  .home-notizie-section .news-desktop-grid .grid-item .card-body {
    flex-grow: 1;
  }
}

.sidebar-contact-item--no-border {
  border: none !important;
}
.sidebar-widget {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  margin-bottom: 1.25rem;
  overflow: hidden;
}
.sidebar-widget-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #eee;
}
.sidebar-widget-header h3 {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
  color: #2B3445;
}
.sidebar-widget-header i {
  font-size: 1.1rem;
  color: #6c757d;
}
.sidebar-widget-body {
  padding: 1rem;
}
.sidebar-link {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  margin: 0 -0.75rem;
  border-radius: 6px;
  color: #4a5568;
  text-decoration: none;
  transition: all 0.2s ease;
}
.sidebar-link:hover {
  background: #f7f8fa;
  color: #2B3445;
  text-decoration: none;
}
.sidebar-link:hover i {
  color: #2B3445 !important;
}
.sidebar-link i {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f8fa;
  border-radius: 6px;
  margin-right: 0.75rem;
  font-size: 0.9rem;
  transition: all 0.2s ease;
}
.sidebar-margherita-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  margin-right: 0.75rem;
}
.sidebar-link span {
  font-size: 0.875rem;
}
.sidebar-contact-item {
  display: flex;
  align-items: center;
  padding: 0.625rem 0;
}
.sidebar-contact-item:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}
.sidebar-contact-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
  border-radius: 50%;
  margin-right: 0.875rem;
  color: #fff;
  font-size: 1rem;
}
.sidebar-contact-info small {
  color: #888;
  font-size: 0.75rem;
}
.sidebar-contact-info a,
.sidebar-contact-info span {
  color: #2B3445;
  font-weight: 500;
  text-decoration: none;
  font-size: 0.875rem;
}
.sidebar-contact-info a:hover {
  color: #6c757d;
}
.sidebar-newsletter {
  background: linear-gradient(135deg, #2B3445 0%, #1a202c 100%);
  border-radius: 8px;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
}
.sidebar-newsletter h3 {
  color: #fff;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.sidebar-newsletter p {
  color: rgba(255,255,255,0.7);
  font-size: 0.8rem;
  margin-bottom: 1rem;
}

.home-usato-menu-btn {
  white-space: normal;
  line-height: 1.2;
}
.home-usato-menu-star {
  color: #666;
}
.home-usato-menu-star--yellow {
  color: #ffcb00;
}

.iftm-cart-count-label {
  background-color: #ffcc00 !important;
}
@media (max-width: 991px) {
  #carrello-testata .navbar-tool-icon-box {
    overflow: visible;
  }
  #carrello-testata .iftm-cart-count-label {
    right: 0 !important;
    top: -2px !important;
    min-width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: .65rem;
    padding: 0 4px;
  }
}
.iftm-cart-dropdown-menu {
  width: 20rem;
}
@media (max-width: 991px) {
  #carrello-testata {
    position: static !important;
  }
  .iftm-cart-dropdown-menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(92vw, 380px);
    max-width: 92vw;
    height: 100vh;
    margin: 0 !important;
    border: 0;
    border-radius: 0;
    box-shadow: -8px 0 24px rgba(0, 0, 0, .25);
    transform: translateX(102%) !important;
    opacity: 1 !important;
    background: #fff !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    mix-blend-mode: normal !important;
    display: block !important;
    visibility: hidden;
    pointer-events: none;
    transition: transform .24s ease, visibility .24s ease;
    z-index: 200000 !important;
  }
  #carrello-testata.show .iftm-cart-dropdown-menu {
    transform: translateX(0) !important;
    visibility: visible;
    pointer-events: auto;
    display: flex !important;
    flex-direction: column;
  }
  .iftm-cart-dropdown-menu .widget.widget-cart {
    background: #fff !important;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }
  .iftm-cart-mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1rem;
    border-bottom: 1px solid #ececec;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
  }
  .iftm-cart-mobile-close {
    font-size: 1.5rem;
    line-height: 1;
    opacity: .75;
  }
  .iftm-cart-scroll-area {
    max-height: none !important;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden !important;
  }
  .iftm-cart-scroll-area .simplebar-content-wrapper {
    overflow-x: hidden !important;
  }
  .iftm-cart-dropdown-menu .media {
    display: flex !important;
    align-items: flex-start !important;
    width: 100%;
    gap: .45rem;
    overflow: hidden;
  }
  .iftm-cart-dropdown-menu .iftm-cart-thumb-wrap {
    width: 56px;
    min-width: 56px;
    flex: 0 0 56px;
    margin-right: 0 !important;
  }
  .iftm-cart-dropdown-menu .media-body {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: .2rem;
  }
  .iftm-cart-dropdown-menu .media-body h6,
  .iftm-cart-dropdown-menu .media-body a,
  .iftm-cart-dropdown-menu .font-size-sm.text-darker.font-weight-semibold {
    display: block !important;
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .iftm-cart-dropdown-menu .media-body .font-size-sm.text-muted {
    display: block;
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .iftm-cart-dropdown-menu .iftm-cart-line-price {
    min-width: 0;
    flex: 0 0 auto;
    white-space: nowrap;
    margin-left: .35rem !important;
    text-align: right;
    align-self: flex-start;
  }
  .iftm-cart-dropdown-menu .media .d-flex.w-100.align-items-stretch {
    display: block !important;
  }
  .iftm-cart-dropdown-menu .media .d-flex.align-items-center.py-1 {
    align-items: flex-start !important;
  }
  .iftm-cart-dropdown-menu .media .d-flex.align-items-center.justify-content-between.w-100 {
    display: block !important;
    min-width: 0;
  }
  .iftm-cart-dropdown-menu .media .d-flex.align-items-center.justify-content-between.w-100 .iftm-cart-line-price {
    display: block;
    margin-left: 0 !important;
    margin-top: .15rem;
  }
  .iftm-cart-mobile-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .38);
    z-index: 199990;
  }
  .iftm-cart-mobile-backdrop.is-visible {
    display: block;
  }
  .iftm-cart-dropdown-menu .py-3 .font-size-sm.mb-2 {
    text-align: right;
  }
  .iftm-cart-dropdown-menu .btn.btn-sm {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.iftm-cart-thumb-wrap {
  width: 42px;
}
.iftm-cart-line-price {
  min-width: 92px;
  text-align: right;
}
.iftm-cart-line-price-meta {
  font-size: .72rem;
  line-height: 1;
  color: #6c757d;
  font-weight: 500;
  margin-bottom: .08rem;
}
.iftm-cart-scroll-area {
  max-height: 15rem;
}

.iftm-gtm-noscript-iframe {
  display: none;
  visibility: hidden;
}
.iftm-header-bg {
  background: var(--iftm-header-bg);
}
.iftm-header-navbar,
.iftm-header-row-dark {
  background: #000 !important;
}
.iftm-mobile-offcanvas {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 95vw;
  max-width: 95vw;
  background: #fff;
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1065;
  overflow-y: auto;
  box-shadow: 2px 0 8px rgba(0,0,0,.3);
}
.iftm-mobile-offcanvas-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  backdrop-filter: saturate(85%) blur(1px);
  z-index: 1060;
  display: none;
  opacity: 0;
  transition: opacity .3s ease;
}
.iftm-toast-visible {
  opacity: 1;
}

/* Testata menu orizzontale (ex inline styles) */
.wsmenu :hover { color:#000 !important; }
.wsmenu > .wsmenu-list > li {
  border-left: 1px solid #eee !important;
}
.wsmenu > .wsmenu-list > li:last-child {
  border-right: 1px solid #eee !important;
}
@media (min-width: 992px) {
  .wsmenu:not(.ws-hover-armed) > .wsmenu-list > li > .wsmegamenu,
  .wsmenu:not(.ws-hover-armed) > .wsmenu-list > li > ul.sub-menu,
  .wsmenu:not(.ws-hover-armed) > .wsmenu-list > li > .wsshoptabing {
    display: none !important;
  }
}
.ilfoto-reparti-menu-fullwidth,
.ilfoto-reparti-menu-fullwidth .container-fluid {
  max-width: 1920px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.ilfoto-reparti-menu-fullwidth .wsmenu,
.ilfoto-reparti-menu-fullwidth .wsmenu > .wsmenu-list {
  max-width: 1920px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.iftm-menu-banner-img {
  width: 100%;
  height: auto;
}

/* Testata menu verticale (ex inline styles) */
.iftm-mobile-offcanvas-header {
  background:#000;
  border-radius:.4rem;
}
.iftm-mobile-offcanvas-close-btn {
  line-height:1;
  color:#fff !important;
  font-size:2rem !important;
  font-weight:700;
}
#mobileOffcanvas {
  -webkit-overflow-scrolling: touch;
}
#mobileOffcanvas .ifta-mobile-menu-root {
  max-height: calc(100vh - 90px);
  overflow-y: auto;
  overflow-x: hidden;
}
#mobileOffcanvas a {
  color:#000 !important;
  display:block;
}
#mobileOffcanvas a:hover {
  color:#fea569 !important;
}
#mobileOffcanvas .ifta-top-links-wrap .col-6 {
  padding-left: .35rem !important;
  padding-right: .35rem !important;
}
#mobileOffcanvas .ifta-top-links li {
  padding-top: .15rem !important;
  padding-bottom: .15rem !important;
}
#mobileOffcanvas .ifta-top-links li a {
  font-size: .84rem;
  line-height: 1.1;
}
#mobileOffcanvas .ifta-macro-link {
  font-size: .82rem;
  line-height: 1.1;
  letter-spacing: .02em;
}
#mobileOffcanvas .family-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 10px;
}
#mobileOffcanvas .family-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  gap: 10px;
  padding: 4px 2px;
  min-height: 92px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
}
#mobileOffcanvas .family-img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  border: 0;
}
#mobileOffcanvas .family-name {
  font-size:.9rem;
  line-height: 1.15;
  color: #1f2d3d;
  font-weight: 400 !important;
}

/* Home recensioni slider (ex inline styles) */
.home-reviews-title-link {
  text-decoration:none;
}
.home-reviews-slider {
  max-width: 900px;
}
.home-reviews-slider .rating-stars i {
  font-size: 1.8rem;
}
.home-reviews-slider .rating-stars {
  color: #FFCC00 !important;
}
.home-reviews-slider .home-feedback-bubble {
  background:#f8f9fa;
  border-radius:12px;
  padding:10px 14px;
  position:relative;
  display:block;
  max-width:100%;
}
.home-reviews-slider .home-feedback-bubble::after {
  content:'';
  position:absolute;
  left:50%;
  top:-8px;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 8px 8px 8px;
  border-color:transparent transparent #f8f9fa transparent;
  transform:translateX(-50%);
}
.home-reviews-slider .feedback-recensione {
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-reviews-slider .carousel-item {
  padding: 16px 0;
}

/* Noleggio esteso / quickview / usato punti vendita (ex inline styles) */
.iftm-noleggio-card-media {
  height: 100px;
}
.iftm-noleggio-card-img {
  max-height: 100px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.iftm-noleggio-placeholder {
  padding: 50px 10px;
  color: #999;
}
.iftm-noleggio-placeholder-icon {
  font-size: 2rem;
}
.iftm-quickview-modal-header {
  min-height: 20px;
}
.iftm-quickview-modal-close {
  position: absolute;
  top: 15px;
  right: 20px;
  z-index: 1050;
}
.iftm-quickview-modal-body {
  height: 80vh;
}
.iftm-quickview-iframe {
  border: 0;
  width: 100%;
  height: 100%;
}
.iftm-usato-card-media {
  height: 150px;
  position: relative;
}
.iftm-usato-state-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
}
.iftm-usato-card-img {
  max-height: 150px;
}
.iftm-price-strikethrough {
  text-decoration: line-through;
}

/* Residui inline finali (ex style="") */
.iftm-info-top {
  background: #111;
}
.iftm-payment-logo-sm {
  height: 24px;
  width: auto;
}
.iftm-cookie-banner {
  z-index: 9999;
}

/* Final inline-style migrations (secondary templates) */
@media (min-width: 992px) {
  .home-digitalcameraschool-section {
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
}
@media (max-width: 991px) {
  .home-digitalcameraschool-section {
    margin-top: 1rem !important;
    margin-bottom: 2rem !important;
    height: auto !important;
  }
}
.home-digitalcameraschool-section p {
  color: #212529 !important;
}
.home-dcs-carousel-image {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  display: block;
  border-radius: .35rem;
}
.home-dcs-carousel-frame {
  height: 260px;
  min-height: 260px;
  overflow: hidden;
  border-radius: .35rem;
}
.home-dcs-carousel-frame .carousel-inner,
.home-dcs-carousel-frame .carousel-item {
  height: 100%;
}
.home-dcs-carousel-frame .carousel-item {
  transition: opacity .7s ease-in-out;
}
@media (max-width: 991px) {
  .home-dcs-carousel-frame {
    height: 200px;
    min-height: 200px;
  }
  .home-dcs-carousel-image {
    height: 100%;
    min-height: 100%;
  }
  .home-dcs-cta-btn {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .ifta-sidebar-desktop-card {
    padding-right: 0 !important;
  }
}
@media (min-width: 992px) {
  .ifta-sidebar-desktop-card {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
    border-radius: .25rem;
    padding: 1.5rem !important;
  }
}
.home-layoutpage-card {
  border: 1px solid #e9ecef;
  border-radius: .5rem;
  overflow: hidden;
  background: #fff;
  height: 100%;
}
.home-layoutpage-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.home-layoutpage-banner img {
  height: 220px;
  min-height: 220px;
}
@media (max-width: 767.98px) {
  .home-layoutpage-card img,
  .home-layoutpage-banner img {
    height: auto;
    min-height: 0;
    object-fit: contain;
  }
}
.layoutpage-unavailable-section {
  padding-top: 3.75rem;
  padding-bottom: 4.5rem;
}
@media (min-width: 992px) {
  .layoutpage-unavailable-section {
    padding-top: 5.25rem;
    padding-bottom: 6.25rem;
  }
}
.layoutpage-unavailable-inner {
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}
.home-marche-section {
  background: #fff;
}
.home-marche-section .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.home-marche-item {
  padding-left: .35rem;
  padding-right: .35rem;
}
.brand-logo {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: transform 0.3s ease;
}
.brand-logo:hover {
  transform: scale(1.05);
}
.brand-logo img {
  max-width: 100%;
  max-height: 44px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: all 0.3s ease;
}
.brand-logo:hover img {
  filter: grayscale(0%);
  opacity: 1;
}
.brand-logo .brand-placeholder {
  display: none;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background: linear-gradient(135deg, #f4f6fb 0%, #e9ecf5 100%);
  color: #2b3445;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 0.85rem;
  padding: 0 6px;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(43, 52, 69, 0.08);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.6);
}
@media (max-width: 767.98px) {
  .home-marche-section .row {
    display: flex;
  }
  .home-marche-item {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
    margin-bottom: .65rem !important;
    padding-left: .25rem;
    padding-right: .25rem;
  }
  .home-marche-item .brand-logo {
    height: 54px;
    border: 1px solid #dee2e6 !important;
    border-radius: .4rem !important;
    background: #fff;
    padding: .35rem .5rem;
  }
}
@media (max-width: 991px) {
  .home-marche-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .home-reparti-section {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
}
@media (max-width: 767.98px) {
  .home-reparti-section {
    display: none !important;
  }
}

/* UX mobile PDP/PLP quick wins: CTA area and touch targets */
@media (max-width: 991.98px) {
  .iftm-pdp-mobile-actions {
    position: sticky;
    bottom: 0;
    z-index: 20;
    background: #fff;
    border-top: 1px solid #e9ecef;
    padding: 0.55rem 0.25rem calc(0.55rem + env(safe-area-inset-bottom));
    margin: 0 -0.25rem;
  }
  .iftm-pdp-mobile-actions .btn {
    min-height: 44px;
  }
  .iftm-pdp-mobile-actions .iftm-pdp-main-cta {
    flex: 1 1 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-top: 0.35rem;
  }

  .iftm-plp-actions-row .btn,
  .iftm-plp-actions-row .list-add-cart-btn {
    min-height: 44px;
  }
  .iftm-plp-actions-row .list-add-cart-btn a {
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
}

/* Migrated from inc_css.php inline style block */
.sidebar {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #7d879c;
    --gray-dark: #21a6df;
    --primary: #;
    --secondary: #f3f5f9;
    --success: #42d697;
    --info: #69b3fe;
    --warning: #fea569;
    --danger: #f34770;
    --light: #fff;
    --dark: #21a6df;
    --accent: #4e54c8;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1280px;
    --font-family-sans-serif: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #4b566b;
    text-align: left;
    direction: inherit;
    visibility: visible;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    padding-right: 1.275rem !important;
    padding: 0px 16px 0px 0px;
    background: var(--secondary, #f3f5f9);
    border: 1px solid #ddd;
    border-radius: 5px;
    margin: 10px 0;
}

.sidebar p {
    margin: 0 0 10px 0;
}

.sidebar a {
    color: var(--dark, #21a6df) !important;
    text-decoration: none;
    font-weight: 400;
}

.sidebar a:hover {
    color: var(--accent, #4e54c8) !important;
    text-decoration: underline;
}

/* Ottimizzazione card prodotti */
.product-card {
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.product-card .bg-white {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
}

.product-card img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    transition: transform 0.3s ease !important;
}

.product-card img:hover {
    transform: scale(1.05) !important;
}

/* Ottimizzazione layout griglia */
.row {
    margin: 0 -8px !important;
}

.col-lg-3, .col-md-4, .col-sm-6, .col-6 {
    padding: 0 8px !important;
    margin-bottom: 16px !important;
}

/* Toolbar layout - bottoni griglia/testo su una riga */
#modalita form {
    display: inline-flex !important;
    gap: 5px !important;
    align-items: center !important;
}

#modalita input[type="submit"] {
    padding: 8px 12px !important;
    border: 1px solid #ddd !important;
    background: #f8f9fa !important;
    color: #495057 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
}

#modalita input[type="submit"]:hover {
    background: #e9ecef !important;
    border-color: #adb5bd !important;
}

#modalita input[type="submit"].visualizzato {
    background: #007bff !important;
    color: white !important;
    border-color: #007bff !important;
}

#modalita input[type="submit"].visualizzato:hover {
    background: #0056b3 !important;
    border-color: #0056b3 !important;
}

/* Stile per il bottone confronta nella lista prodotti */
#confronta_lista {
    background: #f8f9fa !important;
    border-radius: 8px !important;
    padding: 15px !important;
}

#confronta_lista .btn-secondary {
    background: #87CEEB !important;
    border-color: #87CEEB !important;
    color: #2c3e50 !important;
    font-weight: 500 !important;
}

#confronta_lista .btn-secondary:hover {
    background: #7BB3D9 !important;
    border-color: #7BB3D9 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 4px rgba(135, 206, 235, 0.3) !important;
}

/* Modal backdrop e layering: evita grigio pieno e lascia intravedere lo sfondo del sito */
.modal-backdrop { background-color: #000; }
.modal-backdrop.show { opacity: .5; }
/* Assicura z-index sopra header/footer sticky - valori alti per stare sopra navbar sticky */
.modal { z-index: 2050 !important; }
.modal-backdrop { z-index: 2000 !important; }
.modal .modal-dialog { z-index: 2051 !important; }
/* Specifico per modale carrello - ancora più alto per sicurezza */
#modal-added-to-cart { z-index: 2060 !important; }
#modal-added-to-cart.show { z-index: 2060 !important; }
/* Quando la modale carrello è visibile, assicura che il backdrop sia sopra gli overlay sticky */
body.modal-open #modal-added-to-cart ~ .modal-backdrop,
body.modal-open .modal-backdrop:last-of-type { z-index: 2055 !important; }

/* Specifico per modale cookie preferences - stesso trattamento del carrello */
#cookie-preferences-modal { z-index: 2060 !important; }
#cookie-preferences-modal.show { z-index: 2060 !important; }
body.modal-open #cookie-preferences-modal ~ .modal-backdrop,
body.modal-open #cookie-preferences-modal.show ~ .modal-backdrop { z-index: 2055 !important; }

/* Specifico per modale quickview - stesso trattamento del carrello */
#modalQuickView { z-index: 2060 !important; }
#modalQuickView.show { z-index: 2060 !important; }
body.modal-open #modalQuickView ~ .modal-backdrop,
body.modal-open #modalQuickView.show ~ .modal-backdrop { z-index: 2055 !important; }

/* Specifico per modale wishlist - stesso trattamento del carrello */
#wishlist-aggiunta-popup { z-index: 2060 !important; }
#wishlist-aggiunta-popup.show { z-index: 2060 !important; }
body.modal-open #wishlist-aggiunta-popup ~ .modal-backdrop,
body.modal-open #wishlist-aggiunta-popup.show ~ .modal-backdrop { z-index: 2055 !important; }

/* Forza disabilitazione overlay sticky quando qualsiasi modale è aperta */
body.modal-open #modal-added-to-cart.show ~ * .stickybar-overlay,
body.modal-open #modal-added-to-cart.show ~ * .navbar-stuck-overlay,
body.modal-open #modal-added-to-cart.show ~ * .header-overlay,
body.modal-open #modal-added-to-cart.show ~ * .overlay,
body.modal-open #modal-added-to-cart.show ~ * .cz-sidebar-backdrop,
body.modal-open #modal-added-to-cart.show ~ * .offcanvas-backdrop,
body.modal-open #cookie-preferences-modal.show ~ * .stickybar-overlay,
body.modal-open #cookie-preferences-modal.show ~ * .navbar-stuck-overlay,
body.modal-open #cookie-preferences-modal.show ~ * .header-overlay,
body.modal-open #cookie-preferences-modal.show ~ * .overlay,
body.modal-open #cookie-preferences-modal.show ~ * .cz-sidebar-backdrop,
body.modal-open #cookie-preferences-modal.show ~ * .offcanvas-backdrop,
body.modal-open #modalQuickView.show ~ * .stickybar-overlay,
body.modal-open #modalQuickView.show ~ * .navbar-stuck-overlay,
body.modal-open #modalQuickView.show ~ * .header-overlay,
body.modal-open #modalQuickView.show ~ * .overlay,
body.modal-open #modalQuickView.show ~ * .cz-sidebar-backdrop,
body.modal-open #modalQuickView.show ~ * .offcanvas-backdrop,
body.modal-open #wishlist-aggiunta-popup.show ~ * .stickybar-overlay,
body.modal-open #wishlist-aggiunta-popup.show ~ * .navbar-stuck-overlay,
body.modal-open #wishlist-aggiunta-popup.show ~ * .header-overlay,
body.modal-open #wishlist-aggiunta-popup.show ~ * .overlay,
body.modal-open #wishlist-aggiunta-popup.show ~ * .cz-sidebar-backdrop,
body.modal-open #wishlist-aggiunta-popup.show ~ * .offcanvas-backdrop,
body.modal-open .stickybar-overlay,
body.modal-open .navbar-stuck-overlay,
body.modal-open .header-overlay,
body.modal-open .overlay:not(.modal-backdrop),
body.modal-open .cz-sidebar-backdrop,
body.modal-open .offcanvas-backdrop {
  pointer-events: none !important;
  z-index: 1500 !important;
}
/* Z-index bollino prodotto: deve stare sotto la modal */
#scheda-bollino { z-index: 5 !important; }
/* Disabilita temporaneamente navbar sticky per evitare conflitti con modale carrello */
.navbar-sticky { position: static !important; }
.navbar-sticky.navbar-stuck { position: static !important; }
/* Dimensionamento modale carrello_1 */
#carrello-aggiunto-popup .modal-dialog { max-width: 560px; width: 90%; }
#carrello-aggiunto-popup .modal-content { border-radius: .6rem; overflow: hidden; min-height: 160px; }
#carrello-aggiunto-popup .modal-body { padding: 1.5rem; min-height: 120px; display: block; }
#carrello-aggiunto-popup .modal-content, 
#carrello-aggiunto-popup .modal-content * { color: #212529 !important; }
#carrello-aggiunto-popup h4 { font-size: 1.05rem; margin-bottom: .5rem; }
#carrello-aggiunto-popup .btn { padding: .6rem .9rem; }
#cart-toast-in-modal .toast-header { border-bottom: none; }
#cart-toast-in-modal .toast-body { padding-top: .75rem; }
@media (max-width: 991px) {
  #carrello-aggiunto-popup h4 {
    display: none !important;
  }
}

