/*
 * Immagine e Suono - Tema figlio PrestaShop 9
 * Tema padre: Hummingbird
 */

:root {
  --ies-black: #111111;
  --ies-dark: #1b1b1b;
  --ies-gray: #666666;
  --ies-light: #f7f7f7;
  --ies-white: #ffffff;
  --ies-green: #0d7d69;
  --ies-green-dark: #176235;
  --ies-green-light: #e8f4ee;
  --ies-orange: #f28c28;
}

/* Base */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--ies-black);
  background: var(--ies-white);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Testi mobile */
@media (max-width: 767px) {
  body {
    font-size: 18px;
    line-height: 1.6;
  }

  p,
  .page-content p,
  .cms-page p,
  .custom-text p,
  .rte p {
    font-size: 18px;
    line-height: 1.65;
  }

  .page-content,
  .cms-page,
  .custom-text,
  .rte {
    font-size: 18px;
    line-height: 1.65;
  }
}

/* Link */
a {
  color: var(--ies-black);
}

a:hover {
  color: var(--ies-green);
}

/* Pulsanti principali */
.btn-primary,
button.btn-primary,
input.btn-primary {
  background-color: #0d7d69;
  border-color: #0d7d69;
  color: var(--ies-white);
  font-weight: 700;
  text-decoration: none;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
button.btn-primary:hover,
button.btn-primary:focus,
button.btn-primary:focus-visible,
button.btn-primary:active,
input.btn-primary:hover,
input.btn-primary:focus,
input.btn-primary:focus-visible,
input.btn-primary:active {
  background-color: #ffffff;
  border-color: #0d7d69;
  color: #111111;
  font-weight: 700;
  text-decoration: none;
}

.btn-primary:focus,
.btn-primary:focus-visible,
button.btn-primary:focus,
button.btn-primary:focus-visible,
input.btn-primary:focus,
input.btn-primary:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}

/* INIZIO - Uniformazione colori pulsanti modale carrello Front Office */
#blockcart-modal .modal-footer .btn-primary {
  background-color: #0d7d69;
  color: #ffffff;
  border: 1px solid #0d7d69;
  font-weight: 700;
}

#blockcart-modal .modal-footer .btn-primary:hover,
#blockcart-modal .modal-footer .btn-primary:focus,
#blockcart-modal .modal-footer .btn-primary:focus-visible,
#blockcart-modal .modal-footer .btn-primary:active {
  background-color: transparent;
  color: #111111;
  border-color: #0d7d69;
  font-weight: 700;
  text-decoration: none;
}

#blockcart-modal .modal-footer .btn-outline-primary {
  background-color: transparent;
  color: #0d7d69;
  border: 1px solid #0d7d69;
  font-weight: 700;
}

#blockcart-modal .modal-footer .btn-outline-primary:hover,
#blockcart-modal .modal-footer .btn-outline-primary:focus,
#blockcart-modal .modal-footer .btn-outline-primary:focus-visible,
#blockcart-modal .modal-footer .btn-outline-primary:active {
  background-color: #0d7d69;
  color: #ffffff;
  border-color: #0d7d69;
  font-weight: 700;
  text-decoration: none;
}
/* FINE - Uniformazione colori pulsanti modali Front Office */

/* INIZIO - Pulsante checkout pagina carrello */
body#cart .js-cart-detailed-actions .btn-primary {
  background-color: #0d7d69;
  color: #ffffff;
  border: 1px solid #0d7d69;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body#cart .js-cart-detailed-actions .btn-primary:hover,
body#cart .js-cart-detailed-actions .btn-primary:focus,
body#cart .js-cart-detailed-actions .btn-primary:focus-visible,
body#cart .js-cart-detailed-actions .btn-primary:active {
  background-color: transparent;
  color: #111111;
  border-color: #0d7d69;
  font-weight: 700;
  text-decoration: none;
}

body#cart .js-cart-detailed-actions .btn-primary:focus,
body#cart .js-cart-detailed-actions .btn-primary:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE - Pulsante checkout pagina carrello */

/* INIZIO FIX — Continua lo shopping outline/hover verde */
body#cart .cart__continue-shopping {
  color: #000000;
  font-weight: 700;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid #0d7d69;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body#cart .cart__continue-shopping .material-icons {
  color: #000000;
  transition: color 0.2s ease;
}

body#cart .cart__continue-shopping:hover,
body#cart .cart__continue-shopping:focus,
body#cart .cart__continue-shopping:focus-visible,
body#cart .cart__continue-shopping:active {
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  background-color: #0d7d69;
  border-color: #0d7d69;
}

body#cart .cart__continue-shopping:hover .material-icons,
body#cart .cart__continue-shopping:focus .material-icons,
body#cart .cart__continue-shopping:focus-visible .material-icons,
body#cart .cart__continue-shopping:active .material-icons {
  color: #ffffff;
}

body#cart .cart__continue-shopping:focus,
body#cart .cart__continue-shopping:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE FIX — Continua lo shopping outline/hover verde */

/* INIZIO - Sfondo e pannelli pagina checkout */
body#checkout #wrapper {
  background-color: #eeeeee;
}

body#checkout .checkout-grid__content,
body#checkout .checkout-grid__aside,
body#checkout .checkout-grid__content .tab-content,
body#checkout .checkout__summary-accordion-wrapper {
  min-width: 0;
  max-width: 100%;
}

body#checkout .checkout-grid__content .step.step--current {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 1rem;
  background-color: #ffffff;
  border: 1px solid #e3e7eb;
  border-radius: 8px;
}

body#checkout .checkout__summary-accordion-wrapper > .accordion-collapse {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 1rem;
  overflow: hidden;
  background-color: #ffffff;
  border: 1px solid #e3e7eb;
  border-radius: 8px;
}

body#checkout .checkout-grid__content .form-control,
body#checkout .checkout-grid__content .form-select,
body#checkout .checkout-grid__content .address-card {
  background-color: #ffffff;
}

@media (max-width: 991.98px) {
  body#checkout .checkout__summary-accordion-header {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-inline: 1rem;
    margin-bottom: 0.5rem;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #e3e7eb;
    border-radius: 8px;
  }
}
/* FINE - Sfondo e pannelli pagina checkout */

/* INIZIO - Sfondo pagina registrazione */
body#registration #wrapper {
  background-color: #eeeeee;
}
/* FINE - Sfondo pagina registrazione */

/* INIZIO - Correzione sfondo angoli riepilogo checkout */
body#checkout .checkout__summary-accordion,
body#checkout .checkout__summary-accordion-item,
body#checkout .checkout__summary-accordion-wrapper {
  background-color: transparent;
}
/* FINE - Correzione sfondo angoli riepilogo checkout */

/* INIZIO - Contrasto bordo checkbox checkout */
body#checkout .form-check-input[type="checkbox"]:not(:checked):not(:indeterminate) {
  background-color: #ffffff;
  border-color: #b8bec6;
}

body#checkout .form-check-input[type="checkbox"]:not(:checked):not(:indeterminate):hover {
  border-color: #8f969e;
}

body#checkout .form-check-input[type="checkbox"]:not(:checked):not(:indeterminate):focus,
body#checkout .form-check-input[type="checkbox"]:not(:checked):not(:indeterminate):focus-visible {
  border-color: #0d7d69;
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.2);
}
/* FINE - Contrasto bordo checkbox checkout */

/* INIZIO - Stile pulsanti finali sezioni prodotto */
#index .module-products__buttons .btn.btn-outline-primary {
  color: var(--ies-black);
  text-decoration: none;
  background-color: #fff;
  border-color: var(--bs-primary);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

#index .module-products__buttons .btn.btn-outline-primary .material-icons {
  color: inherit;
}

#index .module-products__buttons .btn.btn-outline-primary:hover,
#index .module-products__buttons .btn.btn-outline-primary:focus,
#index .module-products__buttons .btn.btn-outline-primary:focus-visible,
#index .module-products__buttons .btn.btn-outline-primary:active {
  color: #fff;
  text-decoration: none;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

#index .module-products__buttons .btn.btn-outline-primary:focus,
#index .module-products__buttons .btn.btn-outline-primary:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.3);
}
/* FINE - Stile pulsanti finali sezioni prodotto */

/* Header */
.header-top,
#header {
  background: var(--ies-white);
}

/* INIZIO - Sfondo verde header-bottom con testi, link e icone bianchi */
.header-bottom {
  border-bottom: 1px solid var(--bs-border-color);
  padding: .25rem 0;
  background-color: #0d7d69;
}

