/* ========== ESTEREL CSS Variables ========== */
:root {
  /* Brand */
  --est-primary: #C5A02B;
  --est-primary-hover: #b8941f;
  --est-primary-light: rgba(197,160,43,0.12);
  --est-primary-glow: rgba(197,160,43,0.06);

  /* Testi */
  --est-text-dark: #000000;
  --est-text-body: #555;
  --est-text-muted: #999;
  --est-text-light: #bbb;

  /* Sfondi */
  --est-bg-cream: #fff;
  --est-bg-warm: #f5f0ea;
  --est-bg-light: #fff;
  --est-bg-dark: #1a1a2e;
  --est-bg-promo: #1A1A1A;
  --est-bg-white: #fff;
  --est-gradient-warm: linear-gradient(135deg, var(--est-bg-warm) 0%, #f8f3eb 100%);

  /* Bordi */
  --est-border-warm: #f0f0f0;
  --est-border-light: #f3f4f6;
  --est-border-medium: #e5e7eb;

  /* Ombre */
  --est-shadow-soft: 0 4px 30px rgba(0,0,0,0.04);
  --est-shadow-hover: 0 8px 40px rgba(0,0,0,0.08);
  --est-shadow-btn: 0 2px 12px rgba(197,160,43,0.2);
  --est-shadow-card: 0 2px 16px rgba(0,0,0,0.05);

  /* Bottoni */
  --est-btn-radius: 100px;
  --est-btn-font-size: 11px;
  --est-btn-letter-spacing: 0.15em;
  --est-btn-padding: 14px 32px;

  /* Raggi */
  --est-radius-sm: 8px;
  --est-radius-md: 12px;

  /* Transizioni */
  --est-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* gold var(--est-primary) bottoni: #f0ad4e bottoni hover var(--est-primary) */

/*============== roboto scolpito in tema */ 

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  line-height: 1.2;
  color: var(--est-text-dark) !important;
  text-transform: none !important;
  letter-spacing: 0.04em;
} 

h2 { margin-top: 7px; font-size: 28px; margin-bottom: 25px; } 

h1 small, h1 .small, h2 small, h2 .small, h3 small, h3 .small, h4 small, h4 .small, h5 small, h5 .small, h6 small, h6 .small, .h1 small, .h1 .small, .h2 small, .h2 .small, .h3 small, .h3 .small, .h4 small, .h4 .small, .h5 small, .h5 .small, .h6 small, .h6 .small { font-weight: normal; line-height: 1; color: var(--est-text-light); } 

h1, .h1, h2, .h2, h3, .h3 { margin-top: 16px; margin-bottom: 12px; } 

h1 small, h1 .small, .h1 small, .h1 .small, h2 small, h2 .small, .h2 small, .h2 .small, h3 small, h3 .small, .h3 small, .h3 .small { font-size: 65%; } 

h4, .h4, h5, .h5, h6, .h6 { margin-top: 8px; margin-bottom: 8px; } 

h4 small, h4 .small, .h4 small, .h4 .small, h5 small, h5 .small, .h5 small, .h5 .small, h6 small, h6 .small, .h6 small, .h6 .small { font-size: 75%; } 

h1, .h1 { font-size: 36px !important; }

h2, .h2 { font-size: 28px !important; }

h3, .h3 { font-size: 22px !important; }

h4, .h4 { font-size: 18px !important; }

h5, .h5 { font-size: 15px !important; }

h6, .h6 { font-size: 13px !important; } 

p { margin: 0 0 12px; line-height: 1.7; }

body {font-size: 14px !important; color: var(--est-text-body) !important; line-height: 1.7; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: #fff !important;}

/*========= generiche da vecchio styles*/

b, strong { font-weight: 600; color: var(--est-text-dark); } 

/*====== btn = */ 

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600 !important;
  font-size: var(--est-btn-font-size) !important;
  text-transform: uppercase;
  letter-spacing: var(--est-btn-letter-spacing);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: var(--est-btn-radius);
  white-space: nowrap;
  padding: var(--est-btn-padding) !important;
  line-height: 1.5;
  -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
  outline: 0;
  transition: all var(--est-transition);
}

.btn:hover, .btn:focus { color: #fff; background: var(--est-primary); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(197,160,43,0.2); } 

.btn:active, .btn.active { outline: 0; background-image: none; } 

.btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; pointer-events: none; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; } 

.btn-default:hover, .btn-default:focus, .btn-default.active { color: var(--est-primary) !important; background-color: var(--est-primary-glow) !important; border-color: var(--est-primary) !important; } 

.open .btn-default.dropdown-toggle { color: #333333; background-color: #ebebeb; border-color: #adadad; } 

.btn-default:active, .btn-default.active { background-image: none; } 

.open .btn-default.dropdown-toggle { background-image: none; } 

.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: white; border-color: #cccccc; } 

.btn-default .badge { color: white; background-color: #333333; } 

.btn-primary:hover, .btn-primary:focus, .btn-primary.active {
  color: #fff;
  background-color: var(--est-primary-hover);
  border-color: var(--est-primary-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(197,160,43,0.3);
} 

.open .btn-primary.dropdown-toggle { color: white; background-color: #3276b1; border-color: #285e8e; } 

.btn-primary:active, .btn-primary.active { background-image: none; } 

.open .btn-primary.dropdown-toggle { background-image: none; } 

.btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #428bca; border-color: #357ebd; } 

.btn-primary .badge { color: #428bca; background-color: white; } 

.btn-success { color: white; background-color: #5cb85c; border-color: #4cae4c; } 

.btn-success:hover, .btn-success:focus, .btn-success.active { color: #fff; background-color: var(--est-primary); border-color: var(--est-primary); } 

.open .btn-success.dropdown-toggle { color: white; background-color: #47a447; border-color: #398439; } 

.btn-success:active, .btn-success.active { background-image: none; } 

.open .btn-success.dropdown-toggle { background-image: none; } 

.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } 

.btn-success .badge { color: #5cb85c; background-color: white; } 

.btn-info { color: white; background-color: #5bc0de; border-color: #46b8da; } 

.btn-info:hover, .btn-info:focus, .btn-info.active { color: #fff; background-color: var(--est-primary); border-color: var(--est-primary); } 

.open .btn-info.dropdown-toggle { color: white; background-color: #39b3d7; border-color: #269abc; } 

.btn-info:active, .btn-info.active { background-image: none; } 

.open .btn-info.dropdown-toggle { background-image: none; } 

.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } 

.btn-info .badge { color: #5bc0de; background-color: white; } 

.btn-warning { color: white; background-color: #f0ad4e; border-color: #eea236; } 

.btn-warning:hover, .btn-warning:focus, .btn-warning.active { color: #fff; background-color: var(--est-primary); border-color: var(--est-primary); } 

.open .btn-warning.dropdown-toggle { color: white; background-color: #ed9c28; border-color: #d58512; } 

.btn-warning:active, .btn-warning.active { background-image: none; } 

.open .btn-warning.dropdown-toggle { background-image: none; } 

.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } 

.btn-warning .badge { color: #f0ad4e; background-color: white; } 

.btn-danger { color: white; background-color: #d9534f; border-color: #d43f3a; } 

.btn-danger:hover, .btn-danger:focus, .btn-danger.active { color: #fff; background-color: var(--est-primary); border-color: var(--est-primary); } 

.open .btn-danger.dropdown-toggle { color: white; background-color: #d2322d; border-color: #ac2925; } 

.btn-danger:active, .btn-danger.active { background-image: none; } 

.open .btn-danger.dropdown-toggle { background-image: none; } 

.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } 

.btn-danger .badge { color: #d9534f; background-color: white; } 

.btn-link { color: var(--est-text-dark); font-weight: normal; cursor: pointer; border-radius: 0; } 

.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } 

.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } 

.btn-link:hover, .btn-link:focus { color: var(--est-primary); text-decoration: underline; background-color: transparent; } 

.btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { color: var(--est-text-light); text-decoration: none; } 

.btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 16px; line-height: 1; border-radius: var(--est-btn-radius); }

.btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: inherit; line-height: 1; border-radius: var(--est-btn-radius); }

.btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 0px; line-height: 1; border-radius: var(--est-btn-radius); } 

.btn-block { display: block; width: 100%; padding-left: 0; padding-right: 0; } 

.btn-block + .btn-block { margin-top: 5px; } 

.btn-est, #popupnews-form button[type="submit"] {
  background: var(--est-text-dark);
  border: 2px solid var(--est-text-dark);
  padding: 14px 40px;
  border-radius: var(--est-btn-radius);
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  transition: all 0.35s var(--est-transition);
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.btn-est::before, #popupnews-form button[type="submit"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--est-primary);
  border-radius: inherit;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1;
}

.btn-est:hover, #popupnews-form button[type="submit"]:hover {
  background: var(--est-text-dark);
  color: #fff;
  border-color: var(--est-primary);
  transform: translateY(-1px);
  box-shadow: var(--est-shadow-btn);
}
.btn-est:hover::before, #popupnews-form button[type="submit"]:hover::before {
  transform: scaleX(1);
  transform-origin: left;
} 

a.btn-est:focus { color: #333; } 

/* footer*/ 

.footer-link { padding: 70px 0 30px; line-height: 27px; letter-spacing: 1px; } 

.footer-link .title_block { color: #fff; margin: 0 0 25px; letter-spacing: 2px; } 

.footer-link .list-group { margin-bottom: 0; } 

.footer-link .list-group:after { content: ""; display: block; clear: both; } 

.footer-link .list-group li { padding: 0px 0px 0px 12px; position: relative; font-size: 14px; text-transform: uppercase; width: 50%; float: left; background: none; border: 0; } /*========== da vecchio global */ 

/* red: #f13340 */ 

.logo { max-width: 221px; max-height: 68px; } 

.open .popup-content {display:block!important;} 

textarea.form-control { min-height: 230px; } 

.product-block { padding: 10px 2px; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); border-radius: var(--est-radius-sm); } 

.product-block:hover { box-shadow: var(--est-shadow-hover); transform: translateY(-3px); } 

.product-block .product-meta { 

padding-bottom: 50px; } 

p.testo-oro { color: var(--est-primary);} 

#index #columns { padding: 30px 0 0; } 

/* Chiedi all'esperto */ 

.home-block-pocket a { font-size: 16px; } 

.home-block-pocket .ApHtml { display: inline-block; padding-top: 80px; } 

.home-block-pocket a { color: #fff; background: var(--est-primary);} 

.home-block-pocket a:hover { -webkit-box-shadow: 0 0 0 22px #000 inset; box-shadow: 0 0 0 22px #000 inset; } 

/* col sx box in offerta */ 

#special_block_right .product-block { padding: 12px 2px; } 

body#category-offerte-speciali #special_block_right { display: none; } 

/* breadcrumbs */ 

#breadcrumb { background: #fff; padding: 10px 0; border-top: none; border-bottom: 1px solid var(--est-border-light); } 

/* promozione in corso banner */ 

#header_content #menu-col .ApHtml { text-align: center; background: #ffffff; color: var(--est-primary); font-size: 100%; line-height: 24px; border-radius: 20px; height: auto; margin: 10px; padding: 8px 10px; border: 1px solid; } 

#menu-col .ApHtml.block h4.title_block { display: none; } 

#header_content #menu-col .ApHtml span.fa { font-size: 23px; } 

/* pagina prodotto */ 

.row.prod-info { border: 1px solid var(--est-border-warm); margin-left: 0; margin-right: 0; margin-bottom: 20px; border-radius: var(--est-radius-sm); } 

.product-29 .pb-center-column h1 { font-variant: normal; } 

.content_prices p.pack_price span { display: inline; } 

.pb-left-column .p-label { z-index: 9; } 

.pb-left-column #image-block #view_full_size { z-index: 8; position: relative; } 

#reduction_percent, #reduction_amount { color: #f13340; background: #ffffff; font-size: 16px; margin-top: 0; } 

.product-block .label-sale, .pb-left-column .p-label .label-sale.label { right: 15px; color: #f13340; border-color: #f13340; background: #ffffff; width: 40px; height: 40px; line-height: 36px; border-radius: 20px; font-size: 20px; padding: 0 3px; } 

#product .page-product-box p, #product .page-product-box li { line-height: 1.4; } 

/* Tab categorie prodotto in home page */ 

.container.home-pocket img { border: 1px solid #c7c7c7; -webkit-transition: all 0.4s; transition: all 0.4s; } 

.container.home-pocket img:hover { border: 1px solid #fff; } 

.container.home-pocket h3{ text-align: center; text-transform: none; letter-spacing: 0.4px; font-size: 110%; } 

.container.home-pocket a{ /*color: inherit;*/ -webkit-transition: all 0.4s; transition: all 0.4s; } 

.container.home-pocket strong{ font-weight: 700; } 

.container.home-pocket h3:before { display: block; content: ""; background: url(../../img/timbro-esterel.png) center top; width: 50px; height: 50px; margin: 0 auto; margin-bottom: 15px; } 

.container.home-pocket h3:after { content: ""; display: block; margin: 0 auto; height: 2px; width: 40%; background-color: var(--est-primary); margin-top: 8px; } 

.image_description { margin-top: -40px; z-index: 4; position: relative; } 

/* Prodotti in evidenza in home page */ 

.owl-theme .owl-controls .owl-buttons div { background: var(--est-primary); } 

#title-home-prod { color: var(--est-primary); text-align: center; padding: 10px 0px 10px 0px; font-size: 30px; text-transform: uppercase; border-bottom: 1px solid var(--est-primary); } 

span.discount.label.label-flags.label-danger { display: none; } 

#title-home-prod .ApColumn .block { margin-bottom: 0; } 

.container.home-block-tab .group-widget .title_block, .columns-container .ApColumn .title_block { padding: 25px 0 20px; } 

.container.home-block-tab .product-block { margin: 5px 0 0px; } 

/* Newsletter */ 

.mc-field-group.email { margin: 20px 0 0; font-size: 140%; } 

p.email { margin-bottom: 20px; } 

.checkbox.subfield.email { display: inline-block; } 

.checkbox.subfield.email input[type="checkbox"] { margin: 0 15px; } 

.footer-subscribe { padding: 40px 0 010px; } 

.response{ margin: 10px 0 20px; } 

#newsletter_block_left .sub-title { color: #3a3a3a; font-size: 18px; line-height: 24px; } 

#footer #newsletter_block_left .block_content { padding: 20px 0 50px !important; } 

/* Footer */ 

#footer h4 a { color: #fff; } 

.footer-link .list-group li { width: 100%; } 

#footer #newsletter_block_left .btn { font-size: 16px; } 

@media (max-width: 991px) { .product-block { box-shadow: var(--est-shadow-soft); } } #leo-top-menu .product-block .name a{height:auto;} #product .carousel { position: relative; display: block; overflow: visible !important; } #product .carousel-control:hover,#product .carousel-control:focus{opacity:1;} 

#social { border-top: 5px solid #393535; } 

/* POP */ 

a.closefancybox:before, a.closefancybox:after { /*font-family: fontAwesome;*/ content: ""; margin: 0 8px; width: 20px; height: 20px; background: url(../../img/close.png); display: inline-block; } 

.fancybox-opened .fancybox-skin { } 

/* Carrello */ 

#opc_account_choice .col-xs-12.col-md-6:nth-child(1) { padding: 20px 20px 10px; margin-bottom: 20px; background: #efefef; color: var(--est-text-dark); } 

.bullet li { position: relative; background: NONE; font-size: inherit; border-bottom: 1px solid #e1e1e1; border-top: none; } 

.cart_voucher h4 { font: 600 22px/22px; } 

td#cart_voucher { background: #efefef; } 

.cart_voucher #display_cart_vouchers span { font-size: 20px; text-decoration: underline; line-height: 25px; } 

#layer_cart .crossseling .crossseling-content { border: 1px solid var(--est-border-medium); border-top: 0; } 

#layer_cart div.clearfix { border: 1px solid var(--est-border-medium); } 

#order-opc .step-num span { left: 0; background: #333; padding: 0 10px 0 3px; color: #fff; } 

h1.page-heading.step-num { border-bottom: 1px solid; } 

#order-opc button.btn, #order-opc a.btn, #addresses button.btn, #addresses a.btn { background: var(--est-text-dark); border-color: var(--est-text-dark); color: #ffffff; } 

#order-opc button.btn:hover, #order-opc a.btn:hover, #addresses button.btn:hover, #addresses a.btn:hover { background: var(--est-primary); border-color: var(--est-primary); } 

p.paypal a:after, #satispay_payment_button a:after { display: block; content: "\f054"; position: absolute; right: 15px; margin-top: -11px; top: 50%; font-family: "FontAwesome"; font-size: 25px; height: 22px; width: 14px; color: var(--est-text-dark); } 

p.payment_module.paypal img { margin-right: 15px; } 

p.payment_module.paypal a { background: url(/themes/leo_mayshop/img/paypal.gif); background-repeat: no-repeat; background-position: 15px 15px; padding: 33px 40px 34px 99px; } 

p.payment_module.paypal a { padding-left: 99px !important; } 

#satispay_payment_button a { padding: 33px 40px 34px 36px; } 

#satispay_payment_button img { margin-right: 28px; } 

/* Pagina Categoria */ 

#category a.lnk_more { color: var(--est-text-dark); line-height: 50px; font-size: 130%; } 

.product-block .product-desc { height: 185px; } 

.product-desc h4 { text-transform: none; } 

img#categoryImage { margin-top: -30px; } 

.cat-desc a { border-bottom: 1px solid var(--est-primary); -webkit-transition: all 350ms ease-out; transition: all 350ms ease-out; } 

.cat-desc { margin-bottom: 10px; } 

.ajax_add_to_cart_button { color: var(--est-text-dark); font-size: 16px; } 

#index .product-block .product-desc{height:auto;} 

.focus.tit { font-size: 27px; margin-top: 0; margin-bottom: 8px; font-family: 'Jost', sans-serif; font-weight: 300; line-height: 1.2; color: var(--est-text-dark); text-transform: none; letter-spacing: 0.04em; }

.focus.sub { font-size: 20px; font-variant: small-caps; text-transform: none; border-bottom: 1px solid; padding-bottom: 10px; margin-bottom: 10px; margin-top: 10px; font-weight: 400; line-height: 1; color: var(--est-text-dark); } 

/* Speciale Natale / Idee Regalo */ 

/* Sostituire l'id categoria per far comparire l'icona in overlay sui prodotti */ 

.category-193 #center_column .product-image-container.image:after { content: ""; display: block; width: 30px; height: 30px; position: absolute; top: 5px; right: 18px; background: url(../../img/gift.png); background-size: cover; } .category-193 #center_column #blockpack .product-image-container.image:after { background: none; } .category-193 .content_sortPagiBar { display: none; } .category-193 .heading-counter { visibility: hidden; } 

/* Golden Store */ 

.shop-block > a{ border-bottom: none !important; } 

.shop-block i.fa { margin-right: 10px; margin-bottom: 10px; } 

.col { /*webkit-column-count: 3; -moz-column-count: 3; column-count: 3; -webkit-column-gap: 60px; /* Chrome, Safari, Opera */ /*-moz-column-gap: 60px; /* Firefox */ /*column-gap: 60px; -webkit-column-rule: 1px solid var(--est-border-medium); -moz-column-rule: 1px solid var(--est-border-medium); column-rule: 1px solid var(--est-border-medium);*/ } 

.shop-block { display: block; float: left; width: 33%; border-bottom: 1px solid var(--est-border-medium); } 

/* Programma fedeltà */ 

.rewards table.std td, .rewards .idTabs a { font-size: inherit !important; } 

.rewards table.std th { font-size: inherit !important; padding: 5px 10px!important; } 

#my-account ul.myaccount-link-list li a i.icon-usd:after { content: '\f004'; font-family: 'FontAwesome'; font-style: normal; } 

#my-account ul.myaccount-link-list li a i.icon-user-secret:after { content: '\f023'; font-family: 'FontAwesome'; font-style: normal; } 

#product p#loyalty { border: none; margin: 0; } 

#product p#loyalty:before { content: ""; } 

@media (max-width: 480px) { .home-block-pocket h4 { font-size: 30px; margin-bottom: 10px; } .home-block-pocket h4 span { display: inline-block; } } 

/* barra top */ 

.popup-over { font-family: inherit; font-size: 12px; } 

@media (min-width: 481px) { 

.header-top .col-center div.ApHtml.block{ display: inline-block; float: right; } } 

/* Desktop */ 

@media (min-width: 960px) and (max-width: 1199px) { #leo-megamenu .navbar-nav > li > a { padding: 0 5px; letter-spacing: 0.5px; } #leo-megamenu .caret { margin-left: 2px; } } 

/* Tablets */ 

@media (max-width: 959px) { 

.dropdown-menu-inner .row .mega-col:nth-child(4) { background-color: yellow; display: none; } .cart_voucher fieldset #discount_name { width: 165px; } .shop-block { width:50%; } } 

@media (max-width: 991px) { .product-block .ajax_add_to_cart_button span { display: block; } } 

/* Smartphones */ 

@media (max-width: 480px) { .shop-block { width:100%; } .container.home-pocket p{ color:var(--est-text-dark); font-size: 100%; line-height: 20px; } } 

/*===========mie ========== */ 

/*back to top*/ 

#back-top svg.progress-circle path {stroke: var(--est-primary);} 

/*top display*/

/* Topbar col3: nascosta - search e cart sono nel nav bar via .esterel-header-icons */
#top-display-col-terza {
  display: none !important;
} 

.box-hnav3 .popup-over a.popup-title, .box-hnav3 .col-right .blockcart .header {line-height: 1.55!important;} 

.box-hnav3 #leo_search_block_top .title_block, .box-hnav3 .col-right .blockcart .header {height: 20px!important;} 

.box-hnav3 #leo_search_block_top .title_block:before {line-height: 20px!important;} 

#_desktop_cart {padding-top: 5px; padding-bottom: 5px;} 

.box-hnav3 .col-right .blockcart .header .cart-products-count {bottom:5%!important;} 

@media (max-width: 991px){.box-hnav3 .col-right .userinfo-selector {position:relative!important;}} 

.navbar-header .navbar-toggler {background: var(--est-primary) !important; margin:0!important;} 

.search-value-title {display:none!important;} 

.language-selector-wrapper a.popup-title span.cus-name {display:none!important;}

/* ESTEREL: Header scorre normalmente con la pagina */
div.cus-sticky {
  position: relative !important;
  top: auto !important;
  width: auto !important;
  z-index: auto !important;
}

/* ESTEREL: Sticky attivato via JS su .leo-megamenu */
.leo-megamenu.esterel-stuck {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: #fff;
  box-shadow: none;
}

/* Banner promo sticky sotto il menu */
.header-banner.esterel-stuck-banner {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9998 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

/* Banner promo: testo allineato a sinistra */
.header-banner .pspb-main-section {
  justify-content: flex-start !important;
}
.header-banner .pspb-main-content {
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Compatta il menu in sticky */
.leo-megamenu.esterel-stuck .navbar-nav > li > a > .menu-title,
.leo-megamenu.esterel-stuck .navbar-nav > li > a {
  line-height: 20px !important;
}

/* Logo centrato */
.header-top .inner > .wrapper {
  text-align: center;
  width: 100%;
}

/* Banner promo sotto il megamenu (flex reorder dentro la colonna AP PageBuilder) */
.box-htop3 > [class*="col-"]:not(#header_logo) {
  display: flex;
  flex-direction: column;
}
.box-htop3 .pspb-wrapper {
  order: 10;
}

/*logo*/ 

.logo { height:auto; display:inline-block!important;} 

/*promozioni in corso*/ 

#menu-col .block_content a {border-bottom:0px solid;} 

/*megamenu*/ 

@media (min-width: 992px) {
  .box-htop3 .leo-megamenu .navbar-nav:before {content:unset!important;}
  .box-htop3 .leo-megamenu .navbar-nav {text-align: left !important;}
  .box-htop3 .leo-megamenu {text-align: left !important;}
} 

.box-htop3 {margin-top:0px;}

.box-htop3 .leo-megamenu .navbar-nav > li > a {padding: 15px 5px!important; letter-spacing: 0.5px;} 

/* Megamenu fix: navbar-nav static → dropdown si posiziona rispetto a .leo-megamenu (full-width) */
.leo-megamenu .navbar-nav,
.leo-megamenu .nav.navbar-nav.megamenu {
  position: static !important;
}
/* Megamenu dropdown: larghezza container, centrato nella viewport */
.leo-megamenu .navbar-nav > li.aligned-fullwidth > .dropdown-menu {
  width: 1440px !important;
  max-width: calc(100vw - 30px);
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.leo-megamenu .dropdown-menu {border-right: 1px solid var(--est-primary); border-left: 1px solid var(--est-primary); border-bottom: 1px solid var(--est-primary); } 

.box-htop3 .leo-megamenu li.chi-siamo .dropdown-menu {margin-left:0; border-top: 5px solid var(--est-primary);} 

.leo-megamenu .navbar-nav > li > a span .fa { padding-right: 3px; } 

.navbar-toggle { border:1px solid var(--est-primary); border-radius:0; position: fixed !important; top: 2px !important; left: 2px !important; z-index: 99999999; background: var(--est-primary); } 

.off-canvas-nav .dropdown-sub.dropdown-menu .menu-title a { color: #222; border-bottom: 2px solid; width: 100%; } 

.index .leo-megamenu .navbar-nav > li.active > a { color: #000; } 

.leo-megamenu .widget-html h1 { font-size: 27px; margin-top: 0; } 

.leo-megamenu .widget-html h2 { font-size: 20px; font-variant: small-caps; text-transform: none; border-bottom: 1px solid; padding-bottom: 10px; margin-bottom: 20px; margin-top: 10px; } 

.leo-megamenu .widget-products .product-block .product-meta { padding-bottom: 0; } 

.leo-megamenu .widget-products .product-block:hover { -webkit-box-shadow: none; box-shadow: none; } 

.leo-megamenu .dropdown-menu li.level2 ul.dropdown-sub {display:none;} 

.focus.tit { font-size: 27px; margin-top: 0; font-family: 'Jost', sans-serif; font-weight: 300; line-height: 1.2; color: var(--est-text-dark); text-transform: none; letter-spacing: 0.04em; }

.focus.sub { font-size: 20px; font-variant: small-caps; text-transform: none; border-bottom: 1px solid; padding-bottom: 10px; margin-bottom: 10px; margin-top: 10px; font-weight: 400; line-height: 1; color: var(--est-text-dark); } 

.menu-title a, .widget-subcategories li a {color: var(--est-text-body)!important; border-bottom: 0px solid!important;} 

.menu-title a:hover, .widget-subcategories li a:hover {color: var(--est-primary)!important;} 

/* menu mobile*/ 

.off-canvas-nav-megamenu .offcanvas-mainnav {width: 234px;} 

.megamenu-overlay {background-color: rgba(0, 0, 0, 0.1);} 

.off-canvas-nav-megamenu .dropdown-menu {display:block!important; padding: 0px 20px 0px!important;} 

.off-canvas-nav-megamenu .navbar-nav > li > a {background: var(--est-primary); width: 100%; color:#ffffff!important;padding: 6px 15px; margin: 2px 0; line-height: 16px; font-size:16px;} 

.off-canvas-nav-megamenu .navbar-nav .dropdown-sub div.menu-title {border-bottom: 2px solid; color: #222; font-size: 15px;} 

.off-canvas-nav-megamenu .dropdown-sub div.menu-title a {color: #222!important; text-transform: initial;} 

.off-canvas-nav-megamenu .nav li.dropdown .caret {display:none;} 

.off-canvas-nav-megamenu .dropdown-menu ul li > a {font-size:15px; line-height:16px;} 

@media (max-width: 991px){ .mega-col + .mega-col { margin-top: 0!important; }} 

.off-canvas-nav-megamenu .dropdown-menu ul li.level2 ul.dropdown-sub {display:none!important;} 

/*breadcrumbs*/ 

.breadcrumb { color: var(--est-text-dark); font-size: 12px; text-transform: uppercase; padding: 0; } 

.breadcrumb li:last-child a, .breadcrumb li a {color: var(--est-text-dark)!important; border-bottom: 0px solid!important;} 

.breadcrumb li:last-child a:hover, .breadcrumb li a:hover {color: var(--est-text-light)!important;} 

/*home*/ 

.container.home-pocket h3:before { background: url(/themes/do_kalles/assets/img/modules/appagebuilder/images/timbro-esterel.png) center top; } 

.container.home-pocket .image_description { margin-top: -40px; z-index: 4; position: relative; } 

/* slideshow */ 

#slideshow { border-bottom: none; } 

.iview-controlNav div.iview-items ul li a.iview-control.active, .iview-controlNav div.iview-items ul li a.iview-control:hover { border: 1px solid #000; background: var(--est-primary); } 

.iview-controlNav div.iview-items ul { margin-bottom: 17px; } 

.iview-controlNav div.iview-items ul li a.iview-control { border: 1px solid #000; background: rgba(255, 255, 255, 0.5); } 

.iview-controlNav div.iview-items ul li a.iview-control { width: 16px; height: 30px; position: relative; -webkit-border-radius: 8px; -moz-border-radius: 8px; -ms-border-radius: 8px; -o-border-radius: 8px; border-radius: 8px; } 

.iview-controlNav div.iview-items ul li:first-child a, .iview-controlNav div.iview-items ul li:last-child a { height: 18px; -webkit-border-radius: 6px; -moz-border-radius: 6px; -ms-border-radius: 6px; -o-border-radius: 6px; border-radius: 6px; width: 12px; } 

.tp-caption.text-slide-1 { font-variant: small-caps; text-transform: none; letter-spacing: 2px; text-align: center; width: 100% !important; } 

.tp-caption.text-slide-2 { text-align: center; width: 100% !important; letter-spacing: 2px; text-transform:uppercase;} 

.tp-caption.text-slide-3 {line-height: 72px; text-align: center; width: 100% !important; } 

.tp-caption.text-slide-link { border: 2px solid var(--est-primary); letter-spacing: 2px; font-size: 20px; color:rgb(59, 59, 59); background-color: rgba(204, 196, 45, 0.3); } 

.bannercontainer .tp-caption.data-link:hover { background-color: rgba(255, 255, 255, 0.2); } 

.bannercontainer .tp-caption.fullscreenvideo { transition: none; padding-top: 90px; transition: all 0.3s; } 

.text-slide-2 .caption-contain { display: inline; background-color: rgba(0, 0, 0, 0.65); color: #fff; padding: 1px 12px 0px; -webkit-transition: all 0.3s; transition: all 0.3s; } 

/* Prodotti in evidenza in home page */ 

#title-home-prod p {color: var(--est-primary)!important;} 

/*green beauty*/ 

.home-pocket .ApImage { margin: 30px 0; } 

.rtl .home-pocket .ApHtml { padding-left: 45px; padding-right: inherit; } 

.container.home-pocket p{ color:var(--est-text-dark); font-size: 16px; line-height: 26px; } 

.home-pocket .ApHtml h1 { font-size: 42px; line-height: 42px; margin: 0; } 

.home-pocket .ApHtml div { padding: 25px 0 0; font-size: 18px; } 

@media (max-width: 991px){.home-pocket .ApHtml div {text-align:center;}} 

/* Chiedi all'esperto */ 

.home-block-pocket p { color:#ffffff; } 

.home-block-pocket a:hover { -webkit-box-shadow: 0 0 0 22px #000 inset; box-shadow: 0 0 0 22px #000 inset; } 

.home-block-pocket { text-align: center; color: #fff; font-size: 22px; } 

.home-block-pocket .ApHtml { margin: 0; } 

.home-block-pocket h1 { font-size: 100px; color: #fff; margin: 0; line-height: 100px; letter-spacing: 5px; } 

.home-block-pocket a { font-size: 16px; color: #fff; background: var(--est-primary); text-transform: uppercase; height: 42px; line-height: 42px; display: inline-block; padding: 0 30px; -webkit-border-radius: 21px; -moz-border-radius: 21px; -ms-border-radius: 21px; -o-border-radius: 21px; border-radius: var(--est-btn-radius); letter-spacing: 0.15em; -webkit-transition: all 0.5s; transition: all var(--est-transition); margin-top: 25px; margin-bottom:25px; } 

.home-block-pocket a:hover { background: transparent; color: #fff; } 

/* footer */ 

#footer .footer-center .wrapper .col-sm-6 {width:100%!important;}

/* Newsletter */ 

.footer-subscribe { color:#aaaaaa; } 

.iscrizione-newsletter p {font-size: 14px; line-height: 1.4em; color: var(--est-text-body);} 

.iscrizione-newsletter h4 { font-size: 28px; margin: 15px 0 30px; letter-spacing: 3px; line-height: 1; color: var(--est-text-dark); text-transform: uppercase;} 

#footer #newsletter_block_left .title_block { font-size: 28px; margin: 15px 0 30px; letter-spacing: 1px; color: var(--est-text-dark); font-weight: 400;} 

#newsletter_block_left .sub-title { letter-spacing: 0px; } 

.footer-subscribe { padding: 40px 0 010px; } 

.response{ margin: 10px 0 20px; } 

#mc_embed_signup_scroll .btn-est {line-height:16px!important;} 

/*footer bellezza*/ 

.footer-bellezza .fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size:16px; } 

.footer-bellezza h3 { font-weight: 400; line-height: 1; color: var(--est-text-dark); text-transform: uppercase; font-size:16px; } 

.footer-bellezza h2 {margin-top: 7px!important; font-size: 28px!important; margin-bottom: 25px!important;} 

/* Footer basso */ 

@media (max-width: 991px) {.footer-link { padding: 30px 15px 20px!important; }} 

.footer-center .container {color:#aaaaaa;} 

.footer-link .list-group li { width: 100%; } 

.footer-link .title_block { color: #fff!important; margin: 0 0 25px; letter-spacing: 2px; } 

.footer-faq a {border-bottom: 0px solid!important; font-size:16px; color: var(--est-primary) !important; line-height:27px; letter-spacing:1px;} 

.footer-legali {font-size:14px; letter-spacing:0.4px;} 

.footer-container .ApColumn .title_block {font-size:16px;} 

.footer-container .links .navbar-toggler, .footer-container .block-toggler .navbar-toggler {background: #ffffff; color: #222222; border-radius: 20px; height: 20px!important; width: 20px!important;} 

.footer-container .links .navbar-toggler i, .footer-container .block-toggler .navbar-toggler i {width: auto!important; height: auto!important; line-height: 20px!important; font-size: 18px; vertical-align: inherit;} 

.footer-informazioni .ApBlockLink, .footer-beaute, .footer-contattaci {margin-bottom:0px!important;} 

.footer-informazioni ul li a {font-size:14px!important; border-bottom: 0px solid;} 

#block_myaccount_infos .myaccount-title { color:#ffffff; line-height:16px;} 

#block_myaccount_infos .myaccount-title a {color:#ffffff!important;border-bottom: 0px solid!important;} 

#social {color:#fff!important; font-size:16px!important; line-height:24px;} 

/*======== categoria prodotto home prodotti*/ 

/* Rimosso box-shadow inset — creava riquadro bordo su card hover */ 

.block-category.card h1 { !important; font-variant: small-caps; text-transform: none; letter-spacing: 2px; border-bottom: none; padding-bottom: 0; margin-bottom:0!important;} 

#category-description p { font-size: 110%; line-height: 24px; margin-bottom:0;} 

#category-description p strong{ font-size: inherit; margin: inherit; text-transform: none; display: inline; } 

/* ============================================
   PRODUCT CARD — Editorial Clean (Variante A)
   Scoped: article.product-miniature (homepage + category)
   Escluso: megamenu (div), sidebar, widget
   ============================================ */

/* --- Card Container --- */
article.product-miniature .thumbnail-container {
  border-radius: var(--est-radius-md) !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: var(--est-shadow-soft) !important;
  background: var(--est-bg-warm) !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 0 !important;
  border: none !important;
}
article.product-miniature .thumbnail-container:hover {
  box-shadow: var(--est-shadow-hover) !important;
  transform: translateY(-4px) !important;
}

/* --- Immagine (sfondo warm, aspect-ratio 1:1) --- */
article.product-miniature .thumbnail-container .product-image {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  background: var(--est-bg-warm) !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  flex-shrink: 0;
}
article.product-miniature .thumbnail-container a.product-thumbnail {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  overflow: hidden !important;
}
article.product-miniature .thumbnail-container a.product-thumbnail img.img-fluid {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backface-visibility: hidden;
}
article.product-miniature .thumbnail-container:hover a.product-thumbnail img.img-fluid {
  transform: scale(1.06) !important;
}
/* Nasconde product-additional hover overlay */
article.product-miniature .thumbnail-container .product-additional {
  display: none !important;
}

/* --- Flags (pill badges sull'immagine) --- */
article.product-miniature .thumbnail-container .product-flags {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  z-index: 2 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
article.product-miniature .thumbnail-container .product-flag {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 5px 14px !important;
  border-radius: var(--est-btn-radius) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  line-height: 1 !important;
  min-width: 0 !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.25s ease !important;
}
/* In saldo — scuro elegante con bordo sottile gold */
article.product-miniature .thumbnail-container .product-flag.on-sale {
  background: rgba(15,15,15,0.88) !important;
  color: #fff !important;
  border-left: 2px solid var(--est-primary) !important;
}
/* KIT / Pack — gold pieno */
article.product-miniature .thumbnail-container .product-flag.pack {
  background: var(--est-primary) !important;
  color: #fff !important;
  box-shadow: 0 2px 12px rgba(197,160,43,0.3) !important;
}
/* Nuovo — vetro bianco */
article.product-miniature .thumbnail-container .product-flag.new {
  background: rgba(255,255,255,0.92) !important;
  color: var(--est-text-dark) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}
/* Sconto percentuale */
article.product-miniature .thumbnail-container .product-flag.discount-percentage,
article.product-miniature .thumbnail-container .product-flag.discount-product {
  background: #c0392b !important;
  color: #fff !important;
  box-shadow: 0 2px 10px rgba(192,57,43,0.25) !important;
}
/* Online only */
article.product-miniature .thumbnail-container .product-flag.online-only {
  background: rgba(15,15,15,0.88) !important;
  color: var(--est-primary) !important;
}

/* --- Info Section (fondo bianco, centrato, flex column) --- */
article.product-miniature .thumbnail-container .product-meta {
  text-align: center !important;
  padding: 18px 20px 0 !important;
  background: #fff !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: 100% !important;
  position: static !important;
  overflow: visible !important;
}

/* Titolo */
article.product-miniature .thumbnail-container .product-title {
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
  margin-top: 0 !important;
  border-bottom: none !important;
  padding: 0 !important;
  text-transform: none !important;
  font-size: inherit !important;
  order: 1;
}
article.product-miniature .thumbnail-container .product-title a {
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  text-transform: none !important;
  border-bottom: none !important;
  letter-spacing: 0.04em !important;
  color: var(--est-text-dark) !important;
  transition: color 0.25s !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  padding: 0 !important;
}
article.product-miniature .thumbnail-container .product-title a:hover {
  color: var(--est-primary) !important;
}

/* Prezzo */
article.product-miniature .thumbnail-container .product-price-and-shipping {
  margin: 4px 0 8px !important;
  min-height: 24px !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  order: 2;
}
article.product-miniature .thumbnail-container .product-price-and-shipping .price {
  color: var(--est-text-dark) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 2px !important;
}
article.product-miniature .thumbnail-container .product-price-and-shipping .regular-price {
  font-size: 13px !important;
  color: var(--est-text-muted) !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
  margin-right: 6px !important;
}
/* Prezzo scontato evidenziato */
article.product-miniature .thumbnail-container .product-price-and-shipping.has_discount .price {
  color: #c0392b !important;
}
/* Badge sconto */
article.product-miniature .thumbnail-container .product-price-and-shipping .discount-percentage,
article.product-miniature .thumbnail-container .product-price-and-shipping .discount-amount {
  background: var(--est-text-dark) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: var(--est-btn-radius) !important;
  margin-left: 4px !important;
  letter-spacing: 0.05em !important;
}

/* Descrizione prodotto (promo tag come eyebrow + testo) */
article.product-miniature .thumbnail-container .product-desc {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 12px !important;
  color: var(--est-text-muted) !important;
  line-height: 1.55 !important;
  margin-bottom: 0 !important;
  order: 3;
}
article.product-miniature .thumbnail-container .product-desc h3,
article.product-miniature .thumbnail-container .product-desc h4 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
  border: none !important;
  padding: 0 !important;
}
article.product-miniature .thumbnail-container .product-desc p {
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--est-text-muted) !important;
  font-size: 12px !important;
  text-transform: none !important;
  margin: 0 !important;
  display: inline !important;
}
article.product-miniature .thumbnail-container .product-desc h5 {
  text-transform: none !important;
}
/* Forza -webkit-line-clamp a funzionare con block elements dentro product-desc */
article.product-miniature .thumbnail-container .product-desc h3,
article.product-miniature .thumbnail-container .product-desc h4,
article.product-miniature .thumbnail-container .product-desc p,
article.product-miniature .thumbnail-container .product-desc span {
  display: inline !important;
}
/* Max height fallback per desc con molto contenuto */
article.product-miniature .thumbnail-container .product-desc {
  max-height: 4.8em !important;
}

/* --- Bottone Carrello (fisso in fondo alla card) --- */
article.product-miniature .thumbnail-container .functional-buttons {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  padding: 14px 20px 20px !important;
  background: #fff !important;
  margin-top: auto !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 1 !important;
  display: block !important;
  order: 4;
}
article.product-miniature .thumbnail-container .functional-buttons .button-container.cart {
  width: 100% !important;
}
article.product-miniature .thumbnail-container .functional-buttons .button-container.cart form {
  width: 100% !important;
  display: block !important;
}
article.product-miniature .thumbnail-container .functional-buttons .btn-product.add-to-cart.leo-bt-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--est-text-dark) !important;
  border: none !important;
  border-radius: var(--est-btn-radius) !important;
  padding: 13px 24px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  line-height: 1 !important;
  margin: 0 !important;
  height: auto !important;
  min-width: 0 !important;
}
article.product-miniature .thumbnail-container .functional-buttons .btn-product.add-to-cart.leo-bt-cart::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: var(--est-primary) !important;
  transform: scaleX(0) !important;
  transform-origin: right !important;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: inherit !important;
}
article.product-miniature .thumbnail-container .functional-buttons .btn-product.add-to-cart.leo-bt-cart:hover::before {
  transform: scaleX(1) !important;
  transform-origin: left !important;
}
article.product-miniature .thumbnail-container .functional-buttons .leo-bt-cart .leo-bt-cart-content {
  position: relative !important;
  z-index: 1 !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
article.product-miniature .thumbnail-container .functional-buttons .leo-bt-cart .leo-bt-cart-content i.icon-cart {
  font-size: 16px !important;
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: 0 !important;
  color: #fff !important;
}
/* Fix doppia icona: nasconde ::before Font Awesome, mantiene Material Icons */
article.product-miniature .thumbnail-container .functional-buttons .leo-bt-cart i.icon-cart::before {
  content: none !important;
  display: none !important;
}
article.product-miniature .thumbnail-container .functional-buttons .leo-bt-cart .leo-bt-cart-content .name-btn-product {
  position: relative !important;
  z-index: 1 !important;
  display: inline !important;
}
/* Nasconde spinner loading */
article.product-miniature .thumbnail-container .functional-buttons .leo-loading {
  display: none;
}

/* --- Responsive --- */
@media (max-width: 576px) {
  article.product-miniature .thumbnail-container .product-title a {
    font-size: 15px !important;
  }
  article.product-miniature .thumbnail-container .functional-buttons {
    padding: 10px 12px 14px !important;
  }
  article.product-miniature .thumbnail-container .product-meta {
    padding: 12px 12px 0 !important;
  }
  article.product-miniature .thumbnail-container .functional-buttons .btn-product.add-to-cart.leo-bt-cart {
    padding: 10px 16px !important;
    font-size: 9px !important;
  }
}

/* ============================================
   PRODUCT CARD — Crosssell / Correlati (plist-dsimple)
   Identica alla homepage Editorial Clean.
   Tecnica: display:contents su .product-image per appiattire
   il DOM e riordinare: immagine → meta → bottone
   ============================================ */

/* Card container — flex column, identica alla homepage */
.plist-dsimple.product-miniature .thumbnail-container {
  border-radius: var(--est-radius-md) !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: var(--est-shadow-soft) !important;
  background: var(--est-bg-warm) !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 0 !important;
  border: none !important;
  padding: 0 !important;
  height: 100% !important;
  position: relative !important;
}
.plist-dsimple.product-miniature .thumbnail-container:hover {
  box-shadow: var(--est-shadow-hover) !important;
  transform: translateY(-4px) !important;
}

/* CHIAVE: display:contents appiattisce .product-image
   I suoi figli (a.product-thumbnail, .product-flags, .pro3-btn)
   diventano figli diretti di .thumbnail-container e possono
   essere riordinati con order per corrispondere alla homepage */
.plist-dsimple.product-miniature .thumbnail-container .product-image {
  display: contents !important;
}

/* Immagine — order:1, quadrata con zoom hover */
.plist-dsimple.product-miniature .thumbnail-container a.product-thumbnail {
  order: 1 !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  position: relative !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  overflow: hidden !important;
  height: auto !important;
  background: var(--est-bg-warm) !important;
}
.plist-dsimple.product-miniature .thumbnail-container a.product-thumbnail img.img-fluid {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.plist-dsimple.product-miniature .thumbnail-container:hover a.product-thumbnail img.img-fluid {
  transform: scale(1.06) !important;
}
.plist-dsimple.product-miniature .thumbnail-container .product-additional {
  display: none !important;
}

/* Flags — posizionate absolute rispetto a .thumbnail-container (positioned) */
.plist-dsimple.product-miniature .thumbnail-container .product-flags {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  z-index: 10 !important;
}

/* Info section — order:2, identica alla homepage */
.plist-dsimple.product-miniature .thumbnail-container .product-meta {
  order: 2 !important;
  text-align: center !important;
  padding: 18px 20px 14px !important;
  background: #fff !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: 100% !important;
  position: static !important;
  overflow: visible !important;
}
.plist-dsimple.product-miniature .thumbnail-container .product-title {
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
  margin-top: 0 !important;
  border-bottom: none !important;
  padding: 0 !important;
  text-transform: none !important;
}
.plist-dsimple.product-miniature .thumbnail-container .product-title a {
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  text-transform: none !important;
  border-bottom: none !important;
  letter-spacing: 0.04em !important;
  color: var(--est-text-dark) !important;
  transition: color 0.25s !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  padding: 0 !important;
}
.plist-dsimple.product-miniature .thumbnail-container .product-title a:hover {
  color: var(--est-primary) !important;
}
.plist-dsimple.product-miniature .thumbnail-container .product-price-and-shipping {
  margin: 4px 0 8px !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.plist-dsimple.product-miniature .thumbnail-container .product-price-and-shipping .price {
  color: var(--est-text-dark) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}
/* Descrizione breve */
.plist-dsimple.product-miniature .thumbnail-container .product-description-short {
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 12px !important;
  color: var(--est-text-muted) !important;
  line-height: 1.55 !important;
  margin-bottom: 0 !important;
}

/* Bottone — order:3, in fondo alla card (identico alla homepage) */
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn {
  order: 3 !important;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  padding: 0 20px 20px !important;
  background: #fff !important;
  margin-top: auto !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  display: block !important;
  z-index: 1 !important;
  width: 100% !important;
  transition: none !important;
}
/* Nasconde quickview e compare — mostra solo carrello */
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .quickview,
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .compare {
  display: none !important;
}
/* Cart button — full width, stile identico a homepage */
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .button-container.cart {
  width: 100% !important;
  position: static !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .button-container.cart form {
  width: 100% !important;
  display: block !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .btn-product.add-to-cart.leo-bt-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--est-text-dark) !important;
  border: none !important;
  border-radius: var(--est-btn-radius) !important;
  padding: 13px 24px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  line-height: 1 !important;
  margin: 0 !important;
  height: auto !important;
  min-width: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .btn-product.add-to-cart.leo-bt-cart::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: var(--est-primary) !important;
  transform: scaleX(0) !important;
  transform-origin: right !important;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: inherit !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .btn-product.add-to-cart.leo-bt-cart:hover::before {
  transform: scaleX(1) !important;
  transform-origin: left !important;
}
/* Fix doppia icona */
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .leo-bt-cart i.icon-cart::before {
  content: none !important;
  display: none !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .leo-bt-cart i.icon-cart {
  font-size: 16px !important;
  color: #fff !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .leo-bt-cart .leo-bt-cart-content {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 600 !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .leo-bt-cart .name-btn-product {
  position: relative !important;
  z-index: 1 !important;
  display: inline !important;
  opacity: 1 !important;
  visibility: visible !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  white-space: normal !important;
  border-radius: 0 !important;
  pointer-events: none !important;
  line-height: inherit !important;
}
.plist-dsimple.product-miniature .thumbnail-container .pro3-btn .leo-loading {
  display: none !important;
}

/* Nasconde hook Leo non necessari (attribute selector, quantity) */
.plist-dsimple.product-miniature .thumbnail-container .product-meta .leo-more-info,
.plist-dsimple.product-miniature .thumbnail-container .product-meta > .leo-cart-attribute,
.plist-dsimple.product-miniature .thumbnail-container .product-meta > .leo-cart-quantity {
  display: none !important;
}

/* Responsive crosssell */
@media (max-width: 576px) {
  .plist-dsimple.product-miniature .thumbnail-container .product-title a {
    font-size: 15px !important;
  }
  .plist-dsimple.product-miniature .thumbnail-container .pro3-btn {
    padding: 10px 12px 14px !important;
  }
  .plist-dsimple.product-miniature .thumbnail-container .product-meta {
    padding: 12px 12px 0 !important;
  }
  .plist-dsimple.product-miniature .thumbnail-container .pro3-btn .btn-product.add-to-cart.leo-bt-cart {
    padding: 10px 16px !important;
    font-size: 9px !important;
  }
}

.products-selection .total-products p {display:block!important;}

/* Filtri */ 

body #search_filters .facet .collapse {max-height:unset!important;} 

body #search_filters .facet .facet-title {position: relative; padding: 15px 0; font-size: 20px; letter-spacing: 1px; margin: 0; display: block; text-transform: uppercase; } 

body #search_filters .facet .facet-label a {font-size: 14px; fcolor: #363636;} #search_filters ul li {padding: 0 20px; border-bottom: 1px solid #eee;} #layered_block_left .layered_price ul { background: transparent; padding: 15px 0; border: none; } 

#layered_block_left .layered_price .layered_subtitle_heading .layered_subtitle, #layered_block_left .layered_subtitle { position: relative; padding: 15px 0; font-size: 20px; letter-spacing: 1px; margin: 0; display: block; text-transform: uppercase; } 

.block-category.card h1, #search_filters > .h6, .sidebar .block .title_block, .quickview h1.h1, .box-blogh4 .ApColumn .title_block, .box-nommail .block.ApHtml h4.title_block, .ApColumn .title_block, .box-vogafirt .ApHtml h4, .box-h4bn1 .ApImage .image_description h4, .box-vogaabout .ApHtml h4, .box-nompro2 .sub-title-widget, .box-vogaspring .ApImage .image_description h2, .box-ellaslide h3 {font-family: 'Jost', sans-serif !important; font-weight: 300 !important;}

af-slider .slider_value {font-weight: 400 !important; color: #222;}

/* scheda prodotto */ 

/*img*/ 

.label-discount {
  background: var(--est-text-dark);
  color: #fff;
  border: none;
  padding: 4px 12px;
  font-family: 'DM Sans', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: inline-block;
  text-align: center;
  vertical-align: baseline;
  border-radius: var(--est-btn-radius);
  line-height: 20px;
  height: auto;
} 

/*#prezzo-ridotto, .product-flags {z-index:9999999999;} */

.product-thumb-images .thumb.selected { border: 1px solid #eeeeee;} 

/* ============================================
   PAGINA PRODOTTO — Minimal Luxury (Variante A)
   Gallery, info, prezzo, azioni, descrizione, features
   ============================================ */

/* --- Layout prodotto: 2 colonne con sticky scroll --- */
#product .product-container {
  gap: 0 !important;
  align-items: flex-start !important;
}

/* Colonna SX (immagini) — sticky quando è più corta */
.product-detail .product-container > [class*="col-"]:first-child {
  position: sticky !important;
  top: 20px !important;
  align-self: flex-start !important;
}

/* Colonna DX (info) — sticky quando è più corta */
.product-detail .product-container > [class*="col-"]:last-child {
  position: sticky !important;
  top: 20px !important;
  align-self: flex-start !important;
}

/* --- Gallery: immagine sopra + thumb sotto inline --- */
.product-detail .images-container {
  position: relative !important;
  display: block !important;
}

/* Immagine principale */
.product-detail .product-cover {
  border-radius: var(--est-radius-md) !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--est-border-warm) !important;
  position: relative !important;
  margin-bottom: 14px !important;
}
/* L'immagine fa crossfade quando cambia (gestito dal JS del tema via src swap) */
.product-detail .product-cover img#zoom_product {
  width: 100% !important;
  height: auto !important;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.4s ease !important;
  will-change: transform, opacity !important;
}
.product-detail .product-cover:hover img#zoom_product {
  transform: scale(1.04) !important;
}

/* Zoom button — glassmorphism */
.product-detail .product-cover .layer {
  position: absolute !important;
  bottom: 16px !important;
  right: 16px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  top: auto !important;
  left: auto !important;
}
.product-detail .product-cover:hover .layer {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.product-detail .product-cover .layer:hover {
  background: var(--est-text-dark) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
}
.product-detail .product-cover .layer i.material-icons {
  font-size: 18px !important;
  color: var(--est-text-dark) !important;
  transition: color 0.25s ease !important;
}
.product-detail .product-cover .layer:hover i.material-icons {
  color: #fff !important;
}

/* Flags nella gallery */
.product-detail .product-cover .product-flags {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 2 !important;
  display: flex !important;
  gap: 6px !important;
}

/* =====================================================
   Thumbnails — riga orizzontale sotto l'immagine
   NOTA: Il tema usa Slick slider sulle thumb.
   NON sovrascrivere display sul container .product-thumb-images
   perché Slick lo gestisce internamente.
   ===================================================== */

/* Container — respiro generoso dal cover */
.product-detail .product-thumb-images {
  padding: 0 !important;
  margin-top: 22px !important;
  padding-bottom: 6px !important;
}
.product-detail.product-thumbs-bottom .product-thumb-images {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Slick track — overflow visible per ombre, margine negativo compensato */
.product-detail .product-thumb-images .slick-list {
  margin: 0 !important;
  overflow: visible !important;
}
/* .slick-slide E .thumb-container sono LO STESSO ELEMENTO.
   Slick imposta width inline (~131px). Usiamo box-sizing: border-box
   e margin orizzontale per creare il gap REALE tra le thumb card.
   Il margin riduce lo spazio visivo disponibile per la card. */
.product-detail .product-thumb-images .slick-slide {
  padding: 0 !important;
  margin: 0 6px !important;
  box-sizing: border-box !important;
}

/* === THUMB BASE — card compatta con altezza limitata === */
/* Slick imposta width inline (~123px con margin). Limitiamo l'altezza
   per card più compatte. NO aspect-ratio (rompeva il layout Slick). */
.product-detail .product-thumb-images .thumb-container {
  border-radius: var(--est-radius-sm) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  border: 2px solid transparent !important;
  background: var(--est-bg-cream) !important;
  opacity: 0.65 !important;
  padding: 6px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100px !important;
  max-height: 100px !important;
  transition: opacity 0.35s ease,
              border-color 0.35s ease,
              box-shadow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              background 0.35s ease !important;
}

/* === HOVER — bordo warm + ombra calda + opacità piena === */
.product-detail .product-thumb-images .thumb-container:hover {
  opacity: 1 !important;
  background: #fff !important;
  border-color: var(--est-border-warm) !important;
  box-shadow: 0px 6px 10px -3px rgba(0, 0, 0, 0.08) !important;
}

/* === SELECTED — SOLO quando img ha .selected (gestito dal JS del tema) === */
/* Il tema aggiunge/rimuove .selected su img.thumb al click */
.product-detail .product-thumb-images .thumb-container:has(img.thumb.selected) {
  opacity: 1 !important;
  border-color: var(--est-primary) !important;
  background: #fff !important;
  box-shadow: 0px 6px 10px -3px rgba(0, 0, 0, 0.08) !important;
}

/* Reset ESPLICITO: thumb che NON contiene .selected — forza stato neutro */
/* Questo previene che .slick-current o altri stili del tema lascino "selezionata" la prima */
.product-detail .product-thumb-images .thumb-container:not(:has(img.thumb.selected)):not(:hover) {
  border-color: transparent !important;
  background: var(--est-bg-cream) !important;
  opacity: 0.65 !important;
  box-shadow: none !important;
}

/* === IMMAGINE — desaturata di default, colore pieno su hover/selected === */
.product-detail .product-thumb-images .thumb-container img.thumb {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
  filter: saturate(0.55) brightness(1.05) !important;
  transition: filter 0.4s ease,
              transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  border: none !important;
}

/* Hover img — colore pieno + zoom */
.product-detail .product-thumb-images .thumb-container:hover img.thumb {
  filter: saturate(1) brightness(1) !important;
  transform: scale(1.05) !important;
}

/* Selected img — sempre a colori pieni */
.product-detail .product-thumb-images .thumb-container:has(img.thumb.selected) img.thumb {
  filter: saturate(1) brightness(1) !important;
}

/* Override vecchio stile nativo .thumb.selected (bordo del tema) */
.product-thumb-images .thumb.selected,
.product-detail .product-thumb-images img.thumb.selected {
  border: none !important;
  outline: none !important;
}

/* Frecce Slick — pill con apparizione fluida */
.product-detail .product-thumb-images .slick-prev,
.product-detail .product-thumb-images .slick-next {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid var(--est-border-warm) !important;
  z-index: 2 !important;
  opacity: 0 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.product-detail .product-thumb-images:hover .slick-prev,
.product-detail .product-thumb-images:hover .slick-next {
  opacity: 1 !important;
}
.product-detail .product-thumb-images .slick-prev:hover,
.product-detail .product-thumb-images .slick-next:hover {
  background: var(--est-primary) !important;
  border-color: var(--est-primary) !important;
  box-shadow: 0 2px 10px rgba(197, 160, 43, 0.3) !important;
}
.product-detail .product-thumb-images .slick-prev:before,
.product-detail .product-thumb-images .slick-next:before {
  font-size: 11px !important;
  color: var(--est-text-dark) !important;
  line-height: 1 !important;
}
.product-detail .product-thumb-images .slick-prev:hover:before,
.product-detail .product-thumb-images .slick-next:hover:before {
  color: #fff !important;
}

/* Nascondi frecce fake del tema */
.product-detail .arrows-product-fake {
  display: none !important;
}

/* Fallback se Slick non si inizializza: usa flex con spazio generoso */
.product-detail .product-thumb-images:not(.slick-initialized) {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  padding-bottom: 8px !important;
}
.product-detail .product-thumb-images:not(.slick-initialized)::-webkit-scrollbar {
  display: none !important;
}
.product-detail .product-thumb-images:not(.slick-initialized) .thumb-container {
  flex-shrink: 0 !important;
}

/* --- Product Info (colonna destra) — Bold Editorial (Variante B) --- */

/* Eyebrow: h2 dentro description-short come linea prodotto gold sopra il titolo */
.product-detail .description-short {
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
}
.product-detail .description-short h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--est-primary) !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  line-height: 1.4 !important;
  order: -2 !important;
}

/* H1 — Bold Editorial: grande, con gold divider */
h1.product-detail-name {
  font-family: 'Jost', sans-serif !important;
  font-size: 38px !important;
  font-weight: 300 !important;
  font-variant: normal !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
  color: var(--est-text-dark) !important;
  line-height: 1.1 !important;
  margin-bottom: 14px !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  position: relative !important;
}
/* Gold divider sotto il titolo */
h1.product-detail-name::after {
  content: '' !important;
  display: block !important;
  width: 50px !important;
  height: 2px !important;
  background: var(--est-primary) !important;
  margin-top: 18px !important;
}

/* Subtitle (primo paragrafo dopo h2) */
.product-detail .description-short p:first-of-type {
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--est-text-body) !important;
  line-height: 1.6 !important;
  margin-top: 18px !important;
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--est-border-warm) !important;
}

/* Description short paragraphs (dopo il primo) */
.product-detail .description-short p {
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: var(--est-text-body) !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

/* Callout: paragrafi "PREZZO TRAVEL" — gold left border strip (Variante B) */
.product-detail .description-short p:has(span[style*="color:#008000"]),
.product-detail .description-short p:has(strong):nth-child(3) {
  background: transparent !important;
  border-radius: 0 !important;
  border-left: 3px solid var(--est-primary) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  margin-bottom: 6px !important;
  margin-top: 12px !important;
}
/* Label "PREZZO TRAVEL" — eyebrow gold */
.product-detail .description-short p:has(span[style*="color:#008000"]) span[style*="color:#008000"] {
  color: var(--est-primary) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
/* Formato standard line */
.product-detail .description-short p:nth-child(4) {
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
  border-left: 3px solid var(--est-primary) !important;
  padding: 4px 16px !important;
  font-size: 13px !important;
  margin-bottom: 16px !important;
}
/* Ultimo paragrafo colorato rosso — più sottile */
.product-detail .description-short p:last-child {
  margin-bottom: 0 !important;
  font-size: 12px !important;
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
  border-bottom: 1px solid var(--est-border-warm) !important;
}

/* --- Prezzi — Bold (DM Sans 600) --- */
.product-prices .current-price {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 34px !important;
  color: var(--est-text-dark) !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
}
.product-prices .current-price .current-price-value {
  font-size: 34px !important;
  font-weight: 600 !important;
}
.product-prices .product-price.h5 {
  margin-bottom: 6px !important;
}
.product-discount .regular-price {
  font-size: 18px !important;
  color: var(--est-text-light) !important;
  font-weight: 400 !important;
}
.product-detail .tax-shipping-delivery-label {
  font-size: 12px !important;
  color: var(--est-text-muted) !important;
  margin-bottom: 28px !important;
  display: block !important;
}
/* Discount badge — Bold Editorial (dark pill) */
.product-prices .discount-percentage,
.product-prices .discount-amount {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--est-text-dark) !important;
  padding: 5px 14px !important;
  border-radius: var(--est-btn-radius) !important;
}
/* Volume discounts table */
table.table-product-discounts {
  margin-bottom: 2em !important;
}

/* --- Quantity + Add to Cart — Minimal Luxury --- */
.product-detail .product-actions {
  padding: 10px 0 0 !important;
}
.product-detail .p-cartwapper {
  display: flex !important;
  gap: 12px !important;
  align-items: stretch !important;
  border-bottom: none !important;
  flex-wrap: wrap !important;
}
/* =====================================================
   Quantity selector — Bootstrap TouchSpin (JS-generated)

   Server-side HTML:
   div.qty.clearfix > span.control-label + input#quantity_wanted

   After JS init, TouchSpin wraps it as:
   div.qty.clearfix
     ├── span.control-label
     └── div.input-group.bootstrap-touchspin
          ├── span.input-group-btn > button.bootstrap-touchspin-down
          ├── input#quantity_wanted
          └── span.input-group-btn > button.bootstrap-touchspin-up
       OR (verticalbuttons:true — do_kalles mode):
          ├── input#quantity_wanted
          └── span.input-group-btn-vertical
               ├── button.btn-touchspin.bootstrap-touchspin-up
               └── button.btn-touchspin.bootstrap-touchspin-down
   ===================================================== */

/* Wrapper .qty */
.product-detail .p-cartwapper .qty,
.product-detail .product-quantity .qty {
  flex-shrink: 0 !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

/* Label "Quantità" — nascosta */
.product-detail .qty .control-label {
  display: none !important;
}

/* Bordo esterno sul wrapper TouchSpin */
.product-detail .qty .input-group.bootstrap-touchspin {
  border: 1.5px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-sm, 8px) !important;
  overflow: hidden !important;
  position: relative !important;
  display: inline-flex !important;
  width: auto !important;
}

/* Input quantità */
.product-detail .qty #quantity_wanted,
.product-detail .qty input[type="number"] {
  width: 52px !important;
  height: 46px !important;
  border: none !important;
  text-align: center !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--est-text-dark) !important;
  background: #fff !important;
  outline: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
}
#quantity_wanted::-webkit-inner-spin-button,
#quantity_wanted::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Focus state */
.product-detail .qty .input-group.bootstrap-touchspin:focus-within {
  border-color: var(--est-primary) !important;
  box-shadow: 0 0 0 3px rgba(197, 160, 43, 0.12) !important;
}

/* Bottoni ▲▼ impilati verticalmente a destra */
.product-detail .qty .input-group-btn-vertical {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 30px !important;
  display: block !important;
  border-left: 1.5px solid var(--est-border-warm) !important;
}
.product-detail .qty .input-group-btn-vertical .btn-touchspin {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--est-bg-cream) !important;
  color: var(--est-text-dark) !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}
/* ▲ UP in alto */
.product-detail .qty .bootstrap-touchspin-up {
  top: 0 !important;
  bottom: auto !important;
}
/* ▼ DOWN in basso */
.product-detail .qty .bootstrap-touchspin-down {
  top: auto !important;
  bottom: 0 !important;
  border-top: 1px solid var(--est-border-warm) !important;
}
.product-detail .qty .input-group-btn-vertical .btn-touchspin:hover {
  background: var(--est-primary) !important;
  color: #fff !important;
}
.product-detail .qty .btn-touchspin i.material-icons {
  font-size: 14px !important;
  line-height: 1 !important;
}

/* Nascondi prefix/postfix inutili di TouchSpin */
.product-detail .qty .bootstrap-touchspin-prefix,
.product-detail .qty .bootstrap-touchspin-postfix {
  display: none !important;
}

/* Add to cart container */
.product-detail .p-cartwapper .add {
  flex: 1 !important;
  margin-top: 0 !important;
}
.product-add-to-cart .product-quantity .qty {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}
.product-quantity .add {
  margin-top: 0 !important;
}

/* Bottone "Aggiungi al carrello" — product page */
.product-detail .add-to-cart.btn-primary,
.product-add-to-cart .add-to-cart.btn-primary {
  background: var(--est-text-dark) !important;
  color: #fff !important;
  border: 2px solid var(--est-text-dark) !important;
  border-radius: var(--est-btn-radius) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  height: auto !important;
  line-height: 1.2 !important;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
}
.product-detail .add-to-cart.btn-primary:hover,
.product-add-to-cart .add-to-cart.btn-primary:hover {
  background: var(--est-primary) !important;
  border-color: var(--est-primary) !important;
  color: #fff !important;
  box-shadow: 0 6px 24px rgba(197, 160, 43, 0.3) !important;
  transform: translateY(-1px) !important;
}
.product-detail .add-to-cart.btn-primary:active,
.product-add-to-cart .add-to-cart.btn-primary:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(197, 160, 43, 0.2) !important;
}
/* Icona carrello nel bottone */
.product-detail .add-to-cart .icon-bag,
.product-add-to-cart .add-to-cart .icon-bag {
  margin-right: 8px !important;
  font-size: 16px !important;
}

/* Compare/wishlist — stile secondario discreto */
.p-cartwapper .leo-compare-wishlist-button {
  width: 100% !important;
  display: flex !important;
  gap: 24px !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--est-border-warm) !important;
}
.p-cartwapper .leo-compare-wishlist-button .btn-product {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--est-text-muted) !important;
  cursor: pointer !important;
  transition: color 0.25s !important;
}
.p-cartwapper .leo-compare-wishlist-button .btn-product:hover {
  color: var(--est-primary) !important;
  background: none !important;
}
.p-cartwapper .leo-compare-wishlist-button .btn-product i.material-icons {
  font-size: 17px !important;
  color: inherit !important;
}
.leo-compare-wishlist-button .leo-compare-button i.material-icons:hover {
  color: var(--est-primary) !important;
}
.leo-compare-wishlist-button .leo-compare-button.added i.material-icons {
  color: var(--est-text-body) !important;
}
.leo-compare-wishlist-button .leo-compare-button.added i.material-icons:hover {
  color: var(--est-primary) !important;
}

/* --- Loyalty / Rewards — card con icona stella --- */
.reward_alert_message,
#product #loyalty {
  background: linear-gradient(135deg, var(--est-bg-warm) 0%, var(--est-bg-cream) 100%) !important;
  border: 1px solid rgba(197,160,43,0.18) !important;
  border-radius: var(--est-radius-md) !important;
  padding: 16px 20px 16px 52px !important;
  font-size: 13px !important;
  color: var(--est-text-body) !important;
  line-height: 1.6 !important;
  margin: 16px 0 !important;
  position: relative !important;
  font-family: 'DM Sans', sans-serif !important;
}
/* Icona stella dorata */
.reward_alert_message::before,
#product #loyalty::before {
  content: '\2605' !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 20px !important;
  color: var(--est-primary) !important;
  line-height: 1 !important;
}
/* Importi loyalty in gold bold */
.reward_alert_message b,
.reward_alert_message strong,
#product #loyalty b,
#product #loyalty strong,
#loyalty_credits,
#total_loyalty_credits {
  color: var(--est-primary) !important;
  font-weight: 600 !important;
}

/* --- Description Section — Tab + Sidebar Layout --- */
.descrizione-prodotto {
  border: none !important;
  /* Mantenere margin-left/right di Bootstrap .row (-15px) per allineamento colonne */
  margin-bottom: 20px !important;
  margin-top: 40px !important;
  padding-top: 40px !important;
  border-top: 1px solid var(--est-border-warm) !important;
}

/* Left column: description content */
.desc-prod-col-sx .more-info-product {
  margin-top: 0 !important;
  padding: 10px 0 !important;
}
.more-info-product .title-info-product {
  display: none !important;
}
.desc-prod-col-sx .product-description h3 {
  font-family: 'Jost', sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--est-text-dark) !important;
  margin-bottom: 16px !important;
  margin-top: 36px !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
}
.desc-prod-col-sx .product-description h3:first-child {
  margin-top: 0 !important;
}
/* Reset inline styles from CMS */
.desc-prod-col-sx .product-description h3 span,
.desc-prod-col-sx .product-description h3 em {
  text-decoration: none !important;
  font-style: normal !important;
  color: var(--est-text-dark) !important;
}
.desc-prod-col-sx .product-description p {
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: var(--est-text-body) !important;
  margin-bottom: 12px !important;
}
.desc-prod-col-sx .product-description ul,
.desc-prod-col-sx .product-description ol {
  padding-left: 22px !important;
  margin-bottom: 20px !important;
}
.desc-prod-col-sx .product-description li {
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: var(--est-text-body) !important;
  margin-bottom: 8px !important;
}
.desc-prod-col-sx .product-description li strong,
.desc-prod-col-sx .product-description li b {
  color: var(--est-text-dark) !important;
}

/* Right column: sidebar card per features */
.desc-prod-col-dx {
  padding-left: 30px !important;
}
.desc-prod-col-dx .more-info-product {
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  padding-top: 10px !important;
}
/* "IN BREVE" title card */
.desc-prod-col-dx .attr-prod-titolo {
  margin-bottom: 0 !important;
}
.desc-prod-col-dx h3.attr-prod {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--est-text-muted) !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

/* Features card con sfondo warm */
.desc-prod-col-dx .attributi {
  background: var(--est-bg-warm) !important;
  border-radius: var(--est-radius-md) !important;
  padding: 28px !important;
  margin-bottom: 16px !important;
}
.product-features {
  margin-top: 0 !important;
}
.attributi .product-features > dl.data-sheet {
  border-bottom: none !important;
  width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
}
.product-features > dl.data-sheet dt.name,
.product-features > dl.data-sheet dd.value {
  background: transparent !important;
  word-break: break-word !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
  border-top: none !important;
  border-right: none !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.product-features > dl.data-sheet dt.name {
  width: 40% !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--est-text-muted) !important;
}
.product-features > dl.data-sheet dd.value {
  width: 60% !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--est-text-dark) !important;
  text-align: right !important;
}
/* Highlight "Best Seller" */
.product-features > dl.data-sheet dd.value:last-child {
  color: var(--est-primary) !important;
  font-weight: 600 !important;
}
/* No alternating backgrounds */
.product-features > dl.data-sheet dd.value:nth-of-type(even),
.product-features > dl.data-sheet dt.name:nth-of-type(even) {
  background: transparent !important;
}
/* Last row no border */
.product-features > dl.data-sheet dt.name:last-of-type,
.product-features > dl.data-sheet dd.value:last-of-type {
  border-bottom: none !important;
}

/* Reference card (sotto features) */
.desc-prod-col-dx #product-details {
  background: #fff !important;
  border: 1px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-md) !important;
  padding: 22px 28px !important;
  margin-top: 16px !important;
}
.desc-prod-col-dx .product-reference {
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
}
.desc-prod-col-dx .product-reference .label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: var(--est-text-muted) !important;
  font-weight: 400 !important;
}
.desc-prod-col-dx .product-reference span[itemprop="sku"] {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--est-text-dark) !important;
}
.desc-prod-col-dx .product-condition {
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
}
.desc-prod-col-dx .product-condition .label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: var(--est-text-muted) !important;
  font-weight: 400 !important;
}
.desc-prod-col-dx .product-condition span {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--est-text-dark) !important;
}
/* Nascondi sezione "Riferimenti specifici" vuota */
.desc-prod-col-dx .product-features:has(dl.data-sheet:empty) {
  display: none !important;
}
/* Fallback: nascondi anche quando dl ha solo whitespace (no dt/dd children) */
.desc-prod-col-dx #product-details > .product-features:not(:has(dt)) {
  display: none !important;
}
/* Nascondi card #product-details se tutte le sezioni interne sono vuote */
.desc-prod-col-dx #product-details:not(:has(.product-reference)):not(:has(dt)) {
  display: none !important;
}
/* Scheda dati title dentro sidebar e "Riferimenti specifici" */
.desc-prod-col-dx .attributi .product-features h3.h6,
.desc-prod-col-dx #product-details > .product-features > h3.h6 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--est-text-muted) !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

/* Compare scheda (sotto description) */
#compare-scheda {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#compare-scheda .leo-compare-wishlist-button .btn-product,
#compare-scheda .leo-compare-button {
  background: transparent !important;
  border: none !important;
  color: var(--est-text-muted) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 6px 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
#compare-scheda .leo-compare-wishlist-button .btn-product:hover,
#compare-scheda .leo-compare-button:hover {
  color: var(--est-primary) !important;
}
#compare-scheda .leo-compare-wishlist-button .btn-product i.material-icons,
#compare-scheda .leo-compare-button i.material-icons {
  font-size: 16px !important;
  color: inherit !important;
}
/* Nascondi intero blocco "Confronta con altri prodotti" nella sidebar prodotto */
.compare-testo {
  display: none !important;
}
.desc-prod-col-dx .leo-compare-wishlist-button {
  display: none !important;
}
/* "PROGRAMMA FEDELTÀ" button nella sidebar */
.desc-prod-col-dx .AppButton {
  margin-top: 16px !important;
}

/* Defensive: nascondi elementi vuoti nella scheda prodotto */
.product-detail .product-out-of-stock:empty,
.product-detail .product-minimal-quantity:empty,
.product-detail .product-quantities:empty,
.product-detail .product-customization:empty {
  display: none !important;
}

/* --- Related/Accessories (owl carousel) --- */
.product-accessories h3, .category-products h3 {
  font-size: 20px !important;
  margin: 0 0 10px !important;
  text-transform: uppercase !important;
  display: block !important;
}
.product-accessories .thumbnail-container, .category-products .thumbnail-container {
  margin: 1px 10px 30px !important;
}
.owl-theme .owl-controls .owl-buttons div { background: transparent !important; }
.owl-theme .owl-buttons div:before { font-size: 18px !important; border: 1px solid; border-radius: 100px; }
.owl-theme .owl-buttons div { height: 50px !important; }

/* =====================================================
   Product Pack — "La confezione contiene"
   ===================================================== */

/* Sezione pack */
.product-pack {
  margin-top: 8px !important;
  margin-bottom: 32px !important;
  padding: 0 !important;
}

/* Titolo sezione */
.product-pack > h3.h4 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--est-text-body) !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 1.5px solid var(--est-border-warm) !important;
}

/* Card singolo prodotto pack */
.product-pack article .card {
  background: var(--est-bg-cream) !important;
  border: 1px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-md, 12px) !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  box-shadow: none !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.product-pack article .card:hover {
  border-color: var(--est-primary) !important;
  box-shadow: 0 4px 20px rgba(197, 160, 43, 0.1) !important;
}

/* Container flex orizzontale */
.product-pack .pack-product-container {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

/* Thumbnail immagine */
.product-pack .thumb-mask {
  flex-shrink: 0 !important;
}
.product-pack .thumb-mask > .mask {
  width: 90px !important;
  height: 90px !important;
  border: 1px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-sm, 8px) !important;
  overflow: hidden !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.product-pack .thumb-mask > .mask img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
}

/* Dettagli prodotto */
.product-pack .dettagli-prodotto {
  flex: 1 !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: auto !important;
}

/* Riga nome + quantità + prezzo */
.product-pack .pack-product-name {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
}

/* Quantità "1 x" */
.product-pack .pack-product-quantita {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--est-primary) !important;
  padding-right: 0 !important;
  flex-shrink: 0 !important;
  background: rgba(197, 160, 43, 0.1) !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
}

/* Nome prodotto */
.product-pack .nome-prodotto {
  font-size: 15px !important;
  padding-right: 0 !important;
}
.product-pack .nome-prodotto a {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  color: var(--est-text-dark) !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}
.product-pack .nome-prodotto a:hover {
  color: var(--est-primary) !important;
}

/* Prezzo */
.product-pack .pack-product-price {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}
.product-pack .pack-product-price strong {
  font-weight: 600 !important;
  color: var(--est-text-dark) !important;
}

/* Prezzo barrato */
.product-pack .pack-regular-price {
  padding-left: 4px !important;
  text-decoration: line-through !important;
  color: var(--est-text-body) !important;
  font-size: 13px !important;
  opacity: 0.6 !important;
}

/* Descrizione prodotto */
.product-pack .descrizione {
  margin-top: 8px !important;
}
.product-pack .descrizione .product-desc {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--est-text-body) !important;
}
.product-pack .descrizione .product-desc h4 {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--est-text-body) !important;
  margin: 0 0 4px 0 !important;
  font-style: italic !important;
}
.product-pack .descrizione .product-desc p {
  margin: 0 !important;
}

/* Prezzo pack "Invece di..." — nascosto (originale commentato sotto)
.product-pack-price {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: var(--est-text-body) !important;
  opacity: 0.7 !important;
}
.product-pack-price span {
  text-decoration: line-through !important;
}
*/
.product-pack-price {
  display: none !important;
}

/* Compare/Wishlist button — nascosto in pagina prodotto */
.product-detail .leo-compare-wishlist-button {
  display: none !important;
}

/* --- Responsive Product Page --- */
@media (max-width: 991px) {
  .product-detail .product-container > [class*="col-"]:first-child,
  .product-detail .product-container > [class*="col-"]:last-child {
    position: static !important;
    align-self: auto !important;
  }
  .product-detail .images-container {
    position: static !important;
  }
  h1.product-detail-name {
    font-size: 30px !important;
  }
  .desc-prod-col-dx {
    padding-left: 15px !important;
    margin-top: 30px !important;
  }
}
@media (max-width: 576px) {
  h1.product-detail-name {
    font-size: 26px !important;
  }
  .product-prices .current-price,
  .product-prices .current-price .current-price-value {
    font-size: 28px !important;
  }
  .product-detail .p-cartwapper {
    flex-direction: column !important;
  }
  .product-detail .p-cartwapper .add {
    width: 100% !important;
  }
  .desc-prod-col-dx .attributi {
    padding: 20px !important;
  }
} 

/* CMS */ 

#cms p, #cms b, #cms li { font-size: 100%; line-height: 24px; }

/* Promobanner: impedisci che #cms p sovrascriva font-size dei componenti pspb */
#cms .pspb-title,
#cms .pspb-secondary-text,
#cms .pspb-cta-text {
  font-size: var(--pspb-font-title) !important;
}
#cms .pspb-secondary-text {
  font-size: var(--pspb-font-secondary) !important;
}
#cms .pspb-cta-text {
  font-size: var(--pspb-font-cta) !important;
}

#cms strong { line-height: 24px; } 

#cms .col-md-2 {line-height:1.3em;} 

section#columns li { margin: 0 0 5px; } 

.rte ul { padding-left: 25px; } 

.delivery td { padding: 3px 12px; border-bottom: 1px solid; text-align: center; } 

.alert-promo { background: var(--est-gradient-warm); padding: 16px 20px; line-height: 1.6; color: var(--est-text-body); font-size: 14px; margin: 20px 0; border-radius: var(--est-radius-sm); border: 1px solid var(--est-primary-light); }
/* #product p#loyalty styling moved to Loyalty/Rewards section above */

.alert-promo a{ color: #222; } 

#cms .col-sm-3 li {margin: 0 0 5px;} 

.page-cms #wrapper a { border-bottom: 1px solid var(--est-primary); -webkit-transition: all 350ms ease-out; transition: all 350ms ease-out; font-weight: 400!important; } 

@media (min-width: 768px){ .col-md-offset-1 { margin-left: 8.33333%;} } 

.page-cms #wrapper a.btn {border-radius: var(--est-btn-radius); border-color: var(--est-border-warm) !important; border: 1px solid; border-bottom: 1px solid var(--est-primary)!important; transition: all var(--est-transition); font-weight: 400!important; font-size:16px;text-transform: inherit;} 

/*accordion recycling*/ 

.ap-accordion .in {display: inline-block!important; border: 1px solid #dddddd; border-radius:0 0 5px 5px; width: 100%; padding:15px;} 

.ap-accordion .panel-default > .panel-heading + .panel-collapse .panel-body {border:0px solid!important;} 

.ap-accordion .panel-default .panel-heading {color: var(--est-text-body); background-color: whitesmoke; border-color: #dddddd!important;} .ap-accordion .panel-default .panel-title {margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .ap-accordion .panel-default .panel-title span {text-transform: uppercase!important; padding:5px;} 

.ap-accordion .panel-default .panel-title .collapsed:before, .ap-accordion .panel-default .panel-title a:before {text-transform: none!important; } 

.box-faqpage {font-size:15px!important;} 

/*order tracking form*/ 

#guestOrderTrackingForm .btn-primary { color: var(--est-text-body); background-color: transparent; border-color: var(--est-border-warm); border: 1px solid; border-radius: var(--est-btn-radius);} #guestOrderTrackingForm .btn-primary:hover {background-color:var(--est-primary); color:#ffffff;} 

/*my account*/ 

#emailsalerts {display:none;} 

.myacc_left .links a i.material-icons {opacity:1;} 

@media (min-width: 1025px) {.psgdprinfo17 {width:75%}} 

/*bottoni - sfondo scuro, hover gold */
.leo-cart-dropdown-action a.btn.cart-dropdow-checkout, .continue.btn, button.btn.btn-primary.center-block, .btn-outline, .btn, .btn-primary { background: var(--est-text-dark) !important; color: #fff !important; border-color: var(--est-text-dark) !important; }

.leo-cart-dropdown-action a.btn.cart-dropdow-checkout:hover, .continue.btn:hover, button.btn.btn-primary.center-block:hover, .btn-outline:hover, .btn:hover, .btn-primary:hover { background: var(--est-primary) !important; border-color: var(--est-primary) !important; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(197,160,43,0.3); }

.leo-cart-dropdown-action a.btn.cart-dropdow-checkout:focus, .continue.btn:focus, button.btn.btn-primary.center-block:focus, .btn-outline:focus, .btn:focus, .btn-primary:focus { background: var(--est-primary) !important; border-color: var(--est-primary) !important; } 

.leo-fly-cart-slidebar a.cart-dropdow-viewcart {background: none!important;} 

.leo-cart-dropdown-action a.btn:hover, .leo-cart-dropdown-action a.btn:focus, .leo-cart-dropdown-action a.btn:active:focus {background: #333!important; color: #ffffff!important;} 

/* ============================================
   CROSSSELL — Override leggero ETS front.css
   Neutralizza SOLO le regole di ETS che sovrascrivono
   il design system. Le regole article.product-miniature
   della sezione PRODUCT CARD sopra fanno il resto.
   ============================================ */

/* 1. Container card: ETS forza float:left, height:auto, min-height:70px.
      Resettiamo per lasciar funzionare le nostre regole flex. */
.ets_crosssell_block .product-miniature .thumbnail-container {
  float: none !important;
  min-height: 0 !important;
  height: auto !important;
}

/* 2. Immagine: ETS forza position:relative, float:left, height:auto
      sul wrapper .product-thumbnail. Il nostro CSS usa position:relative
      su .product-image con aspect-ratio. Resettiamo i float. */
.ets_crosssell_block .product-miniature .thumbnail-container .product-thumbnail {
  float: none !important;
  height: auto !important;
}
.ets_crosssell_block .product-miniature .thumbnail-container .product-thumbnail img {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}

/* 3. ETS aggiunge ::before con padding-top:100% per aspect-ratio hack.
      Lo disabilitiamo perché il nostro CSS usa aspect-ratio nativo. */
.ets_crosssell_block .thumbnail-container > a:before,
.ets_crosssell_block .thumbnail-container > a::before {
  display: none !important;
}

/* 4. Product-meta: ETS forza height:auto, float:left, min-height:70px, bottom:auto.
      Resettiamo i float. */
.ets_crosssell_block .product-miniature .thumbnail-container .product-meta,
.ets_crosssell_block .product-miniature .product-description {
  float: none !important;
  height: auto !important;
  bottom: auto !important;
  min-height: 0 !important;
  position: static !important;
  max-width: none !important;
}

/* 5. ETS .highlighted-informations (non usato nel nostro tema, ma ETS lo forza) */
.ets_crosssell_block .product-miniature .highlighted-informations {
  display: none !important;
}

/* 6. Slide spacing: ETS mette padding:0 15px sugli slick-slide.
      Riduciamo per coerenza col listing. */
.ets_crosssell_block .crosssell_product_list_wrapper > .product {
  padding: 0 10px !important;
  margin-bottom: 20px !important;
}
.ets_crosssell_block .slick-slide article.product-miniature {
  padding: 0 !important;
}

/* 7. Cart page specifics (mantenute) */
#cart_page-youmightalsolike .thumbnail-container .product-description-short {display:block!important;}
#cart_page-youmightalsolike .quickview {display:none;}
#cart_page-youmightalsolike .button-container, #cart_page-youmightalsolike .plist-dsimple .thumbnail-container .pro3-btn .btn-product {width:100%!important;} 

/*supercheckout*/

#payment-pudo-label {display:none;}
.input-different-shipping {display:none;}

/*rewards form */

#sponsorship_form ul {display:none;}
label.control-label[for="shipping_address[postcode]"]{font-size: 16px!important;}

/*popup cart*/

div.slick-arrows .slick-arrow.slick-next:before, div.slick-arrows .slick-arrow.slick-prev:before {content:""!important;}

/*carrello modal dx*/

.leo-fly-cart-slidebar a.cart-dropdow-viewcart {color:#333!important;}

/*chiedi esperti mobile*/

@media (max-width: 991px){ .home-chiedi-esperti {margin-top: -4em;}}

/*menu mobile*/

//.off-canvas-nav-megamenu .navbar-nav {padding-bottom: 7em!important;}
.verticalmenu  {padding-bottom: 5em!important;}
.leo-verticalmenu .menu-icon-class {display: inline-flex!important;}
.leo-verticalmenu .menu-icon-class .menu-title {margin-left: 5px;}

/*contatti*/

#contact #wrapper #left-column {display:none;}
#contact #wrapper #content-wrapper {width:100%!important;}
.grecaptcha-badge {bottom:100px!important;}

/*label account e lingue*/

.userinfo-selector a.popup-title span, .language-selector-wrapper a.popup-title span {display:inline!important;}

/*banner alto*/
@media (max-width: 991px) {.banner-alto {margin-bottom: 20px;}}

/*checkout a step*/

#payment-option-1-container label {text-align:left!important;}
a[data-link-action="different-invoice-address"] {display:none;}
label[for="use_same_address"] {display:none;}
input[name="use_same_address"] {display:none;}
.delivery-options img {max-width: 50px;}

/*my account mobile*/
.box-hnav3 .col-right .popup-over .popup-content {left:0!important; border-top: 5px solid var(--est-primary);}

/* === Contact Form - Dynamic Modern Design === */

/* Keyframe animations */
@keyframes contactFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes contactTitleReveal {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes contactLineGrow {
  from { width: 0; }
  to { width: 80px; }
}
@keyframes contactBtnShimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes contactPulseGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(184,134,11,0); }
  50% { box-shadow: 0 0 0 6px rgba(184,134,11,0.08); }
}

/* Card container - full width, warm atmosphere */
#contact #content.card {
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  padding: 50px 60px 40px !important;
  background: linear-gradient(168deg, #fdfcfb 0%, #f7f4f0 40%, #fdfcfb 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Subtle decorative accent line top */
#contact #content.card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, #b8860b, #d4a843, #b8860b, transparent) !important;
}

/* Titolo h3 - animated reveal */
#contact .form-fields h3,
#contact form h3 {
  font-size: 28px !important;
  font-weight: 400 !important;
  font-family: 'DM Sans', sans-serif !important;
  margin-bottom: 40px !important;
  padding-bottom: 20px !important;
  border-bottom: none !important;
  color: #1a1a2e !important;
  letter-spacing: 1px !important;
  position: relative !important;
  animation: contactTitleReveal 0.7s cubic-bezier(0.22,1,0.36,1) both !important;
}
#contact .form-fields h3::after,
#contact form h3::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 2px !important;
  width: 80px !important;
  background: linear-gradient(90deg, #b8860b, #d4a843) !important;
  animation: contactLineGrow 0.8s 0.4s cubic-bezier(0.22,1,0.36,1) both !important;
}

/* Form groups - staggered fade-in */
#contact .form-fields .form-group.row {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 26px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  animation: contactFadeUp 0.6s cubic-bezier(0.22,1,0.36,1) both !important;
}
#contact .form-fields .form-group.row:nth-child(1) { animation-delay: 0.15s !important; }
#contact .form-fields .form-group.row:nth-child(2) { animation-delay: 0.25s !important; }
#contact .form-fields .form-group.row:nth-child(3) { animation-delay: 0.35s !important; }
#contact .form-fields .form-group.row:nth-child(4) { animation-delay: 0.45s !important; }
#contact .form-fields .form-group.row:nth-child(5) { animation-delay: 0.55s !important; }
#contact .form-fields .form-group.row:nth-child(6) { animation-delay: 0.65s !important; }
#contact .form-fields .form-group.row:nth-child(7) { animation-delay: 0.75s !important; }
#contact .form-fields .form-group.row:nth-child(8) { animation-delay: 0.85s !important; }
#contact .form-fields .form-group.row:nth-child(9) { animation-delay: 0.95s !important; }
#contact .form-fields .form-group.row:nth-child(10) { animation-delay: 1.05s !important; }

/* Labels */
#contact .form-fields .form-control-label {
  text-align: left !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #6b6660 !important;
  flex: unset !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 0 10px 2px !important;
  margin: 0 !important;
  transition: color 0.3s ease !important;
}
/* Label becomes darker when sibling input is focused */
#contact .form-fields .form-group.row:focus-within .form-control-label {
  color: #1a1a2e !important;
}

/* Colonne input - tutte full width */
#contact .form-fields .form-group.row > div[class*="col-"],
#contact .form-fields .form-group.row > .col-md-6,
#contact .form-fields .form-group.row > .col-md-9,
#contact .form-fields .form-group.row > .col-md-3,
#contact .form-fields .form-group.row > .offset-md-3,
#contact .form-fields .form-group.row > .col-md-offset-3 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  margin-left: 0 !important;
}

/* Input e select - modern with micro-interactions */
#contact .form-fields .form-control,
#contact .form-fields select.form-control,
#contact .form-fields .form-control-select {
  width: 100% !important;
  border: 1.5px solid #ddd8d2 !important;
  border-radius: 10px !important;
  padding: 15px 20px !important;
  font-size: 15px !important;
  font-family: 'DM Sans', sans-serif !important;
  color: #1a1a2e !important;
  background: #fff !important;
  transition: all 0.35s cubic-bezier(0.22,1,0.36,1) !important;
  outline: none !important;
  height: auto !important;
  line-height: 1.4 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
#contact .form-fields .form-control:hover {
  border-color: #c5bfb7 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
#contact .form-fields .form-control:focus,
#contact .form-fields select.form-control:focus {
  border-color: #b8860b !important;
  box-shadow: 0 0 0 3px rgba(184,134,11,0.1), 0 4px 12px rgba(0,0,0,0.06) !important;
  background: #fff !important;
  transform: translateY(-1px) !important;
}
#contact .form-fields .form-control::placeholder {
  color: #b5b0a8 !important;
  font-style: normal !important;
  font-weight: 300 !important;
}

/* Textarea */
#contact .form-fields textarea.form-control {
  min-height: 180px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

/* File upload - bootstrap-filestyle */
#contact .form-fields .bootstrap-filestyle.input-group {
  display: flex !important;
  width: 100% !important;
  border: 1.5px solid #ddd8d2 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  transition: all 0.35s cubic-bezier(0.22,1,0.36,1) !important;
}
#contact .form-fields .bootstrap-filestyle.input-group:hover {
  border-color: #c5bfb7 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
#contact .form-fields .bootstrap-filestyle .form-control {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  flex: 1 !important;
}
/* Wrapper del pulsante file - CRITICAL FIX */
#contact .form-fields .bootstrap-filestyle .group-span-filestyle,
#contact .form-fields .bootstrap-filestyle .input-group-btn {
  display: flex !important;
  width: auto !important;
  flex-shrink: 0 !important;
}
#contact .form-fields .bootstrap-filestyle .input-group-btn label.btn,
#contact .form-fields .bootstrap-filestyle .group-span-filestyle label.btn {
  border: none !important;
  border-left: 1.5px solid #ddd8d2 !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, #f0ece6, #e8e4df) !important;
  color: #1a1a2e !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
}
#contact .form-fields .bootstrap-filestyle .input-group-btn label.btn:hover,
#contact .form-fields .bootstrap-filestyle .group-span-filestyle label.btn:hover {
  background: linear-gradient(135deg, #e8e4df, #ddd8d2) !important;
  color: #b8860b !important;
}

/* Nota "opzionale" */
#contact .form-fields .form-control-comment {
  font-size: 11px !important;
  color: #b5b0a8 !important;
  font-style: italic !important;
  padding-top: 6px !important;
  padding-left: 2px !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Checkbox privacy GDPR */
#contact .form-fields .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 12px 0 !important;
  padding: 16px 20px !important;
  border-radius: 10px !important;
  background: rgba(184,134,11,0.03) !important;
  border: 1px solid rgba(184,134,11,0.1) !important;
  transition: all 0.3s ease !important;
}
#contact .form-fields .custom-checkbox:hover {
  background: rgba(184,134,11,0.06) !important;
  border-color: rgba(184,134,11,0.15) !important;
}
#contact .form-fields .custom-checkbox input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  accent-color: #b8860b !important;
  cursor: pointer !important;
}
#contact .form-fields .custom-checkbox label span {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #555 !important;
}
#contact .form-fields .custom-checkbox a {
  color: #b8860b !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(184,134,11,0.3) !important;
  transition: border-color 0.2s ease !important;
}
#contact .form-fields .custom-checkbox a:hover {
  border-bottom-color: #b8860b !important;
}

