/*
Theme Name: Hello Elementor Child
Theme URI: https://sanebun.it/
Description: Tema figlio di Hello Elementor per personalizzazioni WooCommerce (scheda prodotto)
Author: Giulia Sapino - Bosio Associati
Author URI: https://www.bosioassociati.it/
Version: 1.0.0
Template: hello-elementor
Text Domain: hello-elementor-child
*/

body {
  font-family: "Montserrat", sans-serif !important;
}

/* ========================================================================
   1) LISTA DESCRIZIONE PRODOTTO (Elementor Product Content): pallino -> check verde
   ======================================================================== */
.elementor-widget-woocommerce-product-content ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.elementor-widget-woocommerce-product-content ul li {
  position: relative;
  padding-left: 28px;
  margin: 0 0 10px 0;
}

.elementor-widget-woocommerce-product-content ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #8cb63c;
  font-weight: 800;
  font-size: 22px;
  line-height: 1;
}


/* ========================================================================
   2) PREZZO RANGE (Elementor Product Price): nasconde "6,50 € - 35,00 €"
   - Vale SOLO per prodotti variabili
   ======================================================================== */
.elementor-element.elementor-element-13c3fcba.elementor-widget.elementor-widget-woocommerce-product-price {
  display: none !important;
}

.woocommerce .elementor-48 .elementor-element.elementor-element-13c3fcba .price {
  display: none !important;
}


/* ========================================================================
   3) VARIAZIONI: nasconde sempre la select Woo (anche se il JS non aggiunge classi)
   - Woo continua a funzionare perché la select resta nel DOM
   ======================================================================== */
.variations_form table.variations td.value>select,
.variations_form .ba-hidden-select {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ========================================================================
   4) VARIAZIONI: nasconde prezzo Woo sotto le variazioni (evita duplicati)
   ======================================================================== */
.single-product.product-type-variable .woocommerce-variation-price {
  display: none !important;
}


/* ========================================================================
   5) TESTATA VARIAZIONI: titolo "CONFEZIONE" (come screenshot)
   ======================================================================== */
.ba-variation-head {
  margin: 0 0 14px;
}

.ba-variation-title {
  letter-spacing: 0.18em;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 14px;
}


/* ========================================================================
   6) BOX VARIAZIONI: layout e spacing
   ======================================================================== */
.ba-variation-boxes {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0 0 12px;
}

.variations .value {
  background-color: transparent;

}


/* ========================================================================
   7) BOX VARIAZIONI: stile base (bordi neri, radius, padding)
   - default: bianco, come la seconda box nello screenshot
   ======================================================================== */
.ba-variation-box {
  width: 100% !important;
  border: 1px solid #111 !important;
  border-radius: 14px !important;
  background: #fff !important;
  padding: 18px 20px !important;
  cursor: pointer !important;
  margin-left: 0 !important;
  text-align: left !important;
  transition: transform .08s ease, background-color .12s ease !important;
  max-width: 80% !important;
}

.ba-variation-box:hover {
  transform: translateY(-1px);
}

.ba-variation-box:active {
  transform: scale(0.99);
}

.woocommerce-variation-price {
  display: none !important;
}

.single_variation_wrap {
  margin-top: 30px;
}

/* ========================================================================
   8) BOX VARIAZIONI: stato selezionato (beige + prezzo verde)
   - come la prima box nello screenshot
   ======================================================================== */
.ba-variation-box.is-selected {
  background: #8bb63c1b !important;
}


/* ========================================================================
   9) CONTENUTO BOX: riga interna label sx + prezzo dx
   ======================================================================== */
.ba-box-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ba-box-label {
  font-family: "Montserrat", Sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1.1 !important;
  color: #000 !important;
}

.ba-box-price {
  font-family: "Montserrat", Sans-serif !important;
  white-space: nowrap !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
}

/* prezzo “verde” SOLO quando selezionata */
.ba-variation-box.is-selected .ba-box-price,
.ba-variation-box.is-selected .ba-box-price .amount {
  color: #8cb63c !important;
}

/* prezzo “nero” quando non selezionata */
.ba-variation-box:not(.is-selected) .ba-box-price,
.ba-variation-box:not(.is-selected) .ba-box-price .amount {
  color: #000 !important;
}

.woocommerce-Price-amount .amount {
  display: none !important;
}


/* ========================================================================
   10) PULIZIA MARKUP PREZZO Woo (se ci fossero del/ins)
   ======================================================================== */