.header-bottom,
.header-bottom a:not(.avemm-navigation a):not(#mobileMenu a),
.header-bottom button:not(.avemm-navigation button):not(#mobileMenu button),
.header-bottom .nav-link:not(.avemm-navigation .nav-link):not(#mobileMenu .nav-link),
.header-bottom i:not(.avemm-navigation i):not(#mobileMenu i),
.header-bottom svg:not(.avemm-navigation svg):not(#mobileMenu svg),
.header-bottom span:not(.avemm-navigation span):not(#mobileMenu span) {
  color: #ffffff !important;
}
/* FINE - Sfondo verde header-bottom con testi, link e icone bianchi */

/* INIZIO - Testi e icone neri nel reale offcanvas Hummingbird del menu mobile */
#mobileMenu.ps-mainmenu--mobile,
#mobileMenu.ps-mainmenu--mobile .offcanvas-header,
#mobileMenu.ps-mainmenu--mobile .ps-mainmenu__mobile,
#mobileMenu.ps-mainmenu--mobile .menu,
#mobileMenu.ps-mainmenu--mobile .menu__title,
#mobileMenu.ps-mainmenu--mobile .menu__link,
#mobileMenu.ps-mainmenu--mobile .menu a,
#mobileMenu.ps-mainmenu--mobile button,
#mobileMenu.ps-mainmenu--mobile span,
#mobileMenu.ps-mainmenu--mobile i,
#mobileMenu.ps-mainmenu--mobile svg {
  color: #111111 !important;
}

#mobileMenu.ps-mainmenu--mobile svg {
  fill: #111111 !important;
  stroke: #111111 !important;
}
/* FINE - Testi e icone neri nel reale offcanvas Hummingbird del menu mobile */

/* INIZIO - Testi e icone neri nel drawer mobile Ave Mega Menu realmente attivo */
@media (max-width: 1199.98px) {
  .header-bottom .avemm #avemm-navigation.avemm-navigation,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-navigation__header,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-item__link,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-item__toggle,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-block__title,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-block__description,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-links a,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-links__children a,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-brands a,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-products a,
  .header-bottom .avemm #avemm-navigation.avemm-navigation .avemm-banner,
  .header-bottom .avemm #avemm-navigation.avemm-navigation button,
  .header-bottom .avemm #avemm-navigation.avemm-navigation span,
  .header-bottom .avemm #avemm-navigation.avemm-navigation strong,
  .header-bottom .avemm #avemm-navigation.avemm-navigation i,
  .header-bottom .avemm #avemm-navigation.avemm-navigation svg {
    color: #111111 !important;
  }

  .header-bottom .avemm #avemm-navigation.avemm-navigation svg {
    fill: #111111 !important;
    stroke: #111111 !important;
  }
}
/* FINE - Testi e icone neri nel drawer mobile Ave Mega Menu realmente attivo */

/* INIZIO - Testi bianchi limitati alla barra principale Ave Mega Menu desktop */
@media (min-width: 1200px) {
  .header-bottom .avemm:not(.avemm--compact) #avemm-navigation.avemm-navigation > .avemm-list > .avemm-item > .avemm-item__heading > .avemm-item__link,
  .header-bottom .avemm:not(.avemm--compact) #avemm-navigation.avemm-navigation > .avemm-list > .avemm-item > .avemm-item__heading > .avemm-item__toggle,
  .header-bottom .avemm:not(.avemm--compact) #avemm-navigation.avemm-navigation > .avemm-list > .avemm-item > .avemm-item__heading > .avemm-item__toggle span {
    color: #ffffff !important;
  }
}
/* FINE - Testi bianchi limitati alla barra principale Ave Mega Menu desktop */

/* INIZIO FIX234 - Header desktop a due righe persistente nel tema child */
@media (min-width: 1200px) {
  .header-bottom {
    padding-block: .5rem 0;
  }

  .header-bottom__container.container-md {
    width: 100%;
    max-width: none;
    padding-inline: clamp(1rem, 3vw, 4rem);
  }

  .header-bottom__row {
    display: grid;
    grid-template-columns: auto minmax(18rem, 1fr) auto auto;
    grid-template-rows: auto auto;
    column-gap: clamp(.75rem, 1.5vw, 1.5rem);
    row-gap: .25rem;
    align-items: center;
    margin-inline: 0;
  }

  .header-bottom__logo {
    grid-column: 1;
    grid-row: 1;
    margin: 0 !important;
    padding-block: .25rem;
  }

  .header-bottom #_desktop_ps_searchbar {
    display: flex !important;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0;
  }

  .header-bottom #_desktop_ps_searchbar #ps_searchbar,
  .header-bottom #_desktop_ps_searchbar .ps-searchbar__form {
    width: 100%;
  }

  .header-bottom #_desktop_ps_searchbar .ps-searchbar {
    min-width: 0;
    margin-block: .25rem;
  }

  .header-bottom #_desktop_ps_searchbar .ps-searchbar__magnifier,
  .header-bottom #_desktop_ps_searchbar .ps-searchbar__clear {
    color: var(--ies-black) !important;
  }

  .header-bottom #_desktop_ps_customersignin {
    grid-column: 3;
    grid-row: 1;
  }

  .header-bottom #_desktop_ps_shoppingcart {
    grid-column: 4;
    grid-row: 1;
  }

  .header-bottom #_desktop_ps_customersignin,
  .header-bottom #_desktop_ps_shoppingcart {
    align-self: stretch;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }

  .header-bottom .avemm {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    padding: 0;
  }

  .header-bottom .avemm:not(.avemm--compact) .avemm-navigation {
    width: 100%;
    min-width: 0;
  }

  .header-bottom .avemm:not(.avemm--compact) .avemm-list {
    justify-content: center;
    width: 100%;
    min-width: 0;
    /* La misura effettiva delle voci decide quando attivare il drawer. */
    flex-wrap: nowrap;
  }

  .header-bottom .avemm:not(.avemm--compact) .avemm-list > .avemm-item {
    flex: 0 0 auto;
    min-width: 0;
  }

  .header-bottom .avemm:not(.avemm--compact) .avemm-item__link {
    min-height: 3rem;
    padding-block: .5rem;
    padding-inline: clamp(.2rem, .42vw, .55rem) .2rem;
    font-size: clamp(.75rem, .82vw, 1rem);
    min-width: 0;
    white-space: nowrap;
    overflow-wrap: anywhere;
  }

  .header-bottom .avemm:not(.avemm--compact) .avemm-item__toggle {
    min-width: 1rem;
    min-height: 3rem;
    padding-inline: .1rem clamp(.2rem, .4vw, .45rem);
  }
}
/* FINE FIX234 - Header desktop a due righe persistente nel tema child */

/* INIZIO FIX235 - Prima riga desktop centrata con logo, ricerca e azioni */
@media (min-width: 1200px) {
  #header {
    position: sticky;
  }

  #header .header-top {
    position: absolute;
    inset: .5rem 0 auto;
    z-index: 2;
    padding: 0;
    border: 0;
    background: transparent;
    pointer-events: none;
  }

  #header .header-top > .container-md {
    width: 100%;
    max-width: none;
    padding-inline: clamp(1rem, 3vw, 4rem);
  }

  #header .header-top .row {
    min-height: 3.5rem;
    align-items: center;
    justify-content: flex-end;
    margin-inline: 0;
  }

  #header .header-top__left {
    display: none;
  }

  #header .header-top__right {
    width: auto;
    max-width: none;
    padding: 0;
    pointer-events: auto;
  }

  #header .header-bottom {
    padding-block: .5rem 0;
    /* INIZIO FIX243 — Sfondo header #e2ede8 */
    background-color: #e2ede8;
    /* FINE FIX243 — Sfondo header #e2ede8 */
  }

  #header .header-bottom__row {
    grid-template-columns: auto minmax(18rem, 60rem) minmax(12rem, 1fr);
  }

  #header .header-bottom__logo {
    position: relative;
    z-index: 3;
    align-self: center;
    justify-self: start;
  }

  #header .header-bottom #_desktop_ps_searchbar {
    position: relative;
    z-index: 3;
    justify-self: center;
    width: 100%;
    max-width: 60rem;
    margin-inline: auto !important;
  }

  #header .header-bottom .avemm {
    position: relative;
    z-index: 1;
    padding-inline: 0;
    background-color: #0d7d69;
  }
}
/* FINE FIX235 - Prima riga desktop centrata con logo, ricerca e azioni */

/* INIZIO FIX262 - Trigger Consulente compatto nei layout larghi */
.aveadvisor__launcher-label--wide {
  display: none;
}

@media (min-width: 1200px) {
  #header .header-bottom #_desktop_ps_searchbar #ps_searchbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: .75rem;
    align-items: center;
  }

  #header .header-bottom #_desktop_ps_searchbar .ps-searchbar__form {
    grid-column: 1;
    min-width: 0;
    margin: 0;
  }

  #header .header-bottom #_desktop_ps_searchbar .aveadvisor__launcher--desktop,
  #header .header-bottom #_desktop_ps_searchbar .aveadvisor__launcher--desktop:hover,
  #header .header-bottom #_desktop_ps_searchbar .aveadvisor__launcher--desktop:focus,
  #header .header-bottom #_desktop_ps_searchbar .aveadvisor__launcher--desktop:focus-visible,
  #header .header-bottom #_desktop_ps_searchbar .aveadvisor__launcher--desktop:active {
    position: static;
    display: inline-flex;
    grid-column: 2;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: calc(2.75rem - 10px);
    margin: 0;
    padding: .5rem .75rem;
    border: 1px solid #0d7d69;
    border-radius: .5rem;
    background: #0d7d69;
    color: #ffffff !important;
    line-height: 1;
    text-decoration: none;
    transform: none;
  }

  #header .header-bottom #_desktop_ps_searchbar .aveadvisor__launcher-label--default {
    display: none;
  }

  #header .header-bottom #_desktop_ps_searchbar .aveadvisor__launcher-label--wide {
    display: inline-flex;
    align-items: center;
    gap: 2mm;
    white-space: nowrap;
  }
}
/* FINE FIX262 - Trigger Consulente compatto nei layout larghi */

/* INIZIO FIX236 - Riga superiore allineata al container prodotti Hummingbird */
@media (min-width: 1200px) {
  #header .header-top > .container-md,
  #header .header-bottom__container.container-md {
    width: 100%;
    max-width: 1140px;
    margin-inline: auto;
    padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5);
  }

  #header .header-bottom__row {
    grid-template-columns: auto minmax(0, 1fr) minmax(12rem, auto);
  }

  #header .header-bottom #_desktop_ps_searchbar {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
}

@media (min-width: 1400px) {
  #header .header-top > .container-md,
  #header .header-bottom__container.container-md {
    max-width: 1320px;
  }
}
/* FINE FIX236 - Riga superiore allineata al container prodotti Hummingbird */

/* INIZIO FIX258 - Ricerca più corta esclusivamente su iPad Air 13 landscape */
@supports (-webkit-touch-callout: none) {
  @media (width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    #header .header-bottom__row {
      column-gap: 1.5rem;
    }

    #header .header-bottom #_desktop_ps_searchbar {
      max-width: 32rem;
      margin-inline: auto !important;
      justify-self: center;
    }

    #header .header-top #_desktop_ps_customersignin,
    #header .header-top #_desktop_ps_shoppingcart {
      min-width: max-content;
      flex-shrink: 0;
      overflow: visible;
    }
  }
}
/* FINE FIX258 - Ricerca più corta esclusivamente su iPad Air 13 landscape */