/* Pulsante Invia - animated, prominent */
#contact form .form-footer,
#contact .form-footer {
  text-align: center !important;
  padding: 35px 0 10px !important;
  border-top: none !important;
  margin-top: 15px !important;
  animation: contactFadeUp 0.6s 1.1s cubic-bezier(0.22,1,0.36,1) both !important;
}
#contact form .form-footer input[type="submit"],
#contact form .form-footer button[type="submit"],
#contact .form-footer input[type="submit"],
#contact .form-footer button[type="submit"],
#contact .form-footer .btn-primary {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 17px 65px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  min-width: 280px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #1a1a2e 0%, #2d2d4a 100%) !important;
  color: #fff !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.22,1,0.36,1) !important;
  display: inline-block !important;
  float: none !important;
  position: relative !important;
  box-shadow: 0 4px 15px rgba(26,26,46,0.2) !important;
}
#contact form .form-footer input[type="submit"]:hover,
#contact form .form-footer button[type="submit"]:hover,
#contact .form-footer .btn-primary:hover {
  background: linear-gradient(135deg, #2d2d4a 0%, #1a1a2e 100%) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(26,26,46,0.3) !important;
}
#contact form .form-footer input[type="submit"]:active,
#contact form .form-footer button[type="submit"]:active,
#contact .form-footer .btn-primary:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(26,26,46,0.2) !important;
}
#contact form .form-footer input[type="submit"]:disabled,
#contact form .form-footer button[type="submit"]:disabled,
#contact .form-footer .btn-primary:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Responsive */
@media (max-width: 768px) {
  #contact #content.card {
    padding: 30px 20px 25px !important;
  }
  #contact .form-fields h3,
  #contact form h3 {
    font-size: 22px !important;
  }
  #contact .form-fields .form-group.row {
    animation-delay: 0s !important;
    animation-duration: 0.4s !important;
  }
  #contact form .form-footer input[type="submit"],
  #contact form .form-footer button[type="submit"],
  #contact .form-footer .btn-primary {
    min-width: 100% !important;
    padding: 15px 30px !important;
  }
}
.grecaptcha-badge {bottom:100px!important;}