.ba-box-price del {
  display: none !important;
}

.ba-box-price ins {
  text-decoration: none !important;
  background: transparent !important;
}


/* ========================================================================
   11) RESET "Svuota": lo nascondiamo (nello screenshot non c'è)
   ======================================================================== */
.reset_variations {
  display: none !important;
}


/* ========================================================================
   12) WOOCOMMERCE: pulizia layout tabella variazioni (evita spazi brutti)
   ======================================================================== */
.variations_form table.variations {
  border: 0;
  margin: 0 !important;
}

.variations_form table.variations th,
.variations_form table.variations td {
  display: block;
  padding: 0 !important;
  border: 0 !important;
}

.variations_form table.variations label {
  display: none !important;
}


/* ================================
   IVA - Nota "* Comprensivo di iva" sotto le box/prezzi
================================ */
.ba-vat-note {
  margin: -5px 0 0 !important;
  font-style: italic !important;
  font-size: 0.8rem !important;
}


/* ================================
   BLOCCO DISPONIBILITÀ PRODOTTO
================================ */

.ba-stock-message {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 40px;
  font-weight: 500;
  font-size: 0.9rem;
}

.ba-stock-icon svg {
  width: 36px;
  height: 36px;
}

/* colore verde brand */
.ba-stock-message.is-in-stock {
  color: #8cb63c;
}

/* stesso colore anche per out-of-stock */
.ba-stock-message.is-out-of-stock {
  color: #FF0201;
}


/* ================================
   GALLERIA PRODOTTO - Thumbnails a sinistra (senza rompere FlexSlider)
   Struttura reale: .flex-viewport + ol.flex-control-thumbs  :contentReference[oaicite:2]{index=2} :contentReference[oaicite:3]{index=3}
================================ */

/* Contenitore gallery */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery,
.woocommerce-product-gallery {
  position: relative;
}

/* Spazio a sinistra per la colonna thumbs */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery .flex-viewport {
  margin-left: 128px;
  /* = larghezza thumbs (120) + gap (8) */
}

/* Thumbnails: colonna a sinistra */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs,
.woocommerce-product-gallery .flex-control-thumbs {
  position: absolute;
  left: 0;
  top: 0;
  width: 120px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0 !important;
  list-style: none;
  z-index: 2;
}

/* Ogni thumb occupa tutta la colonna */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs li,
.woocommerce-product-gallery .flex-control-thumbs li {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Immagine thumb */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs img,
.woocommerce-product-gallery .flex-control-thumbs img {
  width: 100% !important;
  height: auto;
  display: block;
  border-radius: 0;
  cursor: pointer;
  opacity: .9;
}


/* ================================
   GALLERY - Nasconde la lente (trigger Photoswipe)
================================ */
.woocommerce-product-gallery__trigger {
  display: none !important;
}

/* ================================
   GALLERY - Disattiva click sull’immagine grande (niente apertura)
   (le thumbnails restano cliccabili perché non sono dentro <a>)
================================ */
.woocommerce-product-gallery__image>a {
  pointer-events: none;
  cursor: default;
}

/* ================================
   GALLERY - Se Woo lascia la lente/zoom image overlay, la nascondiamo
================================ */
.woocommerce-product-gallery .zoomImg {
  display: none !important;
}

/* ================================
   BREADCRUMB - margine sotto
================================ */
.woocommerce .woocommerce-breadcrumb {
  margin-bottom: 0 !important;
}

/* ================================
   SUBTITLE - Creo classe da applicare a subtitle prodotto per sua formattazione
================================ */
.subtitle-product-personalised {
  color: var(--e-global-color-text) !important;
  font-family: "Montserrat", Sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
}



/* ================================
   TABS WOOCOMMERCE - Layout “pulito” come screenshot
   - voci allineate a sinistra
   - niente box/bordi
   - underline solo tab attiva
   - padding solo sopra/sotto (no left/right)
================================ */

/* wrapper generale tabs */
.woocommerce div.product .woocommerce-tabs {
  padding: 0;
}

/* rimuove padding/margini strani del container tab */
.woocommerce div.product .woocommerce-tabs .wc-tabs {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;

  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 64px;
  /* distanza tra “Descrizione” e “Ricetta” */
}

/* ogni tab */
.woocommerce div.product .woocommerce-tabs .wc-tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* link tab */
.woocommerce div.product .woocommerce-tabs .wc-tabs li a {
  display: inline-block;
  padding: 0 0 10px 0 !important;
  /* solo sotto per la underline */
  text-decoration: none !important;
  font-size: 1.1rem;
  /* regola se vuoi più piccolo/grande */
  font-weight: 500;
  color: #000;
  border-bottom: 2px solid transparent;
  /* underline “spenta” */
}

/* tab attiva: underline */
.woocommerce div.product .woocommerce-tabs .wc-tabs li.active a {
  border-bottom-color: #8cb63c;
  color: #8cb63c !important;
}

/* hover (opzionale: underline leggera) */
.woocommerce div.product .woocommerce-tabs .wc-tabs li a:hover {
  border-bottom-color: rgba(17, 17, 17, .35);
}

/* contenuto tab: solo padding sopra/sotto, allineato a sinistra */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  margin: 22px 0 0 !important;
  padding: 0 !important;
  /* niente padding laterale */
}