/* INIZIO FIX — Desktop largo ricerca centrata e limitata */
@media (min-width: 1400px) and (pointer: fine) {
  #header .header-bottom__row {
    column-gap: 2rem;
  }

  #header .header-bottom #_desktop_ps_searchbar {
    max-width: 40rem;
    margin-inline: auto !important;
    justify-self: center;
  }

  #header .header-top #_desktop_ps_customersignin,
  #header .header-top #_desktop_ps_shoppingcart {
    min-width: max-content;
    flex-shrink: 0;
    overflow: visible;
  }
}
/* FINE FIX — Desktop largo ricerca centrata e limitata */

/* INIZIO FIX237 - Sfondo full-width senza ritagliare i pannelli Mega Menu */
@media (min-width: 1200px) {
  #header .header-bottom .avemm {
    isolation: isolate;
    background-color: transparent;
    box-shadow: none;
    clip-path: none;
  }

  #header .header-bottom .avemm::before {
    position: absolute;
    inset-block: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    content: "";
    background-color: #0d7d69;
    transform: translateX(-50%);
    pointer-events: none;
  }
}
/* FINE FIX237 - Sfondo full-width senza ritagliare i pannelli Mega Menu */

/* INIZIO FIX242 - Lente decorativa dentro il campo ricerca desktop e tablet landscape */
@media (min-width: 1200px),
  (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
  #header #_desktop_ps_searchbar .ps-searchbar__form {
    position: relative;
  }

  #header #_desktop_ps_searchbar .ps-searchbar__magnifier {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 1rem;
    z-index: 1;
    padding: 0;
    color: rgb(17 17 17 / 70%) !important;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
  }

  #header #_desktop_ps_searchbar .ps-searchbar__input {
    padding-left: 2.75rem;
  }
}
/* FINE FIX242 - Lente decorativa dentro il campo ricerca desktop e tablet landscape */

/* INIZIO FIX254 — Lente ricerca iPad portrait */
@supports (-webkit-touch-callout: none) {
  @media (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) and (pointer: coarse) {
    #header #_desktop_ps_searchbar .ps-searchbar__form {
      position: relative;
    }

    #header #_desktop_ps_searchbar .ps-searchbar__magnifier {
      display: inline-block;
      position: absolute;
      top: 50%;
      left: 1rem;
      z-index: 1;
      padding: 0;
      color: rgb(17 17 17 / 70%) !important;
      line-height: 1;
      pointer-events: none;
      transform: translateY(-50%);
    }

    #header #_desktop_ps_searchbar .ps-searchbar__input {
      padding-left: 2.75rem;
    }
  }
}
/* FINE FIX254 — Lente ricerca iPad portrait */

/* INIZIO - UI151 icone header maggiorate esclusivamente su smartphone */
@media (max-width: 575.98px),
  (max-width: 991.98px) and (max-height: 575.98px) and (orientation: landscape) {
  .header-bottom .avemm > .avemm-toggle > .avemm-toggle__icon {
    font-size: 1.8rem;
    line-height: 1;
  }

  .header-bottom .ps-searchbar--mobile .header-block__icon,
  .header-bottom #_mobile_ps_customersignin .header-block__icon,
  .header-bottom #_mobile_ps_shoppingcart .header-block__icon {
    font-size: 1.5rem;
    line-height: 1;
  }

  .header-bottom .avemm > .avemm-toggle,
  .header-bottom .ps-searchbar--mobile .header-block__action-btn,
  .header-bottom #_mobile_ps_customersignin .header-block__action-btn,
  .header-bottom #_mobile_ps_shoppingcart .header-block__action-btn {
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }

  .header-bottom #_mobile_ps_shoppingcart .header-block__badge {
    top: -0.125rem;
    right: -0.125rem;
  }
}
/* FINE - UI151 icone header maggiorate esclusivamente su smartphone */

/* INIZIO FIX249 — Hamburger iPhone 2.4rem */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 575.98px),
    (max-width: 991.98px) and (max-height: 575.98px) and (orientation: landscape) {
    .header-bottom .avemm > .avemm-toggle > .avemm-toggle__icon {
      font-size: 2.4rem;
    }
  }
}
/* FINE FIX249 — Hamburger iPhone 2.4rem */

/* INIZIO FIX251 — iPad portrait header + hamburger */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) and (pointer: coarse) {
  #header,
  #header .header-top {
    background-color: #e2ede8;
  }

  .header-bottom .avemm > .avemm-toggle > .avemm-toggle__icon {
    font-size: 1.875rem;
  }
}
/* FINE FIX251 — iPad portrait header + hamburger */

/* INIZIO FIX253 — Hamburger iPad 10 landscape */
@supports (-webkit-touch-callout: none) {
  @media (width: 1180px) and (orientation: landscape) and (pointer: coarse) {
    .header-bottom .avemm > .avemm-toggle > .avemm-toggle__icon {
      font-size: 2.25rem;
    }
  }
}
/* FINE FIX253 — Hamburger iPad 10 landscape */

/* INIZIO FIX255 — Chevron menu iPad 10 landscape */
@supports (-webkit-touch-callout: none) {
  @media (width: 1180px) and (orientation: landscape) and (pointer: coarse) {
    .header-bottom .avemm-list > .avemm-item > .avemm-item__heading > .avemm-item__toggle {
      display: inline-flex;
    }

    .header-bottom .avemm-list > .avemm-item:not(:last-child) > .avemm-item__heading::after {
      display: none;
      content: none;
    }
  }
}
/* FINE FIX255 — Chevron menu iPad 10 landscape */

/* INIZIO FIX256 — Le nostre realizzazioni iPad 10 landscape */
@supports (-webkit-touch-callout: none) {
  @media (width: 1180px) and (orientation: landscape) and (pointer: coarse) {
    .ave-realizations--home .ave-gallery__rail {
      --ave-ipad-10-gap: clamp(1rem, 2vw, 2rem);
      gap: var(--ave-ipad-10-gap);
    }

    .ave-realizations--home .ave-home-card {
      min-width: 0;
      width: 100%;
      max-width: 100%;
    }

    .ave-realizations--home .ave-home-card__cover picture,
    .ave-realizations--home .ave-home-card__cover img {
      width: 100%;
      max-width: 100%;
    }

    .ave-realizations--home .ave-home-card__cover img {
      height: auto;
      object-fit: contain;
    }
  }
}
/* FINE FIX256 — Le nostre realizzazioni iPad 10 landscape */

/* INIZIO FIX257 — 2 realizzazioni iPad 10 landscape */
@supports (-webkit-touch-callout: none) {
  @media (width: 1180px) and (orientation: landscape) and (pointer: coarse) {
    .ave-realizations--home .ave-gallery__rail {
      display: flex;
    }

    .ave-realizations--home .ave-home-card {
      flex: 0 0 calc((100% - var(--ave-ipad-10-gap)) / 2);
    }
  }
}
/* FINE FIX257 — 2 realizzazioni iPad 10 landscape */

/* INIZIO FIX250 — X menu iPhone senza quadrato */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 575.98px),
    (max-width: 991.98px) and (max-height: 575.98px) and (orientation: landscape) {
    .avemm-navigation--open .avemm-navigation__close {
      -webkit-appearance: none;
      appearance: none;
      border: 0;
      background: transparent;
      box-shadow: none;
    }

    .avemm-navigation--open .avemm-navigation__close:focus:not(:focus-visible) {
      outline: none;
    }

    .avemm-navigation--open .avemm-navigation__close:focus-visible {
      outline: 2px solid #0d7d69;
      outline-offset: 2px;
    }
  }
}
/* FINE FIX250 — X menu iPhone senza quadrato */

/* Titoli */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--ies-black);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

/* Card prodotto */
.product-miniature,
.product {
  border-radius: 6px;
}

/* INIZIO - Riquadro permanente schede prodotto */
.product-miniature > .product-miniature__inner {
  box-sizing: border-box;
  height: 100%;
  padding: 0.5rem;
  background: #fff;
  border: 1px solid #e3e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(17, 17, 17, 0.05);
  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
  .product-miniature > .product-miniature__inner:hover {
    border-color: var(--ies-green);
    box-shadow: 0 8px 20px rgba(17, 17, 17, 0.14);
    transform: translateY(-3px);
  }
}

.product-miniature > .product-miniature__inner:focus-within {
  border-color: var(--ies-green);
  box-shadow: 0 8px 20px rgba(17, 17, 17, 0.14);
}
/* FINE - Riquadro permanente schede prodotto */

/* INIZIO - Pulsante Aggiungi al carrello nelle card della home */
#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart {
  display: flex;
  width: 100%;
  min-width: 0;
}

/* INIZIO - Rifinitura pulsante Aggiungi al carrello home */
#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.6875rem 1rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  background-color: #0d7d69;
  border: 1px solid #0d7d69;
  border-radius: var(--bs-border-radius);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__text {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* INIZIO - Link Scopri di più nelle card della home */
#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__icon {
  flex: 0 0 auto;
  margin-left: 0.5rem;
  color: currentColor;
  font-size: 1.25rem;
  line-height: 1;
}
/* FINE - Link Scopri di più nelle card della home */
/* FINE - Rifinitura pulsante Aggiungi al carrello home */

#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__button:hover,
#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__button:focus,
#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__button:focus-visible,
#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__button:active {
  color: #111111;
  text-decoration: none;
  background-color: transparent;
  border-color: #0d7d69;
}

#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__button:focus,
#index :is(.ps-featuredproducts, .ps-newproducts, .ps-bestsellers, .ps-specials) .ies-home-add-to-cart__button:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE - Pulsante Aggiungi al carrello nelle card della home */

/* INIZIO - Link Scopri di più esclusivo per Prodotti visti */
body#product .ps-viewedproduct .ies-viewed-products-link-only {
  display: flex;
  width: 100%;
  min-width: 0;
}

body#product .ps-viewedproduct .ies-viewed-products-link-only__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.6875rem 1rem;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-decoration: none;
  background-color: #0d7d69;
  border: 1px solid #0d7d69;
  border-radius: var(--bs-border-radius);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body#product .ps-viewedproduct .ies-viewed-products-link-only__text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body#product .ps-viewedproduct .ies-viewed-products-link-only__icon {
  flex: 0 0 auto;
  color: currentColor;
  font-size: 1.25rem;
  line-height: 1;
}