/*label account e lingue*/

.userinfo-selector a.popup-title span, .language-selector-wrapper a.popup-title span {display:inline!important;}

/*banner alto*/
@media (max-width: 991px) {.banner-alto {margin-bottom: 20px;}}

/*checkout a step*/

#payment-option-1-container label {text-align:left!important;}
a[data-link-action="different-invoice-address"] {display:none;}
label[for="use_same_address"] {display:none;}
input[name="use_same_address"] {display:none;}
.delivery-options img {max-width: 50px;}

/*my account mobile*/
.box-hnav3 .col-right .popup-over .popup-content {left:0!important; border-top: 5px solid var(--est-primary);}

/* ------------- ETA --*/ 

/*MEGA MENU e header*/ 
.leo-megamenu .dropdown-menu div.menu-title::before {display: none;} .leo-megamenu .dropdown-menu li a {font-weight: 300; font-size: 13px; line-height: 16.8px; letter-spacing: 0.1px;} .leo-megamenu .dropdown-menu div.menu-title {font-size: 15px; font-weight: 600; padding-bottom: 0px; color: #262626;} article.product-miniature .thumbnail-container a.product-thumbnail {padding-bottom: 0 !important;} .leo-widget .thumbnail-container {margin: 10px 0 0;} .box-htop3 {margin-top: -2px;} .leo-megamenu .navbar-nav > li.aligned-fullwidth > .dropdown-menu {border-top: 5px solid var(--est-primary);margin-top: 0;}

/* Megamenu product thumbnails - mantiene aspect-ratio del tema */
.leo-megamenu .widget-products .thumbnail-container a.product-thumbnail {
  padding-bottom: 125% !important;
  overflow: hidden !important;
  position: relative !important;
  display: block !important;
}
.leo-megamenu .widget-products .thumbnail-container a.product-thumbnail img.img-fluid {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
} 

/*EFFETTO PER BOTTONE MENU ATTIVO*/

/*PROMOZIONI*/
#menu-col .block_content {max-width: 90% !important; text-align: center; background: #ffffff; color: var(--est-primary); font-size: 90%; line-height: 24px; border-radius: 12px; height: auto; margin: 0px auto 10px auto; padding: 8px 10px; border: 1px solid; text-transform: uppercase; font-weight: 400; letter-spacing: 0.4px;} 

/*SLIDESHOW*/
.ApSlideShow {margin-top: -12px;} .iview-directionNav a {border-radius: 30px;} .iview-directionNav a:hover {background: var(--est-primary);}

/*CAROSELLO PRODOTTI HOME*/
.thumbnail-container .product-title a {font-weight: 300 !important;}

/*ETICHETTE PREZZI E PREZZI RIDOTTI*/
.thumbnail-container .product-price-and-shipping .price-percent-reduction {color: #bb0020;} .thumbnail-container .product-price-and-shipping {font-size: 16px; font-weight: 600;}

/*LOGO - ESTEREL Playfair Display*/
#header_logo {text-align:center; margin: 13px 0px 0px 0px !important; font-family: 'Jost', sans-serif; letter-spacing: 0.2em;}

/*FOOTER*/ 
.footer-subscribe {padding: 0px;} .footer-center .container {line-height: 1em;} .footer-copyright {padding: 45px 0 15px;}
#social i {margin-right: 5px; color: #fff !important;} #social i:hover {color: #000 !important;} 
.footer-container .ApHtml p {margin: 0px 10px !important;}
.footer-legali {color: #ffffff !important;} 
.footer-informazioni ul, .toggle-footer {padding: 0px 10px !important;color:#fff!important;line-height:18px;font-size: 14px;} 
#footer {background: #1a1a2e !important;} 
.footer-informazioni a {color:var(--est-primary)!important;} 
 #footer a:hover { color: #ccc !important;}
.footer-informazioni ul li a:hover {padding-left:4px; transition: all .4s;} 
.toggle-footer a {color: var(--est-primary) !important;border-bottom: 0px solid!important;} 
.footer-copyright { background: #1a1a2e !important; text-align: center; letter-spacing: 0.4px; color: #fff; }
.footer-copyright a { color: var(--est-primary)!important;}
.footer-copyright p { color: #fff!important;} 
.footer-informazioni ul li { position: relative; font-size: 16px; text-transform: uppercase; background: none; border-bottom: 1px dotted #aaa; line-height: 28px;}
.footer-container .ApLink li a {line-height: inherit; padding: 0px;} 

/*PAGINE CMS*/
#cms h1 {margin: 0px 0px 30px 0px; padding: 0 0 7px; color: var(--est-primary); text-align: center; border-bottom: 1px solid #ddd;} #main .page-header {margin-bottom: 0px;}
#cms h2 {font-size: 27px; text-transform: none; margin: 10px 0 20px;} 
.bigger{ font-size: 140% !important; margin: 10px 0; letter-spacing: 2px; } 
/* Scoped: solo CMS, non globale */
.page-cms .col-md-6 {padding: 0px;}
#cms em {font-size: 100%; line-height: 24px;} 
.page-cms #wrapper img {display:block;margin-left: auto; margin-right: auto; padding: 0px 10px;} 

/*PAGINE PRODOTTO — Add-to-cart gold sweep hover (usato sia su product detail che altrove) */
.product-actions .add-to-cart, .product-add-to-cart .add-to-cart {
  height: 48px;
  max-width: max-content !important;
  padding: 0 35px !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  border-radius: var(--est-btn-radius);
  line-height: normal !important;
  transition: all var(--est-transition);
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.product-actions .add-to-cart::before, .product-add-to-cart .add-to-cart::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--est-primary);
  border-radius: inherit;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1;
}
.product-actions .add-to-cart:hover::before, .product-add-to-cart .add-to-cart:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.product-actions .add-to-cart:hover, .product-add-to-cart .add-to-cart:hover {
  transform: translateY(-1px);
  box-shadow: var(--est-shadow-btn);
}
.confronta {font-size: 14px; line-height: 1em; text-transform: uppercase; color: var(--est-text-dark) !important; letter-spacing: 0.1em; font-weight: 600;}
.AppButton .btn {border: none !important; padding: 10px 35px; color: #fff !important; border-radius: var(--est-btn-radius); font-weight: 600 !important; letter-spacing: 0.15em; white-space: break-spaces;}

/*ETICHETTE PRODOTTI E CROSS SELLING*/
.thumbnail-container .product-price-and-shipping .discount-percentage, .thumbnail-container .product-price-and-shipping .discount-product {background: var(--est-text-dark) !important; color: #fff !important; font-weight: 600; font-size: 0.85em; border-radius: var(--est-btn-radius); padding: 2px 10px;}
#zoom_product {margin-top: 0 !important;} 
.ets_crosssell_block .featured-products .slick-arrow:hover {background: #222; border-color: #222;}
.ets_crosssell_block .tab_content button.slick-arrow {background-color: var(--est-primary);}
.ets_crosssell_tab_content button.slick-arrow::before, .ets_crosssell_block .tab_content button.slick-arrow::before {border-top: 1px solid #fff;border-right: 1px solid #fff;}
/* Crosssell title — centrato, Jost 300 (supporta h4, h3, span, div) */
.ets_crosssell_title,
h4.ets_crosssell_title {
  border-bottom: none !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  text-align: center !important;
  color: var(--est-text-dark) !important;
  margin-bottom: 10px !important;
}
/* Crosssell block — spacing e sfondo */
.ets_crosssell_block {
  padding-top: 50px !important;
  border-top: 1px solid var(--est-border-warm) !important;
  margin-top: 40px !important;
}
/* Tab navigation — centrata, gold underline */
.ets_crosssell_nav_tabs {
  border-bottom: 1px solid var(--est-border-warm) !important;
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 30px !important;
}
.ets_crosssell_nav_tabs li a,
.ets_crosssell_nav_tabs li.active a,
.ets_crosssell_nav_tabs.nav-tabs li.active a,
.ets_crosssell_nav_tabs.nav-tabs li.active a:hover {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--est-text-muted) !important;
  margin-left: 0 !important;
  padding: 14px 28px !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.ets_crosssell_nav_tabs li.active a,
.ets_crosssell_nav_tabs.nav-tabs li.active a,
.ets_crosssell_nav_tabs.nav-tabs li.active a:hover {
  color: var(--est-text-dark) !important;
  border-bottom-color: var(--est-primary) !important;
}
/* Vecchie regole plist-dsimple pro3-btn — ora gestite dalla sezione crosssell cards display:contents */
.quickview .product-cover img {margin-top: 0px !important;}
#blockcart-modal .modal-header {background: var(--est-text-dark);}
.close {opacity: .8;}

/*CATEGORIE PRODOTTO*/
body#category .product_list.grid .ajax_block_product {padding: 10px; }
.product-desc p, .product-desc h4 {line-height: 1.3em;}

/*BOTTONI*/
/* Bottoni category/listing — escluso article card */
.thumbnail-container .functional-buttons a.quick-view, .thumbnail-container .functional-buttons .btn-product {color: #fff !important; line-height: inherit !important}
article.product-miniature .thumbnail-container .functional-buttons .btn-product { margin: 0 !important; } 
#blockcart-modal .cart-content button.btn {background: var(--est-bg-white) !important; color: var(--est-text-dark) !important; border: 1.5px solid var(--est-border-warm); border-radius: var(--est-btn-radius);}
.btn-default { color: var(--est-text-body) !important; background-color: transparent !important; border: 1.5px solid var(--est-border-warm) !important; border-radius: var(--est-btn-radius) !important; transition: all 0.3s var(--est-transition); }
.btn-default:hover, .btn-default:focus, .btn-default.active { color: var(--est-primary) !important; border-color: var(--est-primary) !important; background-color: var(--est-primary-glow) !important; } 
/*BOTTONE CLASSE EXTRA*/
.btn-extra {background: #fff!important;line-height: 20px;border: 0;transition: all .4s;text-transform: uppercase; border-radius: var(--est-btn-radius);}

/*ACCORDION*/
.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover, .nav-tabs .nav-item.open .nav-link, .nav-tabs .nav-item.open .nav-link:focus, .nav-tabs .nav-item.open .nav-link:hover {background-color: var(--est-bg-light) !important;} .box-faqpage .ApHtml .title_block {font-size: 16px !important;} .form_7604881277330796 {color: var(--est-primary) !important;} .form_8681731762455141 {color: var(--est-primary) !important;}
.form_9773894391849808 {color: var(--est-primary) !important;} .form_6449579372812247 {color: var(--est-primary) !important;} .form_5289120318521511 {color: var(--est-primary) !important;} .form_7749067674470694 {color: var(--est-primary) !important;} .form_9612295174907620 {color: var(--est-primary) !important;} .form_9317204973475532 {color: var(--est-primary) !important;}
.form_39973010585758005 {color: var(--est-primary) !important;} .form_9317204973475532 {color: var(--est-primary) !important;}
.form_5639255470143759 {color: var(--est-primary) !important;}
.tabs-left.ApTabs .nav-tabs li a {font-size: 16.5px;}
.tabs-left .nav-tabs > li > a {text-transform: none !important; border-bottom: 1px solid var(--est-primary) !important; padding: 10px 10px 10px 25px;}

/*MODULO CONTATTO*/
.contact-form h3 {font-size: 18px; font-weight: 300; color: var(--est-text-dark);} .form-control-label {color: var(--est-text-dark) !important; font-weight: 600;} input.form-control {font-size: 16px !important;} textarea.form-control {font-size: 16px !important;} select.form-control {font-size: 16px !important;}
.input-group .input-group-btn > .btn {font-weight: 600; color: #fff !important; line-height: 28px; margin-left: 5px !important;}

/*INTERNATIONAL FREE SHIPPING*/
.AppButton {padding: 0px 0px 10px 0px !important;}

/*CHIEDI AGLI ESPERTI E GREEN BEAUTY*/
.home-block-pocket h4 span {color: #000 !important; display: inline;} .home-block-pocket p {margin: 0 15px; letter-spacing: 0.2px; line-height: 30px; background: rgba(0, 0, 0, 0.6); padding: 10px;} .home-pocket .ApHtml { margin: 0; padding: 20px 40px 20px; letter-spacing: 0.1px; background: rgba(255, 255, 255, 0.55);} .home-block-pocket h4 { color: #000; font-size: 32px; margin-bottom: 30px; } 

/*FOOTER BELLEZZA*/
.footer-bellezza {background: #fff !important; padding: 2px 0px 0px 0px !important; margin: 30px 15px !important;}
.stelline-sopra, .stelline-sotto {margin: 30px 0px 0px 0px; color: var(--est-primary) !important; padding-bottom: 30px !important;} 
.footer-bellezza .btn-default { color: #000 !important; background-color: #fff !important; border: 2px solid #000 !important; border-radius: var(--est-btn-radius) !important;}
.footer-bellezza .btn-default:hover { color: #fff !important; background-color: var(--est-primary) !important; border: 2px solid var(--est-primary) !important;} 
.footer-container .ApColumn .title_block {color: #fff; margin: 0 0 25px; letter-spacing: 2px; padding: 0px 10px;} 

/*HEADER BIANCO - ESTEREL Modernizzato*/
/* Container interno al megamenu - menu a sinistra, icone a destra */
@media (min-width: 992px) {
  .esterel-menu-container {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
  }
  .esterel-menu-container .navbar-nav {
    flex: 0 1 auto;
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
  }
  /* Wrapper icone a destra */
  .esterel-header-icons {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
  }
  /* Bottoni icona (cerca + carrello) */
  .esterel-icon-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--est-text-dark);
    transition: color 0.3s;
  }
  .esterel-icon-btn:hover { color: var(--est-primary); }
  .esterel-icon-btn .material-symbols-outlined {
    font-size: 22px;
    font-weight: 300;
    line-height: 30px;
  }
  /* CARRELLO originale - override icona a Material Symbols */
  .esterel-header-icons .blockcart { position: relative; }
  .esterel-header-icons .blockcart .header {
    line-height: 30px !important;
    height: 30px !important;
  }
  .esterel-header-icons .ti-shopping-cart::before {
    content: "shopping_bag" !important;
    font-family: 'Material Symbols Outlined' !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    color: var(--est-text-dark);
    line-height: 30px !important;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
  }
  .esterel-header-icons .blockcart:hover .ti-shopping-cart::before {
    color: var(--est-primary);
  }
  .esterel-header-icons .blockcart .header .cart-products-count {
    width: auto !important;
    min-width: 16px;
    height: 16px;
    font-size: 10px !important;
    font-weight: 700;
    background: var(--est-primary);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -4px;
    right: -8px;
    padding: 0 3px;
  }
  /* Compattamento in sticky */
  .leo-megamenu.esterel-stuck .esterel-icon-btn .material-symbols-outlined {
    font-size: 20px;
    line-height: 20px;
  }
  .leo-megamenu.esterel-stuck .esterel-header-icons .ti-shopping-cart::before {
    font-size: 20px !important;
    line-height: 20px !important;
  }
  .leo-megamenu.esterel-stuck .esterel-header-icons .blockcart .header {
    height: 20px !important;
    line-height: 20px !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .esterel-menu-container { max-width: 970px; }
}

/* === OVERLAY RICERCA MODERNA === */
.esterel-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(15,15,15,0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.esterel-search-overlay.active {
  opacity: 1;
  visibility: visible;
}
.esterel-search-inner {
  position: absolute;
  top: 0; left: 0; right: 0;
  background: #fff;
  padding: 50px 0 40px;
  transform: translateY(-100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 25px 80px rgba(0,0,0,0.18);
}
.esterel-search-overlay.active .esterel-search-inner {
  transform: translateY(0);
}
.esterel-search-bar {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.esterel-search-icon {
  font-size: 28px !important;
  color: var(--est-primary);
  margin-top: 10px;
  flex-shrink: 0;
}
.esterel-search-slot {
  flex: 1;
  min-width: 0;
}
.esterel-search-close {
  background: none;
  border: none;
  cursor: pointer;
  color: #999;
  padding: 8px;
  margin: 2px -8px 0 0;
  border-radius: 50%;
  transition: all 0.2s;
  flex-shrink: 0;
}
.esterel-search-close:hover {
  color: #000;
  background: #f3f4f6;
}
/* Stili del blocco search dentro l'overlay */
.esterel-search-overlay #leo_search_block_top {
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}
.esterel-search-overlay #leo_search_block_top .block_content {
  border: none !important;
  border-bottom: 2px solid var(--est-primary) !important;
  background: transparent !important;
}
.esterel-search-overlay #leo_search_query_top {
  font-size: 22px !important;
  padding: 12px 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em;
  color: var(--est-text-dark) !important;
  width: 100% !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
}
.esterel-search-overlay #leo_search_query_top::placeholder {
  color: #9ca3af;
  font-weight: 300;
}
.esterel-search-overlay #leo_search_top_button {
  display: none !important;
}
.esterel-search-overlay .list-cate-wrapper {
  display: none !important;
}
.esterel-search-overlay .leoproductsearch-result {
  width: 100% !important;
  border-left: none !important;
  margin: 0 !important;
}
.esterel-search-overlay .ac_results {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  max-height: 55vh;
  overflow-y: auto;
  width: 100% !important;
  border: none !important;
  box-shadow: none !important;
  margin-top: 12px;
}
.esterel-search-overlay .ac_results .lps-result-content {
  padding: 10px 0 !important;
}
.esterel-search-overlay .ac_results .search-value-title {
  font-family: 'DM Sans', sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #9ca3af;
  font-weight: 600;
  padding: 16px 0 6px;
  border-bottom: 1px solid var(--est-border-light);
}
.esterel-search-overlay .ac_results li {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--est-border-light);
}
.esterel-search-overlay .ac_results li:hover {
  background: #f5f5f5 !important;
}
.esterel-search-overlay .all-search-product a {
  color: var(--est-primary) !important;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.leo-megamenu {background: #fff !important; border-radius: 0px; border-bottom: 1px solid var(--est-border-light);}
.leo-megamenu .navbar-nav > li > a > .menu-title, .box-htop3 .leo-megamenu .navbar-nav > li > a {font-size:11px; text-transform: uppercase; color: var(--est-text-dark) !important; font-weight: 600; letter-spacing: 0.15em; -webkit-transition: all 350ms ease-out; transition: all 350ms ease-out; border-bottom: 0px solid; line-height: 30px;}
.box-hnav3 .popup-over a.popup-title i[class^="ti-"] {margin: 0 1px 0 0;}
.leo-megamenu .navbar-nav > li > a > .menu-title:hover, .box-htop3 .leo-megamenu .navbar-nav > li > a:hover, .leo-megamenu .dropdown-menu li a:hover {color: var(--est-primary) !important;}

/* TOP HEADER - ESTEREL Utility Bar */
.col-xl-4 {margin-bottom: 0px;}
#top-parte-alta {font-family: 'DM Sans', sans-serif; font-size: 10px; color: var(--est-text-dark) !important; background: #ffffff !important; text-transform: uppercase; letter-spacing: 0.15em; font-weight: 500;}
#top-parte-alta a {color: #000 !important; font-size: 10px !important; font-weight: 500; letter-spacing: 0.1em;}
#top-parte-alta a:hover {color: var(--est-primary) !important;}
.qualita-cosmetica {padding-left: 0;}
/* rimosso padding-right:70px - ora il topbar usa max-width:1170px dal blocco sotto */
#assistenza-small {width: 100%; background: #fff; justify-content: center; height: 40px; line-height: 40px;}
#carrello-small {justify-content: space-evenly;}

/*MENU MOBILE VERTICALE CON APERTURA TENDINA*/
.ApMegamenu .leo-verticalmenu .title_block {background: var(--est-primary); font-size: 16px !important; padding: 5px 10px 5px 10px !important;}
div.verticalmenu .navbar-nav > li > a {padding: 10px 0px; border-bottom: 1px solid var(--est-primary) !important; margin: 0px 25px; display: block ruby; font-weight: 600;}
div.verticalmenu .navbar-nav > li > .caret {width: 41px; height: 41px; line-height: inherit; background: var(--est-primary) !important; border: 7px solid #fff;}
div.verticalmenu .navbar-nav > li > .caret:before {color: #fff; font-size: 16px; font-weight: 700;}
div.verticalmenu ul li a .menu-title {color: #222; font-size: 18px;}
div.verticalmenu .dropdown-menu ul li a {padding: 5px 25px;}
div.verticalmenu .dropdown-menu {border: none !important;}
div.verticalmenu .navbar-nav > li > .dropdown-menu {background: var(--est-bg-light);}
#memgamenu-form_5380468242973655 {position: fixed; z-index: 9999;} 

/*BOTTONE CHIUSURA MENU MOBILE VERTICALE*/
ApMegamenu .leo-verticalmenu.cus-active .title_block::after, .ApMegamenu .leo-verticalmenu.active .title_block::after {float: right; min-width: 285px;  max-width: 300px; content: "\f00d"; font-family: "Font Awesome 5 Pro"; display: block;  color: #fff; font-weight: 600;}

/*BELLEZZA ITALIANA*/
.box-nompro2 { padding: 0px 0% 10px !important; } 

/*ICONA CARRELLO TOP HEADER (vecchio codice awesome \f07a* E CERCA*/
.ti-shopping-cart::before {content: "\f290";font-family: 'Font Awesome 5 Pro'; font-size:18px; font-weight: 900; line-height: initial;}
.box-hnav3 .col-right .blockcart .header .cart-products-count {width:80%; bottom:5%; font-size: 14px !important;font-weight: 900;background: var(--est-primary); border-radius: 90%;color: #fff;}
.box-hnav3 #leo_search_block_top .title_block::before {font-size: 24px;color: #222;font-weight: 400;}

/*BREADCUMBS*/
.breadcrumb-full {border-top:1px solid var(--est-border-light); border-bottom:1px solid var(--est-border-light); z-index:1;} 

/*FILTRI*/
.af .af_subtitle {font-weight: 600; font-size: 16px; color: #222 aliceblue !important; letter-spacing: 1px;}
.af_filter .count {color: var(--est-primary);}
.af-slider .selected-bar {background: var(--est-primary) !important;}
.af-slider .slider_value {font-weight: 500;color: #222;}
#amazzing_filter.block .title_block {font-weight: 400; font-size: 16px; letter-spacing: 0.08em;}
.sidebar .block .title_block::before {background: var(--est-primary);}
#amazzing_filter.block .title_block {padding: 20px; background: var(--est-bg-light);}
.selectedFilters .clearAll {background: #222;}
.selectedFilters .clearAll .txt {font-size: 1em;font-weight: 600;}
.selectedFilters .clearAll a {color: #fff;}
.selectedFilters .cf {color: #222;}
.sidebar #amazzing_filter {padding: 0 0 30px 15px;}

/*CERCA*/
#leo_search_block_top .btn {line-height: normal; color: #fff !important;}
/* padding generico solo per NON-article (megamenu, widget) */
div.product-miniature .thumbnail-container {margin-top:1px; padding:15px;}
article.product-miniature .thumbnail-container { padding: 0 !important; margin-top: 0 !important; } 

/*ISCRIZIONE NEWSLETTER*/
.iscrizione-newsletter a {font-size: 14px; line-height: 1.4em; color: var(--est-primary); font-weight: 600;} 
.iscrizione-newsletter p {font-weight: normal;} 

/*BLOG*/
/* Padding solo per blog carousel, NON per product carousel */
.leoblog-container .owl-carousel .owl-item {padding: 15px !important; background: #fff !important;}
.ApProductCarousel .owl-carousel .owl-item {padding: 0 10px !important; background: transparent !important;}
.ApProductCarousel .owl-carousel {margin: 0 -10px !important;}
.blog-container .blog-title a {color: var(--est-primary) !important;}
.blog-container .blog-meta {color: #222 !important; font-size: 14px !important;}
.blog-detail .blog-meta > span {color: #222; font-size: 16px;}
.blog-description p {color: #222 !important; font-size: 18px !important; line-height: 1.6em;}
.blog-detail .blog-description {color: #222 !important; font-size: 18px !important;}
.blog-detail a {color: #222 !important; border-bottom: 2px solid var(--est-primary);}
.blog-detail a:hover {color: var(--est-primary) !important;}
.extra-blogs, .blog-comments, .social-share, .blog-comment-block {border-bottom: 1px solid var(--est-primary);
border-top: 1px solid var(--est-primary);margin-bottom: 0px;}
.social-share .social-wrap > div {display: none;}
.extra-blogs ul li a {text-decoration: underline var(--est-primary); font-size: 18px;}
.extra-blogs h4 {margin: 12px 0 0 0;}
.blog-tags a span {font-size: 16px;background: var(--est-bg-light);}
.blog-menu ul > li > a {border: 1px solid #222;padding: 5px 15px;margin-bottom: 5px; color: #222;}
.blog-menu ul > li > a:hover {border: 1px solid #222;color: #fff;background: var(--est-primary);}
#blog-listing > h1 {margin: 0px 0px 30px 0px;padding: 0 0 7px;color: var(--est-primary) !important;text-align: center;border-bottom: 1px solid #ddd;font-family: 'Jost', sans-serif !important;font-weight: 300 !important;font-size: 36px !important;letter-spacing: 0.04em;}
.sidebar .block .title_block {padding: 2px 0 20px 0;}
.sidebar .block {margin: 0 0 15px;}
.blog-item .more {border: 1px solid;}
.blog-item .more:hover {color: #fff !important;}
.blog-item .blog-meta {font-size: 13px;}
.blog-item .blog-meta .blog-created {color: var(--est-primary);}
.leo-block-sidebar .info {font-size: 13px;color: var(--est-primary);}
#blog-category > h1 {margin: 0px 0px 30px 0px;padding: 0 0 7px;color: var(--est-primary) !important;text-align: center;border-bottom: 1px solid #ddd;font-family: 'Jost', sans-serif !important;font-weight: 300 !important;font-size: 36px !important;letter-spacing: 0.04em;}
#blog-category > .inner > h3 {display: none;}
.blog-detail .blog-title {margin: 0px 0px 30px 0px;padding: 0 0 7px;color: var(--est-primary) !important;text-align: center;border-bottom: 1px solid #ddd;line-height: inherit;font-family: 'Jost', sans-serif !important;font-weight: 300 !important;font-size: 36px !important;letter-spacing: 0.04em;}
.blog-item {padding: 0 0 30px;}

/*FIX BUG VISUALIZZAZIONE DIFFERENTI DEVICE*/
/*Il problema della diversa visualizzazione del top-alto nell'header si risolve attraverso le largheze delle colonne nel profilo */
.leo-quicklogin-modal .modal-header {margin-top: 50px !important;}
.leo-quicklogin-modal .modal-header .close {right: 0px;}
.header-top {height: auto !important; }

/*IMG*/
/* Flags globali (pagina prodotto, listing) — stile coerente */
.product-flags .product-flag.on-sale {background: rgba(15,15,15,0.88) !important;padding: 5px 14px !important;box-shadow: 0 2px 8px rgba(0,0,0,0.12);line-height: 1;font-size: 9px !important; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #fff !important; border: none !important; border-left: 2px solid var(--est-primary) !important; border-radius: var(--est-btn-radius);}
.product-flags li.product-flag {background: rgba(255,255,255,0.92) !important;padding: 5px 14px !important;box-shadow: 0 2px 8px rgba(0,0,0,0.08);line-height: 1;font-size: 9px !important; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--est-text-dark) !important; border: none !important; border-radius: var(--est-btn-radius);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);}
.product-flags li.product-flag.pack {background: var(--est-primary) !important; color: #fff !important; box-shadow: 0 2px 12px rgba(197,160,43,0.3);}

/*CHECKOUT NORMALE*/
/* Fix: header/menu centrato nel checkout (v2.9.52) */
body#checkout .header-nav .inner,
body#checkout .header-top .inner {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}
.bootstrap-touchspin .btn-touchspin:hover {color: #fff;}
.card-block {padding: 1em;}
body#checkout .additional-information {font-size: 16px;}
label[for="delivery_message"] {font-size: 15px !important; text-decoration: underline;}
#payment-option-1-container label {font-weight: bold;text-decoration: underline 1px var(--est-primary) !important;}
#payment-option-3-container label {font-weight: bold;text-decoration: underline 1px var(--est-primary) !important;}
#payment-option-5-container label {font-weight: bold;text-decoration: underline 1px var(--est-primary) !important;}
body#checkout section.checkout-step.-reachable.-complete .step-title::before {background: var(--est-primary) !important;}
body#checkout section.checkout-step.-reachable.-complete h1 .done {background: var(--est-primary) !important;}
body#checkout section.checkout-step .step-title {font-size: 14px !important;color: var(--est-primary) !important;}

/*LOGIN*/
.leo-quicklogin-form .lql-bt {font-weight: 600;font-size: 16px; letter-spacing: 0.08em; color: var(--est-text-muted);}
.leo-quicklogin-form h3, .leo-quicklogin-form .leo-register-title, .leo-quicklogin-form .title-only {font-size: 16px;}
.lql-bt.lql-active {color: var(--est-primary);}
.leo-quicklogin-modal {font-size: 15px;}
.leo-quicklogin-modal label, .leo-quicklogin-modal .label {font-size: 15px;}
.lql-bt {color: #ccc;}
.popup-over .popup-content li a i {font-size: 16px;}

/*ALERT*/
.alert-warning {color: var(--est-text-dark);background: var(--est-gradient-warm);border: 1px solid var(--est-primary-light);font-size: 1.1rem; border-radius: var(--est-radius-sm);}

/*CARRELLO MODAL DX*/
.leo-remove-from-cart i.material-icons::before {font-size: 15px;color: #ccc; padding-right: 5px;}
.leo-remove-from-cart i.material-icons::before {content: "\f1f8";font-weight: 600;}
.leo-cart-item-info .product-price {font-size: 16px;color: var(--est-primary);font-weight: bold;}
.leo-cart-item-info .product-quantity::before {font-size: 16px;color: var(--est-text-body);font-weight: 600;}
.leo-cart-item-info .product-quantity .input-group {font-size: 16px;font-weight: 600;color: var(--est-text-dark);}

/*CARRELLO POP-UP E CARRELLO SPESA*/
#blockcart-modal .product-image {padding: 0 5px 0 0;}
#cart #reward_loyalty, #cart #reward_facebook_cart, #cart #reward_use {font-size: 1rem;}
.product-line-grid-body > .product-line-info:first-child a.label {font-size: 18px; font-family: 'DM Sans', sans-serif; color: var(--est-text-dark);}
.bootstrap-touchspin .btn-touchspin {border: 1px solid #fff;}
.cart-grid-body a.label:hover {color: var(--est-primary);}
.has-discount .discount {font-size: 14px; line-height: 23px; background: transparent; color: var(--est-primary); font-weight: 600; letter-spacing: 0.05em; vertical-align: initial; text-transform: initial;} 
.product-line-grid-right .cart-line-product-actions, .product-line-grid-right .product-price {font-size: 20px;}
.cart-summary-line .value {color: var(--est-primary);font-size: 19px;font-weight: 600;}
a.remove-from-cart i::before, a.leo-compare-button.delete i::before, a.delete-wishlist i::before {content: "\f1f8";font-size: 16px;font-weight: 600; color:#222 !important;}

/*CONTATTI*/
.group-span-filestyle .btn-default, .group-span-filestyle .bootstrap-touchspin .btn-touchspin, .bootstrap-touchspin .group-span-filestyle .btn-touchspin {background: #222 !important;}

/*ACCOUNT CLIENTE LOGIN REGISTRAZIONE*/
italic {font-style: italic !important;font-size: 16px !important;color: red !important;}
.page-customer-account #content .forgot-password {font-size: 16px !important;}
.page-customer-account #content .no-account {font-size: 16px !important;}
.form-control-comment {font-size: 15px;}

/*COMPARE e BUONI SCONTO IN CARRELLO*/
h5.modal-title {  font-size: 16px !important;}
.block-promo .cart-summary-line .label, .block-promo .promo-name {color: var(--est-primary); font-weight: 600;}

/*FONT NUOVO*/
body {font-family: 'DM Sans', sans-serif !important;}
.btn-primary, .btn-secondary, .btn-tertiary {letter-spacing: var(--est-btn-letter-spacing);}
.block-category ul {font-size: 110%; list-style: initial; margin: 1em; padding: 0em 1em;}

.title-slider .caption-contain{
text-transform:uppercase
}

.lh-1{
line-height:1 !important;
}

#checkout #checkout-personal-information-step .nav .nav-item .nav-link{
    color: #282828 !important;
    border-color: #282828 !important;
}
#checkout #checkout-personal-information-step .nav .nav-item .nav-link.active{
    background-color: var(--est-primary);
    color: #FFF !important;
    font-weight: 700 !important;
}


/*********** ANDREA VADACCHINO ***********/
.alert-warning {
    color: var(--est-text-dark);
    background: var(--est-gradient-warm);
    font-size: 1.1rem;
    border: 1px solid var(--est-primary-light);
    border-radius: var(--est-radius-sm);
    padding: 16px 20px;
    animation: fadeInDown 0.5s ease-in-out;
}
.alert:before {
    font-family: 'Font Awesome 5 Pro';
    font-size: 14px;
    vertical-align: -5px;
    padding-right: 6px;
    float: left;
    position: absolute;
    left: 12px;
    top: 33%;
    color: var(--est-primary);
}

#header_logo {
    margin: 2rem auto 0 auto;
    padding: 1rem 0 0 0;
    text-align: center;
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    letter-spacing: 0.2em;
}
.userinfo-selector.dropdown.js-dropdown.popup-over {
    display: none;
}
/* Topbar: stesso container 1170px del menu (come demo) */
#top-parte-alta {
    font-family: 'DM Sans', sans-serif;
    font-size: 10px;
    color: var(--est-text-muted) !important;
    background: transparent !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 500;
    /* Allinea al container del menu - min-width:0 override il 100% del tema */
    width: 100% !important;
    min-width: 0 !important;
    max-width: 1170px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 15px !important;
    height: 40px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    border-bottom: none !important;
    position: relative;
}
/* Bordo bottom full-width tramite pseudo-elemento */
#top-parte-alta::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background: var(--est-border-light);
    pointer-events: none;
}
/* col1 payoff: occupa spazio naturale, allineato a sinistra */
#top-display-col-prima {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    color: var(--est-text-dark) !important;
    font-weight: 500;
}
/* col2 voci menu: allineate a destra */
#top-display-col-seconda {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
    gap: 24px;
}
/* Link topbar: nero, hover gold */
#top-parte-alta a {
    color: #000 !important;
    transition: color 0.3s;
}
#top-parte-alta a:hover {
    color: var(--est-primary) !important;
}

/* Material Symbols helper */
.material-symbols-outlined {
    font-size: 18px;
    vertical-align: middle;
}

/* Duplicato rimosso - sticky definito sopra */

/* ========== ESTEREL 2026 - Link globali ========== */
a { color: var(--est-text-dark); transition: color var(--est-transition); }
a:hover { color: var(--est-primary); }

/* ========== ESTEREL 2026 - Form Inputs Moderni ========== */
.form-control {
  border: 1.5px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-sm) !important;
  padding: 12px 16px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--est-text-dark) !important;
  background: var(--est-bg-white) !important;
  transition: all var(--est-transition) !important;
}
.form-control:focus {
  border-color: var(--est-primary) !important;
  box-shadow: 0 0 0 3px var(--est-primary-glow) !important;
  outline: none !important;
}
.form-control::placeholder {
  color: var(--est-text-light) !important;
  font-weight: 400;
}

/* ========== ESTEREL 2026 - Alert/Promo Coerenti ========== */
.alert-promo, #product p#loyalty {
  background: var(--est-gradient-warm) !important;
  padding: 16px 20px;
  line-height: 1.5;
  color: var(--est-text-body);
  border-radius: var(--est-radius-sm);
  border: 1px solid var(--est-primary-light);
}

/* ========== ESTEREL 2026 - Social Icons ========== */
#social i:hover { color: var(--est-primary) !important; transition: color var(--est-transition); }

/* ==========================================================
   ESTEREL 2026 - Override theme.css + Anomalie Globali
   Blocco unico per tutte le correzioni dell'audit completo
   ========================================================== */

/* --- 1. Override .bg-primary (theme.css usa #f44d51 !important) --- */
.bg-primary {
  background-color: var(--est-primary) !important;
}
.text-primary {
  color: var(--est-primary) !important;
}
.btn-primary {
  background-color: var(--est-primary) !important;
  border-color: var(--est-primary) !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: var(--est-primary-hover) !important;
  border-color: var(--est-primary-hover) !important;
}

/* --- 2. Pagination (theme.css usa Bootstrap blue #0275d8) --- */
.pagination .page-item .page-link {
  color: var(--est-text-dark) !important;
  border: 1px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-sm) !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  margin: 0 3px;
  transition: all var(--est-transition);
  background: var(--est-bg-white);
}
.pagination .page-item.active .page-link,
.pagination .page-item .page-link:hover {
  background-color: var(--est-text-dark) !important;
  border-color: var(--est-text-dark) !important;
  color: #fff !important;
}
.pagination .page-item.disabled .page-link {
  color: var(--est-text-light) !important;
  background: var(--est-bg-cream) !important;
  border-color: var(--est-border-warm) !important;
}

/* --- 3. Products section title (theme.css usa Oswald) --- */
.products-section-title,
h2.products-section-title {
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  color: var(--est-text-dark) !important;
  text-transform: none !important;
}

/* --- 4. Cart summary (theme.css leaks Roboto) --- */
.cart-summary-line .label,
.cart-summary-line .value,
.cart-summary-products .label,
.cart-summary-products .value,
.cart-summary-totals .label,
.cart-summary-totals .value {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--est-text-dark);
}
.cart-summary-line .value {
  color: var(--est-primary) !important;
  font-weight: 600;
}

/* --- 5. Mega menu & Nav links fix --- */
.mega-group > .dropdown-toggle,
.cbp-hrmenu .menu_links > li > a,
.megamenu > .nav-item > .nav-link,
.navbar-nav.megamenu > li > a,
.navbar-nav > .nav-item > .nav-link,
.leo-verticalmenu .megamenu.vertical > .nav-item > .nav-link,
.verticalmenu .megamenu > .nav-item > .nav-link {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--est-text-dark) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  transition: color var(--est-transition);
}
.mega-group > .dropdown-toggle:hover,
.cbp-hrmenu .menu_links > li > a:hover,
.megamenu > .nav-item > .nav-link:hover,
.navbar-nav.megamenu > li > a:hover,
.navbar-nav > .nav-item > .nav-link:hover,
.leo-verticalmenu .megamenu.vertical > .nav-item > .nav-link:hover,
.verticalmenu .megamenu > .nav-item > .nav-link:hover {
  color: var(--est-primary) !important;
}

/* --- 6. Sort dropdown styling --- */
.products-sort-order .select-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--est-text-dark);
  border: 1.5px solid var(--est-border-warm);
  border-radius: var(--est-radius-sm);
  padding: 8px 14px;
  background: var(--est-bg-white);
  transition: all var(--est-transition);
}
.products-sort-order .select-title:hover {
  border-color: var(--est-primary);
}
.products-sort-order .dropdown-menu {
  border: 1px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-sm) !important;
  box-shadow: var(--est-shadow-soft) !important;
  padding: 8px 0;
}
.products-sort-order .dropdown-menu a {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--est-text-body);
  padding: 8px 16px;
  transition: all var(--est-transition);
}
.products-sort-order .dropdown-menu a:hover,
.products-sort-order .dropdown-menu .current {
  background: var(--est-bg-warm);
  color: var(--est-primary);
}

/* --- 7. jQuery UI widget font fix --- */
.ui-widget {
  font-family: 'DM Sans', sans-serif !important;
}
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
  font-family: 'DM Sans', sans-serif !important;
}

/* --- 8. Filter sidebar styling (category page) --- */
#search_filters .facet .facet-title {
  font-family: 'Jost', sans-serif;
  font-size: 15px !important;
  font-weight: 400;
  color: var(--est-text-dark);
  letter-spacing: 0.03em;
  text-transform: none;
}
#search_filters .facet .facet-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--est-text-body);
}
#search_filters .facet .facet-label a {
  color: var(--est-text-body);
}
#search_filters .facet .facet-label a:hover {
  color: var(--est-primary);
}
#search_filters .facet .custom-checkbox input[type="checkbox"] + span {
  border-color: var(--est-border-warm);
  border-radius: 3px;
}
#search_filters .active-filter-title {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  color: var(--est-text-dark);
}

/* --- 9. Breadcrumb modernizzato --- */
.breadcrumb {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: var(--est-text-muted);
  background: transparent !important;
  padding: 12px 0;
}
.breadcrumb li a {
  color: var(--est-text-muted);
  transition: color var(--est-transition);
}
.breadcrumb li a:hover {
  color: var(--est-primary);
}
.breadcrumb li::after {
  color: var(--est-text-light);
}

/* Breadcrumb full-width con sfondo immagine */
.breadcrumb-bg {
  margin-bottom: 0;
  min-height: auto !important;
  display: flex;
  align-items: center;
  background-color: #fff !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
}
@media (max-width: 1199px) {
  .breadcrumb-bg { min-height: 240px; }
}
@media (max-width: 991px) {
  .breadcrumb-bg { min-height: 200px; }
}
@media (max-width: 767px) {
  .breadcrumb-bg { min-height: 160px; }
}
.breadcrumb-full > .container {
  margin: auto;
}
.breadcrumb-full {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  border-top: 1px solid var(--est-border-light) !important;
  border-bottom: 1px solid var(--est-border-light) !important;
}
.breadcrumb-bg .breadcrumb {
  margin: auto;
  background: none;
  display: block !important;
  padding-left: 15px;
  padding-right: 15px;
}
.breadcrumb-bg .breadcrumb:before {
  background: none;
  display: none;
}
body#index .breadcrumb-bg {
  display: none;
}
/* Override: forza allineamento sinistra indipendentemente dalla classe */
.breadcrumb-bg.brcenter .breadcrumb,
.breadcrumb-bg.brcenter,
.breadcrumb-bg.brcenter .breadcrumb ol,
.breadcrumb-bg.brleft .breadcrumb,
.breadcrumb-bg.brleft,
.breadcrumb-bg.brleft .breadcrumb ol {
  text-align: left !important;
}
.breadcrumb-bg.brright .breadcrumb,
.breadcrumb-bg.brright,
.breadcrumb-bg.brright .breadcrumb ol {
  text-align: right;
}

/* --- 10. AppPageBuilder override (ecstoreweb.css leaks) --- */
.af .af_subtitle {
  color: var(--est-text-body) !important;
  font-family: 'DM Sans', sans-serif !important;
}
.af .af_title {
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  color: var(--est-text-dark) !important;
}

/* --- 11. Compare button (non deve sembrare add-to-cart) --- */
.product-actions .compare-btn,
.product-actions .btn-compare {
  background: transparent !important;
  color: var(--est-text-muted) !important;
  border: 1px solid var(--est-border-warm) !important;
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: var(--est-btn-radius);
  transition: all var(--est-transition);
}
.product-actions .compare-btn:hover,
.product-actions .btn-compare:hover {
  color: var(--est-primary) !important;
  border-color: var(--est-primary) !important;
}

/* --- 12. Price consistency --- */
.product-price,
.current-price-value,
span.price,
.product-prices .current-price span {
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  color: var(--est-text-dark);
}
.product-prices .regular-price {
  color: var(--est-text-light);
  text-decoration: line-through;
  font-weight: 400;
}

/* --- 13. Tab system (product page) --- */
.nav-tabs .nav-link {
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--est-text-muted);
  border: none;
  border-bottom: 2px solid transparent;
  padding: 12px 20px;
  transition: all var(--est-transition);
  text-transform: uppercase;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
  color: var(--est-text-dark);
  border-bottom-color: var(--est-primary);
  background: transparent;
}
.nav-tabs {
  border-bottom: 1px solid var(--est-border-warm);
}

/* --- 14. Table styling (order history, etc.) --- */
.table thead th {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--est-text-muted);
  border-bottom: 2px solid var(--est-border-warm) !important;
  padding: 12px;
}
.table td {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--est-text-body);
  border-color: var(--est-border-warm) !important;
  padding: 12px;
  vertical-align: middle;
}

/* --- 15. Footer font consistency --- */
.footer-container,
.footer-container * {
  font-family: 'DM Sans', sans-serif;
}
/* Fix: Ripristina font icone nel footer (FA4/FA5/Themify) */
.footer-container .fa,
.footer-container .fas,
.footer-container .far,
.footer-container .fab,
.footer-container .fal {
  font-family: 'FontAwesome' !important;
}
.footer-container .fa-facebook,
.footer-container .fa-youtube,
.footer-container .fa-instagram,
.footer-container .fa-twitter,
.footer-container .fa-pinterest,
.footer-container .fa-linkedin {
  font-family: 'Font Awesome 5 Brands' !important;
}
.footer-container [class^="ti-"],
.footer-container [class*=" ti-"] {
  font-family: 'themify' !important;
}
.footer-container h4,
.footer-container .h4 {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400;
  letter-spacing: 0.05em;
}

/* --- 16. Alert system (info/success/warning unificati) --- */
.alert-info {
  background: var(--est-gradient-warm) !important;
  border: 1px solid var(--est-primary-light) !important;
  color: var(--est-text-body) !important;
  border-radius: var(--est-radius-sm);
}
.alert-warning {
  background: var(--est-gradient-warm) !important;
  border: 1px solid var(--est-primary-light) !important;
  color: var(--est-text-dark) !important;
  border-radius: var(--est-radius-sm);
}
.alert-success {
  background: rgba(34,139,34,0.06) !important;
  border-color: rgba(34,139,34,0.15) !important;
  color: #1a5c1a !important;
  border-radius: var(--est-radius-sm);
}
.alert-danger {
  background: rgba(180,40,40,0.06) !important;
  border-color: rgba(180,40,40,0.15) !important;
  color: #8b1a1a !important;
  border-radius: var(--est-radius-sm);
}

/* --- 17. Checkout step styling --- */
.checkout-step .step-title {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0.03em;
  color: var(--est-text-dark);
}
.checkout-step .step-number {
  background: var(--est-text-dark);
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
}
.checkout-step.-current .step-number {
  background: var(--est-primary);
}
/* Checkout form: forza DM Sans su tutti gli elementi interni */
.checkout-step .checkout-step-content,
.checkout-step .checkout-step-content *,
.checkout-step .nav-link,
.checkout-step .form-control-comment,
.checkout-step .form-informations-title,
.checkout-step .form-informations-option,
.checkout-step .form-informations-subtitle,
.checkout-step .input-group-btn,
.checkout-step .step-edit,
.checkout-step .nav-separator,
.checkout-step .forgot-password a,
.checkout-step a[href*="password"],
body#checkout .cart-summary *,
body#checkout .cart-summary-product-list a {
  font-family: 'DM Sans', sans-serif;
}

/* --- 18. Quantity selector — carrello (stile coerente con pagina prodotto) --- */
.product-line-grid-right .bootstrap-touchspin {
  border: 1.5px solid var(--est-border-warm) !important;
  border-radius: var(--est-radius-sm, 8px) !important;
  overflow: hidden !important;
  box-shadow: none !important;
  width: 76px !important;
  display: inline-flex !important;
  align-items: stretch !important;
  position: relative !important;
  height: 42px !important;
}
.product-line-grid-right .bootstrap-touchspin > .form-control {
  height: 42px !important;
  width: 46px !important;
  border: none !important;
  text-align: center !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--est-text-dark) !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
  border-radius: 0 !important;
}
.product-line-grid-right .bootstrap-touchspin > .form-control::-webkit-inner-spin-button,
.product-line-grid-right .bootstrap-touchspin > .form-control::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
.product-line-grid-right .bootstrap-touchspin:focus-within {
  border-color: var(--est-primary) !important;
  box-shadow: 0 0 0 3px rgba(197, 160, 43, 0.12) !important;
}
.product-line-grid-right .input-group-btn-vertical {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  border-left: 1.5px solid var(--est-border-warm) !important;
}
.product-line-grid-right .input-group-btn-vertical .btn-touchspin {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--est-bg-cream) !important;
  color: var(--est-text-dark) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 50% !important;
  min-height: 0 !important;
  max-height: 21px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}
.product-line-grid-right .bootstrap-touchspin-down {
  border-top: 1px solid var(--est-border-warm) !important;
}
.product-line-grid-right .input-group-btn-vertical .btn-touchspin:hover {
  background: var(--est-primary) !important;
  color: #fff !important;
}
.product-line-grid-right .btn-touchspin i.material-icons {
  font-size: 12px !important;
  line-height: 1 !important;
}

/* --- 19. Search overlay consistency --- */
.search-widget form input[type="text"] {
  font-family: 'DM Sans', sans-serif;
  border-color: var(--est-border-warm);
}
.search-widget form button {
  color: var(--est-text-dark);
  transition: color var(--est-transition);
}
.search-widget form button:hover {
  color: var(--est-primary);
}

/* --- 20. Selezione varianti prodotto --- */
.product-variants .product-variants-item label {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--est-text-dark);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.product-variants .color,
.product-variants .input-color {
  border: 2px solid var(--est-border-warm);
  transition: all var(--est-transition);
}
.product-variants .color:hover,
.product-variants .input-color:hover,
.product-variants .color.selected,
.product-variants .input-color.selected {
  border-color: var(--est-primary);
  box-shadow: 0 0 0 2px var(--est-primary-glow);
}

/* --- 21. Wishlist / Social share buttons --- */
.social-sharing a {
  color: var(--est-text-muted) !important;
  border: 1px solid var(--est-border-warm) !important;
  transition: all var(--est-transition);
}
.social-sharing a:hover {
  color: var(--est-primary) !important;
  border-color: var(--est-primary) !important;
  background: var(--est-primary-glow) !important;
}

/* --- 22. Modal/Popup consistency --- */
.modal-content {
  border: none;
  border-radius: var(--est-radius-md);
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
}
.modal-header {
  border-bottom: 1px solid var(--est-border-warm);
  padding: 20px 24px;
}
.modal-header .modal-title {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: var(--est-text-dark);
}
.modal-body {
  padding: 24px;
}
.modal-footer {
  border-top: 1px solid var(--est-border-warm);
  padding: 16px 24px;
}

/* --- 23. Blocklist / Account pages --- */
.page-my-account #content .links a {
  font-family: 'DM Sans', sans-serif;
  color: var(--est-text-dark);
  border: 1px solid var(--est-border-warm);
  border-radius: var(--est-radius-sm);
  transition: all var(--est-transition);
}
.page-my-account #content .links a:hover {
  border-color: var(--est-primary);
  color: var(--est-primary);
  box-shadow: var(--est-shadow-soft);
}
.page-my-account #content .links a i {
  color: var(--est-primary);
}

/* --- 24. Scrollbar custom --- */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: var(--est-bg-cream);
}
::-webkit-scrollbar-thumb {
  background: var(--est-border-warm);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--est-text-light);
}

/* --- 25. Selection color --- */
::selection {
  background: var(--est-primary);
  color: #fff;
}
::-moz-selection {
  background: var(--est-primary);
  color: #fff;
}

/* --- 26. Override inline CMS colors (AppPageBuilder + Product descriptions) --- */
/* Rosso #d0121a → gold (CMS, descrizioni prodotto, pagine statiche) */
.appagebuilder_module [style*="color:#d0121a"],
.appagebuilder_module [style*="color: #d0121a"],
.appagebuilder_module [style*="color:#D0121A"],
#appage_home [style*="color:#d0121a"],
#appage_home [style*="color: #d0121a"],
#appage_home [style*="color:#D0121A"],
#product-description-short [style*="color:#d0121a"],
#product-description-short [style*="color: #d0121a"],
#product-description [style*="color:#d0121a"],
#product-description [style*="color: #d0121a"],
.product-description-short [style*="color:#d0121a"],
.product-description-short [style*="color: #d0121a"],
.product-desc [style*="color:#d0121a"],
.product-desc [style*="color: #d0121a"],
.product-meta [style*="color:#d0121a"],
.product-meta [style*="color: #d0121a"],
.thumbnail-container [style*="color:#d0121a"],
.thumbnail-container [style*="color: #d0121a"],
.leo-widget [style*="color:#d0121a"],
.leo-widget [style*="color: #d0121a"],
.page-product [style*="color:#d0121a"],
.page-product [style*="color: #d0121a"],
#product-infos-tabs [style*="color:#d0121a"],
#product-infos-tabs [style*="color: #d0121a"] {
  color: var(--est-primary) !important;
}
/* Verde #218e53 / #008000 → gold (descrizioni prodotto) */
#product-description-short [style*="color:#218e53"],
#product-description-short [style*="color: #218e53"],
#product-description [style*="color:#218e53"],
#product-description [style*="color: #218e53"],
.product-description-short [style*="color:#218e53"],
.product-desc [style*="color:#218e53"],
.product-desc [style*="color: #218e53"],
.product-meta [style*="color:#218e53"],
.product-meta [style*="color: #218e53"],
.thumbnail-container [style*="color:#218e53"],
.thumbnail-container [style*="color: #218e53"],
.leo-widget [style*="color:#218e53"],
.leo-widget [style*="color: #218e53"],
#product-description-short [style*="color:#008000"],
#product-description-short [style*="color: #008000"],
#product-description [style*="color:#008000"],
#product-description [style*="color: #008000"],
.product-description-short [style*="color:#008000"],
.product-desc [style*="color:#008000"],
.product-desc [style*="color: #008000"],
.product-meta [style*="color:#008000"],
.product-meta [style*="color: #008000"],
.thumbnail-container [style*="color:#008000"],
.thumbnail-container [style*="color: #008000"],
.leo-widget [style*="color:#008000"],
.leo-widget [style*="color: #008000"] {
  color: var(--est-primary) !important;
}
/* Required field asterisk red → gold */
.form-group span[style*="color:red"],
.form-group span[style*="color: red"] {
  color: var(--est-primary) !important;
}

/* --- 27. Smooth scroll e transition globali --- */
html {
  scroll-behavior: smooth;
}
img {
  transition: opacity 0.3s ease;
}

/* --- 28. Focus ring accessibile --- */
*:focus-visible {
  outline: 2px solid var(--est-primary) !important;
  outline-offset: 2px;
}
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible) {
  outline: none;
}
/* ============================================
   MACRO CATEGORIE HOMEPAGE - Variante B (4x1 Editorial Cards)
   ============================================ */

/* --- Section wrapper background --- */
.wrapper:has(#home-4-img) {
    background: #f9f7f4 !important;
    padding: 50px 0 55px !important;
}

/* --- Main grid: flex wrap (title full-width, then 4 columns) --- */
#home-4-img.box-kallesbn {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px;
    padding: 0 !important;
    margin: 0 !important;
}
#home-4-img.box-kallesbn > .ApColumn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: calc(25% - 12px) !important;
    padding: 0 !important;
}