.ba-tab-content p {
  font-size: 1rem;
}

.ba-tab-content h4,
.woocommerce-Reviews-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.woocommerce #review_form #respond .form-submit input#submit {
  background-color: #8cb63c;
  font-size: 1rem;
  font-weight: 500;
  text-transform: capitalize;
  font-style: normal;
  text-decoration: none;
  line-height: 1em;
  letter-spacing: 0px;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-radius: 30px 30px 30px 30px;
  padding: 15px 30px 15px 30px;
  color: var(--e-global-color-dc0f409);
  background-color: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
  transition: all 0.2s;
}

button {
  font-family: "Montserrat", sans-serif !important;
}

.woocommerce #review_form #respond .form-submit input#submit:hover {
  background-color: #fff;
  color: #8cb63c;
  border: solid 1px #8cb63c;
}

/* ================================
   VALORI NUTRIZIONALI - layout pulito
================================ */

.ba-nutrition-box {
  max-width: 80% !important;
}

/* Titolo */
.ba-nutrition-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* Tabella */
.ba-nutrition-box .tabella-valori-nutrizionali {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  font-weight: 500;
}

/* Celle */
.ba-nutrition-box .tabella-valori-nutrizionali td {
  background: #fff;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, .12);
  /* solo filetto orizzontale */
  border-left: 0;
  border-right: 0;
  border-top: 0;
}

/* Voci nutrizionali */
.ba-nutrition-box .tabella-valori-nutrizionali td strong {
  font-weight: 700;
}

/* Colonna valori */
.ba-nutrition-box .tabella-valori-nutrizionali td:last-child {
  text-align: right;
  padding-right: 0.6rem;
  padding-left: 0.6rem;
  white-space: nowrap;
}

/* Ultima riga senza filetto */
.ba-nutrition-box .tabella-valori-nutrizionali tr:last-child td {
  border-bottom: 0;
}


.elementor-367 .elementor-element.elementor-element-6ff23ce6.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
.elementor-367 .elementor-element.elementor-element-6ff23ce6.elementor-wc-products ul.products li.product .price,
.elementor-386 .elementor-element.elementor-element-29b694bc.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
.elementor-386 .elementor-element.elementor-element-29b694bc.elementor-wc-products ul.products li.product .woocommerce-loop-category__title,
.elementor-386 .elementor-element.elementor-element-29b694bc.elementor-wc-products ul.products li.product .price {
  padding: 0 1rem;
}

.elementor-367 .elementor-element.elementor-element-6ff23ce6.elementor-wc-products ul.products li.product .button,
.elementor-386 .elementor-element.elementor-element-29b694bc.elementor-wc-products ul.products li.product .button {
  margin: 0 1rem;
}

.elementor-367 .elementor-element.elementor-element-6ff23ce6.elementor-wc-products ul.products li.product,
.elementor-386 .elementor-element.elementor-element-29b694bc.elementor-wc-products ul.products li.product {
  border-bottom-left-radius: 22px;
  border-top-right-radius: 22px;
}

.elementor-367 .elementor-element.elementor-element-6ff23ce6.elementor-wc-products .attachment-woocommerce_thumbnail,
.elementor-386 .elementor-element.elementor-element-29b694bc.elementor-wc-products .attachment-woocommerce_thumbnail {
  border-top-right-radius: 22px;
}


.woocommerce div.product .elementor-element.elementor-products-grid .up-sells.products ul.products li.product {
  text-align: left;
  --button-align-display: flex;
  --button-align-direction: column;
  --button-align-justify: space-between;
  padding: 0rem 0rem 1rem 0rem;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.23);
  background-color: #F5F0EC;
  border-top-right-radius: 22px;
  border-bottom-left-radius: 22px;
}

