/* ===========================
   HEADER A DUE RIGHE (SCOPED)
   =========================== */
.header { z-index: 850; }

.site-header {
  --gap: 12px;
  padding: 12px 0 10px;
  margin-bottom: 8px;
}

/* Riga 1: logo | spacer | search | utilities */
.site-header .header-row {
  display: grid;
  grid-template-columns: auto 1fr minmax(280px,520px) auto;
  align-items: center;
  gap: var(--gap);
}

/* Logo: SEMPRE visibile anche su mobile */
.site-header .header-logo,
.site-header .header-logo img {
  display: block !important;
  visibility: visible !important;
}
.site-header .header-logo img {
  max-height: 30px;
  height: auto;
  width: auto;
  max-width: 100%;
}

/* Search a destra + lente nascosta di default */
.site-header .header-search {
  justify-self: end;
  display: grid;
  grid-auto-flow: column;
  gap: 8px;
  align-items: center;
}
.site-header .header-search form { width: 100%; }
.site-header .search-toggle {
  display: none;
  background: none;
  border: 0;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
}

/* Utilities (login/carrello/contatti) */
.site-header .header-utilities {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Riga 2: NAV centrata */
.site-header .main-nav { margin-top: 8px; }

/* Menu - varianti comuni */
.site-header .main-nav > ul,
.site-header .main-nav #_desktop_top_menu > ul,
.site-header .main-nav #_desktop_top_menu .top-menu > ul {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}
.site-header .main-nav li > a {
  display: inline-block;
  padding: .55rem .85rem;
  white-space: nowrap;
}

/* Overlay ricerca (popup) */
.search-overlay {
  position: fixed;
  inset: 0;
  display: none;
  background: rgba(0,0,0,.55);
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 1000;
}
.search-overlay.open { display: flex; }
.search-overlay .overlay-card {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  width: min(680px, 92vw);
  box-shadow: 0 20px 50px rgba(0,0,0,.2);
}
.search-overlay input[type="search"] {
  width: 100%;
  font-size: 1rem;
}

/* Fix tendina ricerca sopra menu */
.search-widgets__dropdown { z-index: 100; }

/* -------- Responsive Header -------- */
@media (max-width: 1280px) {
  .site-header .header-logo img { max-height: 28px; }
  .site-header .main-nav li > a { padding: .5rem .75rem; font-size: .95rem; }
}

@media (max-width: 992px) {
  .site-header .header-row {
    grid-template-columns: auto 1fr auto auto; /* logo | spazio | lente | utilities */
  }
  .site-header .header-search form { display: none; }
  .site-header .search-toggle { display: inline-flex; }
  .site-header .header-logo img { max-height: 34px !important; }
  
  /* Nascondi categorie mobile */
  .ps_categorytree,
  .ps_categorytree.category-tree.left-block,
  .site-header .mobile-anchors .ps_categorytree { 
    display: none !important; 
  }
  
  /* Hamburger centrato e ingrandito */
  .material-icons { font-size: 30px; }
  .header-block.d-xl-none {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .site-header { padding: 10px 0 8px; }
  .site-header .header-logo img { max-height: 26px; }
}

/**************** MENU DESKTOP (≥992px) ************************************/
@media (min-width: 992px) {
  #top-menu li a {
    text-decoration: none;
    color: inherit;
  }

  .main-menu.col-xl.col-auto.d-flex.align-items-center {
    justify-content: center;
    padding-top: 30px;
    padding-bottom: 15px;
  }

  .main-menu__tree { --submenu-offset-x: 0px; }

  .main-menu__tree > li.main-menu__tree__item,
  .main-menu__tree > li.category {
    position: relative !important;
  }

  /* Dropdown submenu */
  .main-menu__tree > li > .menu-container.js-sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: calc(var(--submenu-offset-x, 0px) - 1px) !important;
    right: auto !important;
    transform: none !important;
    width: auto !important;
    min-width: 240px;
    max-width: 480px;
    z-index: 1000;
    margin-top: 0 !important;
    padding-top: 10px !important;
    background: linear-gradient(to bottom, #ffffff 0%, #ffffff 20%, #ffd35b 100%) !important;
    border: 1px solid #ccc;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
  }

  .main-menu__tree > li > .menu-container.js-sub-menu > .container {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .main-menu__tree > li:hover > .menu-container.js-sub-menu,
  .main-menu__tree > li > .menu-container.js-sub-menu:hover {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Sottomenu in colonna compatta */
  .menu-container ul[data-depth="1"],
  .js-sub-menu ul[data-depth="1"] {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
    gap: 6px 0 !important;
    row-gap: 6px !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }

  .menu-container ul[data-depth="1"] > li,
  .js-sub-menu ul[data-depth="1"] > li {
    list-style: none;
    margin: 4px 0 !important;
    margin-left: 16px !important;
    padding: 0 !important;
    width: 85% !important;
    flex: 0 0 auto !important;
  }

  .menu-container ul[data-depth="1"] > li > a,
  .js-sub-menu ul[data-depth="1"] > li > a {
    display: block !important;
    padding: 0 !important;
    line-height: 1.2;
  }
}

/*************** MENU DESKTOP (≥1200px) — bordo wrapper + hover + submenu animato ***************/
@media (min-width: 1200px) {
  /* Contenitore menu full width */
  .main-menu.col-xl.col-auto.d-flex.align-items-center {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 20px 0 15px !important;
    justify-content: center;
  }

  /* Wrapper con bordo e gradient */
  .js-menu-desktop {
    position: relative;
    flex: 1 1 auto !important;
    width: 100% !important;
    overflow: visible !important;
    border: 1px solid #e9c77a;
    border-radius: 4px;
    background: linear-gradient(to bottom, #ffffff 0%, #ffffff 20%, #ffd35b 100%);
  }
  .js-menu-desktop::before,
  .js-menu-desktop::after { content: none !important; }

  /* UL menu principale */
  #top-menu.main-menu__tree {
    --sep-color: #e9c77a;
    --hover-color: #ff800a;
    display: flex !important;
    flex: 1 1 100% !important;
    min-width: 100% !important;
    flex-wrap: nowrap !important;
    justify-content: center;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  /* LI con separatori verticali */
  #top-menu[data-depth="0"] > li {
    position: relative;
    display: flex;
    align-items: stretch;
    flex: 0 1 auto !important;
    white-space: nowrap !important;
    background: transparent;
    border-left: 1px solid var(--sep-color);
  }
  /* Primo e ultimo senza bordo (usa quello del wrapper) */
  #top-menu[data-depth="0"] > li:first-child { border-left: none !important; }
  #top-menu[data-depth="0"] > li:last-child { border-right: none !important; }

  /* Link centrati */
  #top-menu[data-depth="0"] > li > a {
    position: relative;
    z-index: 1;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100%;
    padding: 16px 10px !important;
    background: transparent !important;
    border: 0 !important;
    color: #000;
    text-decoration: none;
    text-align: center;
    transition: background .22s ease, color .22s ease;
  }

  /* Hover con righe arancioni */
  #top-menu[data-depth="0"] > li:hover { background: antiquewhite; }
  #top-menu[data-depth="0"] > li:hover::before,
  #top-menu[data-depth="0"] > li:hover::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--hover-color);
    pointer-events: none;
    z-index: 2;
  }
  #top-menu[data-depth="0"] > li:hover::before { top: -1px; }
  #top-menu[data-depth="0"] > li:hover::after { bottom: -1px; }

  /* Spegni separatori adiacenti */
  #top-menu[data-depth="0"] > li:hover { border-left-color: transparent; }
  #top-menu[data-depth="0"] > li:hover + li { border-left-color: transparent; }
  #top-menu[data-depth="0"] > li:first-child:hover { border-left-color: var(--hover-color); }

  /* Submenu animato */
  .main-menu__tree > li > .menu-container.js-sub-menu {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s;
    pointer-events: none;
    z-index: 3001 !important;
  }
  .main-menu__tree > li:hover > .menu-container.js-sub-menu,
  .main-menu__tree > li > .menu-container.js-sub-menu:hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .28s ease, transform .28s ease, visibility 0s;
    pointer-events: auto;
  }
  .main-menu__tree > li > .menu-container.js-sub-menu > .container,
  .main-menu__tree > li > .menu-container.js-sub-menu ul[data-depth="1"] {
    padding-top: 10px !important;
  }
}