/* --- Card container --- */
#home-4-img .ApImage {
    display: flex !important;
    flex-direction: column !important;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 30px rgba(0,0,0,0.04);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0 !important;
}
#home-4-img .ApImage:hover {
    box-shadow: 0 8px 40px rgba(0,0,0,0.08);
    transform: translateY(-4px);
}

/* --- Image: square, no crop, zoom on hover --- */
#home-4-img .ApImage > a {
    display: block !important;
    overflow: hidden;
    aspect-ratio: 1;
    order: -1;
}
#home-4-img .ApImage img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
    border: none !important;
    border-radius: 0 !important;
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
#home-4-img .ApImage:hover img {
    transform: scale(1.06) !important;
    border: none !important;
}

/* --- Text block below image --- */
#home-4-img .image_description {
    padding: 18px 16px 22px !important;
    text-align: center !important;
    background: #fff;
    margin: 0 !important;
    position: relative !important;
    top: auto !important;
    z-index: 2;
}
#home-4-img .image_description h3 {
    font-family: 'Jost', sans-serif !important;
    font-weight: 300 !important;
    font-size: 19px !important;
    color: var(--est-text-dark, #1a1a1a) !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}
#home-4-img .image_description h3 a {
    color: var(--est-text-dark, #1a1a1a) !important;
    transition: color 0.3s ease;
}
#home-4-img .image_description h3 a:hover {
    color: var(--est-primary, #C5A02B) !important;
}

/* Hide any default pseudo-elements from theme */
#home-4-img .image_description h3:before,
#home-4-img .image_description h3:after {
    display: none !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 991px) {
    #home-4-img.box-kallesbn {
        flex-wrap: wrap !important;
        gap: 14px;
    }
    #home-4-img.box-kallesbn > .ApColumn {
        flex: 0 0 calc(50% - 7px) !important;
        max-width: calc(50% - 7px) !important;
    }
}
@media (max-width: 575px) {
    .wrapper:has(#home-4-img) {
        padding: 30px 0 35px !important;
    }
    #home-4-img.box-kallesbn {
        gap: 10px;
        padding: 0 !important;
    }
    #home-4-img.box-kallesbn > .ApColumn {
        flex: 0 0 calc(50% - 5px) !important;
        max-width: calc(50% - 5px) !important;
    }
    #home-4-img .image_description {
        padding: 14px 10px 18px !important;
    }
    #home-4-img .image_description h3 {
        font-size: 15px !important;
    }
}