.up-sells.products ul.products li.product a img {
  border-top-right-radius: 22px !important;
}

.up-sells.products ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.1rem;
  font-weight: 700;
  padding: 0 1rem;
}

.up-sells.products ul.products li.product .price {
  font-size: 1.1rem;
  font-weight: 700;
  padding: 0 1rem;
}

.up-sells.products ul.products li.product .button {
  margin: 0 1rem;
}

/* ========================================================================
   13) RESPONSIVE: su mobile riduco un filo i font (come screenshot mobile)
   ======================================================================== */
@media (max-width: 767px) {

  .ba-nutrition-box {
    max-width: 100% !important;
  }


  .ba-variation-box {
    max-width: 100% !important;
  }


  .ba-box-label {
    font-size: 22px;
  }

  .ba-box-price {
    font-size: 36px;
  }


  .elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-viewport,
  .woocommerce-product-gallery .flex-viewport {
    margin-left: 0;
  }

  .elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs,
  .woocommerce-product-gallery .flex-control-thumbs {
    position: static;
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 10px;
    margin-top: 12px;
  }

  .elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs li,
  .woocommerce-product-gallery .flex-control-thumbs li {
    width: 90px !important;
    flex: 0 0 auto;
  }


  .woocommerce div.product .woocommerce-tabs {
    padding: 18px 0;
  }

  .woocommerce div.product .woocommerce-tabs .wc-tabs {
    gap: 28px;
  }

  .woocommerce div.product .woocommerce-tabs .wc-tabs li a {
    font-size: 26px;
    padding-bottom: 10px;
    border-bottom-width: 3px;
  }

  .subtitle-product-personalised {
    font-size: 1.3rem !important;
  }

  /* contenitore generale */
  .woocommerce div.product .woocommerce-tabs {
    padding: 0;
  }

  /* lista tabs */
  .woocommerce div.product .woocommerce-tabs ul.tabs,
  .woocommerce div.product .woocommerce-tabs .wc-tabs {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0 !important;
    border: 0 !important;
  }

  /* singola voce */
  .woocommerce div.product .woocommerce-tabs ul.tabs li,
  .woocommerce div.product .woocommerce-tabs .wc-tabs li {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  /* link della tab */
  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  .woocommerce div.product .woocommerce-tabs .wc-tabs li a {
    display: inline-block;
    width: auto;
    padding: 0 0 10px 0;
    border: 0 !important;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: none;
    text-decoration: none !important;
    color: #4a4a4a;
    line-height: 1.3;
  }

  /* stato attivo */
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
  .woocommerce div.product .woocommerce-tabs .wc-tabs li.active a {
    color: #8cb63c;
    border-bottom: 3px solid #8cb63c !important;
  }

  /* rimuove pseudo-elementi del tema */
  .woocommerce div.product .woocommerce-tabs ul.tabs::before,
  .woocommerce div.product .woocommerce-tabs ul.tabs::after,
  .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
  .woocommerce div.product .woocommerce-tabs ul.tabs li::after,
  .woocommerce div.product .woocommerce-tabs .wc-tabs::before,
  .woocommerce div.product .woocommerce-tabs .wc-tabs::after,
  .woocommerce div.product .woocommerce-tabs .wc-tabs li::before,
  .woocommerce div.product .woocommerce-tabs .wc-tabs li::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
  }

  /* pannello contenuto sotto le tabs */
  .woocommerce div.product .woocommerce-tabs .panel,
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    margin: 0 !important;
    padding: 14px 0 0 0 !important;
    border: 0 !important;
  }

}


/* =================================
   Sidebar categorie (shortcode)
   stile come screenshot
================================= */

.ba-product-categories-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* singola categoria */
.ba-product-category-item {
  padding: 5px 0;
  border-bottom: 1px solid #d9d9d9;
}

/* link categoria */
.ba-product-category-item a {
  display: block;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #111;
}

/* hover */
.ba-product-category-item a:hover {
  color: #8cb63c;
}

/* categoria attiva */
.ba-product-category-item.is-active a {
  color: #8cb63c;
}


/* =================================
   SHOP SIDEBAR STICKY
   Tiene visibile la lista categorie durante lo scroll
================================= */

/* il wrapper della sezione non deve tagliare lo sticky */
.elementor-386 .elementor-element.elementor-element-634cb3b,
.elementor-386 .elementor-element.elementor-element-634cb3b>.e-con-inner {
  overflow: visible !important;
  align-items: flex-start !important;
}