/****************************************************/
/***************** COLORI E TIPOGRAFIA **************/
/****************************************************/
:root { --bs-primary: #ff800a; }

/* Font custom */
@font-face {
  font-family: 'Parisienne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/parisienne.woff2') format('woff2');
}

.h2_home {
  font-size: 46px !important;
  text-align: center;
  color: #80BA26 !important;
  font-family: 'Parisienne', cursive;
}

sup { top: -0.2em; }

/* Link globali (eccetto menu) */
a:not(.main-menu__tree__link):link,
a:not(.main-menu__tree__link):visited { color: #000; }
a:not(.main-menu__tree__link):hover,
a:not(.main-menu__tree__link):active { 
  color: #ff800a;
  text-decoration: none;
  transition: .2s ease;
}
a:hover { color: #ff800a !important; }
a:link, a:visited { color: #444; }
a.linksottolineato { text-decoration: underline; }

/* Link menu */
a.main-menu__tree__link:hover {
  text-decoration: underline;
  color: #444;
}

/* Link header */
.header a:not(.dropdown-item):not(.btn):hover,
.header a:not(.dropdown-item):not(.btn):hover i { color: #ff800a !important; }

.login__forgot-password a:link {
  color: #444 !important;
  text-decoration: underline;
}

/* Link footer */
.footer__main__top a:link,
.footer__main__top a:visited { color: #dedede; }
#footer > div.footer__main > div > p > a:link,
#footer > div.footer__main > div > p > a:visited { color: #ccc; }
#footer > div.footer__main > div > p > a:hover { color: #ff800a; }
.container .footer__main__top a { text-align: left !important; }

/* Link text-primary */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-orange), var(--bs-text-opacity)) !important;
}
a.text-primary:link,
a.text-primary:visited { color: rgba(var(--bs-orange)) !important; }
a.text-primary:hover {
  color: #ff800a !important;
  text-decoration: underline !important;
}

/***************** BADGES E ETICHETTE ***************/
.badge.on-sale,
li.badge.on-sale { background-color: #ff800a !important; }
li.badge.out_of_stock { background-color: #6c737d !important; }
.badge.discount {
  background-color: #fff;
  border: 2px solid #ff800a;
  color: #ff800a;
}

/***************** BOTTONI ***************/
/* Bottone anteprima quickview */
button.product-miniature__quickview_button.btn.btn-link.js-quickview.btn-with-icon {
  color: black;
  background-color: white;
}
button.product-miniature__quickview_button.btn.btn-link.js-quickview.btn-with-icon:hover {
  color: white;
  background-color: #ff800a;
}

/* Bottoni primari (carrello, newsletter, etc) */
button.btn.btn-primary,
input.btn.btn-primary {
  background-color: #7eb725;
  border-color: #68961f;
}
button.btn.btn-primary:hover,
input.btn.btn-primary:hover {
  color: white;
  background-color: #68961f;
  border-color: #3e5912;
}

/* Bottoni outline (vedi dettagli, crea account) */
a.btn.btn-outline-primary {
  color: #444;
  border-color: #444;
  text-align: center !important;
}
a.btn.btn-outline-primary:hover {
  color: white !important;
  background-color: #ff800a;
  text-decoration: none;
}

/* Bottone back-to-index */
a.btn.btn-primary.back-to-index:link,
a.btn.btn-primary.back-to-index:visited {
  color: #ff810a !important;
  background: #fff;
  border: #ff810a 1px solid;
}
a.btn.btn-primary.back-to-index:hover,
a.btn.btn-primary.back-to-index:active {
  color: #ffffff !important;
  background: #ff810a !important;
  border: #000 1px solid;
}

/* Freccia sui bottoni "tutti i prodotti" */
.all-product-link.btn i { color: #222; }

/***************** CARD PRODOTTI ***************/
/* Nome prodotto */
p.product-miniature__title { 
  color: #000000 !important;
  text-align: center;
  margin: 10px 0;
}
p.product-miniature__title:hover { color: #ff800a !important; }

/* Zoom semplice e pulito su product-miniature */
.product-miniature {
  transition: transform 0.3s ease;
}

/* Zoom SOLO su product-miniature (escluso carrello) */
.product-miniature:not(.cart-summary):hover {
  transform: scale(1.06); 
  z-index: 10;
  position: relative;
}

/* NO zoom su cart-summary */
.cart-summary:hover,
.card.cart-summary:hover,
.accordion-collapse .card.cart-summary:hover {
  transform: none !important;
  padding: 12px !important;
}







/* Riquadro prodotti - card con bordo */
.products .row div.card {
  border: 1px solid #ddd;
  padding: 12px;
}

/* Override per customization (no zoom) */
section.product-customization .card:hover { 
  transform: none;
}

/* Immagini prodotto - NESSUN BORDO di default */
.product-miniature .product-miniature__infos__bottom,
.product-miniature .product-miniature__image-container {
  z-index: 500;
  border: none;
}

.flex-md-nowrap,
.product-miniature .product-miniature__prices {
  justify-content: center;
}

/* Card hover - sfondo bianco */
.product-miniature .card {
  border: 1px solid #ddd;
  transition: background .2s ease, border-color .2s ease;
  overflow: hidden; /* nasconde angoli che sporgono */
}
.product-miniature:hover .card,
.product-miniature:hover .card .card-header,
.product-miniature:hover .card .card-body,
.product-miniature:hover .card .card-footer {
  background: #fff !important;
  --bs-card-bg: #fff;
}
.product-miniature:hover .card { border-color: #bbb; }

/* Fix angoli card-body in hover */
.product-miniature .card-body {
  border-radius: 0 !important; /* rimuove border-radius interno */
}

.product-miniature .card-body:last-child {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Info bands sbiancate in hover */
.product-miniature:hover .product-miniature__infos__top,
.product-miniature:hover .product-miniature__infos__bottom {
  background: #fff !important;
  transition: background .2s ease;
}

/* Quantity buttons - non alterare in hover card */
.product-miniature:hover .quantity-button .btn:not(:hover),
.product-miniature:hover .quantity-button button:not(:hover) {
  background: revert !important;
  color: revert !important;
  border-color: #ccc !important;
  box-shadow: revert !important;
}

/***************** CARRELLO ***************/
/* .card.cart-summary:hover { 
  padding: 12px !important;
  transform: none; /* no zoom nel riepilogo carrello */
}
*/

.header-block--active .header-block,
.header-block--active .header-block__icon {
  color: #7eb725 !important;
}

.cart__item .product-line__actions a:after {
  background: #ff800a;
}

.cart-summary,
.cart-summary .card-footer {
  background-color: transparent;
}

/* Bottone "Procedi checkout" */
div.card.cart-summary > div.checkout.cart-detailed__actions.js-cart-detailed-actions.card-footer > div > a {
  background-color: #7eb725 !important;
  border-color: #68961f !important;
  color: #fff !important;
}
div.card.cart-summary > div.checkout.cart-detailed__actions.js-cart-detailed-actions.card-footer > div > a:hover,
#content-wrapper > div > div.cart-grid__right.col-lg-4 > div.card.cart-summary > div.checkout.cart-detailed__actions.js-cart-detailed-actions.card-footer > div > a:focus {
  background-color: #76a921 !important;
  border-color: #5e8a1d !important;
  text-decoration: none;
  font-weight: bold;
}
div.card.cart-summary > div.checkout.cart-detailed__actions.js-cart-detailed-actions.card-footer > div > a:active {
  background-color: #6b9b1f !important;
  border-color: #547b1a !important;
}

/* Modal carrello */
.modal-content button.btn.btn-outline-primary.btn-with-icon {
  color: #68961f;
  border-color: #68961f;
}
.modal-content button.btn.btn-outline-primary.btn-with-icon:hover {
  background-color: #68961f;
  color: #fff !important;
}
.modal-content a.btn.btn-primary {
  background-color: #7eb725;
  border-color: #68961f;
  color: #fff;
}
.modal-content a.btn.btn-primary:hover {
  background-color: #68961f;
  color: #fff !important;
}

/***************** PAGINA PRODOTTO ***************/
.page-link:focus,
.pagination { color: #000; }

/* Thumbnail attiva */
.thumbnails__container .thumbnail.active img {
  border: 2px solid #ff800a;
}

/* Lente ingrandimento centrata */
.page-product .product__images__modal-opener {
  right: 50%;
  margin-bottom: 20px;
}

/* Form input */
input#field-email,
input#field-password { color: black !important; }

.form-control:focus {
  border-color: #FFD667;
  box-shadow: 0 0 0 .25rem rgb(253 246 13 / 25%);
}

/* Area variazioni prodotto */
#add-to-cart-or-refresh > div.product__variants.js-product-variants {
  background: #eee !important;
  padding: 22px;
  border-radius: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
}

.page-product .product__variants .variant {
  padding-bottom: 25px;
  margin-bottom: 1.6rem;
  position: relative;
}

/* Riga separatrice tra varianti */
.page-product .product__variants .variant::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 95%;
  height: 1px;
  background: #dedede;
}

.page-product .product__variants .variant:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}
.page-product .product__variants .variant:last-child::after {
  content: none;
}

/* Accordion dettagli/scheda tecnica */
.accordion-button[aria-controls="product-details"],
.accordion-button[aria-controls="product-description-collapse"],
.accordion-button[aria-controls="product-features"] {
  background: #eee !important;
  padding: 0.75rem 1rem;
}

#product-details,
#product-features {
  background: #eee;
}

.accordion-button[aria-controls="product-details"] {
  border-bottom: 8px solid #fff;
}

.product__details,
.product__features,
.accordion-button,
.accordion-button:not(.collapsed) {
  background-color: transparent;
}

.info.accordion-item .accordion-button {
  padding: 1.25rem !important;
}

.accordion-header .accordion-button.collapsed:not(first-child) {
  border-bottom: 4px solid white;
}

.detail {
  border-bottom: none;
  padding: 1.25rem;
}

.page-product .product__infos .accordion-body:not(.collapsed) {
  border-bottom: 10px solid #fff;
}

.accordion .accordion-item:not(:first-child) > .accordion-header:has(> .accordion-button:not(.collapsed)) {
  margin-bottom: 0;
  border-bottom: 1px solid #ccc;
  background: #eaeaea;
}

/***************** CATEGORIE E FILTRI ***************/
/* Modulo Ape Maia colonna sinistra */
a.ape-link {
  color: #000;
  font-weight: 600;
}
li.blockapemaia-item { margin-bottom: 1em; }
.ape-block-title {
  font-size: 24px;
  margin-bottom: 15px;
}
.blockapemaia {
  margin-bottom: 50px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 40px;
}

/* Sottocategorie */
div#js-product-list-header #subcategories {
  justify-content: center;
  margin-bottom: 50px;
}

#subcategories > div > a > p.subcategory__name {
  text-align: center;
  margin-left: 0 !important;
}

.subcategory__wrapper a.subcategory {
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff 20%, #f8ebc7 100%);
}

.subcategory__name {
  font-size: 14px;
  display: block;
  width: 100%;
}
.subcategory__name.is-long {
  letter-spacing: -0.8px;
}

div#js-product-list-header a.subcategory {
  justify-content: center;
}

