/* 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) */
@media (max-width: 768px) {
  .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 */

/* 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;
}

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

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

/* 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 */
		color:#c00 !Important
}

/* 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: #f6f9fc !important;
  border-color: transparent !important;
  color: #4b566b !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: #4b566b !important;
}

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

/* Ottimizza caricamento font icone cartzilla (PageSpeed: font-display) */
@font-face {
  font-family: 'cartzilla-icons';
  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;
  }
}

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

/* ========================================
   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}




#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;
    }
}

/* --- 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: 768px) {
    .cz-product-gallery { flex-direction:column; position: relative; max-width:100% !important; overflow:hidden !important; }
    /* su mobile nessuna altezza minima per il box anteprima */
    .cz-product-gallery .cz-preview { min-height: auto !important; }
    /* Anteprime galleria: uniforma l'altezza delle immagini grandi */
    .cz-preview-item { 
        height: 280px !important; 
        display: flex; 
        align-items: center; 
        justify-content: center; 
    }
    .cz-preview-item img, .cz-image-zoom { 
        max-height: 280px !important; 
        width: auto; 
        max-width: 100%; 
        object-fit: contain; 
    }
    /* Evita padding orizzontale eccessivo intorno all'immagine grande */
    .cz-preview-item.px-5 { padding-left: 0 !important; padding-right: 0 !important; }
    .cz-product-gallery .cz-preview { padding-bottom: 0 !important; }
    /* Nascondi thumblist: useremo lo scroll delle immagini grandi */
    .cz-thumblist { display:none !important; }

    /* Preview come desktop: no carosello, usa active show/hide */
    .cz-product-gallery .cz-preview { 
        display: block !important; 
        overflow: visible !important; 
        width:100% !important;
        padding-bottom: 0 !important;
    }
    .cz-product-gallery .cz-preview .cz-preview-item { 
        display: none !important; 
        width:100%; 
    }
    .cz-product-gallery .cz-preview .cz-preview-item.active { 
        display: block !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
   ======================================== */
.footer-payment-logos img {
    height: 40px;
    width: auto !important;
    max-width: 100%;
    object-fit: contain;
}

@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;
}
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;
}

/* ========================================
   Floating cookie preferences button (desktop)
   ======================================== */
.cookie-floating-btn {
    position: fixed;
    left: 0;
    bottom: 120px;
    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;
    }
}