/* sidebar categorie sticky */
.elementor-386 .elementor-element.elementor-element-71ee177.ba-shop-sidebar-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 145px;
  /* compenso header sticky + admin bar */
  align-self: flex-start !important;
  height: fit-content;
  z-index: 5;
}

/* opzionale: evita che il titolo/shortcode si stirino in altezza */
.elementor-386 .elementor-element.elementor-element-71ee177.ba-shop-sidebar-sticky>.elementor-widget {
  width: 100%;
}

/* mobile/tablet: niente sticky */
@media (max-width: 1024px) {
  .elementor-386 .elementor-element.elementor-element-71ee177.ba-shop-sidebar-sticky {
    position: static;
    top: auto;
  }
}


/* =================================
   UP-SELLS SLIDER
   Mantiene la grafica esistente e cambia solo il layout
================================= */

.up-sells.upsells.products.ba-upsells-slider {
  position: relative;
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-viewport {
  overflow: hidden;
  width: 100%;

  /* aria sopra/sotto */
  padding-top: 16px;
  padding-bottom: 16px;
  margin-top: -16px;
  margin-bottom: -16px;

  /* aria laterale per non tagliare le card esterne */
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}

.up-sells.upsells.products.ba-upsells-slider ul.products.ba-upsells-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: translateX(0);
  will-change: transform;
}

.up-sells.upsells.products.ba-upsells-slider {
  padding-left: 4px;
  padding-right: 4px;
}

.up-sells.upsells.products.ba-upsells-slider ul.products.ba-upsells-track li.product {
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
}

/* evita interferenze del grid Elementor */
.up-sells.upsells.products.ba-upsells-slider ul.products.columns-5::before,
.up-sells.upsells.products.ba-upsells-slider ul.products.columns-5::after,
.up-sells.upsells.products.ba-upsells-slider ul.products::before,
.up-sells.upsells.products.ba-upsells-slider ul.products::after {
  display: none !important;
  content: none !important;
}

/* opzionale: se usi il tuo heading custom */
.up-sells.upsells.products>h2 {
  display: none;
}