/* ============================================
   TITOLI E SOTTOTITOLI SEZIONI HOMEPAGE
   Stile unificato Esterel: Jost 300 + DM Sans 400
   ============================================ */

/* --- Titolo sezione (h4.title_block) --- */
#home-4-img .title_block.title-ap-group,
.home-block-tab .title_block.title-ap-group,
#form_7724120442136272 .title_block.title-ap-group,
#form_4907794995040214 .title_block.title-ap-column,
.iscrizione-newsletter .title_block {
    font-family: 'Jost', sans-serif !important;
    font-weight: 300 !important;
    font-size: 32px !important;
    color: var(--est-text-dark, #1a1a1a) !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    text-align: center !important;
    padding: 0 20px 6px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    background: transparent !important;
    border: none !important;
    width: 100% !important;
}

/* Flex full-width dentro container flex (categorie) */
#home-4-img .title_block.title-ap-group {
    flex: 0 0 100% !important;
    margin: 0 0 -8px !important;
    padding: 0 20px 0 !important;
}

/* Colonna blog: forza centramento (il title-ap-column è dentro .ApColumn) */
#form_4907794995040214 > .ApColumn {
    text-align: center !important;
}

/* Rimuovi pseudo-elementi del tema sui titoli */
#home-4-img .title_block::before,
#home-4-img .title_block::after,
.home-block-tab .title_block::before,
.home-block-tab .title_block::after,
#form_7724120442136272 .title_block::before,
#form_7724120442136272 .title_block::after,
#form_4907794995040214 .title_block::before,
#form_4907794995040214 .title_block::after {
    display: none !important;
}