body#product .ps-viewedproduct .ies-viewed-products-link-only__button:hover,
body#product .ps-viewedproduct .ies-viewed-products-link-only__button:focus,
body#product .ps-viewedproduct .ies-viewed-products-link-only__button:focus-visible,
body#product .ps-viewedproduct .ies-viewed-products-link-only__button:active {
  color: #111111;
  font-weight: 700;
  text-decoration: none;
  background-color: #ffffff;
  border-color: #0d7d69;
}

body#product .ps-viewedproduct .ies-viewed-products-link-only__button:focus,
body#product .ps-viewedproduct .ies-viewed-products-link-only__button:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE - Link Scopri di più esclusivo per Prodotti visti */

/* INIZIO - Sfondo catalogo e pannello laterale categorie */
body#category.page-category #wrapper {
  background: #eeeeee;
}

body#category.page-category #left-column {
  box-sizing: border-box;
  max-width: 100%;
  padding: 1rem;
  background: #fff;
  border: 1px solid #e3e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(17, 17, 17, 0.05);
}

body#category.page-category .category-tree__item-header {
  min-height: 44px;
  padding: 0;
  background: #fff;
  border: 1px solid #e3e7eb;
  border-radius: 6px;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

body#category.page-category .category-tree__item-link {
  min-width: 0;
  padding: 0.75rem 0.875rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body#category.page-category .category-tree__item-header.split > .accordion-button {
  align-self: stretch;
  flex: 0 0 2.75rem;
  justify-content: center;
  min-width: 2.75rem;
  padding: 0.75rem;
  margin: 0 0 0 0.25rem;
  border-radius: 0 6px 6px 0;
}

body#category.page-category .category-tree__item-header:has(.accordion-button:not(.collapsed)) {
  border-color: #b9d4c5;
  background: var(--ies-green-light);
}

body#category.page-category .category-tree__item-header .accordion-button:not(.collapsed) {
  background: var(--ies-green-light);
}

@media (hover: hover) and (pointer: fine) {
  body#category.page-category .category-tree__item-header:not(:has(.accordion-button:not(.collapsed))):hover {
    border-color: #c8cfd6;
    background: #f7f7f7;
  }
}

body#category.page-category .category-tree__item-link:focus-visible,
body#category.page-category .category-tree__item-header .accordion-button:focus-visible {
  position: relative;
  z-index: 1;
  border-radius: 6px;
  outline: 2px solid var(--ies-green);
  outline-offset: -2px;
}

body#category.page-category #search_filters_brands {
  background: #fff;
}

@media (max-width: 767.98px) {
  body#category.page-category #left-column {
    margin-bottom: 1.5rem;
  }
}
/* FINE - Sfondo catalogo e pannello laterale categorie */

/* Prezzo */
.product-price,
.current-price {
  color: var(--ies-black);
  font-weight: 700;
}

/* Badge offerte sconto / nuovo */
.product-flags li,
.product-flag {
  /* background: var(--ies-green);
  color: var(--ies-white); */
  background: #cc2c00;
  border:0;
  color: #ffffff;
  font-weight: 700;
}

/* Newsletter */
#mailalert-subscription,
#blockEmailSubscription_displayFooterBefore,
.ps-emailsubscription {
  background: var(--ies-light);
}

#mailalert-subscription h3,
#blockEmailSubscription_displayFooterBefore h3,
.ps-emailsubscription h3,
.ps-emailsubscription .h3 {
  color: var(--ies-orange) !important;
  font-weight: 700;
}

/* Footer */
#footer {
  background: var(--ies-dark);
  color: var(--ies-white);
}

#footer a,
footer a,
#footer .footer-block__content a,
#footer .footer-block__list a,
#footer .footer-block__title a,
#footer .block-contact a {
  color: var(--ies-white) !important;
  transition: color 0.2s ease-in-out;
}

#footer a:hover,
#footer a:focus,
footer a:hover,
footer a:focus,
#footer .footer-block__content a:hover,
#footer .footer-block__content a:focus,
#footer .footer-block__list a:hover,
#footer .footer-block__list a:focus,
#footer .footer-block__title a:hover,
#footer .footer-block__title a:focus,
#footer .block-contact a:hover,
#footer .block-contact a:focus,
.footer-container a:hover,
.footer-container a:focus,
.footer-container li a:hover,
.footer-container li a:focus,
.footer__link:hover,
.footer__link:focus,
.links a:hover,
.links a:focus,
.block-contact a:hover,
.block-contact a:focus,
.blockcms-title a:hover,
.blockcms-title a:focus {
  color: var(--ies-green) !important;
  text-decoration-color: var(--ies-green) !important;
}

/* Galleria prodotto e zoom */
.product-gallery-layout {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.product-gallery-main {
  order: 1;
  min-width: 0;
}

.product-gallery-thumbnails {
  order: 2;
  width: 100%;
  margin: 0 !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.page-product .product-gallery-thumbnails .product__thumbnails-list {
  display: flex;
  flex-flow: row nowrap;
  gap: 12px;
  width: max-content;
  min-width: 100%;
  padding: 2px;
  margin: 0;
}

.page-product .product-gallery-thumbnails .product__thumbnail {
  flex: 0 0 76px;
  width: 76px;
  padding: 0;
}

.product-gallery-thumbnails .product__thumbnail-image {
  display: block;
  width: 100%;
  height: auto;
}

.page-product .product-gallery-thumbnails .product__thumbnail.active .product__thumbnail-image {
  outline: 3px solid var(--bs-primary);
  outline-offset: -3px;
}

.product__carousel {
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
}

.product__carousel .carousel-item picture,
.product__carousel .carousel-item img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.product-gallery-main-image {
  position: relative !important;
  width: 100%;
  overflow: visible;
  transform: none;
  transition: none;
}

.product-gallery-main-image>.product__zoom--fixed {
  position: absolute !important;
  right: auto !important;
  bottom: 16px !important;
  left: 50% !important;
  z-index: 100 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-width: 52px;
  height: 44px;
  margin: 0;
  padding: 0;
  color: #fff;
  background: rgb(0 0 0 / 72%);
  border: 1px solid rgb(255 255 255 / 75%);
  border-radius: 8px;
  box-shadow: 0 3px 12px rgb(0 0 0 / 35%);
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateX(-50%) !important;
}

.product-gallery-main-image>.product__zoom--fixed:hover,
.product-gallery-main-image>.product__zoom--fixed:focus-visible {
  color: #fff;
  background: rgb(0 0 0 / 90%);
  border-color: #fff;
}

.product__zoom--fixed .material-icons {
  color: #fff;
  font-size: 28px;
}

@media (min-width: 768px) {
  .product-gallery-layout {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
  }

  .product-gallery-main,
  .product-gallery-thumbnails {
    order: initial;
  }

  .product-gallery-thumbnails {
    width: 88px;
    max-height: min(720px, 70vh);
    overflow-x: hidden;
    overflow-y: auto;
  }

  .page-product .product-gallery-thumbnails .product__thumbnails-list {
    flex-direction: column;
    width: 100%;
    min-width: 0;
  }

  .page-product .product-gallery-thumbnails .product__thumbnail {
    flex: 0 0 auto;
    width: 80px;
  }
}

.product-images-modal {
  padding: 0 !important;
  background: rgb(0 0 0 / 90%);
}

.product-images-modal .product-images-modal__dialog {
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  min-height: 100vh;
  margin: 0;
}

.product-images-modal .product-images-modal__content {
  width: 100%;
  height: 100%;
  color: #fff;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.product-images-modal .product-images-modal__header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
  min-height: 0;
  padding: 0;
  border: 0;
}

.product-images-modal .product-images-modal__close {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 30;
  width: 48px;
  min-width: 48px;
  height: 48px;
  padding: 0;
  margin: 0;
  color: #fff;
  background: rgb(92 0 0 / 92%);
  background-image: none;
  border: 1px solid #fff;
  border-radius: 50%;
  box-shadow: 0 3px 14px rgb(0 0 0 / 45%);
  opacity: 1;
}

.product-images-modal .product-images-modal__close::before {
  display: block;
  color: #fff;
  font: 400 36px/44px Arial, sans-serif;
  text-align: center;
  content: "\00d7";
}

.product-images-modal .product-images-modal__close:hover,
.product-images-modal .product-images-modal__close:focus-visible {
  background: #b00000;
  opacity: 1;
}

.product-images-modal .product-images-modal__body,
.product-images-modal .product-images-modal__carousel,
.product-images-modal .carousel-inner,
.product-images-modal .carousel-item {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
}

.product-images-modal .carousel-item.active,
.product-images-modal .carousel-item-next,
.product-images-modal .carousel-item-prev {
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-images-modal .carousel-item picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.product-images-modal .carousel-item img {
  display: block;
  width: auto;
  max-width: calc(100vw - 80px);
  height: auto;
  max-height: calc(100vh - 80px);
  margin: auto;
  object-fit: contain;
}

.product-images-modal .product-images-modal__control {
  position: absolute;
  top: 50%;
  bottom: auto;
  z-index: 15;
  width: 56px;
  min-width: 56px;
  height: 56px;
  color: #fff;
  background: rgb(0 0 0 / 72%);
  border: 1px solid rgb(255 255 255 / 80%);
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: 1;
}

.product-images-modal .product-images-modal__control--prev {
  right: auto;
  left: 12px;
}

.product-images-modal .product-images-modal__control--next {
  right: 12px;
  left: auto;
}

.product-images-modal .product-images-modal__control:hover,
.product-images-modal .product-images-modal__control:focus-visible {
  background: rgb(0 0 0 / 95%);
  border-color: #fff;
}

.product-images-modal .carousel-control-prev-icon,
.product-images-modal .carousel-control-next-icon {
  position: relative;
  width: 28px;
  height: 28px;
  background-color: transparent;
  background-image: none;
  border-radius: 0;
  filter: none;
}

.product-images-modal .carousel-control-prev-icon::before,
.product-images-modal .carousel-control-next-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  color: transparent;
  font-size: 0;
  content: "";
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.product-images-modal .carousel-control-prev-icon::before {
  transform: translate(-35%, -50%) rotate(-135deg);
}

.product-images-modal .carousel-control-next-icon::before {
  transform: translate(-65%, -50%) rotate(45deg);
}

@media (max-width: 767px) {
  .product-gallery-main-image>.product__zoom--fixed {
    bottom: 10px;
    width: 48px;
    min-width: 48px;
    height: 44px;
  }

  .product-images-modal .product-images-modal__close {
    top: 12px;
    right: 12px;
    width: 52px;
    min-width: 52px;
    height: 52px;
  }

  .product-images-modal .carousel-item img {
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }

  .product-images-modal .product-images-modal__control {
    width: 52px;
    min-width: 52px;
    height: 52px;
  }

  .product-images-modal .product-images-modal__control--prev {
    left: 12px;
  }

  .product-images-modal .product-images-modal__control--next {
    right: 12px;
  }
}

.titolo-slider {
  /* font-family: "Montserrat", Arial, sans-serif; */
  font-family: 'Inter', sans-serif;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  text-align: center;
}

@media (min-width: 768px) {
  .titolo-slider {
    font-size: 20px;
    /* iPad verticale*/
  }
}

@media (min-width: 1200px) {
  .titolo-slider {
    font-size: 32px;
  }
}

.page-product .product__tax-infos {
  color: var(--bs-tertiary-color);
  font-size: .875rem;
  line-height: 1.2;
  display: none;
  /* Nasconde Tasse incluse */
}

/*
 * Dati personali: ordine visuale mobile-first.
 * Il markup e la gestione dei campi rimangono quelli nativi di PrestaShop.
 */
#customer-form .ave-customer-form-fields--identity {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

#customer-form .ave-customer-form-fields--identity>* {
  order: 40;
}

#customer-form .ave-customer-form-fields--identity .ave-customer-field--firstname {
  order: 10;
}

#customer-form .ave-customer-form-fields--identity .ave-customer-field--lastname {
  order: 11;
}