.category-tree__item__link:hover,
.category-tree__item.active > .category-tree__item__header.parent .category-tree__item__link,
.accordion-button:hover {
  color: #ff800a;
}

/* Filtri laterali */
.facet-outside {
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.facet-transformed {
  border: none !important;
  background: transparent !important;
  padding: 0.5rem 0 !important;
}

.facet-transformed .accordion-body,
.facet-transformed ul {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

.facet-outside .form-check-label,
.facet-transformed .form-check-label {
  font-weight: 500;
}

/***************** EMAIL SUBSCRIPTION ***************/
.email-subscription {
  background-color: #ecedee;
  border-top: 1px solid #ddd;
}

.email-subscription .email-subscription__label {
  color: var(--bs-gray-800);
  font-size: 1rem;
  line-height: 2.75rem;
}

/***************** VIDEO RESPONSIVE ***************/
.ps-video-responsive {
  width: 100%;
  max-width: 100%;
}

.ps-video-responsive iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
  border: 0;
}

/***************** CAROUSEL ***************/
.carousel .carousel-indicators button.active {
  background-color: #252525;
}

/***************** FOOTER ***************/
#footer > div.footer__main > div > div.footer__main__bottom.row > div {
  background: transparent;
}

.footer-info {
  background: #16181C;
  padding: 12px 16px;
}