/* --- Sottotitolo sezione --- */
#home-4-img .sub-title-widget.sub-title-ap-group,
.home-block-tab .sub-title-widget.sub-title-ap-group,
#form_7724120442136272 .sub-title-widget.sub-title-ap-group,
#form_4907794995040214 .sub-title-widget.sub-title-ap-column,
.iscrizione-newsletter .sub-title {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    color: var(--est-text-muted, #999) !important;
    text-align: center !important;
    padding: 0 20px !important;
    margin: 0 auto 28px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.01em !important;
    width: 100% !important;
    max-width: none !important;
}

/* Flex full-width dentro container flex (categorie) */
#home-4-img .sub-title-widget.sub-title-ap-group {
    flex: 0 0 100% !important;
    margin: 0 0 20px !important;
}

/* Reset inline styles dal builder (blog + newsletter) */
#form_4907794995040214 .title_block.title-ap-column span,
.iscrizione-newsletter .title_block {
    font-size: inherit !important;
    color: inherit !important;
    border: none !important;
    margin: inherit !important;
    padding: inherit !important;
}
#form_4907794995040214 .sub-title-widget.sub-title-ap-column span,
.iscrizione-newsletter .sub-title {
    font-size: inherit !important;
    color: inherit !important;
}

/* Newsletter: stile specifico (bold per il coupon) */
.iscrizione-newsletter .sub-title strong {
    color: var(--est-primary, #C5A02B) !important;
    font-weight: 600 !important;
}

/* ============================================
   NEWSLETTER — Variante A: Minimal Clean
   Sfondo bianco, form inline pill, testo centrato
   ============================================ */

/* Wrapper esterno: sfondo bianco pulito */
.footer-subscribe {
    padding: 0 !important;
    background: #fff !important;
}
.footer-subscribe > .wrapper,
.box-nomft1:has(.iscrizione-newsletter) {
    background: #fff !important;
}

/* ---- NEWSLETTER VARIANTE A: Minimal Clean (replica demo) ---- */

/* Wrapper e contenitore: sfondo bianco, padding generoso */
.footer-subscribe.container {
    padding: 60px 15px 10px !important;
}
.box-nomft1.ApRow {
    padding: 0 !important;
}

/* Container newsletter centrato */
.iscrizione-newsletter {
    text-align: center !important;
    padding: 10px 20px 0 !important;
}
.iscrizione-newsletter .block_content {
    padding: 0 !important;
}
#newsletter_block_left {
    padding: 0 !important;
    text-align: center !important;
}