#customer-form .ave-customer-form-fields--identity .ave-customer-field--email {
  order: 20;
}

#customer-form .ave-customer-form-fields--identity .ave-customer-field--birthday {
  order: 21;
}

#customer-form .ave-customer-form-fields--identity .ave-password-section-heading {
  order: 29;
  grid-column: 1 / -1;
  margin-block: 0.75rem 1rem;
  padding-block-start: 1rem;
  border-top: 1px solid var(--bs-border-color);
}

#customer-form .ave-password-section-heading__title {
  margin-block-end: 0.25rem;
  font-size: 1.125rem;
  font-weight: 600;
}

#customer-form .ave-password-section-heading__description {
  margin: 0;
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
  line-height: 1.4;
}

#customer-form .ave-customer-form-fields--identity .ave-customer-field--password {
  order: 30;
}

#customer-form .ave-customer-form-fields--identity [data-ps-ref="password-field"] {
  display: contents;
}

#customer-form .ave-customer-form-fields--identity .ave-customer-field--new_password {
  order: 31;
}

/* INIZIO: gruppi checkbox finali condivisi del CustomerForm */
#customer-form .ave-customer-checkboxes {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}

#customer-form .ave-customer-checkboxes__group {
  border-top: 1px solid var(--bs-border-color);
  margin-block-start: 0.75rem;
  padding-block-start: 1rem;
}

#customer-form .ave-customer-checkboxes__title {
  font-size: 1rem;
  font-weight: 600;
  margin-block: 0 0.5rem;
}
/* FINE: gruppi checkbox finali condivisi del CustomerForm */

/* INIZIO - Checkout ospite essenziale */
#checkout-guest-form .ave-customer-form-fields--guest-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

#checkout-guest-form .ave-customer-form-fields--guest-checkout .ave-guest-checkout-intro {
  grid-column: 1 / -1;
  order: 0;
  margin: 0 0 1.25rem;
  color: var(--bs-secondary-color);
}

#checkout-guest-form .ave-customer-form-fields--guest-checkout .ave-guest-account-option {
  grid-column: 1 / -1;
  order: 30;
  margin-block-start: 0.5rem;
  padding-block-start: 1rem;
  border-top: 1px solid var(--bs-border-color);
  color: var(--bs-secondary-color);
  font-size: 0.9375rem;
}

#checkout-guest-form .ave-customer-form-fields--guest-checkout .ave-guest-account-option .fw-bold {
  color: var(--bs-body-color);
  font-weight: 600 !important;
}

#checkout-guest-form .ave-customer-form-fields--guest-checkout .ave-customer-checkboxes {
  order: 40;
}

#checkout-guest-form .ave-customer-form-fields--guest-checkout .ave-customer-checkboxes__group--required {
  margin-block-start: 0.5rem;
}
/* FINE - Checkout ospite essenziale */

/*
 * Form creazione account a due colonne.
 * La regola è limitata esclusivamente al form cliente
 * e non modifica la pagina di accesso.
 */
@media (min-width: 768px) {
  #customer-form .ave-customer-form-fields--identity {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }

  #customer-form .ave-customer-form-fields--identity .ave-customer-field--firstname,
  #customer-form .ave-customer-form-fields--identity .ave-customer-field--email {
    grid-column: 1;
  }

  #customer-form .ave-customer-form-fields--identity .ave-customer-field--lastname,
  #customer-form .ave-customer-form-fields--identity .ave-customer-field--birthday {
    grid-column: 2;
  }

  #customer-form .ave-customer-form-fields--identity .ave-customer-field--password,
  #customer-form .ave-customer-form-fields--identity .ave-customer-field--new_password {
    grid-column: 1 / -1;
  }

  #customer-form section,
  .register-form section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }

  #customer-form section>*,
  .register-form section>* {
    order: 40;
  }

  #customer-form .ave-customer-field--half,
  .register-form .ave-customer-field--half {
    width: 100%;
  }

  #customer-form .ave-customer-field--left,
  .register-form .ave-customer-field--left {
    grid-column: 1;
  }

  #customer-form .ave-customer-field--right,
  .register-form .ave-customer-field--right {
    grid-column: 2;
  }

  #customer-form .ave-customer-field--full,
  .register-form .ave-customer-field--full {
    width: 100%;
    grid-column: 1 / -1;
  }

  #customer-form .ave-customer-field--firstname,
  .register-form .ave-customer-field--firstname {
    order: 10;
  }

  #customer-form .ave-customer-field--lastname,
  .register-form .ave-customer-field--lastname {
    order: 11;
  }

  #customer-form .ave-customer-field--email,
  .register-form .ave-customer-field--email {
    order: 20;
  }

  #customer-form .ave-customer-field--email_confirmation,
  .register-form .ave-customer-field--email_confirmation {
    order: 21;
  }

  #customer-form [data-ps-ref="password-field"],
  .register-form [data-ps-ref="password-field"] {
    display: contents;
  }

  #customer-form .ave-customer-field--password,
  .register-form .ave-customer-field--password {
    order: 30;
  }

  #customer-form .ave-customer-field--birthday,
  .register-form .ave-customer-field--birthday {
    order: 31;
  }
}

/* Smartphone: tutti i campi su una colonna */
@media (max-width: 767.98px) {

  #customer-form .ave-customer-field,
  .register-form .ave-customer-field {
    width: 100%;
    float: none;
    clear: both;
  }
}

/* INIZIO FIX — Checkout ospite righe full-width account e consensi */
#checkout-guest-form #customer-form .ave-customer-form-fields--guest-checkout {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

#checkout-guest-form #customer-form .ave-guest-checkout-intro,
#checkout-guest-form #customer-form .ave-guest-checkout-main-fields,
#checkout-guest-form #customer-form .ave-guest-checkout-lower-section,
#checkout-guest-form #customer-form .ave-guest-account-option,
#checkout-guest-form #customer-form .ave-customer-checkboxes,
#checkout-guest-form #customer-form .ave-customer-checkboxes__group--required,
#checkout-guest-form #customer-form .ave-customer-checkboxes__group--required > .ave-customer-field {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  float: none;
  clear: both;
}

#checkout-guest-form #customer-form .ave-guest-checkout-main-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

#checkout-guest-form #customer-form .ave-guest-checkout-lower-section,
#checkout-guest-form #customer-form .ave-customer-checkboxes__group--required {
  display: block;
}

#checkout-guest-form #customer-form .ave-guest-account-option .form-check,
#checkout-guest-form #customer-form .ave-customer-checkboxes__group--required .form-check,
#checkout-guest-form #customer-form .ave-guest-account-option .form-check-label,
#checkout-guest-form #customer-form .ave-customer-checkboxes__group--required .form-check-label {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 768px) {
  #checkout-guest-form #customer-form .ave-guest-checkout-main-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }
}
/* FINE FIX — Checkout ospite righe full-width account e consensi */

/* INIZIO FIX — Checkout ospite Step 1 essenziale */
#checkout-guest-form #customer-form .ave-guest-checkout-privacy-notice {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--bs-border-color);
  color: var(--bs-secondary-color);
  font-size: 0.9375rem;
  line-height: 1.5;
}

#checkout-guest-form #customer-form .ave-guest-checkout-privacy-notice a {
  font-weight: 600;
}
/* FINE FIX — Checkout ospite Step 1 essenziale */

/* INIZIO FIX — Titoli indirizzo di spedizione */
#checkout-addresses-step .ave-checkout-deliver-to {
  margin: 0 0 1.5rem;
  color: var(--bs-body-color);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.25;
}
/* FINE FIX — Titoli indirizzo di spedizione */

/* Schede nella pagina "I tuoi indirizzi". */
.page-addresses .address-card__header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  justify-content: space-between;
}

.page-addresses .address-card__type-badge {
  background: var(--bs-secondary-bg);
  border-radius: 999px;
  color: var(--bs-secondary-color);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 0.25rem;
  line-height: 1;
  padding: 0.375rem 0.625rem;
}