.footer-info__text,
.footer-info__links,
.footer-info__vat {
  margin: 0 0 9px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #ccc;
  text-align: center;
}

.footer-info__links { font-weight: 700; }
.footer-info__sep {
  margin: 0 6px;
  color: #777;
}

.footer-info__link {
  color: #777 !important;
  text-decoration: none;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

.footer-info__link:hover,
.footer-info__link:focus,
#footer .footer-info .footer-info__link:hover,
#footer .footer-info .footer-info__link:focus {
  color: #ff9a2f !important;
  text-shadow: 0 0 6px rgba(255, 154, 47, 0.4);
  text-decoration: underline;
}

#footer .footer-info .footer-info__link {
  color: #777 !important;
}

.copyright { font-size: 13px; }

.wishlist-footer-links {
  position: absolute !important;
  z-index: 500 !important;
}

/***************** CMSINFO BLOCK (Home) ***************/
.cmsinfo_block {
  max-width: 1200px;
  margin: 40px auto;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 30px 25px;
  background: #fff;
  box-sizing: border-box;
}

.cmsinfo_row {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}

.cmsinfo_col {
  flex: 1;
  min-width: 300px;
  box-sizing: border-box;
  text-align: left;
}

.cmsinfo_col.left {
  padding-right: 30px;
  border-right: 1px solid #ddd;
}