/* =================================
   UP-SELLS SLIDER - arrows
================================= */

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: #fff;
  color: #553115;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 3;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow:hover {
  background: #8cb63c;
  border-color: #8cb63c;
  color: #fff;
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-prev {
  left: -12px;
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-next {
  right: -12px;
}

@media (max-width: 767px) {
  .up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow {
    width: 36px;
    height: 36px;
  }

  .up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-prev {
    left: -6px;
  }

  .up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-next {
    right: -6px;
  }

  .up-sells.upsells.products.ba-upsells-slider {
    padding: 0;
  }
}


/* =================================
   UP-SELLS SLIDER
   5 desktop / 3 tablet / 2 mobile
   mobile: due card centrate, senza tagli, a filo container
================================= */

.up-sells.upsells.products.ba-upsells-slider {
  position: relative;
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-viewport {
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;

  /* aria verticale per evitare tagli di shadow/hover */
  padding-top: 12px;
  padding-bottom: 12px;
  margin-top: -12px;
  margin-bottom: -12px;

  /* niente aria laterale: a filo container */
  padding-left: 0;
  padding-right: 0;
}

.up-sells.upsells.products.ba-upsells-slider ul.products.ba-upsells-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  transform: translateX(0);
  will-change: transform;
  box-sizing: border-box;
}

.up-sells.upsells.products.ba-upsells-slider ul.products.ba-upsells-track li.product {
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
}

/* evita interferenze del grid Elementor/Woo */
.up-sells.upsells.products.ba-upsells-slider ul.products.columns-5::before,
.up-sells.upsells.products.ba-upsells-slider ul.products.columns-5::after,
.up-sells.upsells.products.ba-upsells-slider ul.products::before,
.up-sells.upsells.products.ba-upsells-slider ul.products::after {
  display: none !important;
  content: none !important;
}

.up-sells.upsells.products.ba-upsells-slider > h2 {
  display: none;
}

/* =================================
   UP-SELLS SLIDER - arrows
================================= */

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: #fff;
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 3;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow:hover {
  background: #8cb63c;
  border-color: #8cb63c;
  color: #fff;
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-prev {
  left: -12px;
}

.up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-next {
  right: -12px;
}

/* =================================
   TABLET
================================= */
@media (max-width: 1024px) {
  .up-sells.upsells.products.ba-upsells-slider ul.products.ba-upsells-track {
    gap: 16px;
  }
}

/* =================================
   MOBILE
   due card perfettamente centrate, nessun taglio laterale
================================= */
@media (max-width: 767px) {
  .up-sells.upsells.products.ba-upsells-slider .ba-upsells-viewport {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
    padding-right: 0;
    margin-top: -10px;
    margin-bottom: -10px;
  }

  .up-sells.upsells.products.ba-upsells-slider ul.products.ba-upsells-track {
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
  }

  .up-sells.upsells.products.ba-upsells-slider ul.products.ba-upsells-track li.product {
    margin: 0 !important;
  }

  .up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow {
    width: 36px;
    height: 36px;
  }

  .up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-prev {
    left: 4px;
  }

  .up-sells.upsells.products.ba-upsells-slider .ba-upsells-arrow-next {
    right: 4px;
  }
}












/* =================================
   HOME - Slider categorie WooCommerce
   6 desktop / 4 tablet / 2 mobile
   Nessuna categoria tagliata/parziale
================================= */

.ba-home-categories-slider {
  position: relative;
  overflow: visible;
}

.ba-home-categories-slider .ba-categories-viewport {
  overflow: hidden !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 6px 0;
}

.ba-home-categories-slider ul.ba-categories-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.ba-home-categories-slider ul.ba-categories-track li {
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  box-sizing: border-box;
}

.ba-home-categories-slider ul.ba-categories-track::before,
.ba-home-categories-slider ul.ba-categories-track::after {
  display: none !important;
  content: none !important;
}

/* Nasconde conteggio prodotti categoria */
.ba-home-categories-slider .count,
.ba-home-categories-slider mark.count {
  display: none !important;
}

/* =================================
   HOME CATEGORIE - card cliccabile
================================= */

.ba-home-categories-slider ul.ba-categories-track li a {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;

  padding: 14px;
  border-radius: 50%;

  background: #8cb63c;
  color: #fff !important;

  text-align: center;
  text-decoration: none !important;

  transition: transform 0.2s ease, background-color 0.2s ease;
}

.ba-home-categories-slider ul.ba-categories-track li a:hover,
.ba-home-categories-slider ul.ba-categories-track li a:focus {
  background: #789f32;
  color: #fff !important;
  transform: translateY(-2px);
  outline: none !important;
}

/* Immagine categoria / icona PNG */
.ba-home-categories-slider ul.ba-categories-track li img {
  display: block !important;
  width: 50px !important;
  height: 50px !important;
  object-fit: contain;
  margin: 0 0 8px 0 !important;
}

/* Titolo categoria: NON sovrascriviamo tipografia Elementor */
.ba-home-categories-slider .woocommerce-loop-category__title {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  text-align: center;
}

/* =================================
   HOME CATEGORIE - frecce
================================= */

.ba-home-categories-slider .ba-categories-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5 !important;
  width: 42px;
  height: 42px;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: #fff;
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Hover + focus: sempre verde, mai rosa Elementor */
.ba-home-categories-slider .ba-categories-arrow:hover,
.ba-home-categories-slider .ba-categories-arrow:focus,
.ba-home-categories-slider .ba-categories-arrow:focus-visible,
.ba-home-categories-slider .ba-categories-arrow:active {
  background: #8cb63c !important;
  border-color: #8cb63c !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.ba-home-categories-slider .ba-categories-arrow-prev {
  left: -56px;
}

.ba-home-categories-slider .ba-categories-arrow-next {
  right: -56px;
}

/* Tablet */
@media (max-width: 1024px) {
  .ba-home-categories-slider ul.ba-categories-track {
    gap: 16px;
  }

  .ba-home-categories-slider ul.ba-categories-track li a {
    padding: 14px;
  }

  .ba-home-categories-slider ul.ba-categories-track li img {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 7px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .ba-home-categories-slider ul.ba-categories-track {
    gap: 12px;
  }

  .ba-home-categories-slider ul.ba-categories-track li a {
    padding: 12px;
  }

  .ba-home-categories-slider ul.ba-categories-track li img {
    width: 30px !important;
    height: 30px !important;
    margin-bottom: 6px !important;
  }

  .ba-home-categories-slider .ba-categories-arrow-prev {
   display: none !important;
  }

  .ba-home-categories-slider .ba-categories-arrow-next {
    display: none !important;
  }
}