.page-addresses .address-card__type-badge--business {
  background: rgba(var(--bs-primary-rgb), 0.12);
  color: var(--bs-primary);
}

.page-addresses .address-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.page-addresses .address-card__company,
.page-addresses .address-card__contact {
  font-weight: 600;
}

.page-addresses .address-card__company {
  font-size: 1.0625rem;
}

.page-addresses .address-card__extra {
  display: contents;
}

.page-addresses .address-card__detail {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

.page-addresses .address-card__detail-label {
  font-weight: 600;
}

.page-addresses .address-card__postal {
  font-style: normal;
  margin: 0.75rem 0 0.5rem;
}

.page-addresses .address-card__section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.page-addresses .address-card__section--fiscal,
.page-addresses .address-card__section--postal {
  border-top: 1px solid var(--bs-border-color);
  margin-block-start: 0.625rem;
  padding-block-start: 0.625rem;
}

.page-addresses .address-card__section--postal {
  margin-block-end: 0;
}

/* Schede indirizzo nel solo passaggio indirizzi del checkout. */
#checkout-addresses-step .ave-checkout-address-card .address-card__header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__type-badge {
  background: var(--bs-secondary-bg);
  border-radius: 999px;
  color: var(--bs-secondary-color);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 0.25rem;
  line-height: 1;
  margin-inline-start: auto;
  padding: 0.375rem 0.625rem;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__type-badge--business {
  background: rgba(var(--bs-primary-rgb), 0.12);
  color: var(--bs-primary);
}

#checkout-addresses-step .ave-checkout-address-card .address-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__extra {
  display: contents;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__detail {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__detail-label {
  font-weight: 600;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__postal {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0.75rem 0 0.5rem;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__section--fiscal,
#checkout-addresses-step .ave-checkout-address-card .address-card__section--postal {
  border-top: 1px solid var(--bs-border-color);
  margin-block-start: 0.625rem;
  padding-block-start: 0.625rem;
}

#checkout-addresses-step .ave-checkout-address-card .address-card__section--postal {
  margin-block-end: 0;
}

/*
 * Controlli del solo passaggio Pagamento.
 * Aumenta contrasto e area visiva senza modificare il comportamento nativo.
 */
#checkout-payment-step .payment-option__input.form-check-input[type="radio"],
#checkout-payment-step #conditions-to-approve .form-check-input[type="checkbox"][required] {
  width: 1.25rem;
  height: 1.25rem;
  margin-block-start: 0.125rem;
  border: 2px solid #495057;
  cursor: pointer;
}

#checkout-payment-step .payment-option__input.form-check-input[type="radio"]:checked,
#checkout-payment-step #conditions-to-approve .form-check-input[type="checkbox"][required]:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

#checkout-payment-step .payment-option__input.form-check-input[type="radio"]:focus,
#checkout-payment-step #conditions-to-approve .form-check-input[type="checkbox"][required]:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

#checkout-payment-step .payment-option__input.form-check-input[type="radio"]:focus-visible,
#checkout-payment-step #conditions-to-approve .form-check-input[type="checkbox"][required]:focus-visible {
  outline: 2px solid transparent;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.35);
}

/* INIZIO FIX — Consenso termini obbligatorio evidente */
#checkout-payment-step #conditions-to-approve .js-terms::before {
  content: "(obbligatorio)";
  display: inline-block;
  margin-inline-end: 0.35rem;
  color: #f90729;
  font-weight: 700;
  line-height: inherit;
  vertical-align: baseline;
}
/* FINE FIX — Consenso termini obbligatorio evidente */

/*
 * Pulsante di registrazione nella sola pagina di autenticazione.
 * Mantiene il testo leggibile in tutti gli stati interattivi.
 */
#authentication .login__register-prompt a[data-link-action="display-register-form"] {
  color: var(--ies-green);
}

#authentication .login__register-prompt a[data-link-action="display-register-form"]:hover,
#authentication .login__register-prompt a[data-link-action="display-register-form"]:focus,
#authentication .login__register-prompt a[data-link-action="display-register-form"]:active {
  color: var(--ies-white);
}

/* INIZIO - Colore personalizzato della sola etichetta Promo */
.product-flags .badge.on-sale {
  --bs-primary-rgb: 255, 140, 0;
  color: #ffffff;
  border: 0;
}
/* FINE - Colore personalizzato della sola etichetta Promo */

/* INIZIO - Pulsante Aggiungi al carrello pagina prodotto */
body#product #wrapper .product__add-to-cart-button[data-button-action="add-to-cart"] {
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  background-color: #0d7d69;
  border: 1px solid #0d7d69;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body#product #wrapper .product__add-to-cart-button[data-button-action="add-to-cart"]:hover,
body#product #wrapper .product__add-to-cart-button[data-button-action="add-to-cart"]:focus,
body#product #wrapper .product__add-to-cart-button[data-button-action="add-to-cart"]:focus-visible,
body#product #wrapper .product__add-to-cart-button[data-button-action="add-to-cart"]:active {
  color: #111111;
  font-weight: 700;
  text-decoration: none;
  background-color: transparent;
  border-color: #0d7d69;
}

body#product #wrapper .product__add-to-cart-button[data-button-action="add-to-cart"]:focus,
body#product #wrapper .product__add-to-cart-button[data-button-action="add-to-cart"]:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE - Pulsante Aggiungi al carrello pagina prodotto */

/* INIZIO - Pulsante finale metodo di spedizione checkout */
body#checkout #checkout-delivery-step button[name="confirmDeliveryOption"] {
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  background-color: #0d7d69;
  border: 1px solid #0d7d69;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body#checkout #checkout-delivery-step button[name="confirmDeliveryOption"]:hover,
body#checkout #checkout-delivery-step button[name="confirmDeliveryOption"]:focus,
body#checkout #checkout-delivery-step button[name="confirmDeliveryOption"]:focus-visible,
body#checkout #checkout-delivery-step button[name="confirmDeliveryOption"]:active {
  color: #111111;
  font-weight: 700;
  text-decoration: none;
  background-color: #ffffff;
  border-color: #0d7d69;
}

body#checkout #checkout-delivery-step button[name="confirmDeliveryOption"]:focus,
body#checkout #checkout-delivery-step button[name="confirmDeliveryOption"]:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE - Pulsante finale metodo di spedizione checkout */

/* INIZIO: forza il colore verde sul pulsante Procedi con il checkout nel carrello */
body#cart .checkout.cart-detailed-actions .btn,
body#cart .cart-detailed-actions .btn-primary,
body#cart .cart-detailed-actions a.btn-primary,
body#cart .cart-detailed-actions button.btn-primary,
body#cart .js-proceed-to-checkout .btn,
body#cart a[href*="ordine"].btn {
    background-color: #0d7d69 !important;
    border-color: #0d7d69 !important;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none;
}

body#cart .checkout.cart-detailed-actions .btn:hover,
body#cart .checkout.cart-detailed-actions .btn:focus,
body#cart .checkout.cart-detailed-actions .btn:focus-visible,
body#cart .checkout.cart-detailed-actions .btn:active,
body#cart .cart-detailed-actions .btn-primary:hover,
body#cart .cart-detailed-actions .btn-primary:focus,
body#cart .cart-detailed-actions .btn-primary:focus-visible,
body#cart .cart-detailed-actions .btn-primary:active,
body#cart .js-proceed-to-checkout .btn:hover,
body#cart .js-proceed-to-checkout .btn:focus,
body#cart .js-proceed-to-checkout .btn:focus-visible,
body#cart .js-proceed-to-checkout .btn:active,
body#cart a[href*="ordine"].btn:hover,
body#cart a[href*="ordine"].btn:focus,
body#cart a[href*="ordine"].btn:focus-visible,
body#cart a[href*="ordine"].btn:active {
    background-color: #ffffff !important;
    border-color: #0d7d69 !important;
    color: #111111 !important;
    font-weight: 700;
    text-decoration: none;
}

body#cart .checkout.cart-detailed-actions .btn:focus,
body#cart .checkout.cart-detailed-actions .btn:focus-visible,
body#cart .cart-detailed-actions .btn-primary:focus,
body#cart .cart-detailed-actions .btn-primary:focus-visible,
body#cart .js-proceed-to-checkout .btn:focus,
body#cart .js-proceed-to-checkout .btn:focus-visible,
body#cart a[href*="ordine"].btn:focus,
body#cart a[href*="ordine"].btn:focus-visible {
    outline: 2px solid #0d7d69;
    outline-offset: 2px;
    box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE: forza il colore verde sul pulsante Procedi con il checkout nel carrello */

/* INIZIO - Pulsante Scopri di più vetrina nel carrello */
body#cart .ps-featuredproducts .ies-home-add-to-cart {
  display: flex;
  width: 100%;
  min-width: 0;
}

body#cart .ps-featuredproducts .ies-home-add-to-cart__button {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.6875rem 1rem;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  background-color: #0d7d69;
  border: 1px solid #0d7d69;
  border-radius: var(--bs-border-radius);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body#cart .ps-featuredproducts .ies-home-add-to-cart__text {
  min-width: 0;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body#cart .ps-featuredproducts .ies-home-add-to-cart__icon {
  flex: 0 0 auto;
  margin: 0;
  color: currentColor;
  font-size: 1.25rem;
  line-height: 1;
}

body#cart .ps-featuredproducts .ies-home-add-to-cart__button:hover,
body#cart .ps-featuredproducts .ies-home-add-to-cart__button:focus,
body#cart .ps-featuredproducts .ies-home-add-to-cart__button:focus-visible,
body#cart .ps-featuredproducts .ies-home-add-to-cart__button:active {
  color: #111111;
  font-weight: 700;
  text-decoration: none;
  background-color: #ffffff;
  border-color: #0d7d69;
}

body#cart .ps-featuredproducts .ies-home-add-to-cart__button:focus,
body#cart .ps-featuredproducts .ies-home-add-to-cart__button:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE - Pulsante Scopri di più vetrina nel carrello */