/* Badge "Newsletter" dorato sopra il titolo (decorativo) */
#newsletter_block_left::before {
    content: 'Newsletter';
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--est-primary, #C5A02B);
    margin-bottom: 16px;
}

/* Titolo: Jost 300, leggero, elegante */
.iscrizione-newsletter h4,
.iscrizione-newsletter h4.title_block,
#newsletter_block_left .title_block,
#footer #newsletter_block_left .title_block {
    font-family: 'Jost', sans-serif !important;
    font-weight: 300 !important;
    font-size: 32px !important;
    color: var(--est-text-dark, #1a1a1a) !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    text-align: center !important;
    margin: 0 0 10px !important;
    padding: 0 20px !important;
    line-height: 1.2 !important;
    background: transparent !important;
    border: none !important;
}

/* Sottotitolo: DM Sans, grigio, max-width per leggibilità */
#newsletter_block_left .sub-title,
.iscrizione-newsletter .sub-title {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    color: var(--est-text-muted, #999) !important;
    text-align: center !important;
    letter-spacing: 0.01em !important;
    line-height: 1.6 !important;
    margin: 0 auto 8px !important;
    padding: 0 20px !important;
    max-width: 500px !important;
}

/* Coupon "10€ di sconto" — dorato, evidenziato, riga separata */
#newsletter_block_left .sub-title strong {
    color: var(--est-primary, #C5A02B) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    display: block !important;
    margin-top: 10px !important;
    margin-bottom: 28px !important;
}

/* Spam notice: discreto, piccolo, grigio */
.box-nomft1 > .ApColumn > .block:not(.iscrizione-newsletter):not(.footer-bellezza) {
    text-align: center !important;
    padding: 0 20px !important;
}
.box-nomft1 > .ApColumn > .block:not(.iscrizione-newsletter):not(.footer-bellezza) p {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    color: var(--est-text-muted, #999) !important;
    font-style: italic !important;
    margin: 4px 0 0 !important;
}
/* Rimuovi paragrafi vuoti nel blocco spam notice */
.box-nomft1 > .ApColumn > .block:not(.iscrizione-newsletter):not(.footer-bellezza) p:empty {
    display: none !important;
}

/* Mailchimp form - stile inline pill (Variante A) */
#mc_embed_signup {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 480px !important;
}
#mc_embed_signup form {
    padding: 0 !important;
    margin: 0 !important;
}
#mc_embed_signup .mc-field-group {
    display: inline-block !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Form inline: email + bottone affiancati */