.cmsinfo_col.right {
  padding-left: 30px;
}

.cmsinfo_list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cmsinfo_list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 22px;
}

.cmsinfo_icon {
  flex-shrink: 0;
  margin-right: 14px;
}

.cmsinfo_icon img {
  width: 40px;
  height: 40px;
}

.cmsinfo_text h3 {
  margin: 0 0 5px 0;
  color: #333;
  font-weight: 600;
  font-size: 18px;
}

.cmsinfo_text p {
  margin: 0;
  color: #555;
  line-height: 1.5;
}

.cmsinfo_col.right h3 {
  color: #333;
  font-size: 18px;
  margin-bottom: 8px;
  font-weight: 600;
}

.cmsinfo_col.right h4 {
  color: #555;
  font-weight: 400;
  margin-bottom: 15px;
  font-size: 15px;
}

.cmsinfo_col.right hr {
  border: 0;
  border-top: 1px solid #ccc;
  margin: 16px 0;
}

.free-shipping {
  color: #111;
  font-size: 17px;
  margin: 0;
  font-weight: 500;
  text-align: left;
  line-height: 1.6;
}

/***************** FAQ ACCORDION ***************/
.abc-faq-wrapper {
  max-width: 1200px !important;
  margin: 2rem auto !important;
  padding: 0 15px !important;
}