/* INIZIO - Badge risparmio percentuale nella sola pagina prodotto */
body#product .product__right .ies-product-discount-stack {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.5rem;
}

body#product .product__right .ies-product-saving-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  max-width: 100%;
  padding: 0.5rem 0.75rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  background-color: #cc2c00;
  border-radius: 8px;
}

body#product .product__right .ies-product-saving-badge__content,
body#product .product__right .ies-product-saving-badge__value,
body#product .product__right .ies-product-saving-badge__icon {
  color: inherit;
  font-weight: 700;
}

body#product .product__right .ies-product-saving-badge__icon {
  flex: 0 0 auto;
  margin: 0;
  font-size: 1.125rem;
  line-height: 1;
}
/* FINE - Badge risparmio percentuale nella sola pagina prodotto */

body .text-warning {
  --bs-warning-rgb: 255, 165, 0;
  --bs-text-opacity: 1;
  color: #ffa500 !important;
}

/* Prodotti su richiesta: titolo e disponibilità su due righe leggibili. */
body#product .product__right .ies-product-price-row.ies-product-request-price {
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
}

body#product .product__right .ies-product-price-row.ies-product-request-price .product__price {
  font-size: clamp(1.5rem, 2vw, 1.875rem);
  line-height: 1.2;
  white-space: normal;
}

body#product .product__right .ies-product-price-row.ies-product-request-price > .product__availability {
  flex-basis: auto;
  margin-inline-start: 0;
  text-align: left;
  width: 100%;
}

body#product .product__right .ies-product-price-row.ies-product-request-price .product__availability-status {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: .5rem;
  font-size: 1rem;
  line-height: 1.5;
}

body#product .product__right .ies-product-price-row.ies-product-request-price .product__availability-icon {
  flex: 0 0 auto;
  font-size: 1.25rem;
  line-height: 1.5rem;
}

body#product .product__right .ies-product-price-row.ies-product-request-price .product__availability-messages {
  min-width: 0;
  text-align: left;
}

/* INIZIO - Prezzo scontato e prezzo barrato sulla stessa riga */
.page-product .product__price {
  font-size: 1.5rem;
  font-weight: 800;
}

body#product .product__right .ies-product-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: clamp(0.5rem, 2vw, 0.875rem);
  min-width: 0;
}

body#product .product__right .ies-product-price-row .product__price {
  flex: 0 1 auto;
  min-width: 0;
  font-size: clamp(2rem, 4vw, 2.325rem);
  white-space: nowrap;
}

body#product .product__right .ies-product-price-old {
  flex: 0 1 auto;
  min-width: 0;
  font-size: clamp(1.25rem, 2.5vw, 1.625rem);
  text-decoration: line-through;
  white-space: nowrap;
}
/* FINE - Prezzo scontato e prezzo barrato sulla stessa riga */

/* INIZIO - Disponibilità allineata a destra nella riga prezzi */
body#product .product__right .ies-product-price-row > .product__availability {
  flex: 0 1 auto;
  margin-block-end: 0;
  margin-inline-start: auto;
  max-width: 100%;
  text-align: right;
}

body#product .product__right .ies-product-price-row .product__availability-status {
  justify-content: flex-end;
}

body#product .product__right .ies-product-price-row .product__delivery-infos {
  text-align: right;
}

@media (max-width: 575.98px) {
  body#product .product__right .ies-product-price-row {
    flex-wrap: wrap;
  }

  body#product .product__right .ies-product-price-row > .product__availability {
    flex-basis: 100%;
  }
}
/* FINE - Disponibilità allineata a destra nella riga prezzi */

/* INIZIO - Spaziatura compatta colonna destra pagina prodotto */
body#product .product__right > .product__description-short {
  margin-block-end: 1rem;
}

body#product .product__right .product__add-to-cart-container > .product__availability {
  margin-block-end: 1rem;
}

body#product .product__right .product__add-to-cart-container > .product__prices {
  margin-block-end: 0.75rem;
}
/* FINE - Spaziatura compatta colonna destra pagina prodotto */

/* INIZIO - Layout strutturale prodotto a colonne indipendenti */
body#product .product__description-column,
body#product .product__right-reassurance {
  min-width: 0;
}

body#product .product__description-column {
  margin-block: 1.5rem 2rem;
  overflow-wrap: anywhere;
}

body#product .product__right-reassurance {
  margin-block-end: 2rem;
}

@media (min-width: 992px) {
  body#product .product__container {
    align-items: start;
    grid-template-areas:
      "gallery information"
      "description information";
  }

  body#product .product__left {
    grid-area: gallery;
  }

  body#product .product__right {
    grid-area: information;
  }

  body#product .product__description-column {
    grid-area: description;
    margin-block-start: 1.5rem;
  }
}

@media (min-width: 1200px) {
  body#product .product__description-column,
  body#product .product__right-reassurance {
    margin-block-end: 3rem;
  }
}
/* FINE - Layout strutturale prodotto a colonne indipendenti */

/* INIZIO - Fasce alternate a tutta larghezza per le sezioni prodotto della Home */
#index {
  --ies-home-products-bg-a: #ffffff;
  --ies-home-products-bg-b: #eeeeee;
}

#index .page-content--home > :is(
  .ps-featuredproducts,
  .ps-newproducts,
  .ps-bestsellers,
  .ps-specials
) {
  padding-block: 2.25rem;
  clip-path: inset(0 -100vmax);
}

/* INIZIO FIX200 - alternanza dinamica di tutti i moduli effettivamente renderizzati in Home */
body#index .page-content--home > :nth-child(odd of :not(.ps-customtext)) {
  background-color: var(--ies-home-products-bg-a);
  box-shadow: 0 0 0 100vmax var(--ies-home-products-bg-a);
  clip-path: inset(0 -100vmax);
}

body#index .page-content--home > :nth-child(even of :not(.ps-customtext)) {
  background-color: var(--ies-home-products-bg-b);
  box-shadow: 0 0 0 100vmax var(--ies-home-products-bg-b);
  clip-path: inset(0 -100vmax);
}

/* INIZIO FIX202 - Blocco di testo personalizzato Home sempre bianco e fuori alternanza */
body#index .page-content--home > .ps-customtext {
  position: relative;
  isolation: isolate;
  background-color: #ffffff;
}

body#index .page-content--home > .ps-customtext::before {
  position: absolute;
  inset-block: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  content: "";
  background-color: #ffffff;
  transform: translateX(-50%);
}
/* FINE FIX202 - Blocco di testo personalizzato Home sempre bianco e fuori alternanza */

/* FINE FIX200 - alternanza dinamica di tutti i moduli effettivamente renderizzati in Home */

#index .page-content--home > :is(
  .ps-featuredproducts,
  .ps-newproducts,
  .ps-bestsellers,
  .ps-specials
) .section-title {
  margin-block-end: 1.5rem;
}

/* INIZIO FIX199 - centratura dei soli titoli prodotto richiesti in Home */
#index .page-content--home > :is(
  .ps-featuredproducts,
  .ps-newproducts,
  .ps-specials
) .section-title {
  text-align: center;
}
/* FINE FIX199 - centratura dei soli titoli prodotto richiesti in Home */

@media (max-width: 767.98px) {
  #index .page-content--home > :is(
    .ps-featuredproducts,
    .ps-newproducts,
    .ps-bestsellers,
    .ps-specials
  ) {
    padding-block: 1.5rem;
  }

  #index .page-content--home > :is(
    .ps-featuredproducts,
    .ps-newproducts,
    .ps-bestsellers,
    .ps-specials
  ) .section-title {
    margin-block-end: 1rem;
  }
}
/* FINE - Fasce alternate a tutta larghezza per le sezioni prodotto della Home */