#mc_embed_signup_scroll {
    display: flex !important;
    gap: 0 !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    justify-content: center !important;
    align-items: stretch !important;
}
#mc_embed_signup_scroll .mc-field-group.email {
    flex: 1 !important;
    margin: 0 !important;
    font-size: 100% !important;
}
#mc_embed_signup input[type="email"],
#mc_embed_signup .email input {
    width: 100% !important;
    padding: 14px 20px !important;
    border: 1.5px solid #e0e0e0 !important;
    border-right: none !important;
    border-radius: 100px 0 0 100px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    color: var(--est-text-dark) !important;
    outline: none !important;
    transition: border-color 0.3s !important;
    background: #fff !important;
    height: auto !important;
    line-height: normal !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
#mc_embed_signup input[type="email"]:focus {
    border-color: var(--est-primary) !important;
}
#mc_embed_signup input[type="email"]::placeholder {
    color: #bbb !important;
}
#mc_embed_signup .btn,
#mc_embed_signup input[type="submit"],
#mc_embed_signup .button,
#mc_embed_signup_scroll .btn-est {
    padding: 14px 28px !important;
    background: var(--est-primary) !important;
    color: #fff !important;
    border: 1.5px solid var(--est-primary) !important;
    border-radius: 0 100px 100px 0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    white-space: nowrap !important;
    line-height: normal !important;
    height: auto !important;
    box-shadow: none !important;
}
#mc_embed_signup .btn:hover,
#mc_embed_signup input[type="submit"]:hover,
#mc_embed_signup .button:hover,
#mc_embed_signup_scroll .btn-est:hover {
    background: var(--est-primary-hover) !important;
    border-color: var(--est-primary-hover) !important;
}

/* Checkbox e privacy Mailchimp */
#mc_embed_signup .checkbox.subfield.email {
    display: block !important;
    text-align: center !important;
    margin-top: 12px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    color: var(--est-text-muted) !important;
}
/* Messaggio di risposta Mailchimp */
#mc_embed_signup .response,
#mce-responses {
    text-align: center !important;
    margin: 12px auto 0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
}

/* ============================================
   NEWSLETTER — Variante A (nuovo template HTML)
   Classi: .nl-variant-a, .nl-badge, h3, .nl-subtitle,
   .nl-coupon-text, .nl-form, .nl-privacy, .nl-spam-note
   ============================================ */

.nl-variant-a {
  text-align: center !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}

/* Badge "Newsletter" — pill dorata sopra il titolo */
.nl-variant-a .nl-badge {
  display: inline-block !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--est-primary, #C5A02B) !important;
  margin-bottom: 16px !important;
}

/* Titolo h3 — Jost 300, leggero */
.nl-variant-a h3 {
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 32px !important;
  color: var(--est-text-dark, #1a1a1a) !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  text-align: center !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

/* Sottotitolo */
.nl-variant-a .nl-subtitle,
.footer-container .ApHtml .nl-variant-a .nl-subtitle {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: var(--est-text-muted, #999) !important;
  line-height: 1.6 !important;
  margin: 0 auto 8px !important;
  max-width: 500px !important;
  text-align: center !important;
}

/* Coupon "10€ di sconto" — dorato, evidenziato */
.nl-variant-a .nl-coupon-text {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--est-primary, #C5A02B) !important;
  margin: 10px 0 28px !important;
}

/* Form inline pill: email + bottone affiancati */
.nl-variant-a .nl-form {
  display: flex !important;
  gap: 0 !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  justify-content: center !important;
  align-items: stretch !important;
}

.nl-variant-a .nl-form input[type="email"] {
  flex: 1 !important;
  padding: 14px 20px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-right: none !important;
  border-radius: 100px 0 0 100px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: var(--est-text-dark) !important;
  outline: none !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color 0.3s !important;
  -webkit-appearance: none !important;
}
.nl-variant-a .nl-form input[type="email"]:focus {
  border-color: var(--est-primary) !important;
}
.nl-variant-a .nl-form input[type="email"]::placeholder {
  color: #bbb !important;
}

.nl-variant-a .nl-form button {
  padding: 14px 28px !important;
  background: var(--est-primary, #C5A02B) !important;
  color: #fff !important;
  border: 1.5px solid var(--est-primary, #C5A02B) !important;
  border-radius: 0 100px 100px 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
.nl-variant-a .nl-form button:hover {
  background: #b08f1f !important;
  border-color: #b08f1f !important;
}

/* Privacy link */
.nl-variant-a .nl-privacy {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  color: var(--est-text-muted, #999) !important;
  margin: 12px 0 0 !important;
}
.nl-variant-a .nl-privacy a {
  color: var(--est-primary, #C5A02B) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.nl-variant-a .nl-privacy a:hover {
  text-decoration: underline !important;
}

/* Messaggio risposta */
.nl-variant-a .nl-message {
  text-align: center !important;
  margin: 8px auto 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
}

/* Nota spam — discreto */
.nl-variant-a .nl-spam-note {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  color: var(--est-text-muted, #999) !important;
  font-style: italic !important;
  margin: 4px 0 0 !important;
}

/* ============================================
   "PROFESSIONISTA DELLA BELLEZZA" — Variante B: Card Warm
   Card centrata con sfondo caldo, stelle dorate, bottone pill
   ============================================ */

/* Container: card warm full-width */
.footer-bellezza {
    background: var(--est-bg-warm, #f5f0ea) !important;
    border-radius: 12px !important;
    padding: 50px 40px !important;
    margin: 40px 0 0 !important;
    text-align: center !important;
    width: 100% !important;
    max-width: none !important;
    border-top: none !important;
}

/* Stelle dorate */
.footer-bellezza .stelline-sopra,
.footer-bellezza .stelline-sotto {
    color: var(--est-primary) !important;
    font-size: 12px !important;
    letter-spacing: 6px !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
}
.footer-bellezza .stelline-sotto {
    padding: 20px 0 0 !important;
}
.footer-bellezza .stelline-sopra .fa,
.footer-bellezza .stelline-sotto .fa,
.footer-bellezza .stelline-sopra .fa-star,
.footer-bellezza .stelline-sotto .fa-star {
    font-size: 12px !important;
    margin: 0 2px !important;
}

/* Titolo "Sei un Professionista della Bellezza?" */
.footer-bellezza h2.title_block,
.footer-bellezza .title_block {
    font-family: 'Jost', sans-serif !important;
    font-weight: 300 !important;
    font-size: 26px !important;
    color: var(--est-text-dark) !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    background: transparent !important;
    border: none !important;
}
.footer-bellezza h2.title_block strong,
.footer-bellezza .title_block strong {
    font-weight: 300 !important;
}

/* Sottotitolo "Scopri ora l'eccellenza del METODO ESTEREL su" */
.footer-bellezza h3 {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    color: var(--est-text-body, #555) !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    line-height: 1.6 !important;
    margin: 0 0 6px !important;
}
.footer-bellezza h3 span {
    color: var(--est-text-body, #555) !important;
}
.footer-bellezza h3 strong {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--est-primary) !important;
    letter-spacing: 0.04em !important;
}

/* Bottone CTA "IL DIARIO DELLA BELLEZZA" */
.footer-bellezza h2:has(.btn),
.footer-bellezza h2:last-of-type {
    margin: 24px 0 0 !important;
    font-size: inherit !important;
}
.footer-bellezza .btn,
.footer-bellezza .btn-default {
    display: inline-block !important;
    padding: 14px 40px !important;
    background: var(--est-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.footer-bellezza .btn:hover,
.footer-bellezza .btn-default:hover {
    background: var(--est-text-dark, #1a1a1a) !important;
    color: #fff !important;
    border: none !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}

/* --- Prodotti: title-home-prod "OFFERTA SPECIALE" (riga sopra tabs) --- */
#title-home-prod .block_content p {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--est-primary, #C5A02B) !important;
    text-align: center !important;
    margin: 0 !important;
}

/* ============================================
   RESPONSIVE - Titoli sezioni
   ============================================ */
@media (max-width: 991px) {
    #home-4-img .title_block.title-ap-group,
    .home-block-tab .title_block.title-ap-group,
    #form_4907794995040214 .title_block.title-ap-column,
    .iscrizione-newsletter .title_block {
        font-size: 28px !important;
    }
}

@media (max-width: 575px) {
    #home-4-img .title_block.title-ap-group,
    .home-block-tab .title_block.title-ap-group,
    #form_4907794995040214 .title_block.title-ap-column,
    .iscrizione-newsletter .title_block {
        font-size: 24px !important;
        padding: 0 10px 4px !important;
    }
    #home-4-img .sub-title-widget.sub-title-ap-group,
    .home-block-tab .sub-title-widget.sub-title-ap-group,
    #form_4907794995040214 .sub-title-widget.sub-title-ap-column,
    .iscrizione-newsletter .sub-title {
        font-size: 13px !important;
        margin: 0 0 20px !important;
        padding: 0 10px !important;
    }
    /* Professionista card: responsive */
    .footer-bellezza {
        padding: 36px 20px !important;
        margin: 30px 10px 0 !important;
    }
    .footer-bellezza h2.title_block,
    .footer-bellezza .title_block {
        font-size: 22px !important;
    }
    /* Newsletter form: stacked su mobile */
    #mc_embed_signup_scroll {
        flex-direction: column !important;
        max-width: 320px !important;
    }
    #mc_embed_signup input[type="email"],
    #mc_embed_signup .email input {
        border-right: 1.5px solid #e0e0e0 !important;
        border-radius: 100px !important;
    }
    #mc_embed_signup .btn,
    #mc_embed_signup input[type="submit"],
    #mc_embed_signup .button,
    #mc_embed_signup_scroll .btn-est {
        border-radius: 100px !important;
        margin-top: 8px !important;
    }
}

/* ============================================
  visibility: hidden !important;
}

  visibility: hidden !important;
}

/* ============================================
   CHECKOUT SHIPPING UX — Anti-flash + pending state
   Nasconde spese spedizione nella sidebar fino allo step delivery.
   Classe 'checkout-shipping-pending' gestita da checkout-shipping-ux.js
   ============================================ */

body.checkout-shipping-pending #cart-subtotal-shipping .value {
  visibility: hidden !important;
}

body.checkout-shipping-pending .js-cart-summary-totals .cart-total .value {
  visibility: hidden !important;
}

body.checkout-shipping-pending .js-cart-detailed-totals .cart-total .value {
  visibility: hidden !important;
}