.abc-faq__title {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: #333 !important;
  margin-bottom: 2rem !important;
  text-align: left !important;
}

.abc-faq__item {
  margin-bottom: 0.5rem !important;
}

.abc-faq__heading {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #f0f0f0 !important;
  padding: 1rem 1.5rem !important;
  cursor: pointer !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
  margin: 0 !important;
}

.abc-faq__heading:hover {
  background: #e5e5e5 !important;
}

.abc-faq__heading.is-open {
  background: #eaeaea !important;
  border-color: #ccc !important;
  color: #333 !important;
}

.abc-faq__label {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #555 !important;
  flex: 1 !important;
  margin-right: 15px !important;
}

.abc-faq__heading.is-open .abc-faq__label {
  color: #333 !important;
}

/* Icona +/- con CSS puro */
.abc-faq__icon {
  position: relative !important;
  width: 30px !important;
  height: 30px !important;
  flex-shrink: 0 !important;
  background: #ff8c1a !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.abc-faq__icon::before,
.abc-faq__icon::after {
  content: "" !important;
  position: absolute !important;
  background: #fff !important;
  transition: all 0.3s ease !important;
}

.abc-faq__icon::before {
  width: 14px !important;
  height: 2px !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.abc-faq__icon::after {
  width: 2px !important;
  height: 14px !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  opacity: 1 !important;
}

.abc-faq__heading.is-open .abc-faq__icon::after {
  opacity: 0 !important;
  transform: translate(-50%, -50%) rotate(90deg) !important;
}

.abc-faq__panel {
  display: none !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-top: none !important;
  border-radius: 0 0 4px 4px !important;
  padding: 1.5rem !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.abc-faq__panel.is-open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  border-color: #ccc !important;
  background: #fafafa !important;
  animation: slideDown 0.4s ease !important;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.abc-faq__panel p {
  margin-bottom: 1rem !important;
  line-height: 1.6 !important;
  color: #555 !important;
}

.abc-faq__panel p:last-child {
  margin-bottom: 0 !important;
}

.abc-faq__panel a {
  color: #ff8c1a !important;
  text-decoration: underline !important;
}

.abc-faq__panel a:hover {
  color: #e67a00 !important;
}

/***************** FORM REGISTRAZIONE ***************/
.custom-control.custom-checkbox {
  display: flex;
  align-items: flex-start;
}

label.custom-control-label {
  transform: translateY(-5.5px);
  margin-left: 8px;
}

/***************** CHECKOUT ***************/
.form-check-input { 
  border: 1px solid #444;
  margin-top: 0 !important; /* centra verticalmente */
}

/* Checkout - linea separatrice sottile tra opzioni */
.payment__option {
  margin: 0 !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #e8e8e8;
}

.payment__option:last-child {
  border-bottom: none;
}

/* Label con radio centrato verticalmente */
.payment__option label.form-check-label {
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px;
}

.ps_checkout-payment-option {
  margin: 0 !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #e8e8e8;
}

.ps_checkout-payment-option:last-child {
  border-bottom: none;
}

/* Radio button allineato */
.form-check-input.flex-shrink-0.my-0.me-2 {
  margin-top: 0 !important;
  align-self: center;
}

/* Bottoni checkout */
#checkout-addresses-step > div.step__content > div > div > button {
  color: #68961f;
  border-color: #68961f;
}
#checkout-addresses-step > div.step__content > div > div > button:hover {
  background-color: #68961f;
  color: #fff !important;
}

/***************** UTILITY ***************/
.grigioeee,
.card2 {
  background: #eee !important;
}

/***************** BACKEND ***************/
.abc-section-personal,
.abc-section-azienda,
.abc-section-address {
  position: relative;
  z-index: 120;
}

/***************** RESPONSIVE ***************/
@media (max-width: 768px) {
  .h2_home {
    font-size: 34px !important;
  }

  /* CMSINFO responsive */
  .cmsinfo_row {
    flex-direction: column;
  }

  .cmsinfo_col.left {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .cmsinfo_col.right {
    padding-left: 0;
  }

  /* FAQ responsive */
  .abc-faq__heading {
    padding: 0.9rem 1rem !important;
  }

  .abc-faq__label {
    font-size: 0.95rem !important;
  }

  .abc-faq__icon {
    width: 26px !important;
    height: 26px !important;
  }

  .abc-faq__panel {
    padding: 1rem !important;
  }

  .abc-faq__panel.is-open {
    padding: 1.5rem !important;
  }

  /* Checkout mobile - distanziamento da "Controlla il tuo ordine" */
  #order-confirmation-wrapper,
  #order-confirmation,
  .checkout-confirmation,
  #checkout-payment-step .payment-options {
    margin-top: 24px !important;
  }
  
  /* Opzioni pagamento mobile */
  .ps_checkout-payment-option label,
  .payment__option label {
    display: flex !important;
    align-items: center !important;
    line-height: 1.4 !important;
  }
  
  .ps_checkout-payment-option,
  .payment__option {
    padding: 14px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #e8e8e8;
  }
}

@media (min-width: 769px) {
  .payment__option,
  .ps_checkout-payment-option {
    padding: 14px 0 !important;
    margin: 0 !important;
  }
  
  .ps_checkout-payment-option label,
  .payment__option label {
    display: flex !important;
    align-items: center !important;
    line-height: 1.4 !important;
  }
  
  /* 
.d-flex:not(.align-items-center) {
    display: inline-flex !important;
  }
*/
}





/* Riduce lo zoom dell'immagine (invece che ingrandirla al 105%, solo 104%) */
.product-miniature__link img {
  transition: transform 0.3s ease;
}

.product-miniature:hover .product-miniature__link img {
  transform: scale(1.04) !important; /* zoom ridotto */
}





/* Card come riferimento */
.product-miniature .card {
  position: relative;
}

/* Abbassa z-index del link immagine */
.product-miniature__link {
  position: relative;
  z-index: 1;
}

/* Overlay Anteprima */
.product-miniature__quickview {
  position: absolute;
  top: 12px;
/*  left: 12px;
  right: 12px;
*/
  bottom: auto;
  display: flex;
  align-items: flex-end;
  justify-content: stretch; /* NON center, ma stretch per occupare tutto */
  z-index: 200 !important;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  height: auto;
  padding-top: 250px;
}

.product-miniature:hover .product-miniature__quickview {
  opacity: 1;
  pointer-events: auto;
}

.product-miniature__quickview_button {
  background: rgba(255, 255, 255, 0.75) !important; /* TRASPARENZA VISIBILE */
  padding: 8px 12px !important; /* padding ridotto */
  margin: 0 !important;
  width: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  color: #333 !important; /* grigio scuro */
  font-size: 14px !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

/* HOVER: solo testo arancione, NON il background */
.product-miniature__quickview_button:hover {
  color: #ff800a !important; /* ARANCIONE solo testo */
  background: rgba(255, 255, 255, 0.75) !important; /* background RESTA bianco trasparente */
}

.product-miniature__quickview_button:hover i.material-icons {
  color: #ff800a !important; /* icona arancione */
}


.product-miniature .product-miniature__quickview {
padding: 0;
background-color: transparent;
}

.product-miniature__quickview_button {
    background: #ffffffb3 !important;}






/* ===========================
   DELIVERY OPTIONS - MOBILE FIX
   =========================== */

@media (max-width: 768px) {
  /* Container principale opzioni consegna */
  .delivery-options__list {
    padding: 12px;
  }
  
  /* Ogni singola opzione di consegna */
  .delivery-options__item {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 14px 12px;
    margin-bottom: 12px;
  }
  
  .delivery-options__item:last-child {
    margin-bottom: 0;
  }
  
  /* Rimuovi gli HR tra le opzioni */
  .delivery-options__item hr {
    display: none;
  }
  
  /* Label principale */
  .delivery-options__item > label {
    width: 100%;
    margin: 0;
    cursor: pointer;
  }
  
  /* Row dentro il label */
  .delivery-options__item .row {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  /* Sezione sinistra con radio + logo + nome */
  .delivery-option__left {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    order: 0;
  }
  
  .delivery-option__left .row {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
  }
  
  /* Radio button */
  .delivery-options__item .custom-radio {
    flex: 0 0 auto;
    width: auto;
    padding: 0;
  }
  
  .delivery-options__item input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0;
    cursor: pointer;
  }
  
  /* Carrier container */
  .delivery-options__item .carrier {
    display: flex;
    align-items: center;
    gap: 1px;
    flex: 1;
  }
  
  .delivery-options__item .carrier .row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0px;
    width: 100%;
  }
  
  /* Logo carrier */
  .carrier__logo {
    flex: 0 0 auto;
    width: 100px;
  }
  
  .carrier__logo img {
    width: 100px; 
    height: 100px;
    object-fit: contain;
    border-radius: 4px;
  }
  
  /* Nome carrier */
  .carriere-name-container {
    flex: 1;
	padding:0;
  }
  
  .carrier-name {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    display: block;
    margin: 0;
  }
  
  /* Sezione centrale - descrizione/tempi */
  .delivery-option__center {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
    order: 2;
    width: 100%;
  }
  
  /* Sezione destra - prezzo */
  .delivery-option__right {
    font-size: 16px;
    font-weight: 700;
    color: #7eb725;
    order: 1;
    width: 100%;
    text-align: right;
  }
  
  /* Bottoni azioni */
  .shipping__actions {
    margin-top: 20px;
    gap: 12px;
  }
  
  .shipping__actions .btn {
    width: 100%;
    margin: 0;
  }
}




.btn-outline-primary {


    --bs-btn-color: #7eb725;
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #7eb725;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #68961f;
    --bs-btn-hover-border-color: #3d5911;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg:  #68961f;
    --bs-btn-active-border-color:  #3d5911;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;
}





/* CARRELLO/CHECKOUT: blocca qualsiasi variazione di dimensioni sul riepilogo */
.card.cart-summary {
  padding: 12px !important;          /* base = uguale a hover */
  margin: 0 !important;              /* evita micro-shift */
  transform: none !important;
  box-shadow: none !important;
  border-radius: inherit;
  transition: none !important;
}

.card.cart-summary:hover,
.card.cart-summary:focus,
.card.cart-summary:focus-within {
  padding: 12px !important;          /* identico: niente salto */
  margin: 0 !important;
  transform: none !important;
  box-shadow: none !important;
}

/* se qualche figlio ha animazioni/transition che muovono layout */
.card.cart-summary * {
  transition: none !important;
}