/* INIZIO - Griglia prodotti a una colonna su smartphone verticale */
@media (max-width: 575.98px) and (orientation: portrait) {
  :is(
    .layout-full-width,
    .layout-left-column,
    .layout-right-column,
    .layout-both-columns
  ) .products {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* FINE - Griglia prodotti a una colonna su smartphone verticale */

/* INIZIO - Griglia prodotti a due colonne su smartphone orizzontale */
@media (max-width: 991.98px) and (max-height: 575.98px) and (orientation: landscape) {
  :is(
    .layout-full-width,
    .layout-left-column,
    .layout-right-column,
    .layout-both-columns
  ) .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* FINE - Griglia prodotti a due colonne su smartphone orizzontale */

/* INIZIO - Pulsante Scopri di più uniforme in tutte le card prodotto */
.product-miniature .ies-product-card-details {
  display: flex;
  width: 100%;
  min-width: 0;
}

.product-miniature .ies-product-card-details__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.6875rem 1rem;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  background-color: #0d7d69;
  border: 1px solid #0d7d69;
  border-radius: var(--bs-border-radius);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.product-miniature .ies-product-card-details__text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-miniature .ies-product-card-details__icon {
  flex: 0 0 auto;
  margin-left: 0.5rem;
  color: currentColor;
  font-size: 1.25rem;
  line-height: 1;
}

.product-miniature .ies-product-card-details__button:hover,
.product-miniature .ies-product-card-details__button:focus,
.product-miniature .ies-product-card-details__button:focus-visible,
.product-miniature .ies-product-card-details__button:active {
  color: #111111;
  text-decoration: none;
  background-color: transparent;
  border-color: #0d7d69;
}

.product-miniature .ies-product-card-details__button:focus,
.product-miniature .ies-product-card-details__button:focus-visible {
  outline: 2px solid #0d7d69;
  outline-offset: 2px;
  box-shadow: 0 0 0 0.25rem rgba(13, 125, 105, 0.25);
}
/* FINE - Pulsante Scopri di più uniforme in tutte le card prodotto */

/* INIZIO - Tipografia e badge card più leggibili su smartphone verticale */
@media (max-width: 575.98px) and (orientation: portrait) {
  .product-miniature .product-flags .badge {
    font-size: 0.9375rem;
    line-height: 1.2;
  }

  .product-miniature .product-miniature__title {
    font-size: 1.25rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .product-miniature .product-miniature__price {
    font-size: 1.3125rem;
  }

  .product-miniature .product-miniature__regular-price {
    font-size: 1.125rem;
  }

  .product-miniature .product-list-reviews .comments-nb {
    min-width: 0;
    font-size: 1rem;
    overflow-wrap: anywhere;
  }

  .product-miniature .product-list-reviews .grade-stars {
    flex: 0 0 auto;
    transform: scale(1.18);
    transform-origin: left center;
  }

  .product-miniature .ies-product-card-details__button {
    min-height: 48px;
    padding-block: 0.8125rem;
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}
/* FINE - Tipografia e badge card più leggibili su smartphone verticale */

/* INIZIO - Tipografia e badge card bilanciati su smartphone orizzontale */
@media (max-width: 991.98px) and (max-height: 575.98px) and (orientation: landscape) {
  .product-miniature .product-flags .badge {
    font-size: 0.8125rem;
    line-height: 1.2;
  }

  .product-miniature .product-miniature__title,
  .product-miniature .product-miniature__price {
    font-size: 1.0625rem;
  }

  .product-miniature .product-miniature__title {
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .product-miniature .product-miniature__regular-price {
    font-size: 0.9375rem;
  }

  .product-miniature .product-list-reviews .comments-nb {
    min-width: 0;
    font-size: 0.875rem;
    overflow-wrap: anywhere;
  }

  .product-miniature .product-list-reviews .grade-stars {
    flex: 0 0 auto;
    transform: scale(1.075);
    transform-origin: left center;
  }
}
/* FINE - Tipografia e badge card bilanciati su smartphone orizzontale */

/* INIZIO - UI146 dimensioni tipografiche effettive delle card su smartphone portrait */
@media (max-width: 575.98px) and (orientation: portrait) {
  body .product-miniature .product-flags .badge {
    font-size: 1.125rem;
    line-height: 1.25;
  }

  body .product-miniature .product-miniature__title {
    font-size: 1.5rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  body .product-miniature .product-miniature__price {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
  }

  body .product-miniature .product-miniature__regular-price {
    font-size: 1.25rem;
    line-height: 1.25;
  }

  body .product-miniature .product-list-reviews {
    align-items: center;
    flex-wrap: wrap;
    row-gap: 0.25rem;
  }

  body .product-miniature .product-list-reviews .grade-stars.small-stars {
    flex: 0 0 9.25rem;
    width: 9.25rem;
    min-width: 9.25rem;
    height: 1.625rem;
    transform: none;
  }

  body .product-miniature .product-list-reviews .grade-stars.small-stars .star-content {
    top: 0;
    transform: scale(1.625);
    transform-origin: left top;
  }

  body .product-miniature .product-list-reviews .comments-nb {
    min-width: 0;
    margin-left: 0.5rem;
    font-size: 1.125rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  body .product-miniature .ies-product-card-details__button {
    min-height: 52px;
    padding-block: 0.875rem;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.25;
  }
}
/* FINE - UI146 dimensioni tipografiche effettive delle card su smartphone portrait */

/* INIZIO - FIX149 overlay evidente per le navigazioni tradizionali */
.ies-navigation-loading {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  background: rgba(0, 0, 0, 0.38);
  transition: opacity 120ms ease, visibility 0s linear 120ms;
}

.ies-navigation-loading.is-visible {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.ies-navigation-loading__panel {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  color: #17211d;
  font-size: 1.3125rem;
  font-weight: 700;
  background: #ffffff;
  border: 1px solid rgba(13, 125, 105, 0.24);
  border-radius: 1rem;
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.3);
}

.ies-navigation-loading__spinner {
  flex: 0 0 auto;
  width: 3.25rem;
  height: 3.25rem;
  border: 0.3125rem solid rgba(13, 125, 105, 0.22);
  border-top-color: #0d7d69;
  border-radius: 50%;
  animation: ies-navigation-loading-spin 700ms linear infinite;
}

@keyframes ies-navigation-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ies-navigation-loading,
  .ies-navigation-loading.is-visible {
    transition: none;
  }

  .ies-navigation-loading__spinner {
    animation: none;
    border-right-color: #0d7d69;
  }
}
/* FINE - FIX149 overlay evidente per le navigazioni tradizionali */

/* INIZIO - UI179 spaziatura verticale simmetrica del Blocco di testo personalizzato in Home */
body#index .ps-customtext {
  padding-block: 0.5rem;
  background-color: #ffffff;
}


body#index .ps-customtext > .container > :first-child {
  margin-block-start: 0;
}

body#index .ps-customtext > .container > :last-child {
  margin-block-end: 0;
}

@media (max-width: 767.98px) {
  body#index .ps-customtext {
    padding-block: 1.5rem;
  }
}
/* FINE - UI179 spaziatura verticale simmetrica del Blocco di testo personalizzato in Home */

/* INIZIO - UI180 rimozione del gap globale ereditato fra i moduli Home */
body#index .page-content--home {
  gap: 0;
}
/* FINE - UI180 rimozione del gap globale ereditato fra i moduli Home */

/* INIZIO FIX210 - Sfondo normale sottocategorie nel contenuto centrale categoria */
body#category #center-column .category__header .subcategory__link:not(:hover):not(:focus):not(:active) {
  background-color: #ffffff;
}
/* FINE FIX210 - Sfondo normale sottocategorie nel contenuto centrale categoria */

/* INIZIO FIX214 - Chevron nativi Hummingbird nell'albero categorie laterale */
body#category.page-category #left-column .category-tree__item-header .accordion-button::after {
  transform: none;
}

body#category.page-category #left-column .category-tree__item-header .accordion-button:not(.collapsed)::after {
  transform: none;
}

body#category.page-category #left-column .category-tree__leaf-indicator {
  display: block;
  flex: 0 0 var(--bs-accordion-btn-icon-width);
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin: auto 0.875rem auto 0.25rem;
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  /* INIZIO FIX219 - Foglia discendente non corrente con chevron nativo verso il basso */
  transform: none;
  /* FINE FIX219 - Foglia discendente non corrente con chevron nativo verso il basso */
}

/* INIZIO FIX219 - Chevron nativo verso destra esclusivamente sulla foglia corrente */
body#category.page-category #left-column .category-tree__item--current > .category-tree__item-header.leaf > .category-tree__leaf-indicator {
  transform: rotate(-90deg);
}
/* FINE FIX219 - Chevron nativo verso destra esclusivamente sulla foglia corrente */
/* FINE FIX214 - Chevron nativi Hummingbird nell'albero categorie laterale */

/* INIZIO FIX218 - Priorità sfondi: ramo aperto verde, foglia grigia */
body#category.page-category #left-column .category-tree__item-header:has(> .accordion-button:not(.collapsed)),
body#category.page-category #left-column .category-tree__item-header:has(> .accordion-button:not(.collapsed)) > .category-tree__item-link,
body#category.page-category #left-column .category-tree__item-header > .accordion-button:not(.collapsed) {
  background: var(--ies-green-light);
}

body#category.page-category #left-column .category-tree__item-header.leaf,
body#category.page-category #left-column .category-tree__item-header.leaf > .category-tree__item-link {
  background: #f7f7f7;
}
/* FINE FIX218 - Priorità sfondi: ramo aperto verde, foglia grigia */

/* INIZIO FIX230 - Evidenza tipografica e allineamento della sola categoria corrente */
body#category.page-category #left-column .category-tree__item--current > .category-tree__item-header.leaf {
  align-items: center;
  display: flex;
  gap: 0.35rem;
  justify-content: flex-end;
}

body#category.page-category #left-column .category-tree__item--current > .category-tree__item-header.leaf > .category-tree__item-link {
  flex: 0 1 auto;
  font-weight: 700;
  padding-right: 0;
  text-align: right;
}

body#category.page-category #left-column .category-tree__item--current > .category-tree__item-header.leaf > .category-tree__leaf-indicator {
  margin-left: 0;
  transform: rotate(-90deg) scale(1.12);
}
/* FINE FIX230 - Evidenza tipografica e allineamento della sola categoria corrente */

/* INIZIO FIX233 - Offset anchor categoria basato sull'header sticky Hummingbird */
@media (max-width: 767.98px) {
  body#category.page-category #category-content {
    scroll-margin-top: var(--scroll-padding-top, 1rem);
  }
}
/* FINE FIX233 - Offset anchor categoria basato sull'header sticky Hummingbird */
/* INIZIO FIX — Checkout: indirizzo fattura visibile solo con fattura richiesta */
body#checkout
  #delivery-address
  .ave-address-profile-form:not(.ave-invoice-requested)
  > form
  > .form-check:has([name="use_same_address"]),
body#checkout .ave-address-profile-form .ave-use-same-address-control[hidden] {
  display: none !important;
}

body#checkout
  #delivery-address
  .ave-address-profile-form.ave-invoice-requested
  > form
  > .form-check:has([name="use_same_address"]),
body#checkout
  .ave-address-profile-form.ave-invoice-requested
  .ave-use-same-address-control:not([hidden]) {
  display: block !important;
}
/* FINE FIX — Checkout: indirizzo fattura visibile solo con fattura richiesta */

/* Menu adattivo: una sola riga oppure pannello laterale, mai categorie tagliate. */
#header .header-bottom .avemm.avemm--compact {
  z-index: 4;
}
#header .header-bottom .avemm.avemm--compact .avemm-item__heading::after {
  display: none;
  content: none;
}
#header .header-bottom .avemm.avemm--compact .avemm-item__toggle {
  display: inline-flex;
}
#header .header-bottom .avemm.avemm--compact #avemm-navigation {
  color: #111111;
}
@media (min-width: 1200px) {
  #header .header-bottom .avemm:not(.avemm--compact) {
    /* La barra usa lo spazio dello schermo, senza allargare logo e ricerca. */
    width: calc(100vw - clamp(2rem, 6vw, 8rem));
    max-width: none;
    justify-self: center;
  }

  #header .header-bottom .avemm.avemm--compact > .avemm-toggle {
    color: #ffffff;
    min-height: 3rem;
  }
}
