/*
Theme Name:   Bibibaby Child (Divi)
Theme URI:    https://bibibaby.it
Description:  Tema figlio di Divi per il restyling Bibibaby. Tutte le personalizzazioni di Bibibaby (palette, layout sidebar, griglia categorie, shortcode, badge, ecc.) vivono qui.
Author:       Bibibaby
Template:     Divi
Version:      2.7.55
Text Domain:  bibibaby
*/

/* ============================================================
   01 — PALETTE COLORI (variabili globali)
   Tutto il sito deve usare queste variabili, non colori hardcoded.
   ============================================================ */
:root {
  --color-bg-primary:   #F5F2ED;
  --color-bg-secondary: #EDE8E0;
  --color-accent:       #8C7B6E;
  --color-accent-dark:  #7a6558;
  --color-text-primary: #2C2825;
  --color-text-muted:   #7A6E66;
}

html body,
html.et_pb_safari body,
body.et_pb_pagebuilder_layout,
body.woocommerce {
  background-color: var(--color-bg-primary) !important;
}

#page-container,
#main-content,
#left-area,
.et_pb_section,
.et_section_regular { background-color: transparent; }

#left-area .bb-stepper-progress{
	padding: 0px !important;
}

.site-header,
header.site-header,
#main-header,
#top-header,
.et_header_style_left #et-top-navigation,
.et-fixed-header,
#main-header.et-fixed-header {
  background-color: var(--color-bg-secondary) !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
body .et_pb_button,
.et_pb_button {
  background-color: var(--color-accent) !important;
  color: #fff !important;
  border-radius: 40px !important;
  border-color: var(--color-accent) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
body .et_pb_button:hover,
.et_pb_button:hover {
  background-color: var(--color-accent-dark) !important;
  color: #fff !important;
  border-color: var(--color-accent-dark) !important;
}

/* ============================================================
   02 — LAYOUT (eventuale sidebar gestita da Divi Theme Builder)
   ============================================================ */
.bibibaby-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  min-height: 100vh;
}
.bibibaby-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  background: var(--color-bg-secondary);
  padding: 2rem 1.5rem;
  border-right: 1px solid var(--color-accent);
}
.bibibaby-menu { list-style: none; padding: 0; margin: 1.5rem 0 0; }
.bibibaby-menu > li > a {
  display: block;
  padding: .6rem .8rem;
  border-radius: 6px;
  font-weight: 600;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background .2s;
}
.bibibaby-menu > li > a:hover { background: var(--color-bg-primary); }
@media (max-width: 768px) {
  .bibibaby-layout { grid-template-columns: 1fr; }
  .bibibaby-sidebar { position: relative; height: auto; }
}

/* ============================================================
   02-C — GRIGLIA CATEGORIE VISIVA
   ============================================================ */
.bibibaby-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1rem;
  margin-bottom: 2.5rem;
}
.bibibaby-cat-card {
  display: flex; flex-direction: column; align-items: center;
  text-decoration: none;
  border-radius: 10px; overflow: hidden;
  border: 1px solid var(--color-accent);
  background: #fff;
  transition: transform .2s, box-shadow .2s;
}
.bibibaby-cat-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.1); }
.bibibaby-cat-card img   { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.bibibaby-cat-card span  {
  padding: .5rem; font-weight: 600; font-size: .85rem;
  color: var(--color-text-primary); text-align: center;
}

/* ============================================================
   01-B — IMMAGINI LISTING WOOCOMMERCE
   ============================================================ */
.woocommerce ul.products li.product a img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
}
@media (min-width: 992px) {
  .woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}

/* ============================================================
   03-A — LINK RECENSIONI SOPRA PREZZO
   ============================================================ */
.bibibaby-reviews-link {
  display: inline-block;
  margin: .25rem 0 .75rem;
  font-size: .9rem;
  color: var(--color-accent);
  text-decoration: underline;
}

/* ============================================================
   03-D — BLOCCO TEMPI DI SPEDIZIONE
   ============================================================ */
.bibibaby-shipping {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  font-size: .85rem !important;
  line-height: 1.4 !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin: 1.25rem 0 0 !important;
  padding: .85rem 1.1rem !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 10px !important;
  position: relative !important;
}
/* Pallino icona a sinistra come accento */
.bibibaby-shipping span {
  flex-shrink: 0 !important;
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  background: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
}

/* ============================================================
   05-B — BADGE URGENZA / POPOLARITÀ / NOVITÀ
   ============================================================ */
.woocommerce ul.products li.product { position: relative; }
.bb-badge {
  position: absolute; top: 10px; left: 10px;
  padding: 4px 10px; border-radius: 20px;
  font-size: .75rem; font-weight: 700; z-index: 2;
  letter-spacing: .02em;
}
.bb-badge--popular { background: #FEF3E2; color: #924E00; }
.bb-badge--new     { background: #E8F5EE; color: #1A6B3C; }
.bb-badge--manual  { background: #EBF3FC; color: #1A56A0; }

/* ============================================================
   05-C — CAMPO PERSONALIZZAZIONE WCCF IN EVIDENZA
   Selettori reali del plugin "WooCommerce Custom Fields" (wccf):
   contenitore .wccf_field_container, campo .wccf, label .wccf_label.
   ============================================================ */
.wccf_field_container.wccf_field_container_product_field {
  background: #fffdf8;
  border: 2px solid var(--color-accent);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  margin: 1.2rem 0;
}
/* Campi heading: niente sfondo, solo separatore */
.wccf_field_container_product_field_heading {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--color-accent);
  border-radius: 0;
  padding: .75rem 0 .25rem;
  margin-top: 1.5rem;
}
.wccf_field_container .wccf_label,
.wccf_label {
  font-weight: 700;
  font-size: .95rem;
  color: var(--color-text-primary);
  margin-bottom: 6px;
  display: block;
}
.wccf_field_container input.wccf_text,
.wccf_field_container input.wccf_number,
.wccf_field_container input.wccf_date,
.wccf_field_container textarea.wccf_textarea,
.wccf_field_container select.wccf_select {
  border: 1.5px solid var(--color-accent);
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 1rem;
  width: 100%;
  background: #fff;
  box-sizing: border-box;
}
.wccf_field_container input[type="checkbox"].wccf_checkbox {
  accent-color: var(--color-accent);
  margin-right: .5rem;
}

/* ============================================================
   05-D — SHORTCODE [bibibaby_come_funziona]
   ============================================================ */
.bb-how {
  margin: 1.5rem 0; padding: 1.25rem;
  background: var(--color-bg-primary);
  border-radius: 12px; border: 1px solid var(--color-accent);
}
.bb-how__title { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; color: var(--color-text-primary); }
.bb-how__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.bb-how__step  { text-align: center; display: flex; flex-direction: column; align-items: center; gap: .4rem; }
.bb-how__num   {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--color-accent); color: #fff;
  font-weight: 700; font-size: .85rem;
  display: flex; align-items: center; justify-content: center;
}
.bb-how__step strong { font-size: .9rem; color: var(--color-text-primary); }
.bb-how__step p      { font-size: .82rem; color: var(--color-text-muted); margin: 0; }
@media (max-width: 600px) { .bb-how__steps { grid-template-columns: 1fr; } }

/* ============================================================
   05-E — BESTSELLER SECTION
   ============================================================ */
.bb-bestseller {
  background: var(--color-bg-secondary);
  padding: 3rem 2rem; margin: 3rem 0; border-radius: 16px;
}
.bb-bestseller__title {
  font-size: 1.4rem; font-weight: 700;
  margin-bottom: 1.5rem; color: var(--color-text-primary);
}

/* ============================================================
   05-F — BANNER CTA HOMEPAGE
   ============================================================ */
.bb-cta {
  text-align: center; padding: 4rem 2rem;
  background: var(--color-bg-secondary);
  border-radius: 16px; margin: 3rem 0;
}
.bb-cta h2 { font-size: 1.8rem; font-weight: 700; margin-bottom: .75rem; color: var(--color-text-primary); }
.bb-cta p  { color: var(--color-text-muted); margin-bottom: 1.5rem; }
.bb-cta__btn {
  display: inline-block; padding: .9rem 2.4rem;
  background: var(--color-accent); color: #fff;
  font-weight: 700; border-radius: 40px;
  text-decoration: none; transition: background .2s;
}
.bb-cta__btn:hover { background: var(--color-accent-dark); color: #fff; }

/* ============================================================
   PRODUCT PAGE — STEPPER chirurgico
   NO override del layout Divi: stilizza solo elementi creati dal JS
   (.bb-stepper, .bb-chips, .bb-animal-grid) e i WCCF SOLO quando sono
   dentro lo stepper (.bb-stepper .wccf_field_container).
   ============================================================ */

/* ── CHIP per varianti WC (sostituiscono i select pa_*) ── */
.bb-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0 .25rem}
.bb-chip{
  padding:.65rem 1.1rem;border:1.5px solid #E8E2D8;background:#fff;
  font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  cursor:pointer;color:#1F1B17;transition:all .15s;border-radius:2px;font-family:inherit;
}
.bb-chip:hover{border-color:#1F1B17}
.bb-chip.is-active{background:#1F1B17;color:#fff;border-color:#1F1B17}

/* nascondi il select Woo solo quando JS ha messo le chip al suo posto */
select.bb-replaced{
  position:absolute !important;left:-9999px !important;top:-9999px !important;
  opacity:0;pointer-events:none;
}

/* ── GRIGLIA animaletti ── */
.bb-animal-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(64px, 1fr));gap:.4rem;
  max-height:340px;overflow-y:auto;padding-right:.25rem;margin-top:.5rem;
  scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent;
}

/* container del select animaletti: nasconde label/required ridondanti */
.bb-stepper .wccf_field_container.bb-animal-host .wccf_label,
.bb-stepper .wccf_field_container.bb-animal-host .wccf_required_marker,
.bb-stepper .wccf_field_container.bb-animal-host span.wccf_required_marker{
  display:none !important;
}
.bb-stepper .wccf_field_container.bb-animal-host{padding:0 !important}
.bb-animal-grid::-webkit-scrollbar{width:6px}
.bb-animal-grid::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:3px}
.bb-animal-cell{
  position:relative;cursor:pointer;border:1.5px solid #E8E2D8;
  background:#fff;border-radius:6px;aspect-ratio:1/1;overflow:hidden;transition:all .15s;
}
.bb-animal-cell:hover{border-color:var(--color-accent-dark)}
.bb-animal-cell.is-active{outline:2px solid #1F1B17;outline-offset:-2px;border-color:#1F1B17}
.bb-animal-cell .bb-animal-img{
  width:100%;height:100%;display:block;background-size:cover;background-position:center;
  background-color:var(--color-bg-primary);
}
.bb-animal-cell.is-placeholder .bb-animal-img{
  display:flex;align-items:center;justify-content:center;font-size:.55rem;
  color:#8A7F75;text-align:center;padding:.15rem;line-height:1.05;
  overflow:hidden;word-break:break-word;hyphens:auto;
}
.bb-animal-tip{
  position:fixed;background:#1F1B17;color:#fff;font-size:.75rem;
  padding:.3rem .55rem;border-radius:4px;pointer-events:none;
  opacity:0;transform:translateY(4px);transition:.15s;z-index:9999;white-space:nowrap;
}
.bb-animal-tip.is-active{opacity:1;transform:translateY(0)}
.bb-animal-shown{
  font-size:.82rem;color:#8A7F75;margin-top:.5rem;
}
.bb-animal-shown strong{color:#1F1B17;font-weight:600}

/* ── STEPPER (contenitore generato dal JS) ── */
.bb-stepper{
  margin:1.5rem 0 1.25rem;border:1px solid #E8E2D8;
  border-radius:12px;overflow:hidden;background:#fff;
}
.bb-stepper-progress{
  display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;
  background:var(--color-bg-primary);border-bottom:1px solid #E8E2D8;
}
.bb-stepper-progress li{
  position:relative;padding:1rem .65rem;text-align:center;
  font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#8A7F75;cursor:pointer;transition:color .15s;
  display:flex;align-items:center;justify-content:center;gap:.4rem;
}
.bb-stepper-progress li:not(:last-child)::after{
  content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);
  width:1px;height:60%;background:#E8E2D8;
}
.bb-stepper-progress li .bb-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;background:#fff;color:#8A7F75;
  font-size:.7rem;font-weight:700;border:1.5px solid #E8E2D8;transition:all .2s;
}
.bb-stepper-progress li.is-active{color:#1F1B17;background:#fff}
.bb-stepper-progress li.is-active .bb-num{background:#1F1B17;color:#fff;border-color:#1F1B17}
.bb-stepper-progress li.is-done{color:#1F1B17}
.bb-stepper-progress li.is-done .bb-num{background:#1A6B3C;color:#fff;border-color:#1A6B3C}
.bb-stepper-progress li.is-done .bb-num::before{content:"✓"}
.bb-stepper-progress li.is-done .bb-num-txt{display:none}

.bb-step-body{padding:1.5rem 1.25rem 1.25rem}
.bb-step{display:none;animation:bb-fade .25s ease}
.bb-step.is-active{display:block}
@keyframes bb-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.bb-step-title{
  font-size:1.05rem;font-weight:700;letter-spacing:.02em;
  margin:0 0 .25rem;color:#1F1B17;
}
.bb-step-hint{font-size:.85rem;color:#8A7F75;margin:0 0 1rem}

.bb-section-label{
  font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:#1F1B17;margin:1rem 0 .5rem;display:flex;align-items:center;gap:.4rem;
}
.bb-section-label .bb-req{color:#B83A2E;font-size:.85rem}

/* ── Restyle WCCF SOLO dentro lo stepper ── */
.bb-stepper .wccf_field_container.wccf_field_container_product_field{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:1rem 0 !important;
  border-radius:0 !important;
}
.bb-stepper .wccf_field_container_product_field_heading{
  border-top:1px solid #E8E2D8 !important;
  padding-top:.75rem !important;
  margin-top:1.25rem !important;
}
.bb-stepper .wccf_label{
  font-size:.72rem !important;
  font-weight:700 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  color:#1F1B17 !important;
  margin:0 0 .4rem !important;
  display:block !important;
}
.bb-stepper input.wccf_text,
.bb-stepper input.wccf_number,
.bb-stepper input.wccf_date,
.bb-stepper textarea.wccf_textarea,
.bb-stepper select.wccf_select{
  width:100% !important;
  padding:.75rem .9rem !important;
  border:1.5px solid #E8E2D8 !important;
  background:#fff !important;
  font-size:.95rem !important;
  border-radius:2px !important;
  color:#1F1B17 !important;
}
.bb-stepper input.wccf_text:focus,
.bb-stepper input.wccf_number:focus,
.bb-stepper input.wccf_date:focus,
.bb-stepper textarea.wccf_textarea:focus,
.bb-stepper select.wccf_select:focus{
  outline:none !important;
  border-color:#1F1B17 !important;
  box-shadow:none !important;
}

/* checkbox WCCF dentro stepper → "extra box" cliccabili */
.bb-stepper .wccf_field_container_product_field_checkbox{
  display:flex !important;align-items:flex-start !important;gap:.7rem !important;
  padding:.85rem 1rem !important;border:1px solid #E8E2D8 !important;
  border-radius:6px !important;margin:0 0 .5rem !important;background:#fff !important;
  cursor:pointer !important;transition:border-color .15s;
}
.bb-stepper .wccf_field_container_product_field_checkbox:hover{
  border-color:var(--color-accent) !important;
}
.bb-stepper .wccf_field_container_product_field_checkbox input[type="checkbox"]{
  margin-top:.15rem;accent-color:var(--color-accent);width:1rem;height:1rem;flex-shrink:0;
}
.bb-stepper .wccf_field_container_product_field_checkbox .wccf_label{
  text-transform:none !important;letter-spacing:0 !important;
  font-size:.92rem !important;font-weight:600 !important;margin:0 !important;flex:1;
}

/* navigazione stepper */
.bb-step-nav{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:1.25rem;padding-top:1rem;border-top:1px solid #E8E2D8;gap:.5rem;
}
.bb-btn-back{
  background:transparent;border:0;color:#8A7F75;
  font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;padding:.4rem 0;font-family:inherit;
}
.bb-btn-back:hover{color:#1F1B17}
.bb-btn-back[disabled]{opacity:.25;cursor:not-allowed}
.bb-btn-next{
  background:#1F1B17;color:#fff;border:0;
  padding:.8rem 1.4rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;border-radius:2px;font-family:inherit;
}
.bb-btn-next:hover{background:#5F5147}
.bb-step-done{font-size:.8rem;color:#1A6B3C;font-weight:700;letter-spacing:.05em}

/* ── Live name overlay sulla gallery (solo se la classe esiste) ── */
.woocommerce-product-gallery{position:relative}
.bb-live-overlay{
  position:absolute;left:0;right:0;bottom:6%;text-align:center;z-index:5;
  font-family:"Caveat",cursive;font-size:clamp(2rem,4vw,3.4rem);
  color:#5F5147;pointer-events:none;
  opacity:0;transform:translateY(8px);transition:.4s ease;
  text-shadow:0 2px 12px rgba(255,255,255,.7);
}
.bb-live-overlay.is-active{opacity:1;transform:translateY(0)}

/* responsive */
@media (max-width:768px){
  .bb-animal-grid{grid-template-columns:repeat(auto-fill, minmax(56px,1fr));max-height:300px}
  .bb-stepper-progress li{font-size:.6rem;padding:.85rem .3rem;letter-spacing:.08em}
  .bb-stepper-progress li .bb-num{width:18px;height:18px;font-size:.6rem}
}

/* ============================================================
   PRODOTTO: rifiniture (product_meta, Judge.me, correlati)
   ============================================================ */

/* COD/Categorie/Tag — più discreto, sotto al titolo */
.woocommerce div.product .product_meta,
.product_meta {
  font-size: .72rem !important;
  color: var(--color-text-muted) !important;
  letter-spacing: .04em;
  padding: .75rem 0 !important;
  margin-top: 1rem !important;
  border-top: 1px solid #E8E2D8;
  text-transform: none;
  line-height: 1.7;
}
.product_meta > span { display: block; }
.product_meta .sku_wrapper,
.product_meta .posted_in,
.product_meta .tagged_as {
  color: var(--color-text-muted) !important;
}
.product_meta a {
  color: var(--color-accent) !important;
  text-decoration: none;
  border-bottom: 1px dotted var(--color-accent);
}
.product_meta a:hover { color: var(--color-accent-dark) !important; }

/* Judge.me — stelle in palette tortora scura (al posto del rosa) */
.jdgm-star.jdgm--on,
.jdgm-star.jdgm--half,
.jdgm-histogram__star.jdgm-star.jdgm--on,
.jdgm-prev-badge .jdgm-star.jdgm--on,
.jdgm-rev-widg__summary-stars .jdgm-star.jdgm--on {
  color: var(--color-text-primary) !important;
}
.jdgm-star.jdgm--off,
.jdgm-histogram__star.jdgm-star.jdgm--off {
  color: var(--color-bg-secondary) !important;
}
.jdgm-prev-badge__text {
  color: var(--color-text-muted) !important;
  font-size: .85rem !important;
}

/* Bottone "Scrivi una recensione" — palette */
.jdgm-write-rev-link,
.jdgm-btn.jdgm-write-rev-link,
a.jdgm-write-rev-link {
  background: var(--color-accent) !important;
  color: #fff !important;
  border-color: var(--color-accent) !important;
  border-radius: 2px !important;
  padding: .85rem 1.4rem !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
.jdgm-write-rev-link:hover,
.jdgm-btn.jdgm-write-rev-link:hover,
a.jdgm-write-rev-link:hover {
  background: var(--color-accent-dark) !important;
  color: #fff !important;
}

/* Histogram bars (le barrette grigio-rosa accanto al rating) */
.jdgm-histogram__bar {
  background: #F0EBE2 !important;
}
.jdgm-histogram__bar-content {
  background: var(--color-accent) !important;
}
.jdgm-histogram__frequency {
  color: var(--color-text-muted) !important;
}

/* Sort dropdown */
.jdgm-rev-widg__sort-wrapper select,
.jdgm-sort-dropdown {
  border: 1px solid #E8E2D8 !important;
  border-radius: 2px !important;
  color: var(--color-text-primary) !important;
  background: #fff !important;
}

/* Titolo "Che cosa dicono i nostri clienti" + altre headline custom */
.jdgm-rev-widg__title {
  color: var(--color-text-primary) !important;
  letter-spacing: .12em;
  font-size: 1.05rem !important;
}

/* Singola review card */
.jdgm-rev {
  border-bottom: 1px solid #E8E2D8 !important;
  padding: 1.25rem 0 !important;
}
.jdgm-rev__author {
  color: var(--color-text-primary) !important;
  font-weight: 600 !important;
}
.jdgm-rev__buyer-badge {
  background: #E8F5EE !important;
  color: var(--color-text-primary) !important;
  font-weight: 600 !important;
}

/* Prodotti correlati: foto sopra titolo, prezzo pulito */
.woocommerce .related.products h2,
.woocommerce .related.products > h2,
section.related.products > h2 {
  font-size: 1.3rem !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-primary);
  margin-bottom: 1.5rem !important;
}
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related ul.products li.product h2,
.woocommerce .related ul.products li.product h3 {
  font-size: .92rem !important;
  font-weight: 600 !important;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--color-text-primary) !important;
  margin-top: .75rem !important;
  line-height: 1.3 !important;
}
.woocommerce .related.products ul.products li.product .price,
.woocommerce .related ul.products li.product .price {
  font-size: .95rem !important;
  color: var(--color-text-primary) !important;
  font-weight: 500 !important;
}

/* Rating snippet sotto al titolo prodotto (stelle “1 recensione”) */
.jdgm-prev-badge {
  padding: .25rem 0 !important;
}

/* ============================================================
   FIX: rating snippet riposizionato + galleria sticky + bg recensioni
   ============================================================ */

/* Rating snippet (Judge.me) sotto al titolo */
.bb-rating-snippet{
  margin: -.25rem 0 1rem;
  display: flex;
  align-items: center;
}
.bb-rating-snippet .jdgm-preview-badge{
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  gap: .35rem;
}
.bb-rating-snippet .jdgm-prev-badge__stars{font-size:.95rem}
.bb-rating-snippet .jdgm-prev-badge__text{font-size:.82rem !important}

/* Nasconde il badge orfano originale (se per qualche motivo il JS non lo sposta,
   non lo lasciamo "vagare" sopra alla galleria) finché il JS non lo riporta a posto */
.et_pb_wc_images ~ .jdgm-widget.jdgm-preview-badge{display:none}

/* Galleria sticky: la colonna sinistra resta visibile mentre lo stepper scorre */
@media (min-width: 981px){
  .et_pb_wc_images,
  .et_pb_module.et_pb_wc_images{
    position: sticky;
    top: 90px;
    align-self: start;
  }
  /* il modulo Divi può essere wrapped in column con flex; allow sticky */
  .et_pb_column:has(> .et_pb_wc_images){align-self:flex-start}
}

/* Recensioni: sfondo bianco + spaziatura per dare identità */
.jdgm-rev-widg,
.jdgm-rev-widg.jdgm-rev-widg{
  background: #fff !important;
  padding: 2rem 2rem !important;
  border-radius: 14px;
  box-shadow: 0 1px 0 #E8E2D8;
  margin: 2rem 0;
}
.jdgm-rev-widg__header{
  border-bottom: 1px solid #E8E2D8 !important;
  padding-bottom: 1.25rem !important;
  margin-bottom: 1.5rem !important;
}
.jdgm-rev-widg__title{
  margin: 0 0 1rem !important;
  font-size: 1.15rem !important;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: left !important;
}
.jdgm-rev-widg__summary{
  display: flex !important;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.jdgm-rev-widg__summary-stars{
  font-size: 1.1rem !important;
}
.jdgm-rev-widg__summary-text{
  font-size: .85rem !important;
  color: var(--color-text-muted) !important;
}

/* Eventuale modulo Divi che wrappa le recensioni: niente extra bg */
.et_pb_wc_reviews{
  background: transparent;
}

/* Mobile: galleria niente sticky */
@media (max-width: 980px){
  .et_pb_wc_images,
  .et_pb_module.et_pb_wc_images{position: relative; top: 0;}
}

/* ============================================================
   MIMI-style polish: fonts, titoli, accordion, promo bar
   ============================================================ */

/* Promo bar Bibibaby */
.bb-promo-bar{
  background: var(--color-accent);
  color: #fff;
  text-align: center;
  padding: .55rem 1rem;
  font-size: .78rem;
  letter-spacing: .12em;
  font-weight: 600;
  text-transform: uppercase;
}

/* Body family su tutto il sito (sovrascrive Divi default) — solo prodotto */
.single-product #page-container,
.single-product .et_pb_wc_title h1,
.single-product .et_pb_wc_price,
.single-product .summary,
.single-product .woocommerce-tabs,
.single-product .wccf_field_container,
.single-product .et_pb_wc_add_to_cart,
.single-product .jdgm-rev-widg{
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Titolo prodotto in serif elegante */
.single-product .et_pb_wc_title h1.product_title,
.single-product h1.product_title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(2rem, 3vw, 2.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.01em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  margin: .25rem 0 .75rem !important;
}

/* Prezzo in serif (modulo Divi WC Price) */
.single-product .et_pb_wc_price .price,
.single-product .woocommerce-Price-amount,
.single-product p.price{
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 1.5rem !important;
  letter-spacing: -.01em;
  color: var(--color-text-primary) !important;
}

/* Rating snippet sopra il titolo (no più sotto) */
.bb-rating-snippet{
  display: flex;
  align-items: center;
  margin: 0 0 .5rem;
}
.bb-rating-snippet .jdgm-preview-badge{
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  gap: .35rem;
}
.bb-rating-snippet .jdgm-prev-badge__stars{font-size:.95rem}
.bb-rating-snippet .jdgm-prev-badge__text{
  font-size: .78rem !important;
  color: var(--color-text-muted) !important;
  border-bottom: 1px solid var(--color-text-muted);
  text-decoration: none !important;
}

/* ── ACCORDION descrizione (sotto la trust strip) ── */
.bb-accordion{
  margin: 2rem 0 1rem;
  border-top: 1px solid #E8E2D8;
}
.bb-acc-item{
  border-bottom: 1px solid #E8E2D8;
}
.bb-acc-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.1rem 0;
  cursor: pointer;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-text-primary);
}
.bb-acc-plus{
  font-size: 1.2rem;
  font-weight: 300;
  transition: transform .2s;
}
.bb-acc-item.is-open .bb-acc-plus{transform: rotate(45deg)}
.bb-acc-body{
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  font-size: .9rem;
  color: var(--color-text-muted);
  line-height: 1.7;
}
.bb-acc-item.is-open .bb-acc-body{
  max-height: 800px;
  padding: 0 0 1.2rem;
}
.bb-acc-body p:first-child{margin-top:0}
.bb-acc-body p:last-child{margin-bottom:0}

/* Trust strip: ridotta a 4 voci elegant */
.bb-trust{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  margin: 2rem 0 1rem;
  padding: 1.25rem 0;
  border-top: 1px solid #E8E2D8;
  border-bottom: 1px solid #E8E2D8;
}
.bb-trust-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  text-align: center;
  font-size: .7rem;
  color: var(--color-text-muted);
  font-weight: 600;
  letter-spacing: .04em;
}
.bb-trust-item svg{
  width: 26px;
  height: 26px;
  color: var(--color-accent);
}

@media (max-width: 720px){
  .bb-trust{grid-template-columns: repeat(2, 1fr); gap: 1rem}
  .single-product .et_pb_wc_title h1.product_title{font-size: 1.7rem !important}
}

/* CTA Add to cart: SOLO style geometrico/typography. Il COLORE è gestito dal JS
   bibibaby-product.js → styleATCButton() in base allo stato disabled/attivo. */
.single-product .single_add_to_cart_button.button.alt,
.single-product button.single_add_to_cart_button{
  border-radius: 2px !important;
  border: 0 !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 1rem 1.5rem !important;
}

/* Quantity input più sobrio */
.single-product .quantity input.qty{
  border: 1.5px solid #E8E2D8 !important;
  background: #fff !important;
  height: 48px !important;
  text-align: center;
  font-weight: 600;
  border-radius: 0 !important;
}

/* ============================================================
   PRODUCT LAYOUT — container largo + padding sottile + galleria
   ============================================================ */

/* Allarga le righe Divi della pagina prodotto */
.single-product .et_pb_row{
  width: 92% !important;
  max-width: 1340px !important;
}

/* Spaziatura più ariosa, senza padding eccessivi */
.single-product .et_pb_section{
  padding-top: 1.25rem !important;
  padding-bottom: 1.5rem !important;
}

/* Niente sfondo grigio scuro sulla pagina prodotto: ambient soft */
.single-product .et_pb_section.et_pb_with_background,
.single-product .et_pb_section{
  background-color: var(--color-bg-primary) !important;
}

/* Galleria: card bianca con sfondo chiaro, no più grigio scuro */
.single-product .et_pb_wc_images{
  background: #FFFFFF;
  border-radius: 14px;
  padding: 1rem;
  box-shadow: 0 1px 0 #E8E2D8;
}
.single-product .et_pb_wc_images .woocommerce-product-gallery__wrapper{
  border-radius: 10px;
  overflow: hidden;
  background: var(--color-bg-soft, #FAF7F3);
}
.single-product .et_pb_wc_images .woocommerce-product-gallery__image img{
  border-radius: 10px;
}

/* Pannello acquisto: niente background diverso, solo respirare */
.single-product .et_pb_wc_title,
.single-product .et_pb_wc_price,
.single-product .et_pb_wc_add_to_cart{
  background: transparent !important;
}

/* Breadcrumb in alto a sinistra, fuori dal container Divi originale */
.bb-breadcrumb-host{
  max-width: 1340px;
  width: 92%;
  margin: 1rem auto .25rem;
  font-size: .8rem;
  color: var(--color-text-muted);
  letter-spacing: .03em;
}
.bb-breadcrumb-host .et_pb_wc_breadcrumb{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.bb-breadcrumb-host nav.woocommerce-breadcrumb,
.bb-breadcrumb-host .woocommerce-breadcrumb{
  font-size: .8rem !important;
  color: var(--color-text-muted) !important;
  margin: 0 !important;
  letter-spacing: .03em;
}
.bb-breadcrumb-host a{
  color: var(--color-text-muted) !important;
  text-decoration: none !important;
}
.bb-breadcrumb-host a:hover{color: var(--color-accent) !important}
.bb-breadcrumb-host .woocommerce-breadcrumb .delimiter,
.bb-breadcrumb-host .woocommerce-breadcrumb > .et-breadcrumb-separator,
.bb-breadcrumb-host .woocommerce-breadcrumb span{margin: 0 .35rem; color: #C9B9A9}

/* Nasconde eventuale breadcrumb duplicato che fosse rimasto in posizione originale */
.et_pb_wc_breadcrumb:not(.bb-breadcrumb-host .et_pb_wc_breadcrumb){display:none}
.bb-breadcrumb-host .et_pb_wc_breadcrumb{display:block !important}

/* Spaziatura colonne più armoniosa */
.single-product .et_pb_column{
  padding: 0 1rem !important;
}
.single-product .et_pb_row > .et_pb_column:first-child{padding-left: 0 !important}
.single-product .et_pb_row > .et_pb_column:last-child{padding-right: 0 !important}

@media (max-width: 980px){
  .single-product .et_pb_column{padding: 0 !important}
  .bb-breadcrumb-host{width: 94%}
}

/* ============================================================
   Product page — background totalmente bianco
   ============================================================ */
.single-product,
.single-product body,
body.single-product,
.single-product #page-container,
.single-product #main-content,
.single-product #et-main-area,
.single-product .et_pb_section,
.single-product .et_pb_row,
.single-product .et_pb_section.et_pb_with_background{
  background-color: #FFFFFF !important;
}

/* La galleria card aveva ombra+padding: ora niente shadow perchè tutto bianco */
.single-product .et_pb_wc_images{
  background: #FFFFFF !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.single-product .et_pb_wc_images .woocommerce-product-gallery__wrapper{
  background: #FAF7F3 !important;
}

/* Recensioni: white card si fonde, aggiungo un bordo sottile per non perderle */
.jdgm-rev-widg,
.jdgm-rev-widg.jdgm-rev-widg{
  background: #FFFFFF !important;
  border: 1px solid #E8E2D8 !important;
  box-shadow: none !important;
}

/* ============================================================
   HEADER: Smart Slider PROMO BAR → tortora + testo bianco + full width
   SCOPED a .bb-promobar-host (la promo bar che il JS sposta in cima)
   per NON interferire con altri smart slider della home.
   ============================================================ */
.bb-promobar-host .n2-section-smartslider{
  background: var(--color-accent) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bb-promobar-host .n2-section-smartslider .n2-ss-slider,
.bb-promobar-host .n2-section-smartslider .n2-ss-slide,
.bb-promobar-host .n2-section-smartslider .n2-ss-slide-background,
.bb-promobar-host .n2-section-smartslider .n2-ss-slide-background-image,
.bb-promobar-host .n2-section-smartslider .n2-ss-slide-background-color{
  background: var(--color-accent) !important;
  background-color: var(--color-accent) !important;
}
.bb-promobar-host .n2-section-smartslider .n2-ss-text,
.bb-promobar-host .n2-section-smartslider .n2-ss-layer-content,
.bb-promobar-host .n2-section-smartslider p,
.bb-promobar-host .n2-section-smartslider span,
.bb-promobar-host .n2-section-smartslider div,
.bb-promobar-host .n2-section-smartslider a{
  color: #FFFFFF !important;
  letter-spacing: .08em;
  font-weight: 600;
}
/* frecce slider promo: bianco semitrasparente, discrete */
.bb-promobar-host .n2-section-smartslider .nextend-arrow svg,
.bb-promobar-host .n2-section-smartslider .nextend-arrow{
  fill: rgba(255,255,255,.7) !important;
  color: rgba(255,255,255,.7) !important;
}

/* ============================================================
   HEADER: spazio sotto il logo ridotto
   ============================================================ */
.et_pb_section_0_tb_header,
.et_pb_section.et_pb_section_0_tb_header{
  padding-top: .75rem !important;
  padding-bottom: .25rem !important;
}
.et_pb_row.et_pb_row_0_tb_header,
.et_pb_row.et_pb_row_1_tb_header,
.et_pb_row.et_pb_row_2_tb_header{
  padding-top: .25rem !important;
  padding-bottom: .25rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.et_pb_image.et_pb_module img{margin-bottom: 0 !important}

/* ============================================================
   MENU: hamburger sempre visibile + sidebar drawer laterale sinistra
   (stile MIMI made with love)
   ============================================================ */

/* Nasconde il menu desktop principale; mostra solo l'hamburger */
.et_pb_menu_0 .et_pb_menu__menu{display: none !important}
.et_pb_menu_0 .et_pb_menu__wrap{
  display: flex !important;
  justify-content: flex-start !important;
}
.et_pb_menu_0 .mobile_menu_bar,
.et_pb_menu .mobile_menu_bar{
  display: block !important;
  position: relative !important;
  cursor: pointer;
}
.et_pb_menu_0 .mobile_menu_bar:before{
  font-size: 28px !important;
  color: var(--color-text-primary) !important;
}

/* Hamburger placed à la MIMI: aligned to the left of the row */
.et_pb_menu_0{
  text-align: left !important;
}

/* Sidebar drawer left (la mia struttura JS) */
.bb-drawer-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.4);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease;
  z-index: 99998;
}
.bb-drawer-overlay.is-open{opacity: 1; pointer-events: auto}

.bb-drawer{
  position: fixed; top: 0; left: 0; bottom: 0;
  width: min(85vw, 340px);
  background: #FFFFFF;
  padding: 4.5rem 1.5rem 2rem;
  transform: translateX(-100%);
  transition: transform .3s ease;
  z-index: 99999;
  box-shadow: 4px 0 24px rgba(0,0,0,.06);
  overflow-y: auto;
}
.bb-drawer.is-open{transform: translateX(0)}
.bb-drawer-close{
  position: absolute; top: 1rem; right: 1rem;
  background: transparent; border: 0; cursor: pointer;
  width: 36px; height: 36px; font-size: 1.5rem;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-text-primary);
}
.bb-drawer ul{
  list-style: none; padding: 0; margin: 0;
}
.bb-drawer ul li{
  border-bottom: 1px solid #F0EBE2;
}
.bb-drawer ul li a{
  display: block;
  padding: 1rem .25rem;
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: .95rem;
  font-weight: 500;
  letter-spacing: .03em;
  transition: color .15s, padding-left .15s;
}
.bb-drawer ul li a:hover{
  color: var(--color-accent);
  padding-left: .5rem;
}
.bb-drawer ul li ul{
  padding-left: 1rem;
  border-top: 1px solid #F0EBE2;
}
.bb-drawer ul li ul li{border-bottom: 0}
.bb-drawer ul li ul li a{
  font-size: .85rem;
  color: var(--color-text-muted);
  padding: .55rem .25rem;
}


/* ============================================================
   FIX v1.2.1 — selettori menu Theme Builder + slider margin/frecce
   ============================================================ */

/* Menu Divi Theme Builder: nasconde menu desktop + mostra hamburger */
.et_pb_menu .et_pb_menu__menu,
.et_pb_menu_0_tb_header .et_pb_menu__menu,
.et_pb_menu_1_tb_header .et_pb_menu__menu{display: none !important}

.et_pb_menu .mobile_menu_bar,
.et_pb_menu_0_tb_header .mobile_menu_bar,
.et_pb_menu_1_tb_header .mobile_menu_bar{
  display: block !important;
  position: relative !important;
  cursor: pointer;
  visibility: visible !important;
  opacity: 1 !important;
}
.et_pb_menu .mobile_menu_bar:before,
.et_pb_menu_0_tb_header .mobile_menu_bar:before,
.et_pb_menu_1_tb_header .mobile_menu_bar:before{
  font-size: 28px !important;
  color: var(--color-text-primary) !important;
  display: inline-block !important;
}
.et_pb_menu .et_mobile_nav_menu,
.et_pb_menu_0_tb_header .et_mobile_nav_menu,
.et_pb_menu_1_tb_header .et_mobile_nav_menu{
  display: block !important;
  float: none !important;
}
/* nasconde il submenu desktop dropdown se Divi lo srotola */
.et_pb_menu .et-menu-nav,
.et_pb_menu_0_tb_header .et-menu-nav,
.et_pb_menu_1_tb_header .et-menu-nav{display: none !important}

/* Slider promo: leva eventuali margin/padding dalla sezione che lo wrappa.
   Scope SOLO al promobar host per non interferire con altri slider della home. */
.bb-promobar-host,
.et_pb_section.et_pb_section_0_tb_header,
.et_pb_row.et_pb_row_0_tb_header{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.et_pb_section_0_tb_header .et_pb_column,
.et_pb_row_0_tb_header .et_pb_column,
.et_pb_row_0_tb_header .et_pb_text{
  padding: 0 !important;
  margin: 0 !important;
}

/* Frecce slider PROMO — nascoste (scope: solo bb-promobar-host) */
.bb-promobar-host .n2-section-smartslider .nextend-arrow,
.bb-promobar-host .n2-section-smartslider .n2-ss-control-arrow-previous,
.bb-promobar-host .n2-section-smartslider .n2-ss-control-arrow-next,
.bb-promobar-host .n2-section-smartslider [class*="arrow"]{
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Bullets / pagination slider PROMO — anche queste nascoste */
.bb-promobar-host .n2-section-smartslider .n2-bullet,
.bb-promobar-host .n2-section-smartslider [class*="bullet"]{
  display: none !important;
}

/* ============================================================
   HEADER MIMI-STYLE — sostituisce il Divi Theme Builder header
   ============================================================ */

/* Nasconde TUTTO l'header Divi (sezione 0 del Theme Builder) */
.et_pb_section_0_tb_header.bb-divi-header-hidden,
.bb-divi-header-hidden{display:none !important}

/* Nuovo header custom */
.bb-header{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem 2rem;
  background: #FFFFFF;
  border-bottom: 1px solid #E8E2D8;
  position: sticky;
  top: 0;
  z-index: 100;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}
.bb-header__left{
  display: flex; gap: .25rem; justify-content: flex-start; align-items: center;
}
.bb-header__right{
  display: flex; gap: .25rem; justify-content: flex-end; align-items: center;
}
.bb-header__logo{display: flex; justify-content: center; align-items: center}
.bb-header__logo img{
  max-height: 94px;
  width: auto;
  display: block;
}
.bb-header__logo a{display: block; line-height: 0}

.bb-header__icon{
  background: transparent; border: 0;
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--color-text-primary);
  text-decoration: none;
  padding: 0;
  border-radius: 0;
  position: relative;
}
.bb-header__icon svg{width: 22px; height: 22px}
.bb-header__icon:hover{color: var(--color-accent)}

.bb-header__cart .bb-cart-count{
  position: absolute; top: 4px; right: 4px;
  background: var(--color-accent); color: #fff;
  font-size: .6rem; font-weight: 700;
  width: 16px; height: 16px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}

/* ============================================================
   DRAWER (sidebar laterale sinistra MIMI-style)
   ============================================================ */
.bb-drawer-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.4);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease;
  z-index: 9998;
}
.bb-drawer-overlay.is-open{opacity: 1; pointer-events: auto}

.bb-drawer{
  position: fixed; top: 0; left: 0; bottom: 0;
  width: min(88vw, 380px);
  background: #FFFFFF;
  transform: translateX(-100%);
  transition: transform .3s ease;
  z-index: 9999;
  box-shadow: 4px 0 24px rgba(0,0,0,.06);
  display: flex; flex-direction: column;
  font-family: "Inter", sans-serif;
}
.bb-drawer.is-open{transform: translateX(0)}

.bb-drawer__head{
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem 1.5rem 1rem;
  border-bottom: 1px solid #E8E2D8;
}
.bb-drawer__logo img{max-height: 44px; width: auto; display: block}
.bb-drawer__close{
  background: transparent; border: 0; cursor: pointer;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-text-primary);
  padding: 0;
}
.bb-drawer__close svg{width: 18px; height: 18px}

.bb-drawer__search{
  display: flex; align-items: center; gap: .5rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F0EBE2;
}
.bb-drawer__search button{
  background: transparent; border: 0; cursor: pointer;
  color: var(--color-text-muted); padding: 0;
  display: flex; align-items: center;
}
.bb-drawer__search button svg{width: 18px; height: 18px}
.bb-drawer__search input{
  flex: 1; border: 0; background: transparent;
  font-family: inherit; font-size: .9rem; color: var(--color-text-primary);
  padding: .35rem 0;
  outline: none;
}
.bb-drawer__search input::placeholder{color: var(--color-text-muted)}

.bb-drawer__nav{
  flex: 1; overflow-y: auto;
  padding: .5rem 0;
}
.bb-drawer__nav ul{
  list-style: none; padding: 0; margin: 0;
}
.bb-drawer__nav > ul > li{
  border-bottom: 1px solid #F0EBE2;
}
.bb-drawer__nav li a{
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.5rem;
  color: var(--color-text-primary);
  text-decoration: none !important;
  font-size: .95rem;
  font-weight: 500;
  letter-spacing: .02em;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  transition: color .15s, padding-left .15s;
}
.bb-drawer__nav li a:hover,
.bb-drawer__nav li a:focus{
  color: var(--color-accent);
  background: transparent !important;
  outline: none !important;
}
.bb-drawer__nav .bb-drawer__chev{
  font-size: 1rem;
  color: var(--color-text-muted);
  font-weight: 300;
  transition: transform .2s;
  margin-left: 1rem;
}
.bb-drawer__nav li.is-open > a .bb-drawer__chev{
  transform: rotate(45deg);
  color: var(--color-accent);
}
.bb-drawer__nav .sub-menu,
.bb-drawer__nav ul ul{
  display: none;
  background: #FAF7F3;
  border-top: 1px solid #F0EBE2;
}
.bb-drawer__nav li.is-open > ul,
.bb-drawer__nav li.is-open > .sub-menu{display: block}
.bb-drawer__nav ul ul li{border-bottom: 1px solid #F0EBE2}
.bb-drawer__nav ul ul li:last-child{border-bottom: 0}
.bb-drawer__nav ul ul li a{
  padding: .75rem 1.5rem .75rem 2.5rem;
  font-size: .87rem;
  color: var(--color-text-muted);
  font-weight: 400;
}

.bb-drawer__foot{
  padding: 1rem 1.5rem 1.25rem;
  border-top: 1px solid #E8E2D8;
  display: flex; flex-direction: column; gap: .35rem;
}
.bb-drawer__foot a{
  font-size: .82rem;
  color: var(--color-text-muted);
  text-decoration: none;
  letter-spacing: .04em;
}
.bb-drawer__foot a:hover{color: var(--color-accent)}

@media (max-width: 640px){
  .bb-header{padding: .85rem 1rem}
  .bb-header__logo img{max-height: 50px}
}

/* ============================================================
   v1.3.1 — Drawer polish: nasconde chevron Divi nativo, colori uniformi
   ============================================================ */

/* Nasconde gli pseudo-element del menu Divi clonato (icone ▼ ▾ ›) */
.bb-drawer__nav li a::after,
.bb-drawer__nav li a::before,
.bb-drawer__nav li::after,
.bb-drawer__nav li::before,
.bb-drawer__nav li.menu-item-has-children > a::after,
.bb-drawer__nav li.menu-item-has-children > a::before{
  content: none !important;
  display: none !important;
}

/* Colori voci uniformi: nero tortora scuro per tutte le voci principali,
   indipendentemente da classi Divi (current_page_item, menu-item-has-children, ecc.) */
.bb-drawer__nav li > a,
.bb-drawer__nav li.menu-item > a,
.bb-drawer__nav li.menu-item-has-children > a,
.bb-drawer__nav li.current-menu-item > a,
.bb-drawer__nav li.current_page_item > a{
  color: var(--color-text-primary) !important;
  font-weight: 500 !important;
  background: transparent !important;
  text-decoration: none !important;
}
.bb-drawer__nav li.current-menu-item > a,
.bb-drawer__nav li.current_page_item > a{
  font-weight: 700 !important;
}
.bb-drawer__nav li > a:hover,
.bb-drawer__nav li > a:focus{
  color: var(--color-accent) !important;
}

/* Sub-menu uniformi: niente bordo interno strano, padding consistente */
.bb-drawer__nav .sub-menu li > a,
.bb-drawer__nav ul ul li > a{
  color: var(--color-text-muted) !important;
  font-weight: 400 !important;
  font-size: .87rem !important;
  padding: .65rem 1.5rem .65rem 2.5rem !important;
}
.bb-drawer__nav .sub-menu li > a:hover{
  color: var(--color-accent) !important;
  background: #FFFFFF !important;
}

/* Voci di terzo livello (se esistono) */
.bb-drawer__nav ul ul ul li > a{
  padding-left: 3.25rem !important;
  font-size: .82rem !important;
}

/* Chevron "+" più curato, allineato a destra */
.bb-drawer__nav .bb-drawer__chev{
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 24px; height: 24px;
  border: 1px solid #E8E2D8;
  border-radius: 50%;
  font-size: .75rem;
  color: var(--color-text-muted);
  font-weight: 400;
  transition: all .2s;
  flex-shrink: 0;
  line-height: 1;
}
.bb-drawer__nav li.is-open > a .bb-drawer__chev{
  background: var(--color-accent);
  color: #fff;
  border-color: var(--color-accent);
  transform: rotate(45deg);
}

/* Spacing più armonioso e separatori sottili */
.bb-drawer__nav > ul > li{
  border-bottom: 1px solid #F0EBE2;
}
.bb-drawer__nav > ul > li > a{
  padding: 1.05rem 1.5rem !important;
  font-size: .98rem !important;
}

/* Quando il submenu è aperto, evidenzia leggermente la voce padre */
.bb-drawer__nav li.is-open > a{
  background: #FAF7F3 !important;
}

/* Container drawer: niente più background azzurro o evidenziazioni Divi */
.bb-drawer *:focus{outline: none !important; background: transparent !important}
.bb-drawer *::selection{background: var(--color-bg-secondary)}

/* Padding drawer head ridotto se logo grande */
.bb-drawer__head{padding: 1rem 1.5rem .85rem}
.bb-drawer__logo img{max-height: 40px}


/* ============================================================
   v1.3.2 — Promo bar host (preservata fuori dall'header nascosto)
   ============================================================ */
.bb-promobar-host{
  width: 100%;
  background: var(--color-accent);
}
.bb-promobar-host .et_pb_text,
.bb-promobar-host .et_pb_module{
  padding: 0 !important;
  margin: 0 !important;
  background: var(--color-accent) !important;
}
.bb-promobar-host .n2-section-smartslider{
  background: var(--color-accent) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   v1.3.3 — Drawer drilldown (panel-stack stile MIMI)
   ============================================================ */
.bb-drawer__panels{
  flex: 1 1 auto;
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
}
.bb-panel{
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  z-index: 1;
}
.bb-panel--root{
  position: relative;
  min-height: 100%;
}
.bb-panel--child{
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .3s ease;
  z-index: 2;
  background: #FFFFFF;
}
.bb-panel--child.is-active{transform: translateX(0)}
.bb-panel--child.is-leaving{transform: translateX(100%)}
.bb-panel--root.is-stacked{opacity: .35}

.bb-panel__head{
  display: flex; align-items: center; gap: .5rem;
  padding: .9rem 1rem;
  border-bottom: 1px solid #F0EBE2;
  position: sticky; top: 0; background: #fff; z-index: 2;
}
.bb-panel__back{
  background: transparent; border: 0; cursor: pointer;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-text-primary); padding: 0;
}
.bb-panel__back svg{width: 18px; height: 18px}
.bb-panel__title{
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-text-primary);
  flex: 1; text-align: center; padding-right: 36px;
}

.bb-panel__list{
  list-style: none; padding: 0; margin: 0;
}
.bb-panel__list li{
  border-bottom: 1px solid #F0EBE2;
}
.bb-panel__item{
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  width: 100%;
  padding: 1.1rem 1.5rem;
  background: transparent; border: 0;
  text-align: left; cursor: pointer;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color .15s, padding-left .15s;
}
.bb-panel__item:hover{color: var(--color-accent); padding-left: 1.75rem}
.bb-panel__item svg{
  width: 16px; height: 16px;
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.bb-panel__item:hover svg{color: var(--color-accent)}

.bb-panel--root .bb-panel__title{display: none}

/* Drawer non ha più bisogno della vecchia struttura .bb-drawer__nav */
.bb-drawer__nav{display: none}

/* ============================================================
   v1.3.9 — Anti-FOUC header Divi
   Mentre il JS monta l'header custom (html.bb-mounting), nasconde
   l'header Theme Builder originale. Quando il JS termina, rimuove
   .bb-mounting da html — a quel punto l'header originale è già
   stato spostato/clonato e la classe .bb-divi-header-hidden lo
   nasconde definitivamente.
   ============================================================ */
html.bb-mounting .et_pb_row_0_tb_header,
html.bb-mounting .et_pb_row_1_tb_header,
html.bb-mounting .et_pb_row_2_tb_header{
  opacity: 0 !important;
  pointer-events: none;
}
.et_pb_row_0_tb_header.bb-divi-header-hidden,
.et_pb_row_1_tb_header.bb-divi-header-hidden,
.et_pb_row_2_tb_header.bb-divi-header-hidden{
  display: none !important;
}
/* Padding 0 sulla sezione Theme Builder che ora contiene SOLO il prodotto */
.et_pb_section_0_tb_header{
  padding-top: 0 !important;
}

/* ============================================================
   v1.4.0 — product_meta: spostata dopo l'accordion + spaziatura ridotta
   ============================================================ */

/* Quando il JS ha spostato il blocco categorie/tag dopo l'accordion */
.product_meta.bb-meta-relocated{
  font-size: .7rem !important;
  color: var(--color-text-muted) !important;
  margin: 1rem 0 0 !important;
  padding: 1rem 0 0 !important;
  border-top: 1px solid #E8E2D8 !important;
  letter-spacing: .04em;
  line-height: 1.7;
}
.product_meta.bb-meta-relocated > span{display: block; margin: 0}
.product_meta.bb-meta-relocated a{
  color: var(--color-text-muted) !important;
  border-bottom: 1px dotted #C9B9A9 !important;
  text-decoration: none !important;
}
.product_meta.bb-meta-relocated a:hover{
  color: var(--color-accent) !important;
  border-bottom-color: var(--color-accent) !important;
}

/* Riduce gap tra prezzo e i moduli successivi (Divi mette padding default) */
.single-product .et_pb_wc_price{
  padding-top: 0 !important;
  padding-bottom: .25rem !important;
}
.single-product .et_pb_wc_stock,
.single-product .et_pb_wc_meta{
  padding-top: 0 !important;
  padding-bottom: .25rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.single-product .et_pb_wc_stock .stock{
  font-size: .82rem !important;
  margin: .25rem 0 !important;
}

/* Nasconde il modulo Divi che genera il vecchio meta in cima (se presente come modulo
   separato) — il blocco vero è già stato spostato */
.single-product .et_pb_wc_meta:not(:has(.bb-meta-relocated)){
  display: none !important;
}

/* ============================================================
   v1.4.1 — Breadcrumb: spazio sopra/sotto ridotto
   ============================================================ */
.bb-breadcrumb-host{
  margin: .4rem auto .15rem !important;
  padding: 0 !important;
}
.bb-breadcrumb-host .et_pb_module,
.bb-breadcrumb-host .et_pb_wc_breadcrumb{
  padding: 0 !important;
  margin: 0 !important;
}
.bb-breadcrumb-host .woocommerce-breadcrumb{
  padding: 0 !important;
  margin: 0 !important;
}
/* La sezione Divi che precede la riga prodotto: niente padding */
.single-product .et_pb_section + .et_pb_section{padding-top: .5rem !important}
.single-product .et_pb_section:has(.bb-breadcrumb-host){
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================================
   v1.4.3 — Nascondi le freccette ▾ residue dai select variation
   ============================================================ */
/* Selettori arrow Divi/WC su variations replicate dalle chip */
table.variations td.value::after,
table.variations td.value::before,
.woocommerce-variation-add-to-cart::after,
.variations_form::after,
.et_pb_wc_add_to_cart .value::after,
.et_pb_wc_add_to_cart .value::before{
  display: none !important;
  content: none !important;
}
/* Forza display:none sui select sostituiti (era position:absolute fuori viewport,
   ma se Divi disegna un wrapper attorno con freccia, nascondiamolo del tutto) */
table.variations td.value select.bb-replaced{
  display: none !important;
}
table.variations td.value:has(select.bb-replaced){
  position: relative;
}
table.variations td.value:has(select.bb-replaced)::after,
table.variations td.value:has(select.bb-replaced)::before{
  display: none !important;
}

/* ============================================================
   v1.4.4 — "Potrebbe piacerti anche…" UNA volta + 4 colonne
   ============================================================ */

/* La deduplicazione "Potrebbe piacerti anche…" è gestita dal JS
   (bibibaby-product.js step 7): nasconde tutti i .related.products
   tranne l'ULTIMO nel DOM (= quello in fondo). */

/* Forza 4 colonne sulla griglia visibile */
.single-product section.related.products ul.products.columns-3,
.single-product section.related.products ul.products{
  grid-template-columns: repeat(4, 1fr) !important;
  display: grid !important;
  gap: 1.5rem;
}
.single-product section.related.products ul.products li.product{
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

@media (max-width: 980px){
  .single-product section.related.products ul.products{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 540px){
  .single-product section.related.products ul.products{
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* ============================================================
   v1.4.6 — Related products: layout corretto (titolo sopra, 4 cols sotto)
   ============================================================ */

/* Forza il modulo Divi e la section a flow normale (no grid esterno) */
.single-product .et_pb_wc_related_products,
.single-product .et_pb_wc_related_products .et_pb_module_inner,
.single-product section.related.products{
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* Titolo della sezione full-width sopra */
.single-product section.related.products > h2,
.single-product section.related.products > h3{
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
  font-size: 1.1rem !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 600 !important;
  color: var(--color-text-primary) !important;
}

/* Griglia 4 colonne */
.single-product section.related.products ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.single-product section.related.products ul.products li.product{
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
}
.single-product section.related.products ul.products li.product a img{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 12px;
}

@media (max-width: 980px){
  .single-product section.related.products ul.products{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 540px){
  .single-product section.related.products ul.products{
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* ============================================================
   v1.4.7 — Related products: kill Divi float layout su li.et_pb_post
   ============================================================ */

/* Divi tratta i product li come .et_pb_post con float; rompiamo il pattern */
.single-product section.related.products ul.products > li,
.single-product section.related.products ul.products > li.product,
.single-product section.related.products ul.products > li.et_pb_post,
.single-product section.related.products ul.products > li.et_pb_post.product,
.single-product section.related.products ul.products > li.first,
.single-product section.related.products ul.products > li.last{
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Forza grid sull'ul con priorità alta */
.single-product section.related.products > ul.products,
.single-product .et_pb_wc_related_products ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Niente pseudo-element o div clearfix che Divi inserisce */
.single-product section.related.products ul.products::before,
.single-product section.related.products ul.products::after,
.single-product section.related.products ul.products > li::before,
.single-product section.related.products ul.products > li::after{
  content: none !important;
  display: none !important;
}

/* Stilizza titoli e prezzi dei correlati */
.single-product section.related.products ul.products > li .woocommerce-loop-product__title,
.single-product section.related.products ul.products > li h2,
.single-product section.related.products ul.products > li h3{
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-primary) !important;
  line-height: 1.4 !important;
  margin: .75rem 0 .35rem !important;
  padding: 0 !important;
}
.single-product section.related.products ul.products > li .price{
  font-size: .9rem !important;
  font-family: "Cormorant Garamond", serif !important;
  color: var(--color-text-primary) !important;
  margin: 0 !important;
}

@media (max-width: 980px){
  .single-product section.related.products > ul.products{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 540px){
  .single-product section.related.products > ul.products{
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* ============================================================
   v1.4.8 — Multi animal grid: mostra label sopra ogni grid
   ============================================================ */

/* Quando il prodotto ha PIÙ select animaletto (es. dx + sx),
   ognuno mostra la sua label invece di nasconderla */
.bb-stepper .wccf_field_container.bb-animal-host.bb-animal-host--multi .wccf_label{
  display: block !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary) !important;
  margin: 1.25rem 0 .5rem !important;
}
.bb-stepper .wccf_field_container.bb-animal-host.bb-animal-host--multi .wccf_required_marker{
  display: inline !important;
  color: #B83A2E;
  margin-left: .3rem;
}

/* Distanzia le griglie multiple tra loro */
.bb-stepper .wccf_field_container.bb-animal-host--multi + .wccf_field_container.bb-animal-host--multi{
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid #F0EBE2;
}


/* ============================================================
   v1.4.9 — Variations integrate nello step + freccette ▼ residue OFF
   ============================================================ */

/* Container delle variations spostate dentro lo step 1 */
.bb-variations-host{
  margin: 1rem 0;
}
.bb-variations-host table.variations{
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
}
.bb-variations-host table.variations,
.bb-variations-host table.variations tbody,
.bb-variations-host table.variations tr{
  display: block !important;
  width: 100% !important;
}
.bb-variations-host table.variations tr{
  margin-bottom: 1rem !important;
  border: 0 !important;
}
.bb-variations-host table.variations th,
.bb-variations-host table.variations td{
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.bb-variations-host table.variations th label{
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary) !important;
  margin-bottom: .5rem !important;
  display: block !important;
}
.bb-variations-host .reset_variations{
  display: inline-block !important;
  font-size: .72rem !important;
  margin-top: .25rem !important;
}

/* ── KILL freccette ▼ residue su tutti i contenitori variation/select ── */
.bb-variations-host td.value::after,
.bb-variations-host td.value::before,
.bb-variations-host .value::after,
.bb-variations-host .value::before,
.woocommerce-variation-add-to-cart::after,
.bb-stepper .wccf_field_container::after,
.bb-stepper .wccf_field_container::before,
.bb-stepper .wccf_field_container_product_field_select::after,
.bb-stepper .wccf_field_container_product_field_select::before{
  content: none !important;
  display: none !important;
}
/* Anche su qualsiasi wrapper che Divi sovrappone con icona caret/arrow */
.et_pb_module select,
.et_pb_module .value,
.et_pb_module .wccf_field_container_select{
  background-image: none !important;
}

/* ============================================================
   v1.5.0 — KILL FRECCETTE ▼ definitivo
   Le freccette residue nascono da background-image SVG su .value/.wccf_field_container_select
   o da pseudo-elementi sui wrapper Divi. Le abbattiamo in modo aggressivo.
   ============================================================ */

/* Wrapper select (nativi WC + WCCF) nelle aree gestite — solo i wrapper e i select
   stessi, NON i discendenti generici (preserva le bg-image inline su .bb-animal-img). */
.bb-stepper .wccf_field_container.wccf_field_container_product_field_select,
.bb-stepper .wccf_field_container.wccf_field_container_product_field_select select,
.bb-stepper .wccf_field_container.wccf_field_container_product_field_select .wccf_select,
.bb-variations-host td.value,
.bb-variations-host .value,
.bb-variations-host td,
.bb-variations-host select{
  background-image: none !important;
}

/* Pseudo-elementi: niente caret SVG iniettato */
.bb-stepper .wccf_field_container.wccf_field_container_product_field_select::after,
.bb-stepper .wccf_field_container.wccf_field_container_product_field_select::before,
.bb-stepper .wccf_field_container::after,
.bb-stepper .wccf_field_container::before,
.bb-variations-host td::after,
.bb-variations-host td::before,
.bb-variations-host td.value::after,
.bb-variations-host td.value::before,
.bb-variations-host tr::after,
.bb-variations-host tr::before,
.bb-variations-host .value::after,
.bb-variations-host .value::before{
  content: none !important;
  display: none !important;
  background: transparent !important;
}

/* I select originali (non chip) sono fuori dal viewport ma alcune
   versioni di Divi mostrano comunque un overlay arrow su .value.
   Rendiamo .value un block "pulito" senza caret */
.bb-variations-host td.value,
.bb-variations-host .value{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* I select bb-replaced: nascosti COMPLETAMENTE (no più position:absolute) */
.bb-variations-host select.bb-replaced,
.bb-stepper select.bb-replaced,
.bb-stepper .wccf_field_container.bb-animal-host select.wccf_select{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
}

/* ============================================================
   v1.5.1 — FIX: bg image animaletti (annullato per sbaglio in v1.5.0)
   ============================================================ */

/* Le illustrazioni animaletti usano l'inline style="background-image:url(...)".
   NESSUNA regola CSS deve sovrascrivere background-image su .bb-animal-img. */

/* ============================================================
   v1.5.5 — Selettori WCCF più ampi + kill arrow definitive
   La classe reale è .wccf_field_container_select (non _product_field_).
   ============================================================ */

/* Nasconde i SELECT reali (sostituiti dalle chip) */
.bb-stepper .wccf_field_container_select select.wccf_select,
.bb-stepper .wccf_field_container_select select,
.bb-variations-host table.variations select,
.bb-variations-host select.bb-replaced,
.bb-stepper select.bb-replaced{
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

/* Pseudo-elementi caret-arrow generati dai wrapper (multipli pattern) */
.bb-stepper .wccf_field_container_select::after,
.bb-stepper .wccf_field_container_select::before,
.bb-stepper .wccf_field_container::after,
.bb-stepper .wccf_field_container::before,
.bb-stepper .wccf::after,
.bb-stepper .wccf::before,
.bb-variations-host td.value::after,
.bb-variations-host td.value::before,
.bb-variations-host .value::after,
.bb-variations-host .value::before,
.bb-variations-host tr::after,
.bb-variations-host tr::before{
  content: none !important;
  display: none !important;
  background: transparent !important;
}

/* Nasconde icone Font Awesome o SVG decorative dentro questi container */
.bb-stepper .wccf_field_container_select > i,
.bb-stepper .wccf_field_container_select > svg,
.bb-stepper .wccf_field_container_select .fa,
.bb-stepper .wccf_field_container_select .fas,
.bb-stepper .wccf_field_container_select .fal,
.bb-stepper .wccf_field_container_select [class*="caret"],
.bb-stepper .wccf_field_container_select [class*="arrow"],
.bb-variations-host td.value > i,
.bb-variations-host td.value > svg,
.bb-variations-host .value [class*="caret"],
.bb-variations-host .value [class*="arrow"]{
  display: none !important;
}

/* Override background-image / appearance su QUALSIASI elemento dentro
   il wrapper select WCCF (eccetto le illustrazioni animaletti) */
.bb-stepper .wccf_field_container_select,
.bb-stepper .wccf_field_container_select > div,
.bb-stepper .wccf_field_container_select > span:not(.bb-animal-img),
.bb-variations-host td.value,
.bb-variations-host .value{
  background-image: none !important;
  background: transparent !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* ============================================================
   v1.5.6 — NUKE pseudo-elementi (caret/arrow) dentro lo stepper
   ============================================================ */

/* Annulla qualsiasi ::after/::before dentro le aree gestite dallo stepper
   (escludendo solo le navigazioni back/next, le chip e il chevron animaletti) */
.bb-step-fields *::after,
.bb-step-fields *::before,
.bb-variations-host *::after,
.bb-variations-host *::before{
  content: none !important;
  display: none !important;
  background: transparent !important;
  border: 0 !important;
}

/* Riabilita ::after/::before solo dove servono espressamente */
.bb-step-fields .bb-stepper-progress li.is-done .bb-num::before,
.bb-step-fields .bb-num::before{
  content: revert !important;
  display: revert !important;
}

/* ============================================================
   v1.6.0 — Live Summary card + Help Box (porting da preview v4)
   ============================================================ */

/* ─── Live Summary "La tua creazione" ─── */
.bb-live-summary{
  margin-top: 1rem;
  background: #FFFFFF;
  border: 1px solid #E8E2D8;
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
}
.bb-live-summary h4{
  margin: 0 0 .65rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-text-primary);
  display: flex;
  align-items: center;
  gap: .4rem;
  font-family: "Inter", sans-serif !important;
}
.bb-live-summary h4 svg{
  width: 14px;
  height: 14px;
  color: var(--color-accent);
}
.bb-live-summary dl{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .4rem .75rem;
  margin: 0;
  font-size: .85rem;
}
.bb-live-summary dt{
  color: var(--color-text-muted);
  letter-spacing: .02em;
  font-weight: 500;
}
.bb-live-summary dd{
  margin: 0;
  color: var(--color-text-primary);
  font-weight: 600;
  word-break: break-word;
}
.bb-live-summary .bb-pending{
  color: #C9B9A9;
  font-style: italic;
  font-weight: 400;
}

/* ─── Help Box "Hai dubbi sulla personalizzazione?" ─── */
.bb-help-box{
  margin-top: 1rem;
  background: var(--color-bg-primary);
  border-radius: 12px;
  padding: 1.25rem;
}
.bb-help-box h5{
  margin: 0 0 .35rem;
  font-size: .98rem;
  font-weight: 600;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: var(--color-text-primary);
  letter-spacing: 0;
  text-transform: none;
}
.bb-help-box p{
  margin: 0 0 .85rem;
  font-size: .82rem;
  color: var(--color-text-muted);
  line-height: 1.5;
}
.bb-help-btns{
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.bb-help-btn{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem .9rem;
  background: #fff;
  border: 1px solid #E8E2D8 !important;
  border-radius: 999px !important;
  font-size: .78rem;
  font-weight: 600;
  color: var(--color-text-primary) !important;
  text-decoration: none !important;
  transition: all .15s;
}
.bb-help-btn:hover{
  border-color: var(--color-accent) !important;
  color: var(--color-accent) !important;
}
.bb-help-btn svg{width: 16px; height: 16px}
.bb-help-btn--wa{
  background: #25D366 !important;
  color: #fff !important;
  border-color: #25D366 !important;
}
.bb-help-btn--wa:hover{
  background: #1FAE57 !important;
  color: #fff !important;
  border-color: #1FAE57 !important;
}
.bb-help-btn--wa svg{color: #fff}

/* ─── Galleria sticky su desktop ─── */
@media (min-width: 981px){
  .single-product .et_pb_wc_images{
    position: sticky;
    top: 100px;
    align-self: flex-start;
  }
}
@media (max-width: 980px){
  .bb-live-summary,
  .bb-help-box{margin-left: 0; margin-right: 0}
}

/* ============================================================
   v1.6.1 — Stock UNA volta, galleria allineata in alto, footer pulito
   ============================================================ */

/* Stock "X disponibili" — tieni solo la prima istanza */
.single-product .et_pb_wc_stock + .et_pb_wc_stock,
.single-product p.stock + p.stock,
.single-product .stock ~ .stock,
.single-product .et_pb_wc_stock ~ .et_pb_wc_stock{
  display: none !important;
}
/* Se ci sono due moduli stock paralleli (in colonne diverse), nascondi il secondo */
.single-product .et_pb_column .et_pb_wc_stock:not(:first-of-type){
  display: none !important;
}

/* Stock posizionato bene: piccolo, sopra il prezzo */
.single-product .et_pb_wc_stock,
.single-product p.stock{
  font-size: .8rem !important;
  margin: 0 0 .5rem !important;
  padding: 0 !important;
}

/* Galleria allineata in alto con le stelline rating */
.single-product .et_pb_wc_images,
.single-product .et_pb_module.et_pb_wc_images{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.single-product .et_pb_column:has(.et_pb_wc_images){
  padding-top: 0 !important;
}

/* Footer rettangolo bianco: forza bg trasparente e niente padding strani */
.et_pb_section_3_tb_footer,
.et_pb_section.et_pb_section_3_tb_footer{
  background: transparent !important;
}
.et_pb_row_2_tb_footer,
.et_pb_row_3_tb_footer{
  background: transparent !important;
}
/* Container "© Bibibaby 2020 | P.iva..." spesso ha bg bianco esplicito */
.et_pb_row_3_tb_footer .et_pb_text,
.et_pb_row_3_tb_footer .et_pb_module{
  background: transparent !important;
  padding: 0 !important;
}

/* ============================================================
   v1.6.2 — Fix più aggressivi (cache-resistant) per stock/gallery/footer
   ============================================================ */

/* Galleria allineata in alto: zero su TUTTI gli ancestor */
.single-product .et_pb_section_0_tb_header .et_pb_column:first-child,
.single-product .et_pb_section_0_tb_header .et_pb_column_1_4,
.single-product .et_pb_section_0_tb_header .et_pb_column_1_2,
.single-product .et_pb_module.et_pb_wc_images{
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.single-product .et_pb_wc_images,
.single-product .et_pb_wc_images_0,
.single-product .et_pb_wc_images_1{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Stock: tutto fuorché il primo è hidden — TUTTI i pattern */
.single-product .et_pb_wc_stock_1,
.single-product .et_pb_wc_stock_2,
.single-product .et_pb_wc_stock + .et_pb_module.et_pb_wc_stock{
  display: none !important;
}
/* La <p class="stock"> all'interno del .summary di Woo: nascondi se è il secondo */
.single-product .et_pb_wc_add_to_cart p.stock,
.single-product .summary p.stock{
  display: none !important; /* il modulo .et_pb_wc_stock ha già lo stesso testo */
}

/* Footer: bg transparent ovunque dentro l'header section TB footer */
.et_pb_section.et_pb_section_3_tb_footer,
.et_pb_section_3_tb_footer,
.et_pb_section_3_tb_footer .et_pb_row,
.et_pb_section_3_tb_footer .et_pb_column,
.et_pb_section_3_tb_footer .et_pb_module,
.et_pb_section_3_tb_footer .et_pb_text,
.et_pb_section_3_tb_footer .et_pb_text_inner{
  background: transparent !important;
  background-color: transparent !important;
}
/* Anche per le altre righe del footer Theme Builder */
.et_pb_row_0_tb_footer,
.et_pb_row_1_tb_footer,
.et_pb_row_2_tb_footer,
.et_pb_row_3_tb_footer{
  background: transparent !important;
}
.et_pb_row_0_tb_footer .et_pb_module,
.et_pb_row_1_tb_footer .et_pb_module,
.et_pb_row_2_tb_footer .et_pb_module,
.et_pb_row_3_tb_footer .et_pb_module{
  background-color: transparent !important;
}

/* ============================================================
   v1.6.3 — Galleria allineata top (Divi flex/grid row centra verticalmente)
   ============================================================ */
.single-product .et_pb_row,
.single-product .et_pb_section_0_tb_header .et_pb_row,
.single-product .et_pb_row_0{
  align-items: flex-start !important;
}
.single-product .et_pb_section_0_tb_header .et_pb_column,
.single-product .et_pb_column{
  align-self: flex-start !important;
  vertical-align: top !important;
}

/* Forza top alignment anche se la riga è un grid */
.single-product .et_pb_row.et_pb_equal_columns{
  align-items: start !important;
}

/* ============================================================
   v1.6.4 — Galleria allineata TOP (forza align-items su div.product
   ============================================================ */
.single-product div.product,
.single-product .et_builder_inner_content.product{
  align-items: flex-start !important;
  align-content: flex-start !important;
}
/* Anche sui wrapper Divi che possono centrare */
.single-product .et_pb_row,
.single-product .et_pb_row_0,
.single-product .et_pb_section_0_tb_header > .et_pb_row{
  align-items: flex-start !important;
}
/* Specificamente: forza il modulo galleria a non avere spazio sopra */
.single-product .et_pb_module.et_pb_wc_images,
.single-product .et_pb_wc_images_0,
.single-product .et_pb_wc_images_1{
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  align-self: flex-start !important;
  vertical-align: top !important;
}
/* La COLONNA che contiene la galleria: niente padding sopra */
.single-product .et_pb_column:has(> .et_pb_wc_images){
  padding-top: 0 !important;
  margin-top: 0 !important;
  align-self: flex-start !important;
}

/* Fix: a volte Divi inietta una <div> vuota "et_pb_module" prima della galleria.
   La nascondiamo se è il primo figlio della colonna e ha solo 1 child vuoto. */
.single-product .et_pb_column .et_pb_module:empty{
  display: none !important;
}

/* ============================================================
   v1.6.6 — Galleria: annulla top:100px Divi Theme Builder offset
   ============================================================ */
.single-product .et_pb_wc_images,
.single-product .et_pb_wc_images_0,
.single-product .et_pb_wc_images_1{
  top: 0 !important;
  position: relative !important;
}

/* ============================================================
   v1.6.7 — WCCF checkbox lists: no bullet + grid layout multi-opzioni
   ============================================================ */

/* No più "•" davanti ai checkbox WCCF */
.bb-stepper .wccf_field_container ul{
  list-style: none !important;
  padding: 0 !important;
  margin: .35rem 0 0 !important;
}
.bb-stepper .wccf_field_container ul li{
  list-style: none !important;
  padding: .3rem 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  gap: .5rem;
}
.bb-stepper .wccf_field_container ul li::marker,
.bb-stepper .wccf_field_container ul li::before{
  content: none !important;
  display: none !important;
}
.bb-stepper .wccf_field_container ul li input[type="checkbox"]{
  margin: 0 !important;
  accent-color: var(--color-accent);
  width: 1rem; height: 1rem;
  flex-shrink: 0;
}
.bb-stepper .wccf_field_container ul li label{
  font-size: .87rem !important;
  color: var(--color-text-primary) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  cursor: pointer;
  letter-spacing: .01em;
  text-transform: none;
}

/* Multi-opzioni: grid 2 colonne quando ci sono 4+ checkbox */
.bb-stepper .wccf_field_container ul:has(li:nth-child(4)){
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: .25rem .75rem !important;
}
@media (max-width: 540px){
  .bb-stepper .wccf_field_container ul:has(li:nth-child(4)){
    grid-template-columns: 1fr !important;
  }
}

/* Asterisco required più discreto */
.bb-stepper .wccf_field_container .wccf_required_marker,
.bb-stepper .wccf_field_container .wccf_label .wccf_required_marker{
  color: #B83A2E !important;
  font-size: .85rem;
  margin-left: .2rem;
  font-weight: 400;
}

/* ============================================================
   v1.6.8 — WCCF checkbox: layout corretto label sopra + opzioni sotto
   Sovrascrive le regole vecchie (extra-box style) che facevano flex-row.
   ============================================================ */

/* Container checkbox: torna a block, label sopra */
.bb-stepper .wccf_field_container_product_field_checkbox,
.bb-stepper .wccf_field_container_checkbox{
  display: block !important;
  flex-direction: initial !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin: 1rem 0 !important;
  cursor: default !important;
}
.bb-stepper .wccf_field_container_product_field_checkbox:hover,
.bb-stepper .wccf_field_container_checkbox:hover{
  border: 0 !important;
}

/* Label del container: maiuscoletto, sopra l'UL */
.bb-stepper .wccf_field_container_product_field_checkbox > label,
.bb-stepper .wccf_field_container_checkbox > label{
  display: block !important;
  margin: 0 0 .55rem !important;
  flex: none !important;
}
.bb-stepper .wccf_field_container_product_field_checkbox > label .wccf_label,
.bb-stepper .wccf_field_container_checkbox > label .wccf_label{
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary) !important;
  margin: 0 !important;
  display: inline !important;
}

/* UL dei checkbox WCCF */
.bb-stepper .wccf_field_container_product_field_checkbox > ul,
.bb-stepper .wccf_field_container_checkbox > ul{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .35rem .75rem !important;
}
/* 4+ opzioni: grid 2 colonne */
.bb-stepper .wccf_field_container_checkbox > ul:has(li:nth-child(4)){
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
}
@media (max-width: 540px){
  .bb-stepper .wccf_field_container_checkbox > ul:has(li:nth-child(4)){
    grid-template-columns: 1fr !important;
  }
}

.bb-stepper .wccf_field_container_checkbox > ul li{
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  padding: .25rem 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.bb-stepper .wccf_field_container_checkbox > ul li::marker,
.bb-stepper .wccf_field_container_checkbox > ul li::before{
  content: none !important; display: none !important;
}
.bb-stepper .wccf_field_container_checkbox > ul li input[type="checkbox"]{
  margin: 0 !important;
  accent-color: var(--color-accent);
  width: 1.05rem; height: 1.05rem;
  flex-shrink: 0;
}
.bb-stepper .wccf_field_container_checkbox > ul li label{
  font-size: .87rem !important;
  color: var(--color-text-primary) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  cursor: pointer;
  line-height: 1.4 !important;
  flex: none !important;
}

/* Asterisco required: meno invasivo, accanto al label, niente "*..." crittico */
.bb-stepper .wccf_required_marker{
  color: #B83A2E !important;
  font-size: .85rem !important;
  margin-left: .25rem;
  font-weight: 400;
  line-height: 1;
  display: inline !important;
}
.bb-stepper .wccf_required_marker::before,
.bb-stepper .wccf_required_marker::after{content: none !important; display: none !important}


/* ============================================================
   v1.6.9 — WCCF checkbox → CHIP TOGGLE (coerente con variations)
   ============================================================ */

/* Container: già a block dalla v1.6.8 */
.bb-stepper .wccf_field_container_checkbox > ul{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .45rem !important;
  list-style: none !important;
}
/* No grid forzata: lasciamo flex-wrap naturale */
.bb-stepper .wccf_field_container_checkbox > ul:has(li:nth-child(4)){
  display: flex !important;
  grid-template-columns: none !important;
}

/* Ogni LI come "chip" */
.bb-stepper .wccf_field_container_checkbox > ul > li{
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: .55rem .95rem !important;
  border: 1.5px solid #E8E2D8 !important;
  background: #fff !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: all .15s ease !important;
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-text-primary);
  position: relative;
}
.bb-stepper .wccf_field_container_checkbox > ul > li:hover{
  border-color: var(--color-text-primary) !important;
}
.bb-stepper .wccf_field_container_checkbox > ul > li.bb-chip-on{
  background: var(--color-text-primary) !important;
  color: #fff !important;
  border-color: var(--color-text-primary) !important;
}

/* Checkbox nativo nascosto */
.bb-stepper .wccf_field_container_checkbox > ul > li input[type="checkbox"]{
  position: absolute !important;
  opacity: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 1;
}

/* Label diventa il contenuto della chip */
.bb-stepper .wccf_field_container_checkbox > ul > li label{
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
  cursor: pointer !important;
  pointer-events: none !important;
  display: inline !important;
  line-height: 1.2 !important;
}
.bb-stepper .wccf_field_container_checkbox > ul > li.bb-chip-on label{
  color: #fff !important;
}


/* ============================================================
   v1.7.0 — Add-to-cart button: kill arrow, stato disabled vs attivo
   ============================================================ */

/* Nessuna freccia decorativa Divi (::before e ::after entrambi "5") */
.single-product .single_add_to_cart_button::before,
.single-product .single_add_to_cart_button::after,
.single-product button.single_add_to_cart_button::before,
.single-product button.single_add_to_cart_button::after{
  content: none !important;
  display: none !important;
}

/* Niente transform/transition di Divi (causa "spostamento al click") */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button{
  transform: none !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

/* STATO DISABILITATO (variations non scelte): grigio tortora chiaro */
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed,
.single-product button.single_add_to_cart_button.disabled,
.single-product button.single_add_to_cart_button.wc-variation-selection-needed{
  background: #C9C2BC !important;
  color: #fff !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  pointer-events: auto;
}
.single-product .single_add_to_cart_button.disabled:hover,
.single-product .single_add_to_cart_button.wc-variation-selection-needed:hover{
  background: #C9C2BC !important;
}

/* STATO ATTIVO: nero pieno, hover tortora scuro */
.single-product .single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed),
.single-product button.single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed){
  background: var(--color-text-primary) !important;
  color: #fff !important;
  border: 0 !important;
  cursor: pointer !important;
  transform: none !important;
  box-shadow: 0 2px 0 rgba(0,0,0,.06);
}
.single-product .single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed):hover{
  background: var(--color-accent-dark) !important;
  color: #fff !important;
  transform: none !important;
}
.single-product .single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed):active{
  transform: translateY(1px) !important;
}

/* ============================================================
   v1.7.1 — ATC button: override Divi Theme Builder specificity
   La regola Divi era:
     body.et-db #page-container #et-boc .et-l .et_pb_section .et_pb_wc_add_to_cart_0 .button
   Specificità: 0,2,5. Replichiamo identica + più alta con !important.
   ============================================================ */

/* DISABILITATO */
body.et-db #page-container #et-boc .et-l .et_pb_section .et_pb_wc_add_to_cart_0 .button.disabled,
body.et-db #page-container #et-boc .et-l .et_pb_section .et_pb_wc_add_to_cart_0 .button.wc-variation-selection-needed,
body.et-db #page-container #et-boc .et-l .et_pb_section [class*="et_pb_wc_add_to_cart"] .button.disabled,
body.et-db #page-container #et-boc .et-l .et_pb_section [class*="et_pb_wc_add_to_cart"] .button.wc-variation-selection-needed,
body.single-product.et-db #page-container .button.disabled.single_add_to_cart_button,
body.single-product.et-db #page-container .button.wc-variation-selection-needed.single_add_to_cart_button{
  background: #C9C2BC !important;
  background-color: #C9C2BC !important;
  color: #FFFFFF !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  border-color: #C9C2BC !important;
}

/* ATTIVO (variations scelte) */
body.et-db #page-container #et-boc .et-l .et_pb_section .et_pb_wc_add_to_cart_0 .button:not(.disabled):not(.wc-variation-selection-needed),
body.et-db #page-container #et-boc .et-l .et_pb_section [class*="et_pb_wc_add_to_cart"] .button:not(.disabled):not(.wc-variation-selection-needed),
body.single-product.et-db #page-container .button.single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed){
  background: #1F1B17 !important;
  background-color: #1F1B17 !important;
  color: #FFFFFF !important;
  cursor: pointer !important;
  border-color: #1F1B17 !important;
}
body.et-db #page-container #et-boc .et-l .et_pb_section .et_pb_wc_add_to_cart_0 .button:not(.disabled):not(.wc-variation-selection-needed):hover,
body.et-db #page-container #et-boc .et-l .et_pb_section [class*="et_pb_wc_add_to_cart"] .button:not(.disabled):not(.wc-variation-selection-needed):hover{
  background: #5F5147 !important;
  background-color: #5F5147 !important;
  color: #FFFFFF !important;
  border-color: #5F5147 !important;
}

/* ============================================================
   v1.7.4 — Screen reader text nascosto + chip checkbox disabled
   ============================================================ */

/* Mostra "Fascia di prezzo: da X a Y" SOLO a screen reader, mai a video */
.single-product .et_pb_wc_price .screen-reader-text,
.bb-stepper .screen-reader-text,
.bb-variations-host .screen-reader-text{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Chip WCCF disabilitato (input ha disabled=true): stile grigio chiaro,
   no hover, no pointer */
.bb-stepper .wccf_field_container_checkbox > ul > li:has(input:disabled),
.bb-stepper .wccf_field_container_checkbox > ul > li:has(input[disabled]){
  opacity: .5 !important;
  cursor: not-allowed !important;
  background: #F5F2ED !important;
  border-color: #E8E2D8 !important;
}
.bb-stepper .wccf_field_container_checkbox > ul > li:has(input:disabled):hover,
.bb-stepper .wccf_field_container_checkbox > ul > li:has(input[disabled]):hover{
  border-color: #E8E2D8 !important;
}
.bb-stepper .wccf_field_container_checkbox > ul > li:has(input:disabled) input,
.bb-stepper .wccf_field_container_checkbox > ul > li:has(input[disabled]) input{
  pointer-events: none !important;
  cursor: not-allowed !important;
}

/* ============================================================
   v1.7.5 — Prezzo: nascondi quello dentro .single_variation (duplicato)
   Il modulo Divi sopra è aggiornato via JS bindVariationPrice().
   ============================================================ */
.single-product .single_variation .price,
.single-product .woocommerce-variation .price,
.single-product .woocommerce-variation-price,
.single-product .single_variation_wrap .single_variation > .price{
  display: none !important;
}

/* ============================================================
   v1.7.6 — Anti-FOUC personalizzazione: nascondi WCCF raw finché
   JS non li ha spostati nello stepper.
   ============================================================ */

/* Durante il mounting (html.bb-mounting attivo da functions.php), nascondi
   tutti i wccf raw. Il JS, dopo aver finito buildStepper, sposta i container
   dentro .bb-stepper, dove appaiono normalmente. */
html.bb-mounting .wccf_field_container,
html.bb-mounting .wccf_fields_wrapper,
html.bb-mounting table.variations{
  visibility: hidden !important;
}
.bb-stepper .wccf_field_container,
.bb-stepper .wccf_fields_wrapper,
.bb-variations-host table.variations{
  visibility: visible !important;
}

/* ============================================================
   v1.7.9 — Container Divi: 92% width, max 1340px (era 1080)
   Promo bar e header (gestiti separatamente) restano full width.
   ============================================================ */
.container,
body .container,
#page-container .container,
.et_pb_section .container{
  width: 92% !important;
  max-width: 1340px !important;
}

/* ============================================================
   v2.2.2 — Homepage category boxes: stile competitor (immagine + pill bianco)
   ============================================================ */

/* Box categorie uniformi: aspect-ratio 4/5, image cover, button bottom-center */
body.home .et_pb_section_0 .et_pb_row .et_pb_column_1_3{
  aspect-ratio: 4 / 5 !important;
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 0 1.5rem 0 !important;
  margin-bottom: 1.5rem !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  min-height: 0 !important;
  height: auto !important;
}

/* Module wrapper del button: niente background, centrato */
body.home .et_pb_section_0 .et_pb_button_module_wrapper{
  margin: 0 auto !important;
  text-align: center !important;
  background: transparent !important;
}

/* PULSANTE STILE COMPETITOR: rettangolo bianco, testo serif uppercase narrow */
body.home .et_pb_button_module_wrapper a.et_pb_button,
body.home a.et_pb_button.et_pb_bg_layout_light,
body .et_pb_button_module_wrapper a.et_pb_button.et_pb_bg_layout_light,
a.et_pb_promo_button{
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  color: #1F1B17 !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: .85rem 2.5rem !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .12) !important;
  transition: all .2s ease !important;
  display: inline-block !important;
  line-height: 1.2 !important;
  min-width: 180px !important;
  text-align: center !important;
}
body.home .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home a.et_pb_button.et_pb_bg_layout_light:hover,
body .et_pb_button_module_wrapper a.et_pb_button.et_pb_bg_layout_light:hover{
  background: #1F1B17 !important;
  background-color: #1F1B17 !important;
  color: #FFFFFF !important;
  border: 0 !important;
  letter-spacing: .24em !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25) !important;
  transform: translateY(-2px) !important;
}

/* Box hover effect lieve */
body.home .et_pb_section_0 .et_pb_row .et_pb_column_1_3{
  transition: transform .3s ease, box-shadow .3s ease !important;
}
body.home .et_pb_section_0 .et_pb_row .et_pb_column_1_3:hover{
  transform: translateY(-3px) !important;
}

/* ============================================================
   v2.3.0 — Categoria prodotto (archive shop) — restyle boutique
   Mobile-first, struttura WC standard, refinement grafico.
   ============================================================ */

/* Header categoria centrato */
body.archive.tax-product_cat .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header{
  text-align: center !important;
  padding: 2.5rem 1.25rem 1rem !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}
body.archive.tax-product_cat .woocommerce-products-header__title,
body.archive.tax-product_cat .woocommerce-products-header h1,
body.post-type-archive-product .woocommerce-products-header h1{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.85rem, 3vw + 1rem, 2.6rem) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  margin: 0 0 .65rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
}

/* Breadcrumb sopra il titolo */
body.archive.tax-product_cat .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb{
  font-size: .72rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  letter-spacing: .04em !important;
  margin: 0 auto 1rem !important;
  text-align: center !important;
  max-width: 1280px !important;
  padding: 1rem 1.25rem 0 !important;
}
body.archive.tax-product_cat .woocommerce-breadcrumb a,
body.post-type-archive-product .woocommerce-breadcrumb a{
  color: var(--color-text-muted, #7A6E66) !important;
  text-decoration: none !important;
}
body.archive.tax-product_cat .woocommerce-breadcrumb a:hover{
  color: var(--color-text-primary, #1F1B17) !important;
}

/* Header WC: titolo + descrizione visibili */
body.archive.tax-product_cat .woocommerce-products-header{
  text-align: center !important;
  padding: 2rem 1.25rem 1.5rem !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: block !important;
}
body.archive.tax-product_cat .woocommerce-products-header__title,
body.archive.tax-product_cat .woocommerce-products-header h1,
body.archive.tax-product_cat .page-title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.85rem, 3vw + 1rem, 2.6rem) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  margin: 0 0 .65rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
body.archive.tax-product_cat .term-description{
  color: var(--color-text-muted, #7A6E66) !important;
  font-size: .92rem !important;
  max-width: 540px !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
}
body.archive.tax-product_cat .woocommerce-breadcrumb{
  font-size: .72rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  margin: 1rem auto !important;
  padding: 0 1.25rem !important;
  max-width: 1280px !important;
}
body.archive.tax-product_cat .woocommerce-breadcrumb a{
  color: var(--color-text-muted, #7A6E66) !important;
}
body.archive.tax-product_cat .woocommerce-breadcrumb a:hover{
  color: var(--color-text-primary, #1F1B17) !important;
}

/* Toolbar (count + ordering) */
body.archive.tax-product_cat .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count{
  font-size: .78rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  margin: 1.5rem 0 0 !important;
  font-style: normal !important;
}
body.archive.tax-product_cat .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering{
  margin: 1.5rem 0 0 !important;
}
body.archive.tax-product_cat .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select{
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 6px !important;
  background: #fff !important;
  padding: .5rem 2rem .5rem .85rem !important;
  font-size: .82rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  font-weight: 500 !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%231F1B17' stroke-width='1.5'%3E%3Cpolyline points='1 1 5 5 9 1'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .75rem center !important;
  cursor: pointer !important;
}
body.archive.tax-product_cat .woocommerce-ordering select:focus{
  outline: none !important;
  border-color: var(--color-text-primary, #1F1B17) !important;
}

/* Toolbar wrap: result-count + ordering in flex row, niente float */
body.archive.tax-product_cat .bb-shop-toolbar{
  max-width: 1280px !important;
  margin: 0 auto 0 !important;
  padding: 1.5rem 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  border-bottom: 1px solid var(--color-line-soft, #F0EAE0) !important;
}
body.archive.tax-product_cat .bb-shop-toolbar .woocommerce-result-count,
body.archive.tax-product_cat .bb-shop-toolbar .woocommerce-ordering{
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: .82rem !important;
  font-style: normal !important;
}
body.archive.tax-product_cat .bb-shop-toolbar .woocommerce-result-count{
  color: var(--color-text-muted, #7A6E66) !important;
}

/* Grid prodotti */
body.archive.tax-product_cat ul.products,
body.post-type-archive-product ul.products{
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.25rem 1rem !important;
  margin: 2.5rem auto 1.5rem !important;
  padding: 0 1rem !important;
  max-width: 1280px !important;
  clear: both !important;
}
/* Neutralizza il clearfix ::before/::after WC che diventa grid item */
body.archive.tax-product_cat ul.products::before,
body.archive.tax-product_cat ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after{
  content: none !important;
  display: none !important;
}
@media (min-width: 768px){
  body.archive.tax-product_cat ul.products,
  body.post-type-archive-product ul.products{
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem 1.5rem !important;
    padding: 0 1.25rem !important;
  }
}
@media (min-width: 1200px){
  body.archive.tax-product_cat ul.products,
  body.post-type-archive-product ul.products{
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Reset Divi/WC fixed widths sui prodotti */
body.archive.tax-product_cat ul.products li.product,
body.post-type-archive-product ul.products li.product{
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .25s ease !important;
  text-align: left !important;
}
body.archive.tax-product_cat ul.products li.product:hover{
  transform: translateY(-3px) !important;
}

/* Wrapper immagine */
body.archive.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link{
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
}
body.archive.tax-product_cat ul.products li.product img,
body.post-type-archive-product ul.products li.product img{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 6px !important;
  margin-bottom: .85rem !important;
  transition: transform .6s ease !important;
}
@media (min-width: 768px){
  body.archive.tax-product_cat ul.products li.product img{
    border-radius: 8px !important;
    margin-bottom: 1rem !important;
  }
}
body.archive.tax-product_cat ul.products li.product:hover img{
  transform: scale(1.04) !important;
}

/* Badge SALE */
body.archive.tax-product_cat ul.products li.product .onsale,
body.post-type-archive-product ul.products li.product .onsale{
  position: absolute !important;
  top: .6rem !important;
  left: .6rem !important;
  right: auto !important;
  z-index: 2 !important;
  background: var(--color-warn, #B83A2E) !important;
  color: #fff !important;
  font-size: .6rem !important;
  letter-spacing: .14em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: .3rem .55rem !important;
  border-radius: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  font-family: "Inter", -apple-system, sans-serif !important;
}

/* Titolo prodotto */
body.archive.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.archive.tax-product_cat ul.products li.product h2,
body.archive.tax-product_cat ul.products li.product h3,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin: 0 0 .35rem !important;
  padding: 0 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
}
@media (min-width: 768px){
  body.archive.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
    font-size: 1.1rem !important;
  }
}

/* Prezzo */
body.archive.tax-product_cat ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price{
  display: block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin: 0 !important;
}
body.archive.tax-product_cat ul.products li.product .price del{
  color: var(--color-text-muted, #7A6E66) !important;
  font-weight: 400 !important;
  font-size: .85em !important;
  margin-right: .4rem !important;
}
body.archive.tax-product_cat ul.products li.product .price ins{
  text-decoration: none !important;
  color: var(--color-warn, #B83A2E) !important;
  font-weight: 600 !important;
}

/* Nascondi "Fascia di prezzo: da X a Y" — è ridondante */
body.archive.tax-product_cat ul.products li.product .price .from,
body.archive.tax-product_cat ul.products li.product .price .price-from{
  display: none !important;
}

/* Add to cart link (sotto) */
body.archive.tax-product_cat ul.products li.product .button,
body.archive.tax-product_cat ul.products li.product .add_to_cart_button,
body.post-type-archive-product ul.products li.product .button{
  display: inline-block !important;
  margin-top: .65rem !important;
  padding: 0 0 .15rem !important;
  background: transparent !important;
  color: var(--color-text-primary, #1F1B17) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-text-primary, #1F1B17) !important;
  border-radius: 0 !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  width: fit-content !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  transition: color .15s, border-color .15s !important;
}
body.archive.tax-product_cat ul.products li.product .button:hover{
  color: var(--color-accent, #8C7B6E) !important;
  background: transparent !important;
  border-color: var(--color-accent, #8C7B6E) !important;
}

/* Pagination */
body.archive.tax-product_cat .woocommerce-pagination,
body.post-type-archive-product .woocommerce-pagination{
  text-align: center !important;
  margin: 3rem 0 2rem !important;
}
body.archive.tax-product_cat .woocommerce-pagination ul.page-numbers,
body.post-type-archive-product .woocommerce-pagination ul.page-numbers{
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
body.archive.tax-product_cat .woocommerce-pagination ul.page-numbers li{
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.archive.tax-product_cat .woocommerce-pagination ul.page-numbers a,
body.archive.tax-product_cat .woocommerce-pagination ul.page-numbers span{
  min-width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  color: var(--color-text-muted, #7A6E66) !important;
  text-decoration: none !important;
  padding: 0 !important;
}
body.archive.tax-product_cat .woocommerce-pagination ul.page-numbers a:hover{
  color: var(--color-text-primary, #1F1B17) !important;
}
body.archive.tax-product_cat .woocommerce-pagination ul.page-numbers span.current{
  color: var(--color-text-primary, #1F1B17) !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--color-text-primary, #1F1B17) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* ============================================================
   v2.3.1 — Sidebar filtri pagina categoria
   ============================================================ */

.bb-shop-grid{
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 1.5rem 1.25rem 3rem !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
}
@media (min-width: 980px){
  .bb-shop-grid{
    grid-template-columns: 240px 1fr !important;
    gap: 2.5rem !important;
    padding: 1.5rem 1.25rem 4rem !important;
  }
}
@media (min-width: 1200px){
  .bb-shop-grid{grid-template-columns: 260px 1fr !important; gap: 3rem !important;}
}

/* Sidebar wrap */
.bb-shop-sidebar{
  align-self: start !important;
}
@media (min-width: 980px){
  .bb-shop-sidebar{position: sticky !important; top: 1rem !important;}
  .bb-shop-sidebar__head{display: none !important;}
}
@media (max-width: 979px){
  .bb-shop-sidebar{
    position: fixed !important;
    inset: 0 !important;
    z-index: 200 !important;
    background: rgba(31, 27, 23, .5) !important;
    display: none !important;
    padding: 0 !important;
  }
  .bb-shop-sidebar.is-open{display: block !important;}
  .bb-shop-sidebar__inner{
    position: absolute !important;
    left: 0 !important; top: 0 !important; bottom: 0 !important;
    width: 88% !important; max-width: 340px !important;
    background: #fff !important;
    padding: 1.5rem 1.25rem 2rem !important;
    overflow-y: auto !important;
    animation: bbSlideRight .3s cubic-bezier(.2, .9, .3, 1) !important;
  }
  @keyframes bbSlideRight{from{transform: translateX(-100%);}to{transform: translateX(0);}}
  .bb-shop-sidebar__head{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  }
  .bb-shop-sidebar__head h3{
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  .bb-shop-sidebar__close{
    font-size: 1.5rem !important;
    color: var(--color-text-muted, #7A6E66) !important;
    width: 32px !important; height: 32px !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
  }
}

/* Bottone mobile "Filtri" */
.bb-shop-filter-toggle{
  display: none !important;
}
@media (max-width: 979px){
  .bb-shop-filter-toggle{
    display: inline-flex !important;
    align-items: center !important;
    gap: .4rem !important;
    padding: .5rem .85rem !important;
    border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: var(--color-text-primary, #1F1B17) !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
    cursor: pointer !important;
    margin-bottom: 1rem !important;
  }
}

/* === Widget styling (WooCommerce) === */
.bb-shop-sidebar .widget,
.bb-shop-sidebar .widget_block{
  margin: 0 0 1.5rem !important;
  padding: 0 0 1.25rem !important;
  border-bottom: 1px solid var(--color-line-soft, #F0EAE0) !important;
  background: transparent !important;
}
.bb-shop-sidebar .widget:last-child,
.bb-shop-sidebar .widget_block:last-child{
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.bb-shop-sidebar .widget-title,
.bb-shop-sidebar .widget h2,
.bb-shop-sidebar .widget h3,
.bb-shop-sidebar .widgettitle{
  font-size: .72rem !important;
  letter-spacing: .16em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin: 0 0 .85rem !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: "Inter", -apple-system, sans-serif !important;
}

/* Liste widget (Categorie, Animaletto, Misura) */
.bb-shop-sidebar .widget ul,
.bb-shop-sidebar .widget ol{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bb-shop-sidebar .widget li,
.bb-shop-sidebar .widget .wc-layered-nav-term{
  padding: .25rem 0 !important;
  border: 0 !important;
  list-style: none !important;
}
.bb-shop-sidebar .widget li a,
.bb-shop-sidebar .widget .wc-layered-nav-term a{
  font-size: .82rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  transition: color .15s !important;
}
.bb-shop-sidebar .widget li a:hover{
  color: var(--color-accent, #8C7B6E) !important;
}
.bb-shop-sidebar .widget li a::before{
  content: "";
  width: 14px; height: 14px;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8);
  border-radius: 3px;
  display: inline-block;
  flex-shrink: 0;
  transition: all .15s;
}
.bb-shop-sidebar .widget li.chosen a::before,
.bb-shop-sidebar .widget li.chosen-yes a::before{
  background: var(--color-text-primary, #1F1B17) !important;
  border-color: var(--color-text-primary, #1F1B17) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpolyline points='1.5 5 4 7.5 8.5 2.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.bb-shop-sidebar .widget li .count{
  margin-left: auto !important;
  font-size: .72rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  font-weight: 400 !important;
}

/* Categorie nested (sotto-categorie) */
.bb-shop-sidebar .widget ul.children,
.bb-shop-sidebar .widget ul.sub-menu{
  margin-left: 1.25rem !important;
  margin-top: .35rem !important;
  border-left: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  padding-left: .85rem !important;
}

/* Filtri attivi */
.bb-shop-sidebar .widget_layered_nav_filters ul{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .35rem !important;
}
.bb-shop-sidebar .widget_layered_nav_filters li{
  padding: 0 !important;
}
.bb-shop-sidebar .widget_layered_nav_filters li a{
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  padding: .3rem .65rem !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 999px !important;
  font-size: .74rem !important;
  font-weight: 500 !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
.bb-shop-sidebar .widget_layered_nav_filters li a::before{
  content: "×" !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  color: var(--color-text-muted, #7A6E66) !important;
  background: transparent !important;
}
.bb-shop-sidebar .widget_layered_nav_filters li a:hover::before{
  color: var(--color-warn, #B83A2E) !important;
}

/* Price filter */
.bb-shop-sidebar .widget_price_filter .price_slider{
  margin: .5rem 0 1rem !important;
  height: 4px !important;
  background: var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 999px !important;
}
.bb-shop-sidebar .widget_price_filter .ui-slider-range{
  background: var(--color-text-primary, #1F1B17) !important;
  height: 4px !important;
}
.bb-shop-sidebar .widget_price_filter .ui-slider-handle{
  width: 16px !important;
  height: 16px !important;
  background: #fff !important;
  border: 2px solid var(--color-text-primary, #1F1B17) !important;
  border-radius: 50% !important;
  top: -7px !important;
  margin-left: -8px !important;
  cursor: grab !important;
}
.bb-shop-sidebar .widget_price_filter .price_slider_amount{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: .78rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin-top: 1rem !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
}
.bb-shop-sidebar .widget_price_filter .price_label{
  color: var(--color-text-muted, #7A6E66) !important;
  font-size: .78rem !important;
  flex: 1 !important;
}
.bb-shop-sidebar .widget_price_filter .button{
  background: var(--color-text-primary, #1F1B17) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  padding: .5rem 1rem !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.bb-shop-sidebar .widget_price_filter .button:hover{
  background: var(--color-accent, #8C7B6E) !important;
}
/* Rimuovi la freccia Divi all'hover sui bottoni sidebar */
.bb-shop-sidebar .widget_price_filter .button::after,
.bb-shop-sidebar .widget_price_filter .button::before,
.bb-shop-sidebar .widget_price_filter button::after,
.bb-shop-sidebar .widget_price_filter button::before,
#secondary .widget_price_filter .button::after,
#secondary .widget_price_filter .button::before,
#secondary .widget_price_filter button::after,
#secondary .widget_price_filter button::before,
.widget_price_filter .price_slider_amount .button::after,
.widget_price_filter .price_slider_amount .button::before,
.widget_price_filter .price_slider_amount button::after,
.widget_price_filter .price_slider_amount button::before{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
  text-indent: 0 !important;
}
/* Niente trasformazione padding/letterspacing hover sui bottoni sidebar */
.widget_price_filter .price_slider_amount .button:hover,
.widget_price_filter .price_slider_amount button:hover{
  padding-right: 1rem !important;
  letter-spacing: .14em !important;
}

/* Cerca prodotto */
.bb-shop-sidebar .widget_search input[type="search"],
.bb-shop-sidebar .widget_product_search input[type="search"]{
  width: 100% !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 6px !important;
  padding: .55rem .85rem !important;
  font-size: .85rem !important;
  background: #fff !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
.bb-shop-sidebar .widget_search button,
.bb-shop-sidebar .widget_product_search button{display: none !important;}

/* Carrello widget: nascondi se vuoto, comunque compatto */
.bb-shop-sidebar .widget_shopping_cart{
  display: none !important;
}

/* Main column reset */
.bb-shop-main{
  min-width: 0 !important;
}

/* Loading state durante AJAX filtri */
body.bb-shop-loading ul.products{
  opacity: .4 !important;
  pointer-events: none !important;
  transition: opacity .2s ease !important;
}
body.bb-shop-loading .bb-shop-toolbar,
body.bb-shop-loading #secondary{
  opacity: .6 !important;
  pointer-events: none !important;
}
body.bb-shop-loading::after{
  content: "" !important;
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  width: 32px !important;
  height: 32px !important;
  margin: -16px 0 0 -16px !important;
  border: 3px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-top-color: var(--color-text-primary, #1F1B17) !important;
  border-radius: 50% !important;
  z-index: 9999 !important;
  animation: bbSpin .8s linear infinite !important;
  pointer-events: none !important;
}
@keyframes bbSpin{to{transform: rotate(360deg);}}

/* IDEE REGALO (section_2): box 4-col uniformi con pulsanti competitor */
body.home .et_pb_section_2 .et_pb_row .et_pb_column_1_4{
  aspect-ratio: 4 / 5 !important;
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 0 1.5rem 0 !important;
  margin-bottom: 1.5rem !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  min-height: 0 !important;
  height: auto !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
body.home .et_pb_section_2 .et_pb_row .et_pb_column_1_4:hover{
  transform: translateY(-3px) !important;
}
body.home .et_pb_section_2 .et_pb_button_module_wrapper{
  margin: 0 auto !important;
  text-align: center !important;
  background: transparent !important;
}

/* Niente freccia decorativa Divi sui bottoni promo */
a.et_pb_promo_button::after,
a.et_pb_promo_button::before,
a.et_pb_button[style*="rgb(140, 123, 110)"]::after,
a.et_pb_button[style*="rgb(140, 123, 110)"]::before{
  display: none !important;
  content: none !important;
}

/* Moduli Divi Blurb/CTA con sfondo tortora: titoli/testo bianchi */
.et_pb_blurb[style*="rgb(140, 123, 110)"] h4,
.et_pb_blurb[style*="rgb(140, 123, 110)"] .et_pb_module_header,
.et_pb_blurb[style*="rgb(140, 123, 110)"] p,
.et_pb_cta[style*="rgb(140, 123, 110)"] .et_pb_promo_title,
.et_pb_cta[style*="rgb(140, 123, 110)"] .et_pb_promo_description{
  color: #FFFFFF !important;
}

/* ============================================================
   v1.8.5 — Home buttons: rimuove freccia decorativa Divi al hover
   ============================================================ */
body.home .et_pb_button_module_wrapper a.et_pb_button::after,
body.home .et_pb_button_module_wrapper a.et_pb_button::before,
body.home a.et_pb_button.et_pb_bg_layout_light::after,
body.home a.et_pb_button.et_pb_bg_layout_light::before,
body .et_pb_button_module_wrapper a.et_pb_button.et_pb_bg_layout_light::after,
body .et_pb_button_module_wrapper a.et_pb_button.et_pb_bg_layout_light::before,
body.home a.et_pb_button:hover::after,
body.home a.et_pb_button:hover::before{
  content: none !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   v2.2.3 — Home buttons COMPETITOR STYLE: white pill rect, serif dark
   Stessa specificità Divi (1,5,0) per battere le regole inline.
   ============================================================ */
body #page-container .et_pb_section a.et_pb_button.et_pb_bg_layout_light,
body #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button,
body #page-container .et_pb_section a.et_pb_button[class*="et_pb_button_"]{
  color: #1F1B17 !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  padding: .7rem 1.6rem !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .12) !important;
  min-width: 140px !important;
  text-align: center !important;
}
body #page-container .et_pb_section a.et_pb_button.et_pb_bg_layout_light:hover,
body #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button:hover,
body #page-container .et_pb_section a.et_pb_button[class*="et_pb_button_"]:hover{
  background: #1F1B17 !important;
  background-color: #1F1B17 !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-color: transparent !important;
  letter-spacing: .2em !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25) !important;
  transform: translateY(-2px) !important;
}
/* Niente freccia */
body #page-container .et_pb_section a.et_pb_button::after,
body #page-container .et_pb_section a.et_pb_button::before{
  content: none !important;
  display: none !important;
}

/* ============================================================
   v1.8.9 — Carrello + Checkout: restyle grafico boutique
   Selettori scoped: body.woocommerce-cart, body.woocommerce-checkout
   ============================================================ */

body.woocommerce-cart,
body.woocommerce-checkout{
  background: #FFFFFF !important;
  font-family: "Inter", -apple-system, sans-serif;
  color: #1F1B17;
}

/* container più ampio e respirato */
body.woocommerce-cart .et_pb_row,
body.woocommerce-checkout .et_pb_row{
  width: 92% !important;
  max-width: 1340px !important;
}

/* ─── Titoli pagina ─── */
body.woocommerce-cart h1,
body.woocommerce-checkout h1{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 500;
  margin: 1.5rem 0 1.5rem;
  letter-spacing: -.01em;
}

/* ─── Card generica WC ─── */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
  background: #FAF7F3 !important;
  border-left: 3px solid #8C7B6E !important;
  border-radius: 0 6px 6px 0 !important;
  font-size: .88rem !important;
  color: #1F1B17 !important;
  padding: 1rem 1.25rem !important;
}
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before{color: #8C7B6E !important}

/* ─── Tabelle WC: stile card ─── */
.woocommerce table.shop_table,
.woocommerce-cart table.cart{
  border: 1px solid #E8E2D8 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  margin-bottom: 1.5rem !important;
}
.woocommerce table.shop_table thead th{
  background: #FAF7F3 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #1F1B17 !important;
  padding: 1rem 1.25rem !important;
  border-bottom: 1px solid #E8E2D8 !important;
  text-align: left !important;
}
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th{
  padding: 1rem 1.25rem !important;
  border-bottom: 1px solid #F0EBE2 !important;
  font-size: .9rem !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table tbody tr:last-child td{border-bottom: 0 !important}
.woocommerce table.shop_table tfoot tr th{
  font-weight: 600 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .8rem !important;
}

/* prodotto in carrello: immagine + nome ben spaziati */
.woocommerce-cart table.cart td.product-thumbnail img{
  width: 70px !important;
  height: 70px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}
.woocommerce-cart table.cart td.product-name a{
  color: #1F1B17 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.woocommerce-cart table.cart td.product-name a:hover{color: #8C7B6E !important}
.woocommerce-cart table.cart td.product-name dl.variation,
.woocommerce-cart .wccf-cart-meta,
.woocommerce-cart .product-name .variation{
  font-size: .8rem !important;
  color: #7A6E66 !important;
  margin-top: .35rem !important;
}
.woocommerce-cart table.cart td.product-name dl.variation dt{font-weight: 600; color: #1F1B17}

/* X rimuovi prodotto */
.woocommerce-cart table.cart td.product-remove a.remove{
  background: transparent !important;
  color: #8A7F75 !important;
  font-size: 1.3rem !important;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex !important;
  align-items: center; justify-content: center;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover{
  background: #B83A2E !important;
  color: #fff !important;
}

/* prezzo / subtotale */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal{
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 1.05rem !important;
}

/* qty input */
.woocommerce-cart .quantity input.qty{
  width: 60px !important;
  height: 40px !important;
  border: 1.5px solid #E8E2D8 !important;
  border-radius: 4px !important;
  text-align: center;
  font-weight: 600;
  background: #fff !important;
}

/* ─── Coupon form ─── */
.woocommerce-cart .coupon,
.woocommerce-checkout .coupon{
  display: flex;
  gap: .5rem;
  align-items: stretch;
  margin: 1rem 0;
}
.woocommerce-cart .coupon input.input-text,
.woocommerce-checkout .checkout_coupon input.input-text{
  flex: 1;
  border: 1.5px solid #E8E2D8 !important;
  background: #fff !important;
  padding: .8rem 1rem !important;
  border-radius: 4px !important;
  font-size: .9rem !important;
  min-width: 0 !important;
}

/* ─── Cart sidebar "Totale carrello" ─── */
.cart_totals,
.cart-collaterals .cart_totals{
  background: #FAF7F3 !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  border: 0 !important;
}
.cart_totals h2{
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  margin: 0 0 1rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cart_totals table{background: transparent !important; border: 0 !important}
.cart_totals table tr th,
.cart_totals table tr td{border: 0 !important; border-bottom: 1px solid #E8E2D8 !important; padding: .85rem 0 !important; background: transparent !important}
.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td{border-bottom: 0 !important; font-weight: 700 !important; font-size: 1.05rem !important}

/* Procedi con l'ordine = nero pieno */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
a.wc-forward.checkout-button{
  display: block !important;
  width: 100% !important;
  background: #1F1B17 !important;
  color: #FFFFFF !important;
  border-radius: 4px !important;
  padding: 1rem 1.5rem !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 0 !important;
  margin-top: 1rem !important;
  text-align: center !important;
}
.woocommerce-cart a.checkout-button:hover{background: #5F5147 !important}

/* ─── Checkout: Form e layout ─── */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  background: #FFFFFF;
}

/* Titoli sezione checkout */
body.woocommerce-checkout h3,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading{
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #1F1B17;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid #E8E2D8 !important;
  margin: 1.5rem 0 1.25rem !important;
}

/* Input checkout */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-selection,
body.woocommerce-checkout .select2-selection--single{
  border: 1.5px solid #E8E2D8 !important;
  background: #fff !important;
  font-size: .92rem !important;
  padding: .75rem .9rem !important;
  border-radius: 4px !important;
  height: auto !important;
  min-height: 44px;
  color: #1F1B17 !important;
}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus{
  outline: none !important;
  border-color: #1F1B17 !important;
}
body.woocommerce-checkout .form-row label{
  font-size: .75rem !important;
  font-weight: 600;
  letter-spacing: .04em;
  color: #1F1B17 !important;
  margin-bottom: .3rem !important;
}
body.woocommerce-checkout .form-row .required{color: #B83A2E; margin-left: .15rem}

/* Sezione "Festeggia con noi" custom data nascita */
.bibibaby-checkout-birthday{
  background: #FAF7F3 !important;
  border-radius: 10px !important;
  padding: 1.25rem 1.5rem !important;
  margin: 1.5rem 0 !important;
}
.bibibaby-checkout-birthday h3{
  border: 0 !important;
  padding: 0 0 .5rem !important;
  margin: 0 0 .35rem !important;
  font-size: 1rem !important;
}

/* Order review (riepilogo destra checkout) */
body.woocommerce-checkout #order_review_heading{
  background: transparent !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.woocommerce-checkout #order_review{
  background: #FAF7F3;
  border-radius: 12px;
  padding: 1.5rem;
}
body.woocommerce-checkout #order_review table.shop_table{
  background: #fff !important;
  border-radius: 8px !important;
}

/* Metodi pagamento */
.woocommerce-checkout #payment{
  background: #FFFFFF !important;
  border-radius: 12px !important;
  border: 1px solid #E8E2D8 !important;
  padding: 1rem 1.25rem !important;
  margin-top: 1rem !important;
}
.woocommerce-checkout #payment ul.payment_methods{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
  background: transparent !important;
  padding: .55rem 0 !important;
  border-bottom: 1px solid #F0EBE2 !important;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child{border-bottom: 0 !important}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{accent-color: #8C7B6E; margin-right: .5rem}
.woocommerce-checkout #payment ul.payment_methods li label{
  font-weight: 600;
  font-size: .9rem;
  color: #1F1B17;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box{
  background: #FAF7F3 !important;
  border-radius: 6px !important;
  font-size: .85rem;
  padding: .85rem 1rem !important;
  margin-top: .4rem !important;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box::before{display: none !important}

/* Place order button */
body.woocommerce-checkout #place_order,
.woocommerce-checkout #place_order{
  display: block !important;
  width: 100% !important;
  background: #1F1B17 !important;
  color: #fff !important;
  border-radius: 4px !important;
  padding: 1.1rem 1.5rem !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border: 0 !important;
  margin-top: 1rem !important;
}
.woocommerce-checkout #place_order:hover{background: #5F5147 !important}

/* shipping radio (cart + checkout) */
#shipping_method li,
.woocommerce-shipping-methods li{
  padding: .35rem 0 !important;
  list-style: none !important;
  font-size: .88rem !important;
}
#shipping_method li input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"]{
  accent-color: #8C7B6E;
  margin-right: .35rem;
}

/* Termini e condizioni */
.woocommerce-terms-and-conditions-wrapper{margin: 1rem 0}
.woocommerce-terms-and-conditions-wrapper label{
  font-size: .85rem !important;
  color: #1F1B17 !important;
}

/* Buono regalo widget */
.pwgc-redeem-form,
.pwgc-redeem,
.woocommerce-cart .pwgc-redeem-area,
.checkout #pwgc-redeem-area{
  margin-top: 1rem !important;
}
.pwgc-redeem-form label,
.pwgc-redeem-area label{
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: #1F1B17 !important;
  margin-bottom: .35rem !important;
  display: block;
}
.pwgc-redeem-form input[type="text"],
.pwgc-redeem-area input[type="text"]{
  border: 1.5px solid #E8E2D8 !important;
  background: #fff !important;
  padding: .65rem .85rem !important;
  border-radius: 4px !important;
  font-size: .88rem !important;
}

/* Carrello vuoto */
.cart-empty.woocommerce-info{font-size: 1rem !important; padding: 1.5rem 1.75rem !important}
.return-to-shop a.wc-backward{
  display: inline-block !important;
  background: #8C7B6E !important;
  color: #fff !important;
  padding: .8rem 1.4rem !important;
  border-radius: 4px !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* Layout responsive: tabella carrello mobile */
@media (max-width: 720px){
  .woocommerce-cart table.cart thead{display: none !important}
  .woocommerce-cart table.cart tr{
    display: block !important;
    border-bottom: 1px solid #F0EBE2 !important;
    padding: 1rem 0 !important;
  }
  .woocommerce-cart table.cart td{
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: .35rem 1rem !important;
    border-bottom: 0 !important;
  }
  .woocommerce-cart table.cart td::before{
    content: attr(data-title);
    font-weight: 600;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #7A6E66;
  }
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2{
    width: 100% !important;
    float: none !important;
  }
}

/* ============================================================
   v1.9.0 — Cart + Checkout: porting del look della preview
   ============================================================ */

/* Sfondo bianco totale su queste pagine */
body.woocommerce-cart,
body.woocommerce-cart #page-container,
body.woocommerce-cart #main-content,
body.woocommerce-cart .et_pb_section,
body.woocommerce-checkout,
body.woocommerce-checkout #page-container,
body.woocommerce-checkout #main-content,
body.woocommerce-checkout .et_pb_section{
  background: #FFFFFF !important;
}

/* ─── STEPPER top (iniettato dal JS) ─── */
.bb-checkout-steps{
  display: flex;
  justify-content: center;
  gap: 0;
  padding: 1rem 0 1.5rem;
  border-bottom: 1px solid var(--color-bg-secondary, #E8E2D8);
  margin: 0 0 2rem;
  flex-wrap: wrap;
}
.bb-cstep{
  display: flex; align-items: center; gap: .5rem;
  padding: 0 1.5rem;
  color: var(--color-text-muted, #7A6E66);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
}
.bb-cstep:not(:last-child)::after{
  content: ""; width: 40px; height: 1px;
  background: var(--color-bg-secondary, #E8E2D8);
  margin-left: 1.5rem;
}
.bb-cstep .bb-n{
  width: 24px; height: 24px; border-radius: 50%;
  background: #fff; border: 1.5px solid var(--color-bg-secondary, #E8E2D8);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700;
}
.bb-cstep.is-active{color: var(--color-text-primary, #1F1B17)}
.bb-cstep.is-active .bb-n{
  background: var(--color-text-primary, #1F1B17); color: #fff;
  border-color: var(--color-text-primary, #1F1B17);
}
.bb-cstep.is-done{color: var(--color-text-primary, #1F1B17)}
.bb-cstep.is-done .bb-n{background: #1A6B3C; color: #fff; border-color: #1A6B3C}
.bb-cstep.is-done .bb-n::before{content: "✓"}
.bb-cstep.is-done .bb-n .bb-v{display: none}
@media (max-width: 640px){
  .bb-cstep{padding: 0 .5rem}
  .bb-cstep:not(:last-child)::after{width: 16px; margin-left: .5rem}
}

/* ─── CARRELLO: tabella → card per ogni riga ─── */
body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive,
body.woocommerce-cart table.cart{
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart table.cart thead{display: none !important}
body.woocommerce-cart table.cart tbody{display: block !important; width: 100% !important}
body.woocommerce-cart table.cart tbody tr.cart_item{
  display: grid !important;
  grid-template-columns: auto 1fr auto auto auto !important;
  gap: 1.25rem !important;
  align-items: center !important;
  padding: 1.25rem !important;
  background: #fff !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 12px !important;
  margin-bottom: 1rem !important;
  transition: border-color .15s, box-shadow .15s;
}
body.woocommerce-cart table.cart tbody tr.cart_item:hover{
  border-color: var(--color-accent) !important;
  box-shadow: 0 4px 18px rgba(140,123,110,.08) !important;
}
body.woocommerce-cart table.cart tbody tr.cart_item td{
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
  background: transparent !important;
}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-remove{order: 5; text-align: right}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail{order: 1}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-name{order: 2; min-width: 0}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-price{order: 3; display: none !important}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity{order: 3}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal{
  order: 4;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 1.1rem !important;
  white-space: nowrap;
  min-width: 70px;
  text-align: right;
}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail img{
  width: 80px !important; height: 80px !important;
  border-radius: 8px !important; object-fit: cover !important;
  display: block !important;
}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-name a{
  font-size: .95rem; font-weight: 600; letter-spacing: .02em;
}
/* riga azioni coupon (resta nella tabella ma stilizzata) */
body.woocommerce-cart table.cart tr.cart_item + tr.cart_item_meta,
body.woocommerce-cart tr.actions{
  display: flex !important;
  gap: .5rem;
  margin: 1rem 0 !important;
  padding: 1rem 1.25rem !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 8px !important;
}
body.woocommerce-cart tr.actions td{padding: 0 !important; flex: 1; display: flex !important; gap: .5rem; background: transparent !important; border: 0 !important}
body.woocommerce-cart tr.actions input.input-text{
  flex: 1; min-width: 0 !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  background: #fff !important;
  padding: .65rem .85rem !important;
  border-radius: 4px !important;
  font-size: .88rem !important;
}
body.woocommerce-cart tr.actions button[name="apply_coupon"]{
  background: var(--color-accent) !important; color: #fff !important;
  border: 0 !important; padding: .65rem 1.2rem !important; border-radius: 4px !important;
  font-size: .74rem !important; font-weight: 700 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
}
body.woocommerce-cart tr.actions button[name="update_cart"]{
  background: transparent !important; color: var(--color-text-primary) !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  padding: .65rem 1.2rem !important; border-radius: 4px !important;
  font-size: .74rem !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
}

/* layout 2 colonne cart */
body.woocommerce-cart .woocommerce > .woocommerce-cart-form,
body.woocommerce-cart .woocommerce > .cart-collaterals{
  /* fallback when WC native is full-width */
}
@media (min-width: 981px){
  body.woocommerce-cart .woocommerce{
    display: grid !important;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 400px) !important;
    gap: 2.5rem !important;
    align-items: start !important;
  }
  body.woocommerce-cart .woocommerce > .woocommerce-cart-form{grid-column: 1; min-width: 0}
  body.woocommerce-cart .woocommerce > .cart-collaterals{
    grid-column: 2;
    position: sticky;
    top: 1rem;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals{width: 100% !important; float: none !important}
}

/* totale carrello (sidebar) — totale grande Cormorant in fondo */
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
}
body.woocommerce-cart .cart_totals tr.order-total th{
  font-size: .8rem !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600 !important;
  font-family: "Inter", sans-serif !important;
  color: var(--color-text-muted);
}

/* ─── CHECKOUT: choice cards per shipping/payment ─── */
.bb-choice{
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: 1rem 1.25rem !important;
  background: #fff !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all .15s !important;
  margin: 0 0 .5rem !important;
}
.bb-choice:hover{border-color: var(--color-text-primary) !important}
.bb-choice.bb-choice--on{
  border-color: var(--color-text-primary) !important;
  box-shadow: 0 0 0 1px var(--color-text-primary) inset !important;
}
.bb-choice input[type="radio"]{
  accent-color: var(--color-accent) !important;
  margin: 0 !important;
}
.bb-choice label{
  flex: 1;
  font-weight: 600 !important;
  font-size: .92rem !important;
  cursor: pointer !important;
  margin: 0 !important;
  color: var(--color-text-primary) !important;
}
.bb-choice .amount,
.bb-choice .price{
  font-weight: 600 !important;
  color: var(--color-text-primary) !important;
}

/* lista payment methods: rimuovi background gialli/grigi WC standard */
.woocommerce-checkout #payment ul.payment_methods{
  background: transparent !important;
  border: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li.bb-choice{
  border-bottom: 0 !important;
  padding: 1rem 1.25rem !important;
}

/* place_order grande */
.woocommerce-checkout .place-order{
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 1rem 0 0 !important;
}
.woocommerce-checkout #place_order{
  background: var(--color-text-primary) !important;
  color: #fff !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 1.2rem 1.5rem !important;
  border-radius: 4px !important;
  width: 100% !important;
  border: 0 !important;
}
.woocommerce-checkout #place_order:hover{background: var(--color-accent-dark) !important}

/* Total grande nella sidebar review */
.woocommerce-checkout tr.order-total th,
.woocommerce-checkout tr.order-total td,
.woocommerce-checkout .order-total{
  border-top: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  padding-top: .8rem !important;
}
.woocommerce-checkout tr.order-total th{
  font-size: .78rem !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-text-muted) !important;
  font-weight: 600 !important;
}
.woocommerce-checkout tr.order-total td .woocommerce-Price-amount{
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary) !important;
}

/* Order review thumbnails ridotte */
.woocommerce-checkout #order_review table.shop_table .product-name img{
  width: 50px !important; height: 50px !important;
  border-radius: 6px !important; object-fit: cover !important;
  display: inline-block; vertical-align: middle; margin-right: .5rem;
}


/* ============================================================
   v1.9.1 — Cart + Checkout: aggressivo per avvicinarsi alla preview
   ============================================================ */

/* Larghezza container Divi pulito */
body.woocommerce-cart .et_pb_row,
body.woocommerce-checkout .et_pb_row{
  width: 92% !important;
  max-width: 1340px !important;
}

/* ─── Stepper: spaziatura migliore ─── */
.bb-checkout-steps{
  max-width: 700px;
  margin: 1.5rem auto 2.5rem !important;
  padding: 1rem 0 1.5rem !important;
}

/* ─── CARRELLO ITEM CARD ─── */
body.woocommerce-cart table.cart{margin: 0 0 1.5rem !important}

body.woocommerce-cart table.cart tbody tr.cart_item{
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  padding: 1.5rem !important;
  margin-bottom: 1rem !important;
}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-name{
  font-size: 1rem !important;
}
body.woocommerce-cart table.cart tbody tr.cart_item td.product-name strong{
  font-weight: 600 !important;
  font-size: .95rem;
}

/* Sidebar cart_totals: più ariosa + totale grande */
body.woocommerce-cart .cart_totals{
  padding: 1.75rem !important;
  border-radius: 14px !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
}
body.woocommerce-cart .cart_totals h2{
  font-size: 1.3rem !important;
  letter-spacing: .06em !important;
  margin: 0 0 1.25rem !important;
}

/* Shipping nella sidebar: layout pill compatto (non choice card che è troppo grande qui) */
body.woocommerce-cart .cart_totals .shipping td ul#shipping_method,
body.woocommerce-cart ul#shipping_method{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .4rem !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li{
  padding: .55rem .75rem !important;
  background: #fff !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 6px !important;
  font-size: .82rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
  cursor: pointer;
  transition: border-color .15s;
}
body.woocommerce-cart .cart_totals ul#shipping_method li:hover{
  border-color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li.bb-choice--on{
  border-color: var(--color-text-primary, #1F1B17) !important;
  box-shadow: none !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li input[type="radio"]{
  margin: 0 !important;
  accent-color: var(--color-accent, #8C7B6E);
}
body.woocommerce-cart .cart_totals ul#shipping_method li label{
  margin: 0 !important;
  font-weight: 500 !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
  flex: 1 !important;
  color: var(--color-text-primary, #1F1B17) !important;
}

/* "Modifica indirizzo" + "Spedizione a..." testo piccolo */
body.woocommerce-cart .cart_totals .shipping-calculator-button,
body.woocommerce-cart .cart_totals .shipping td:first-child{display: none}
body.woocommerce-cart .cart_totals .shipping td{
  padding: 0 !important;
  font-size: .78rem !important;
}
body.woocommerce-cart .cart_totals .shipping-destination{
  font-size: .75rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  margin: .5rem 0 0 !important;
}

/* Totale finale grande in Cormorant Garamond */
body.woocommerce-cart .cart_totals .order-total{border-top: 1px solid var(--color-bg-secondary, #E8E2D8); padding-top: 1rem !important}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{padding: .8rem 0 !important}
body.woocommerce-cart .cart_totals .order-total th{
  font-family: "Inter", sans-serif !important;
  font-size: .78rem !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-text-muted, #7A6E66) !important;
  font-weight: 600 !important;
}
body.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount,
body.woocommerce-cart .cart_totals .order-total strong{
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary, #1F1B17) !important;
}

/* CTA Procedi all'ordine */
body.woocommerce-cart .wc-proceed-to-checkout{
  padding-top: 1rem !important;
  margin-top: 1rem !important;
  border-top: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background: var(--color-text-primary, #1F1B17) !important;
  color: #fff !important;
  padding: 1.1rem 1.5rem !important;
  border-radius: 4px !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  margin: 0 !important;
}

/* ─── CHECKOUT: layout 2 colonne (form + sidebar) ─── */
@media (min-width: 981px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    display: grid !important;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 420px) !important;
    gap: 2.5rem !important;
    align-items: start !important;
  }
  body.woocommerce-checkout form.checkout .col2-set{grid-column: 1; min-width: 0}
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review{
    grid-column: 2;
    min-width: 0;
    width: 100% !important;
  }
}

/* Card-like sulle sezioni checkout */
body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2,
body.woocommerce-checkout form.checkout #order_review,
body.woocommerce-checkout form.checkout .woocommerce-additional-fields{
  background: #fff !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 12px !important;
  padding: 1.5rem 1.75rem !important;
  margin-bottom: 1.25rem !important;
  width: 100% !important;
  float: none !important;
}

body.woocommerce-checkout form.checkout .col-1,
body.woocommerce-checkout form.checkout .col-2{
  margin-bottom: 1.25rem !important;
}

/* "Spedire a un indirizzo diverso?" toggle stile flat */
body.woocommerce-checkout #ship-to-different-address{
  padding: 0 !important;
  margin: 0 0 1rem !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 6px !important;
  padding: .75rem 1rem !important;
}
body.woocommerce-checkout #ship-to-different-address-checkbox{accent-color: var(--color-accent)}

/* Banner "Festeggia con noi" coerente */
.bibibaby-checkout-birthday{
  background: linear-gradient(135deg, var(--color-bg-primary, #FAF7F3), #fff) !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
}

/* Order review come sidebar bg beige */
body.woocommerce-checkout #order_review_heading{
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 .75rem !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.woocommerce-checkout #order_review{
  background: var(--color-bg-primary, #FAF7F3) !important;
  border: 0 !important;
  position: sticky;
  top: 1rem;
}
body.woocommerce-checkout #order_review table.shop_table{
  background: #fff !important;
  border-radius: 8px !important;
  margin-bottom: 1rem !important;
}

/* Payment methods come choice card */
body.woocommerce-checkout #payment{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout #payment ul.payment_methods{
  padding: 0 !important;
  border: 0 !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li{
  background: #fff !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 8px !important;
  padding: 1rem 1.25rem !important;
  margin: 0 0 .5rem !important;
  cursor: pointer !important;
  transition: border-color .15s !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li:hover{
  border-color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li.bb-choice--on{
  border-color: var(--color-text-primary, #1F1B17) !important;
  box-shadow: 0 0 0 1px var(--color-text-primary, #1F1B17) inset !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"]{
  accent-color: var(--color-accent, #8C7B6E) !important;
  margin-right: .6rem !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label{
  font-weight: 600 !important;
  font-size: .92rem !important;
  cursor: pointer !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li .payment_box{
  margin-top: .75rem !important;
  padding: .85rem 1rem !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 6px !important;
  font-size: .82rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
}

/* Nascondi le frecce PayPal Smart Buttons giallo (paypal-button-rendered) — più armonioso */
body.woocommerce-checkout .paypal-buttons,
body.woocommerce-checkout .paypal-button{
  margin: 1rem 0 0 !important;
}

/* Trust strip nascosta in cart/checkout (è il footer Divi widget che disturba) */
body.woocommerce-cart .et_pb_section:has(.et_pb_blurb_position_top),
body.woocommerce-checkout .et_pb_section:has(.et_pb_blurb_position_top){
  /* lascio visibile come informativa, ma riduco spacing */
  padding-top: 2rem !important;
  padding-bottom: 1rem !important;
}


/* ============================================================
   v1.9.2 — Cart + Checkout fix grid posizionamento
   ============================================================ */

/* Stepper PRIMA del grid del form, full-width */
body.woocommerce-checkout form.checkout.woocommerce-checkout .bb-checkout-steps,
body.woocommerce-cart .bb-checkout-steps{
  grid-column: 1 / -1 !important;
  margin: 1rem auto 2rem !important;
}

/* Stepper fuori dalla form: anche se è dentro, full-width */
.bb-checkout-steps{
  width: 100% !important;
  grid-column: 1 / -1 !important;
}

/* ─── CHECKOUT: layout 2 col più armonioso ─── */
@media (min-width: 981px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns: minmax(0, 1.6fr) minmax(360px, 460px) !important;
    gap: 2rem !important;
  }
}

/* Sidebar "Il tuo ordine": rendi il table ordinato e leggibile */
body.woocommerce-checkout #order_review table.shop_table{
  background: #fff !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 8px !important;
  margin: 0 0 1rem !important;
  overflow: hidden;
}
body.woocommerce-checkout #order_review table.shop_table thead th{
  font-size: .68rem !important;
  padding: .75rem 1rem !important;
}
body.woocommerce-checkout #order_review table.shop_table tbody td.product-name{
  font-size: .85rem !important;
  font-weight: 600 !important;
  padding: .75rem 1rem !important;
  line-height: 1.3;
}
body.woocommerce-checkout #order_review table.shop_table tbody td.product-name strong.product-quantity{
  font-weight: 400 !important;
  color: var(--color-text-muted, #7A6E66) !important;
  margin-left: .35rem;
}
body.woocommerce-checkout #order_review table.shop_table tbody td.product-total{
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  text-align: right !important;
  padding: .75rem 1rem !important;
  white-space: nowrap;
}
body.woocommerce-checkout #order_review table.shop_table tfoot th,
body.woocommerce-checkout #order_review table.shop_table tfoot td{
  padding: .65rem 1rem !important;
  font-size: .85rem !important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal th{
  font-weight: 500;
  color: var(--color-text-muted, #7A6E66);
  text-transform: none;
  letter-spacing: 0;
  font-size: .82rem !important;
}

/* SHIPMENT in sidebar checkout: pill compatto */
body.woocommerce-checkout #order_review .shipping td{
  padding: .6rem 1rem !important;
  font-size: .82rem !important;
}
body.woocommerce-checkout #order_review ul#shipping_method{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .35rem !important;
}
body.woocommerce-checkout #order_review ul#shipping_method li{
  background: var(--color-bg-primary, #FAF7F3) !important;
  border: 1.5px solid transparent !important;
  border-radius: 6px !important;
  padding: .55rem .75rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
  cursor: pointer;
  transition: border-color .15s;
  font-size: .8rem !important;
}
body.woocommerce-checkout #order_review ul#shipping_method li:hover{
  border-color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-checkout #order_review ul#shipping_method li.bb-choice--on{
  border-color: var(--color-text-primary, #1F1B17) !important;
  background: #fff !important;
}
body.woocommerce-checkout #order_review ul#shipping_method li label{
  margin: 0 !important;
  font-weight: 500 !important;
  color: var(--color-text-primary, #1F1B17) !important;
  font-size: .8rem !important;
  flex: 1;
  line-height: 1.3;
}

/* "Spedizione a..." indirizzo small */
body.woocommerce-checkout #order_review .shipping-destination,
body.woocommerce-checkout .woocommerce-shipping-destination{
  font-size: .72rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  margin: .5rem 0 0 !important;
  line-height: 1.5;
}
body.woocommerce-checkout #order_review .shipping-calculator-button{
  font-size: .7rem !important;
  color: var(--color-accent, #8C7B6E) !important;
}

/* Order TOTAL grande */
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total{
  border-top: 1px solid var(--color-bg-secondary, #E8E2D8);
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th{
  font-size: .72rem !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600 !important;
  color: var(--color-text-muted, #7A6E66) !important;
  padding: 1rem !important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td .woocommerce-Price-amount,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total strong{
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.7rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary, #1F1B17) !important;
}

/* ─── CARRELLO: force display block sul table per rendere card ─── */
body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart form.woocommerce-cart-form table.cart,
body.woocommerce-cart table.cart > tbody{
  display: block !important;
  width: 100% !important;
}

body.woocommerce-cart table.cart tbody{
  display: block !important;
  width: 100% !important;
}

/* Le row diventano grid */
body.woocommerce-cart table.cart tr.cart_item{
  display: grid !important;
  grid-template-columns: 100px 1fr auto auto auto !important;
  gap: 1.25rem !important;
  align-items: center !important;
  padding: 1.5rem !important;
  background: #fff !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 12px !important;
  margin-bottom: 1rem !important;
  transition: border-color .15s, box-shadow .15s;
}
body.woocommerce-cart table.cart tr.cart_item:hover{
  border-color: var(--color-accent, #8C7B6E) !important;
  box-shadow: 0 4px 18px rgba(140,123,110,.08) !important;
}
body.woocommerce-cart table.cart tr.cart_item td{
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart table.cart tr.cart_item td.product-thumbnail{order: 1; width: 100px}
body.woocommerce-cart table.cart tr.cart_item td.product-thumbnail img{
  width: 100px !important; height: 100px !important;
  border-radius: 8px !important; object-fit: cover !important;
}
body.woocommerce-cart table.cart tr.cart_item td.product-name{order: 2; min-width: 0; align-self: center}
body.woocommerce-cart table.cart tr.cart_item td.product-price{display: none !important}
body.woocommerce-cart table.cart tr.cart_item td.product-quantity{order: 3}
body.woocommerce-cart table.cart tr.cart_item td.product-subtotal{order: 4; min-width: 80px; text-align: right}
body.woocommerce-cart table.cart tr.cart_item td.product-remove{order: 5}

/* riga azioni (coupon) */
body.woocommerce-cart table.cart tr.actions,
body.woocommerce-cart table.cart tr:has(button[name="update_cart"]){
  display: flex !important;
  gap: .5rem !important;
  padding: 1rem 1.25rem !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 8px !important;
  margin: 1rem 0 !important;
  border: 0 !important;
}
body.woocommerce-cart table.cart tr.actions td{
  display: flex !important;
  gap: .5rem !important;
  flex: 1 !important;
  padding: 0 !important;
  width: auto !important;
}
body.woocommerce-cart table.cart tr.actions .coupon{
  display: flex !important;
  gap: .5rem !important;
  flex: 1 !important;
  align-items: center;
}

/* button placeholders e bottoni gialli PayPal: nascondere se troppo invadenti */
body.woocommerce-cart .wc-proceed-to-checkout .paypal-button-container,
body.woocommerce-checkout .paypal-button-container{
  margin: .75rem 0 0 !important;
}


/* ============================================================
   v1.9.4 — Checkout review pulito (solo thumb + nome + prezzo)
   ============================================================ */

/* Linea review prodotto: thumb 56px + nome bold */
.woocommerce-checkout #order_review .bb-review-line{
  display: flex;
  align-items: center;
  gap: .65rem;
}
.woocommerce-checkout #order_review .bb-review-thumb{
  width: 56px !important;
  height: 56px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  flex-shrink: 0;
  background: #FAF7F3;
}
.woocommerce-checkout #order_review .bb-review-name{
  font-weight: 600;
  font-size: .9rem;
  line-height: 1.3;
  color: #1F1B17;
}

/* Nascondi TUTTI i meta WCCF / variazioni / personalizzazioni dentro il review */
.woocommerce-checkout #order_review td.product-name dl.variation,
.woocommerce-checkout #order_review td.product-name dl.wccf-cart-meta,
.woocommerce-checkout #order_review td.product-name .wccpf-cart-item-meta,
.woocommerce-checkout #order_review td.product-name .wccf_cart_meta,
.woocommerce-checkout #order_review td.product-name .product-meta,
.woocommerce-checkout #order_review td.product-name p.wccpf-cart-item-meta-wrapper{
  display: none !important;
}

/* Quantity micro accanto al nome */
.woocommerce-checkout #order_review td.product-name strong.product-quantity{
  display: block;
  font-weight: 400 !important;
  font-size: .78rem !important;
  color: #7A6E66 !important;
  letter-spacing: .04em;
  margin-top: .2rem;
}

/* "Il tuo ordine" titolo dentro #order_review (spostato da JS) */
.woocommerce-checkout #order_review > #order_review_heading{
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #1F1B17;
  background: transparent !important;
}
/* Se rimane fuori (fallback), nascondi quello fuori */
.woocommerce-checkout #order_review_heading:not(#order_review > #order_review_heading){
  display: none !important;
}


/* ============================================================
   v1.9.5 — Checkout: meta WCCF off, colonne, spedizione 1-col, payment wrap
   ============================================================ */

/* 1. NASCONDI aggressivamente qualsiasi figlio di td.product-name che NON sia la nostra .bb-review-line o la quantity */
.woocommerce-checkout #order_review td.product-name > *:not(.bb-review-line):not(strong.product-quantity){
  display: none !important;
}
/* Belt+suspenders: variation/meta/wccf comunque off */
.woocommerce-checkout #order_review td.product-name dl,
.woocommerce-checkout #order_review td.product-name p,
.woocommerce-checkout #order_review td.product-name ul,
.woocommerce-checkout #order_review td.product-name [class*="wccf"],
.woocommerce-checkout #order_review td.product-name [class*="wccpf"],
.woocommerce-checkout #order_review td.product-name [class*="cart-item-meta"]{
  display: none !important;
}

/* 2. Colonna subtotale più stretta — table-layout fixed e widths esplicite */
.woocommerce-checkout #order_review table.shop_table{
  table-layout: fixed !important;
  width: 100% !important;
}
.woocommerce-checkout #order_review table.shop_table thead th.product-name,
.woocommerce-checkout #order_review table.shop_table tbody td.product-name{
  width: auto !important;
}
.woocommerce-checkout #order_review table.shop_table thead th.product-total,
.woocommerce-checkout #order_review table.shop_table tbody td.product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td{
  width: 90px !important;
  min-width: 90px !important;
  text-align: right !important;
}

/* 3. SPEDIZIONE: tr resta table-row, td flex full-width (override DevTools utente) */
.woocommerce-checkout #order_review table.shop_table tr.shipping{
  width: 100% !important;
  border: none !important;
  display: table-row !important;
}
.woocommerce-checkout #order_review table.shop_table tr.shipping th{
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 1rem .6rem 1rem !important;
  font-size: .72rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--color-text-muted, #7A6E66) !important;
  text-align: left !important;
  border: 0 !important;
}
.woocommerce-checkout #order_review table.shop_table tr.shipping td{
  min-width: 400px !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 1rem !important;
  text-align: left !important;
  border: 0 !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout #order_review table.shop_table tr.shipping td *{
  text-align: left !important;
}
.woocommerce-checkout #order_review ul#shipping_method,
.woocommerce-checkout #order_review .woocommerce-shipping-methods{
  width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout #order_review ul#shipping_method li{
  width: 100% !important;
  box-sizing: border-box !important;
}
/* La label dentro la li deve restare a sinistra, non centrata */
.woocommerce-checkout #order_review ul#shipping_method li label{
  text-align: left !important;
}

/* 4. PAYMENT BOX: a capo sotto il radio + label, mai inline */
.woocommerce-checkout #payment ul.payment_methods > li{
  display: block !important;
  width: 100% !important;
}
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods > li > label{
  display: inline-block !important;
  vertical-align: middle !important;
}
.woocommerce-checkout #payment ul.payment_methods > li .payment_box{
  width: 100% !important;
  clear: both !important;
  float: none !important;
  margin-top: .85rem !important;
  flex-basis: 100% !important;
}
.woocommerce-checkout #payment ul.payment_methods > li .payment_box p,
.woocommerce-checkout #payment ul.payment_methods > li .payment_box fieldset,
.woocommerce-checkout #payment ul.payment_methods > li .payment_box .form-row{
  width: 100% !important;
  float: none !important;
  margin: 0 0 .6rem !important;
}
/* Stripe/card iframe wrapper a piena larghezza.
   IMPORTANTE: NON usare "iframe" generico — matcherebbe anche gli iframe
   invisibili di zoid (PayPal) tipo __detect_close_uid_..., che sono nati con
   style="display:none" e coprirebbero i campi carta col loro position:absolute,
   rendendo Numero carta / Scadenza / CVV non cliccabili. Selezioniamo solo gli
   iframe VISIBILI di PayPal (.zoid-visible o con title) e i wrapper Stripe. */
.woocommerce-checkout #payment ul.payment_methods > li .payment_box .wc-stripe-elements-field,
.woocommerce-checkout #payment ul.payment_methods > li .payment_box .StripeElement,
.woocommerce-checkout #payment ul.payment_methods > li .payment_box iframe.zoid-visible,
.woocommerce-checkout #payment ul.payment_methods > li .payment_box iframe[title]{
  width: 100% !important;
  display: block !important;
}
/* Garanzia belt-and-suspenders: gli iframe zoid di rilevazione close sono
   comunicazione interna, MAI visibili — se compaiono coprono i campi carta.
   Uso il selettore completo per superare la specificità della regola generica
   ".payment_box iframe { display: block !important }" (ora ristretta ma
   la manteniamo esplicita per ordine di lettura del CSS). */
.woocommerce-checkout #payment ul.payment_methods > li .payment_box iframe[name^="__detect_close"],
.woocommerce-checkout #payment ul.payment_methods > li .payment_box iframe[name^="__zoid_prerender__"],
.woocommerce-checkout iframe[name^="__detect_close"],
.woocommerce-checkout iframe[name^="__zoid_prerender__"]{
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* 8. Hide WCPA cart meta (era escluso dal selector wccf) */
.woocommerce-checkout #order_review td.product-name ul.wcpa_cart_meta,
.woocommerce-checkout #order_review td.product-name [class*="wcpa"]{
  display: none !important;
}

/* 9. Banner promo + coupon form WC giganti in testa: compatti */
body.woocommerce-checkout .woocommerce-info{
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-left: 3px solid var(--color-accent, #8C7B6E) !important;
  color: var(--color-text-muted, #7A6E66) !important;
  padding: .65rem 1rem !important;
  font-size: .8rem !important;
  margin: 0 0 1rem !important;
  line-height: 1.5 !important;
}
body.woocommerce-checkout .woocommerce-info::before{ display: none !important; }
body.woocommerce-checkout form.checkout_coupon{
  background: transparent !important;
  border: 1px dashed var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 6px !important;
  padding: .85rem 1rem !important;
  margin: 0 0 1.5rem !important;
  display: flex !important;
  gap: .5rem !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
}
body.woocommerce-checkout form.checkout_coupon p{
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
body.woocommerce-checkout form.checkout_coupon p.form-row-first{ flex: 1 1 280px !important; }
body.woocommerce-checkout form.checkout_coupon p.form-row-last{ flex: 0 0 auto !important; }
body.woocommerce-checkout form.checkout_coupon input[name="coupon_code"]{
  width: 100% !important;
  height: 42px !important;
  padding: 0 .9rem !important;
  font-size: .9rem !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 4px !important;
}
body.woocommerce-checkout form.checkout_coupon button{
  height: 42px !important;
  padding: 0 1.25rem !important;
  font-size: .78rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  background: var(--color-text-primary, #1F1B17) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
}

/* 10. Product row review: × 1 inline (non a capo lontano dal nome) */
.woocommerce-checkout #order_review td.product-name strong.product-quantity{
  display: inline-block !important;
  margin-left: .35rem !important;
  margin-top: 0 !important;
}
.woocommerce-checkout #order_review .bb-review-line{
  align-items: flex-start !important;
}
.woocommerce-checkout #order_review .bb-review-name{
  display: inline !important;
}

/* 11. TOTALE 32,00 € — il € non deve andare a capo */
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal td,
.woocommerce-checkout #order_review table.shop_table tbody td.product-total{
  white-space: nowrap !important;
  width: 110px !important;
  min-width: 110px !important;
}

/* 12. FermoPoint shipping card: stack vertical, niente icona refresh + em decentrato */
.woocommerce-checkout #order_review ul#shipping_method li img.updatePudo,
.woocommerce-checkout #order_review ul#shipping_method li img[class*="pudo"],
.woocommerce-checkout #order_review ul#shipping_method li em{
  display: none !important;
}
.woocommerce-checkout #order_review ul#shipping_method li > div{
  display: none !important;
}

/* 13. SICURO badge: reserva spazio a destra del label */
body.woocommerce-checkout #payment ul.payment_methods > li > label{
  padding-right: 80px !important;
  display: block !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li{
  padding-right: 1.25rem !important;
}

/* 14. Stato chip "Italia": rendi visivamente un campo */
.woocommerce-checkout #select2-billing_country-container,
.woocommerce-checkout .select2-selection--single{
  height: 44px !important;
  line-height: 44px !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 4px !important;
  padding: 0 .9rem !important;
  font-size: .92rem !important;
}

/* 20. Payment methods layout robusto — gestisce gateway con struttura diversa (es. Fake Pay) */
body.woocommerce-checkout #payment ul.payment_methods > li{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .65rem !important;
  min-height: 56px !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"]{
  flex: 0 0 auto !important;
  margin: 0 !important;
  align-self: center !important;
  width: 18px !important;
  height: 18px !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label{
  flex: 1 1 auto !important;
  margin: 0 !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label .bb-pm-text{
  flex: 1 !important;
}
/* Payment_box (form carta, ecc.) sempre full row a capo */
body.woocommerce-checkout #payment ul.payment_methods > li > .payment_box,
body.woocommerce-checkout #payment ul.payment_methods > li > div.payment_box{
  flex: 1 1 100% !important;
  order: 99 !important;
}
/* Eventuali wrapper div extra: full row anche loro */
body.woocommerce-checkout #payment ul.payment_methods > li > div:not(.payment_box):not(.bb-section-head){
  flex: 1 1 100% !important;
}

/* 19. Buono regalo (PW WooCommerce Gift Cards) — styling pulito */
body.woocommerce-checkout #pwgc-redeem-gift-card-form{
  background: var(--color-bg-primary, #FAF7F3) !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 8px !important;
  padding: 1rem 1.25rem !important;
  margin: 1rem 0 0 !important;
}
body.woocommerce-checkout #pwgc-redeem-gift-card-form > label,
body.woocommerce-checkout #pwgc-redeem-form > label,
body.woocommerce-checkout #pwgc-redeem-gift-card-form label[for*="pwgc"]{
  display: block !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin: 0 0 .65rem !important;
  padding: 0 !important;
}
body.woocommerce-checkout #pwgc-redeem-form{
  display: flex !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout #pwgc-redeem-form > label{
  flex: 1 1 100% !important;
  margin: 0 0 .15rem !important;
}
body.woocommerce-checkout #pwgc-redeem-gift-card-number{
  flex: 1 1 0% !important;
  min-width: 120px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  line-height: 48px !important;
  padding: 0 .9rem !important;
  margin: 0 !important;
  font-size: .9rem !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--color-text-primary, #1F1B17) !important;
  width: auto !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
body.woocommerce-checkout #pwgc-redeem-form input[type="submit"]{
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  line-height: 1 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
body.woocommerce-checkout #pwgc-redeem-gift-card-number:focus{
  outline: none !important;
  border-color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-checkout #pwgc-redeem-form input[type="submit"]{
  flex: 0 0 auto !important;
  height: 42px !important;
  padding: 0 1.25rem !important;
  font-size: .75rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  background: var(--color-text-primary, #1F1B17) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .15s !important;
}
body.woocommerce-checkout #pwgc-redeem-form input[type="submit"]:hover{
  background: var(--color-accent, #8C7B6E) !important;
}

/* 16. Nascondi thead "PRODOTTO/SUBTOTALE" (ridondante, layout pulito) */
body.woocommerce-checkout #order_review table.shop_table thead{
  display: none !important;
}

/* 17. Spazio sidebar: tighten tra le righe */
body.woocommerce-checkout #order_review table.shop_table tbody td.product-name,
body.woocommerce-checkout #order_review table.shop_table tbody td.product-total{
  padding: 1rem !important;
  border-top: 0 !important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal td{
  padding: .55rem 1rem !important;
  border-top: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
}
body.woocommerce-checkout #order_review table.shop_table tr.shipping{
  padding: .55rem 0 !important;
}

/* 18. × 1 dentro .bb-review-line: inline accanto al nome */
.woocommerce-checkout #order_review .bb-review-line{
  flex-wrap: wrap !important;
  align-items: center !important;
}
.woocommerce-checkout #order_review .bb-review-line strong.product-quantity{
  display: inline !important;
  font-weight: 400 !important;
  font-size: .82rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  margin: 0 0 0 .4rem !important;
  letter-spacing: 0 !important;
}

/* 15. Riduci spazio vuoto sotto il form checkout */
body.woocommerce-checkout .et_pb_section{
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}


/* ============================================================
   v2.1.0 — CARRELLO restyle completo (match preview)
   ============================================================ */

/* Layout 2 col (lista | sidebar) */
@media (min-width: 981px){
  body.woocommerce-cart .woocommerce{
    display: grid !important;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 400px) !important;
    gap: 2.5rem !important;
    align-items: start !important;
  }
  body.woocommerce-cart .bb-checkout-steps{
    grid-column: 1 / -1 !important;
  }
  body.woocommerce-cart .cart-collaterals{
    grid-column: 2 !important;
    position: sticky !important;
    top: 1rem !important;
    max-width: none !important;
    width: 100% !important;
    float: none !important;
  }
}

/* Cart item rows: 5-col grid */
body.woocommerce-cart .woocommerce-cart-form table.cart{
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart thead{ display: none !important; }
body.woocommerce-cart .woocommerce-cart-form table.cart,
body.woocommerce-cart .woocommerce-cart-form table.cart tbody{
  display: block !important;
  width: 100% !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item{
  display: grid !important;
  grid-template-columns: 80px 1fr auto auto auto !important;
  gap: 1.25rem !important;
  align-items: center !important;
  padding: 1.25rem !important;
  background: #fff !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 12px !important;
  margin: 0 0 1rem !important;
  transition: border-color .15s, box-shadow .15s !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item:hover{
  border-color: var(--color-accent, #8C7B6E) !important;
  box-shadow: 0 4px 18px rgba(140,123,110,.08) !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-thumbnail{
  order: 1 !important;
  width: 80px !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-thumbnail img{
  width: 80px !important;
  height: 80px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  display: block !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name{
  order: 2 !important;
  min-width: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name a{
  font-size: .95rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary, #1F1B17) !important;
  text-decoration: none !important;
  display: block !important;
  margin: 0 0 .35rem !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name a:hover{
  color: var(--color-accent, #8C7B6E) !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name dl.variation,
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name [class*="wcpa"],
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name [class*="wccf"]{
  font-size: .78rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name [class*="wcpa"] strong,
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name dl.variation dt{
  color: var(--color-text-primary, #1F1B17) !important;
  font-weight: 600 !important;
}
/* Nascondi prezzo unitario (mostriamo solo subtotale) */
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-price{
  display: none !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-quantity{
  order: 3 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart .quantity{
  display: inline-flex !important;
  align-items: center !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  background: #fff !important;
  height: 40px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart .quantity input.qty{
  width: 44px !important;
  height: 100% !important;
  border: 0 !important;
  background: transparent !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  text-align: center !important;
  -moz-appearance: textfield !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .woocommerce-cart-form table.cart .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none !important;
  margin: 0 !important;
}
/* bottoni − / + iniettati da JS */
body.woocommerce-cart .woocommerce-cart-form table.cart .quantity .bb-qty-btn{
  background: transparent !important;
  border: 0 !important;
  width: 32px !important;
  height: 100% !important;
  font-size: 1rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart .quantity .bb-qty-btn:hover{
  background: var(--color-bg-primary, #FAF7F3) !important;
  color: var(--color-accent, #8C7B6E) !important;
}

body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-subtotal{
  order: 4 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 1.15rem !important;
  text-align: right !important;
  min-width: 80px !important;
  white-space: nowrap !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-remove{
  order: 5 !important;
  width: 30px !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-remove a.remove{
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--color-text-muted, #7A6E66) !important;
  font-size: 1.1rem !important;
  font-weight: 300 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .15s !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-remove a.remove:hover{
  background: var(--color-warn, #B83A2E) !important;
  color: #fff !important;
}

/* Riga azioni (coupon + aggiorna) — compatta, FULL WIDTH */
body.woocommerce-cart .woocommerce-cart-form table.cart tr:has(td.actions),
body.woocommerce-cart .woocommerce-cart-form table.cart tr.bb-actions-tr{
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr td.actions{
  display: flex !important;
  width: 100% !important;
  gap: .5rem !important;
  padding: 1rem 1.25rem !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 8px !important;
  margin: 1rem 0 !important;
  border: 0 !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart tr.bb-actions-tr{
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form .coupon{
  display: flex !important;
  flex: 1 !important;
  gap: .5rem !important;
  margin: 0 !important;
  align-items: stretch !important;
}
body.woocommerce-cart .woocommerce-cart-form .coupon input.input-text{
  flex: 1 !important;
  height: 42px !important;
  padding: 0 .9rem !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 4px !important;
  background: #fff !important;
  font-size: .9rem !important;
  min-width: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]{
  height: 42px !important;
  padding: 0 1.5rem !important;
  flex: 0 0 auto !important;
  background: var(--color-accent, #8C7B6E) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]:hover{
  background: var(--color-text-primary, #1F1B17) !important;
}
/* "Aggiorna carrello" button: visibile solo se attivo */
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{
  height: 42px !important;
  padding: 0 1rem !important;
  background: transparent !important;
  color: var(--color-text-primary, #1F1B17) !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 4px !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled,
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"][disabled]{
  display: none !important;
}

/* ── Sidebar "Riepilogo ordine" (cart_totals) ── */
body.woocommerce-cart .cart-collaterals .cart_totals{
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 14px !important;
  border: 0 !important;
  padding: 1.75rem 1.5rem !important;
}
body.woocommerce-cart .cart_totals h2{
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  margin: 0 0 1.25rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-cart .cart_totals table.shop_table_responsive,
body.woocommerce-cart .cart_totals table{
  background: transparent !important;
  border: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart .cart_totals{
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body.woocommerce-cart .cart_totals table tr{
  background: transparent !important;
}
body.woocommerce-cart .cart_totals table tr.cart-subtotal th{
  padding: .65rem 0 .65rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: .88rem !important;
}
body.woocommerce-cart .cart_totals table tr.cart-subtotal td{
  padding: .65rem 1.5rem .65rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: .88rem !important;
}
body.woocommerce-cart .cart_totals table tr.cart-subtotal th{
  font-weight: 500 !important;
  color: var(--color-text-muted, #7A6E66) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.woocommerce-cart .cart_totals table tr.cart-subtotal td{
  text-align: right !important;
  color: var(--color-text-primary, #1F1B17) !important;
  font-weight: 500 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.1rem !important;
}
body.woocommerce-cart .cart_totals table tr.cart-subtotal td .woocommerce-Price-amount,
body.woocommerce-cart .cart_totals table tr.cart-subtotal bdi{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 500 !important;
}

/* Spedizione: titolo sopra + opzioni sotto come choice card */
body.woocommerce-cart .cart_totals table tr.shipping{
  width: 100% !important;
  display: table-row !important;
  border: 0 !important;
}
body.woocommerce-cart .cart_totals table tr.shipping th{
  display: block !important;
  width: 100% !important;
  padding: 1rem 0 .6rem 0 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary, #1F1B17) !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
}
body.woocommerce-cart .cart_totals table tr.shipping td{
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 300px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
/* Forza tabella sidebar a piena larghezza, no layout fixed */
body.woocommerce-cart .cart_totals table.shop_table_responsive,
body.woocommerce-cart .cart_totals table{
  table-layout: fixed !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method,
body.woocommerce-cart .woocommerce-shipping-methods{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .4rem !important;
  width: 100% !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li{
  background: #fff !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 6px !important;
  padding: .65rem .85rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  cursor: pointer !important;
  width: 100% !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
  font-size: .82rem !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li label{
  white-space: normal !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li.bb-choice--on{
  border-color: var(--color-text-primary, #1F1B17) !important;
  background: #fff !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li label{
  margin: 0 !important;
  font-weight: 500 !important;
  font-size: .82rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  flex: 1 !important;
  line-height: 1.3 !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li img,
body.woocommerce-cart .cart_totals ul#shipping_method li em,
body.woocommerce-cart .cart_totals ul#shipping_method li > div{
  display: none !important;
}
body.woocommerce-cart .cart_totals .shipping-calculator-button,
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .cart_totals .shipping-destination{
  font-size: .72rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  margin: .65rem 0 0 !important;
  line-height: 1.5 !important;
}

/* Order total: grande serif */
body.woocommerce-cart .cart_totals table tr.order-total{
  border-top: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
}
body.woocommerce-cart .cart_totals table tr.order-total th{
  padding: 1rem 0 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .cart_totals table tr.order-total td{
  padding: 1rem 1.5rem 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .cart_totals table tr.order-total th{
  font-size: .78rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--color-text-muted, #7A6E66) !important;
  font-weight: 600 !important;
}
body.woocommerce-cart .cart_totals table tr.order-total td,
body.woocommerce-cart .cart_totals table tr.order-total td .woocommerce-Price-amount,
body.woocommerce-cart .cart_totals table tr.order-total bdi,
body.woocommerce-cart .cart_totals table tr.order-total strong{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary, #1F1B17) !important;
  text-align: right !important;
}

/* Procedi all'ordine — dark CTA */
body.woocommerce-cart .wc-proceed-to-checkout{
  padding: 0 !important;
  margin: 1.25rem 0 0 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display: block !important;
  width: 100% !important;
  background: var(--color-text-primary, #1F1B17) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  padding: 1.1rem 1.5rem !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background: var(--color-accent-dark, #5F5147) !important;
}

/* Buono regalo (PW Gift Cards) anche nel carrello */
body.woocommerce-cart #pwgc-redeem-gift-card-form{
  background: #fff !important;
  border: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 8px !important;
  padding: 1rem 1.25rem !important;
  margin: 1rem 0 0 !important;
}
body.woocommerce-cart #pwgc-redeem-gift-card-form > label,
body.woocommerce-cart #pwgc-redeem-form > label{
  display: block !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin: 0 0 .65rem !important;
}
body.woocommerce-cart #pwgc-redeem-form{
  display: flex !important;
  gap: .5rem !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
body.woocommerce-cart #pwgc-redeem-gift-card-number{
  flex: 1 1 200px !important;
  min-width: 180px !important;
  width: auto !important;
  height: 48px !important;
  line-height: 48px !important;
  padding: 0 .9rem !important;
  border: 1.5px solid var(--color-bg-secondary, #E8E2D8) !important;
  border-radius: 4px !important;
  background: #fff !important;
  font-size: .9rem !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart #pwgc-redeem-form input[type="submit"]{
  height: 48px !important;
  padding: 0 1.25rem !important;
  background: var(--color-text-primary, #1F1B17) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* "Spedizione a..." testo address: bel chip */
body.woocommerce-cart .woocommerce-shipping-destination,
body.woocommerce-cart .shipping-destination{
  font-size: .75rem !important;
  color: var(--color-text-muted, #7A6E66) !important;
  margin-top: .6rem !important;
  padding: .55rem .75rem !important;
  background: #fff !important;
  border-radius: 6px !important;
  line-height: 1.5 !important;
}

/* PayPal Smart Buttons sotto il CTA: tighten */
body.woocommerce-cart .ppc-button-wrapper,
body.woocommerce-cart .paypal-buttons{
  margin-top: .75rem !important;
}

/* Nascondi il "Modifica indirizzo" calculator espanso (utente lo gestisce al checkout) */
body.woocommerce-cart .shipping-calculator-form,
body.woocommerce-cart .shipping-calculator-button{
  display: none !important;
}


/* ============================================================
   v2.2.1 — FOOTER restyle
   ============================================================ */

/* Main footer (sezione 1): bg bianco */
footer .et_pb_section.et_pb_section_1_tb_footer{
  background: #fff !important;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  border-top: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
}

/* Trust strip (sezione 0): leggera distinzione */
footer .et_pb_section.et_pb_section_0_tb_footer{
  background: var(--color-bg-primary, #FAF7F3) !important;
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

/* Subfooter (sezione 3) "© Bibibaby 2020 | P.iva...": bg = topbar leggermente più chiaro */
footer .et_pb_section.et_pb_section_3_tb_footer{
  background: #A39685 !important;
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}
footer .et_pb_section.et_pb_section_3_tb_footer .et_pb_text_inner,
footer .et_pb_section.et_pb_section_3_tb_footer p,
footer .et_pb_section.et_pb_section_3_tb_footer span,
footer .et_pb_section.et_pb_section_3_tb_footer a{
  color: #fff !important;
  font-size: .78rem !important;
  letter-spacing: .04em !important;
  text-align: center !important;
}
footer .et_pb_section.et_pb_section_3_tb_footer a:hover{
  color: var(--color-bg-secondary, #E8E2D8) !important;
}

/* Headings colonne footer (Animaletti, Termini, Seguici, Iscriviti) */
footer .et_pb_section_1_tb_footer h1,
footer .et_pb_section_1_tb_footer h2,
footer .et_pb_section_1_tb_footer h3,
footer .et_pb_section_1_tb_footer h4,
footer .et_pb_section_1_tb_footer h5,
footer .et_pb_section_1_tb_footer h6,
footer .et_pb_section_1_tb_footer .et_pb_widget_area_title,
footer .et_pb_section_1_tb_footer strong{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin: 0 0 1rem !important;
  padding: 0 0 .5rem !important;
  border-bottom: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
}

/* Link nelle colonne footer */
footer .et_pb_section_1_tb_footer a{
  color: var(--color-text-muted, #7A6E66) !important;
  font-size: .88rem !important;
  text-decoration: none !important;
  transition: color .15s !important;
  display: inline-block !important;
  padding: .3rem 0 !important;
  letter-spacing: .02em !important;
}
footer .et_pb_section_1_tb_footer a:hover{
  color: var(--color-accent, #8C7B6E) !important;
}

/* Container newsletter: wrapper bello */
footer .et_pb_section_1_tb_footer .et_pb_text_inner:has(iframe),
footer .et_pb_section_1_tb_footer .et_pb_code_inner:has(iframe){
  background: var(--color-bg-primary, #FAF7F3) !important;
  border-radius: 8px !important;
  padding: 1.25rem !important;
}

/* Iframe newsletter: dimensioni + background */
footer .et_pb_section_1_tb_footer iframe{
  width: 100% !important;
  min-height: 280px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 6px !important;
}

/* Headline "Iscriviti alla newsletter" */
footer .et_pb_section_1_tb_footer strong:first-child,
footer .et_pb_section_1_tb_footer p strong{
  display: block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary, #1F1B17) !important;
  margin-bottom: .75rem !important;
  text-align: left !important;
}

/* 6. Header sezione numerato (4 METODO DI PAGAMENTO) */
body.woocommerce-checkout #payment .bb-section-head{
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  margin: 0 0 1.25rem !important;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid var(--color-bg-secondary, #E8E2D8) !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
body.woocommerce-checkout #payment .bb-section-num{
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--color-text-primary, #1F1B17);
  color: #fff;
  font-family: "Inter", sans-serif !important;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* 7. Payment method: title + sub stack + badge SICURO */
body.woocommerce-checkout #payment ul.payment_methods > li{
  position: relative !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label .bb-pm-text{
  display: inline-flex !important;
  flex-direction: column !important;
  gap: .15rem !important;
  vertical-align: middle !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label .bb-pm-title{
  font-weight: 600 !important;
  font-size: .92rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  line-height: 1.2 !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label .bb-pm-sub{
  font-size: .78rem !important;
  font-weight: 400 !important;
  color: var(--color-text-muted, #7A6E66) !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li .bb-pm-badge{
  position: absolute !important;
  top: 1rem !important;
  right: 1.25rem !important;
  font-size: .62rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: .22rem .5rem !important;
  border-radius: 3px !important;
  background: var(--color-bg-primary, #FAF7F3) !important;
  color: var(--color-text-primary, #1F1B17) !important;
}

/* 5. Sidebar destra: rimuovi il box esterno (double-box) per recuperare spazio */
body.woocommerce-checkout #order_review{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   v2.5.0 — HOMEPAGE restyle
   - Nascondi Smart Slider hero della home (#n2-ss-3)
   - Hero statico, Più venduti, Why Bibibaby
   - Fix bottoni box homepage (font, trasparenza, hover)
   ============================================================ */

/* Nasconde lo Smart Slider della home (mantiene la topbar che è un altro slider) */
body.home #page-container .et_pb_section_0 .et_pb_row.et_pb_row_0,
body.home #n2-ss-3,
body.home .et_pb_code:has(#n2-ss-3){
  display: none !important;
}

/* ========== HERO statico ========== */
.bb-hero{
  position: relative;
  min-height: clamp(420px, 60vw, 720px);
  background: #F5EFE7 center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 4rem;
  overflow: hidden;
}
.bb-hero::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.35) 100%);
}
.bb-hero__inner{
  position: relative; z-index: 2;
  max-width: 720px; margin: 0 auto; padding: 2rem 1.5rem;
  text-align: center; color: #fff;
}
.bb-hero__title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(2rem, 5vw, 3.2rem) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  color: #fff !important;
  margin: 0 0 1rem !important;
  letter-spacing: .005em;
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}
.bb-hero__sub{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  font-style: italic;
  color: #fff !important;
  margin: 0 0 2rem;
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.bb-hero__cta{
  display: inline-block;
  padding: 1rem 2.5rem;
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid #FFFFFF !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 0;
  transition: all .25s ease;
  box-shadow: none;
}
.bb-hero__cta:hover{
  background: #FFFFFF !important;        /* inverte: bianco pieno */
  color: #1F1B17 !important;             /* testo nero */
  border-color: #FFFFFF !important;
  letter-spacing: .18em;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}

/* ========== BESTSELLERS ========== */
.bb-bestsellers{
  padding: 3rem 1.25rem 4rem;
}
.bb-bestsellers__inner{
  max-width: 1280px;
  margin: 0 auto;
}
.bb-section-title,
.bb-bestsellers .bb-section-title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 500 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 2.5rem !important;
  color: var(--color-text-primary, #1F1B17);
}
/* Grid auto-fit: 2 col su mobile, fino a 4 col su desktop senza media query */
body.home .bb-bestsellers ul.products,
body.home .bb-bestsellers .woocommerce ul.products,
.bb-bestsellers ul.products,
.bb-bestsellers .woocommerce ul.products{
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 1.75rem 1.25rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
.bb-bestsellers ul.products li.product{
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-align: center !important;
}
.bb-bestsellers ul.products li.product::before,
.bb-bestsellers ul.products li.product::after,
.bb-bestsellers ul.products::before,
.bb-bestsellers ul.products::after{
  content: none !important;
  display: none !important;
}
.bb-bestsellers ul.products li.product img{
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  margin-bottom: 1rem !important;
}
.bb-bestsellers ul.products li.product .woocommerce-loop-product__title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  margin: 0 0 .35rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
  text-transform: none !important;
}
.bb-bestsellers ul.products li.product .price{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: var(--color-text-primary, #1F1B17) !important;
}
.bb-bestsellers ul.products li.product .price del{
  color: var(--color-text-muted, #7A6E66) !important;
  font-weight: 400 !important;
  font-size: .85em !important;
  margin-right: .35rem !important;
}
.bb-bestsellers ul.products li.product .price ins{
  text-decoration: none !important;
  color: var(--color-warn, #B83A2E) !important;
}
.bb-bestsellers ul.products li.product .button,
.bb-bestsellers ul.products li.product .add_to_cart_button{
  display: none !important;
}

/* ========== WHY BIBIBABY ========== */
.bb-why{
  background: var(--color-bg-primary, #FAF7F3);
  padding: 4rem 1.25rem;
  margin: 0 0 4rem;
}
.bb-why__inner{
  max-width: 1100px;
  margin: 0 auto;
}
.bb-why__title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.7rem, 3.2vw, 2.6rem) !important;
  font-weight: 500 !important;
  text-align: center;
  margin: 0 0 2.5rem !important;
  color: var(--color-text-primary, #1F1B17);
  letter-spacing: .005em;
}
.bb-why__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px){
  .bb-why__grid{ grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
.bb-why__card{
  background: #fff;
  border: 1px solid var(--color-bg-secondary, #E8E2D8);
  border-radius: 12px;
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.bb-why__card:hover{
  border-color: var(--color-accent, #8C7B6E);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(140, 123, 110, .12);
}
.bb-why__icon{
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-bg-primary, #FAF7F3);
  color: var(--color-accent, #8C7B6E);
  margin-bottom: .25rem;
}
.bb-why__icon svg{ width: 22px; height: 22px; }
.bb-why__h{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text-primary, #1F1B17);
  margin: 0;
}
.bb-why__p{
  font-size: .92rem;
  color: var(--color-text-muted, #7A6E66);
  line-height: 1.55;
  margin: 0;
}

/* ============================================================
   v2.5.0 — Fix bottoni box homepage (più leggibili, trasparenti, hover beige)
   ============================================================ */
body #page-container .et_pb_section a.et_pb_button.et_pb_bg_layout_light,
body #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button,
body #page-container .et_pb_section a.et_pb_button[class*="et_pb_button_"]{
  /* Font più leggibile (sans-serif bold) e meno tracking */
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  letter-spacing: .14em !important;
  /* Trasparente con velo bianco */
  background: rgba(255, 255, 255, .85) !important;
  background-color: rgba(255, 255, 255, .85) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  backdrop-filter: blur(2px) !important;
  color: #1F1B17 !important;
}
body #page-container .et_pb_section a.et_pb_button.et_pb_bg_layout_light:hover,
body #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button:hover,
body #page-container .et_pb_section a.et_pb_button[class*="et_pb_button_"]:hover{
  background: #F5EFE7 !important;        /* beige chiaro */
  background-color: #F5EFE7 !important;
  color: #1F1B17 !important;             /* testo SEMPRE nero */
  letter-spacing: .16em !important;
  transform: translateY(-2px) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Forza 4 colonne sulla griglia bestsellers desktop (vince su classi WC columns-N) */
@media (min-width: 768px){
  body .bb-bestsellers ul.products,
  body .bb-bestsellers ul.products.columns-2,
  body .bb-bestsellers ul.products.columns-3,
  body .bb-bestsellers ul.products.columns-4,
  body .bb-bestsellers ul.products.columns-5{
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* v2.5.2 — Forza dimensione cards bestseller homepage con specificità Divi */
body.home #page-container .bb-bestsellers ul.products li.product,
body.home #page-container .bb-bestsellers .woocommerce ul.products li.product{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  position: relative !important;  /* ancoraggio badge */
}
body.home #page-container .bb-bestsellers ul.products li.product a,
body.home #page-container .bb-bestsellers ul.products li.product a img{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.home #page-container .bb-bestsellers ul.products li.product img{
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  margin: 0 0 1rem !important;
  height: auto !important;
}

/* v2.5.4 — Bottoni IDEE REGALO (section_2): TUTTI uguali, dimensione fissa */
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_2 a.et_pb_button.et_pb_bg_layout_light,
body.home #page-container .et_pb_section.et_pb_section_2 a.et_pb_button[class*="et_pb_button_"]{
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
  min-height: 60px !important;
  padding: .7rem 1rem !important;
  font-size: .72rem !important;
  letter-spacing: .1em !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center !important;
  white-space: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* ============================================================
   v2.5.7 — Box homepage stile mimistudio.it
   - Bottoni come etichette serif bianche centrate sull'immagine
   - Niente più pillola bianca
   - Hover: zoom immagine + overlay scuro morbido
   - Row max-width 1280 da desktop
   ============================================================ */

/* Row più larga su desktop */
@media (min-width: 1100px){
  body.home #page-container .et_pb_section .et_pb_row{
    max-width: 1280px !important;
    width: 90% !important;
  }
}

/* Colonne box (section_1: 3 col 1/3, section_2: 4 col 1/4) */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4{
  position: relative !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 0 !important;
  /* Niente padding bottom — il bottone va al centro */
  padding: 0 !important;
  /* Aspect ratio già impostato altrove, qui solo display */
  display: block !important;
  transition: transform .35s ease !important;
}

/* Overlay scuro sopra l'immagine (sempre presente leggero, si rinforza all'hover) */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3::before,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3::before,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.28) 100%) !important;
  transition: background .35s ease !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3:hover::before,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3:hover::before,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4:hover::before{
  background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.45) 100%) !important;
}

/* Wrapper del button: centrato in mezzo (assoluto) */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper{
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  z-index: 2 !important;
  text-align: center !important;
}

/* BOTTONE → etichetta serif bianca, niente pillola */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_0 a.et_pb_button.et_pb_bg_layout_light,
body.home #page-container .et_pb_section.et_pb_section_1 a.et_pb_button.et_pb_bg_layout_light,
body.home #page-container .et_pb_section.et_pb_section_2 a.et_pb_button.et_pb_bg_layout_light{
  /* Layout */
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 80% !important;
  min-height: 0 !important;
  padding: 0 !important;
  /* Sfondo trasparente */
  background: transparent !important;
  background-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  /* Testo: serif elegante bianco */
  color: #FFFFFF !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.4rem, 2.2vw, 2.2rem) !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.45) !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition: transform .35s ease, letter-spacing .35s ease !important;
}
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home #page-container .et_pb_section.et_pb_section_0 a.et_pb_button.et_pb_bg_layout_light:hover,
body.home #page-container .et_pb_section.et_pb_section_1 a.et_pb_button.et_pb_bg_layout_light:hover,
body.home #page-container .et_pb_section.et_pb_section_2 a.et_pb_button.et_pb_bg_layout_light:hover{
  background: transparent !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  transform: scale(1.04) !important;
  letter-spacing: .03em !important;
  box-shadow: none !important;
}

/* Zoom soft della "immagine" (background del column) all'hover via pseudo */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3::after,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3::after,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: inherit !important;
  transition: transform .6s cubic-bezier(.2,.9,.3,1) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3:hover::after,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3:hover::after,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4:hover::after{
  transform: scale(1.06) !important;
}

/* ============================================================
   v2.5.8 — Hover box home più morbido + numero prodotti
   - Nessuno scale del column
   - Solo l'immagine (background) fa zoom dolce
   - Titolo si solleva leggermente, appare divider + "N prodotti"
   ============================================================ */

/* NIENTE scale del column (sovrascrive v2.5.7) */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3:hover,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3:hover,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4:hover{
  transform: none !important;
}

/* Pseudo "::after" è già lì col background ereditato — solo lui fa zoom soft */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3:hover::after,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3:hover::after,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4:hover::after{
  transform: scale(1.07) !important;  /* zoom solo immagine, container fermo */
}

/* Bottone come colonna flex (titolo sopra, count sotto invisibile) */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button{
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  transition: transform .45s cubic-bezier(.2,.9,.3,1), letter-spacing .35s ease !important;
}
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button:hover{
  transform: translateY(-6px) !important;  /* leggera salita */
  letter-spacing: .025em !important;
}

/* Sotto-elemento "N prodotti" appeso via JS dentro il bottone */
.bb-box-count{
  display: block !important;
  margin-top: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  transform: translateY(8px);
  transition: max-height .45s cubic-bezier(.2,.9,.3,1), opacity .35s ease .05s, transform .45s cubic-bezier(.2,.9,.3,1), margin-top .35s ease !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.92) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.4) !important;
  pointer-events: none;
  /* divider sottile sopra il count */
  border-top: 1px solid rgba(255,255,255,.6) !important;
  padding-top: 0 !important;
}
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper a.et_pb_button:hover .bb-box-count,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper a.et_pb_button:hover .bb-box-count,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button:hover .bb-box-count{
  max-height: 40px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  margin-top: .55rem !important;
  padding-top: .55rem !important;
}

/* Overlay scuro hover leggermente meno aggressivo */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_row .et_pb_column_1_3:hover::before,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_row .et_pb_column_1_3:hover::before,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_row .et_pb_column_1_4:hover::before{
  background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.38) 100%) !important;
}

/* ============================================================
   v2.5.9 — Box home stile mimistudio definitivo
   3 elementi SEMPRE visibili: count (top) - titolo (center) - CTA (bottom)
   All'hover solo zoom dell'immagine
   ============================================================ */

/* Bottone come flex column space-between, riempie il box */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper a.et_pb_button,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 2rem 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transform: none !important;          /* niente translate al hover */
  letter-spacing: normal !important;
  transition: none !important;
}

/* Niente effetti hover sul bottone (solo l'immagine fa zoom dal column::after) */
body.home #page-container .et_pb_section.et_pb_section_0 .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home #page-container .et_pb_section.et_pb_section_1 .et_pb_button_module_wrapper a.et_pb_button:hover,
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button:hover{
  transform: none !important;
  letter-spacing: normal !important;
  background: transparent !important;
  color: #FFFFFF !important;
}

/* Sub = count "N prodotti" — top */
.bb-box-sub{
  font-family: "Inter", -apple-system, sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.45) !important;
  margin: 0 !important;
}

/* Titolo grande serif — center */
.bb-box-title{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.6rem, 2.6vw, 2.4rem) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: .01em !important;
  color: #FFFFFF !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.4) !important;
  text-transform: none !important;
  margin: 0 !important;
  text-align: center !important;
}

/* CTA "Visualizza la collezione →" — bottom */
.bb-box-cta{
  font-family: "Inter", -apple-system, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.45) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  margin: 0 !important;
  transition: gap .35s cubic-bezier(.2,.9,.3,1) !important;
}
.bb-box-cta span{ transition: transform .35s cubic-bezier(.2,.9,.3,1) !important; display: inline-block !important;}
/* freccia avanza all'hover */
body.home #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button:hover .bb-box-cta{
  gap: .8rem !important;
}
body.home #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button:hover .bb-box-cta span{
  transform: translateX(4px) !important;
}

/* Nascondo eventuale vecchio .bb-box-count se rimasto */
.bb-box-count{ display: none !important; }

/* ============================================================
   v2.6.0 — Hover refinement + titoli sezioni uniformi
   ============================================================ */

/* 1) Sub (count) e CTA SOLO su hover. Titolo sempre visibile. */
.bb-box-sub,
.bb-box-cta{
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity .35s ease, transform .45s cubic-bezier(.2,.9,.3,1) !important;
  pointer-events: none;
}
.bb-box-sub{ transform: translateY(-8px) !important; }   /* il sub scende dall'alto */
body.home #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button:hover .bb-box-sub,
body.home #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button:hover .bb-box-cta{
  opacity: 1 !important;
  transform: translateY(0) !important;
}
/* Il titolo deve restare al CENTRO del box anche quando sub/cta sono nascosti */
body.home #page-container .et_pb_section .et_pb_button_module_wrapper a.et_pb_button{
  justify-content: space-between !important;
}
/* Niente sub renderizzato (occupa comunque spazio invisibile = mantiene altezza fissa) */

/* 2) Titolo dei box IDEE REGALO leggermente più piccolo (4 col, meno spazio) */
body.home #page-container .et_pb_section.et_pb_section_2 .et_pb_button_module_wrapper a.et_pb_button .bb-box-title{
  font-size: clamp(1.3rem, 1.9vw, 1.8rem) !important;
}

/* 3) Titoli sezioni Divi ("BIBIBABY...", "bibilove...", "Idee regalo")
      stesso stile di .bb-section-title ("I PIÙ SCELTI DALLE MAMME") */
body.home .et_pb_module.et_pb_text_0 p,
body.home .et_pb_module.et_pb_text_1 p,
body.home .et_pb_module.et_pb_text_2 p,
body.home .et_pb_module.et_pb_text_0,
body.home .et_pb_module.et_pb_text_1,
body.home .et_pb_module.et_pb_text_2{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.25rem, 2.2vw, 1.7rem) !important;  /* v2.7.25: via di mezzo */
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: var(--color-text-primary, #1F1B17) !important;
  line-height: 1.2 !important;
  margin: 0 0 2.5rem !important;
}

/* v2.6.2 — IDEE REGALO (row_2) width 80% da mobile */
@media (max-width: 980px){
  body.home #page-container .et_pb_section .et_pb_row.et_pb_row_2,
  body.home #page-container .et_pb_section .et_pb_row.et_pb_row_4{
    width: 80% !important;
    max-width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* v2.6.4 — bibilove title (et_pb_text_1): no margin da mobile */
@media (max-width: 980px){
  body.home .et_pb_module.et_pb_text_1 p,
  body.home .et_pb_module.et_pb_text_1{
    margin: 0 !important;
  }
}

/* ============================================================
   v2.6.6 — Tab newsletter "10% di sconto" — ripristina stile originale
   Replica esattamente bibibaby.it (rosa cipria + close icon)
   ============================================================ */

/* Wrapper: posizione fixed sinistra, niente overrides */
body .et_pb_button_0_tb_header_wrapper{
  position: fixed !important;
  left: -40px !important;
  top: 444px !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 100 !important;
  display: block !important;
  align-items: initial !important;
  justify-content: initial !important;
  inset: 444px auto auto -40px !important;
}

/* Bottone: rosa cipria, testo grigio caldo, ruotato -90°, font Lato */
body #page-container a#newsletter,
body #page-container .et_pb_button.et_pb_button_0_tb_header,
body a#newsletter,
body a.et_pb_button.et_pb_button_0_tb_header{
  position: relative !important;
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  background: #F9CDCF !important;
  background-color: #F9CDCF !important;
  color: #6D6D65 !important;
  border: 0 !important;
  border-radius: 3px !important;
  padding: 6px 20px !important;
  font-family: "Lato", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  text-shadow: none !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transform: rotate(-90deg) translate(0, -23px) !important;
  transform-origin: center center !important;
  transition: background-color .2s ease, box-shadow .2s ease !important;
  z-index: 999 !important;
  white-space: nowrap !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
}

/* HOVER: solo leggera variazione (no rotazioni / scaling / letter-spacing) */
body #page-container a#newsletter:hover,
body #page-container .et_pb_button.et_pb_button_0_tb_header:hover,
body a#newsletter:hover,
body a.et_pb_button.et_pb_button_0_tb_header:hover{
  background: #F5BCC0 !important;
  background-color: #F5BCC0 !important;
  color: #5A5A55 !important;
  transform: rotate(-90deg) translate(0, -23px) !important;
  letter-spacing: normal !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.14) !important;
  border: 0 !important;
}

/* Niente span figli stilizzati (sub/cta del mio mimistudio CSS) qui */
body a#newsletter .bb-box-sub,
body a#newsletter .bb-box-cta,
body a#newsletter .bb-box-title,
body a.et_pb_button.et_pb_button_0_tb_header .bb-box-sub,
body a.et_pb_button.et_pb_button_0_tb_header .bb-box-cta,
body a.et_pb_button.et_pb_button_0_tb_header .bb-box-title{
  display: inline !important;
  font: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
  text-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  max-height: none !important;
  overflow: visible !important;
  border: 0 !important;
  text-transform: none !important;
}

/* CLOSE icon: piccolo in linea col tab (originale top:470px) */
body .close-btn.et_pb_icon_0_tb_header,
body .et_pb_icon_0_tb_header.close-btn{
  position: fixed !important;
  left: 5px !important;
  top: 437px !important;
  width: 25px !important;
  height: 30px !important;
  background: transparent !important;
  color: #6D6D65 !important;
  z-index: 1000 !important;
  cursor: pointer !important;
}

/* ============================================================
   v2.6.9 — Popup iscrizioneNewsletter: tutto bianco con padding
   ============================================================ */
body #iscrizioneNewsletter,
body #iscrizioneNewsletter.et_pb_section{
  background: #FFFFFF !important;
  padding: 3rem 2rem !important;
  z-index: 10 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 48px rgba(0,0,0,.25) !important;
}
body #iscrizioneNewsletter .et_pb_row,
body #iscrizioneNewsletter .et_pb_column,
body #iscrizioneNewsletter .et_pb_module{
  background: transparent !important;
}
body #iscrizioneNewsletter h1,
body #iscrizioneNewsletter h2,
body #iscrizioneNewsletter h3,
body #iscrizioneNewsletter h4,
body #iscrizioneNewsletter p,
body #iscrizioneNewsletter span:not(.et_pb_icon_wrap):not(.et-pb-icon){
  color: #1F1B17 !important;
  text-shadow: none !important;
}
body #iscrizioneNewsletter iframe{
  width: 100% !important;
  min-height: 360px !important;
  border: 0 !important;
}

/* v2.7.1 — Close icon ben centrata SUL tab rosa (sopra) */
body .close-btn.et_pb_icon_0_tb_header,
body .et_pb_icon_0_tb_header.close-btn{
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  top: 372px !important;
  left: -5px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #1F1B17 !important;
  color: #FFFFFF !important;
  z-index: 1001 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
body .close-btn.et_pb_icon_0_tb_header .et_pb_icon_wrap,
body .close-btn.et_pb_icon_0_tb_header .et-pb-icon,
body .et_pb_icon_0_tb_header.close-btn .et_pb_icon_wrap,
body .et_pb_icon_0_tb_header.close-btn .et-pb-icon{
  color: #FFFFFF !important;
  font-size: 14px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

/* v2.7.2 — Forza l'icona Divi dentro il cerchio close, niente più X orfana */
body .close-btn.et_pb_icon_0_tb_header .et_pb_icon_wrap,
body .et_pb_icon_0_tb_header.close-btn .et_pb_icon_wrap{
  position: static !important;
  top: auto !important; left: auto !important;
  right: auto !important; bottom: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
body .close-btn.et_pb_icon_0_tb_header .et-pb-icon,
body .et_pb_icon_0_tb_header.close-btn .et-pb-icon{
  position: static !important;
  top: auto !important; left: auto !important;
  right: auto !important; bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* v2.7.3 — Reset hard del transform glitch sull'icon close */
body .close-btn.et_pb_icon_0_tb_header .et_pb_icon_wrap,
body .et_pb_icon_0_tb_header.close-btn .et_pb_icon_wrap,
body .close-btn.et_pb_icon_0_tb_header .et-pb-icon,
body .et_pb_icon_0_tb_header.close-btn .et-pb-icon{
  transform: none !important;
  transform-origin: 50% 50% !important;
  animation: none !important;
  transition: none !important;
}

/* v2.7.14 — Checkout button: prezzo bianco leggibile sul fondo scuro */
body a.xoo-wsc-ft-btn-checkout .amount,
body a.xoo-wsc-ft-btn-checkout .amount *,
body a.xoo-wsc-ft-btn-checkout .amount:before,
body a.xoo-wsc-ft-btn-checkout bdi,
body a.xoo-wsc-ft-btn-checkout .woocommerce-Price-amount{
  color: #ffffff !important;
  opacity: 1 !important;
}

/* ===================================================================
   v2.7.15 — Topbar (promo) + Subfooter: bg #f6f2ee, color #8c7c6e
   =================================================================== */

/* TOPBAR — Smart Slider promo bar */
body .bb-promobar-host .n2-section-smartslider,
body .bb-promobar-host .n2-section-smartslider .n2-ss-slider,
body .bb-promobar-host .n2-section-smartslider .n2-ss-slide,
body .bb-promobar-host .n2-section-smartslider .n2-ss-slide-background,
body .bb-promobar-host .n2-section-smartslider .n2-ss-slide-background-image,
body .bb-promobar-host .n2-section-smartslider .n2-ss-slide-background-color{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}
body .bb-promobar-host .n2-section-smartslider .n2-ss-text,
body .bb-promobar-host .n2-section-smartslider .n2-ss-layer-content,
body .bb-promobar-host .n2-section-smartslider p,
body .bb-promobar-host .n2-section-smartslider span,
body .bb-promobar-host .n2-section-smartslider div,
body .bb-promobar-host .n2-section-smartslider a{
  color: #8c7c6e !important;
}
body .bb-promobar-host .n2-section-smartslider .nextend-arrow svg,
body .bb-promobar-host .n2-section-smartslider .nextend-arrow{
  fill: rgba(140, 124, 110, 0.7) !important;
  color: rgba(140, 124, 110, 0.7) !important;
}

/* SUBFOOTER — © Bibibaby … */
body footer .et_pb_section.et_pb_section_3_tb_footer{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}
body footer .et_pb_section.et_pb_section_3_tb_footer,
body footer .et_pb_section.et_pb_section_3_tb_footer .et_pb_text_inner,
body footer .et_pb_section.et_pb_section_3_tb_footer p,
body footer .et_pb_section.et_pb_section_3_tb_footer span,
body footer .et_pb_section.et_pb_section_3_tb_footer a{
  color: #8c7c6e !important;
}
body footer .et_pb_section.et_pb_section_3_tb_footer a:hover{
  color: #6d5d50 !important;
}

/* ===================================================================
   v2.7.17 — Footer:
   - sezione subfooter override con specificità Divi (.et-db #et-boc .et-l)
   - sezione 0 footer (icone Spedizione/Pagamenti/Assistenza): bg #f6f2ee
     + icone color #8c7c6e (no più rosa)
   =================================================================== */

/* Specificità extra per subfooter (override variabili Divi tema) */
.et-db #et-boc .et-l .et_pb_section_3_tb_footer.et_pb_section{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}
.et-db #et-boc .et-l .et_pb_section_3_tb_footer .et_pb_text_inner,
.et-db #et-boc .et-l .et_pb_section_3_tb_footer p,
.et-db #et-boc .et-l .et_pb_section_3_tb_footer span,
.et-db #et-boc .et-l .et_pb_section_3_tb_footer a{
  color: #8c7c6e !important;
}

/* Sezione 0 footer: icone Spedizione / Pagamenti / Assistenza */
.et-db #et-boc .et-l .et_pb_section_0_tb_footer.et_pb_section,
body footer .et_pb_section.et_pb_section_0_tb_footer{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}

/* Icone (blurb image) → da rosa a #8c7c6e */
body footer .et_pb_section_0_tb_footer .et_pb_blurb .et_pb_main_blurb_image .et-pb-icon,
.et-db #et-boc .et-l .et_pb_section_0_tb_footer .et_pb_blurb .et_pb_main_blurb_image .et-pb-icon{
  color: #8c7c6e !important;
}
/* Se l'icona è un SVG / immagine: filtro tono */
body footer .et_pb_section_0_tb_footer .et_pb_blurb .et_pb_main_blurb_image img,
.et-db #et-boc .et-l .et_pb_section_0_tb_footer .et_pb_blurb .et_pb_main_blurb_image img{
  filter: brightness(0) saturate(100%) invert(54%) sepia(8%) saturate(750%) hue-rotate(353deg) brightness(91%) contrast(85%) !important;
}
/* Anche SVG inline */
body footer .et_pb_section_0_tb_footer .et_pb_blurb .et_pb_main_blurb_image svg path,
body footer .et_pb_section_0_tb_footer .et_pb_blurb .et_pb_main_blurb_image svg{
  fill: #8c7c6e !important;
  color: #8c7c6e !important;
}

/* ===================================================================
   v2.7.18 — Override REALI (frontend) per footer:
   - .et-db #et-boc esiste solo nel Builder, non sulla pagina pubblica
   - uso prefissi multipli (html body footer) per superare la specificità Divi
   =================================================================== */

/* SUBFOOTER sezione 3 (#AEA6A3 → #f6f2ee) */
html body footer .et_pb_section_3_tb_footer.et_pb_section,
html body footer .et_pb_section_3_tb_footer.et_pb_section.et_pb_with_background,
html body .et_pb_section_3_tb_footer.et_pb_section{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}
html body footer .et_pb_section_3_tb_footer .et_pb_text,
html body footer .et_pb_section_3_tb_footer .et_pb_text_inner,
html body footer .et_pb_section_3_tb_footer p,
html body footer .et_pb_section_3_tb_footer span,
html body footer .et_pb_section_3_tb_footer a{
  color: #8c7c6e !important;
}

/* SEZIONE 0 footer (icone Spedizione/Pagamenti/Assistenza) */
html body footer .et_pb_section_0_tb_footer.et_pb_section,
html body .et_pb_section_0_tb_footer.et_pb_section,
html body footer .et_pb_section_0_tb_footer .et_pb_row,
html body footer .et_pb_section_0_tb_footer .et_pb_column{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}

/* Icone blurb (rosa #f9cdcf → #8c7c6e) — battiamo la regola Divi cache */
html body footer .et_pb_blurb_0_tb_footer .et-pb-icon,
html body footer .et_pb_blurb_1_tb_footer .et-pb-icon,
html body footer .et_pb_blurb_2_tb_footer .et-pb-icon,
html body .et_pb_blurb_0_tb_footer .et-pb-icon,
html body .et_pb_blurb_1_tb_footer .et-pb-icon,
html body .et_pb_blurb_2_tb_footer .et-pb-icon{
  color: #8c7c6e !important;
}

/* ===================================================================
   v2.7.19 — Footer override DEFINITIVO
   Divi cache rule:
     .et-db #et-boc .et-l .et_pb_section_3_tb_footer.et_pb_section {background-color:#AEA6A3!important}
   Stessa specificità + carica DOPO → vinceva sempre.
   Soluzione: aggiungo .et_pb_with_background per superare di +1 classe.
   =================================================================== */

.et-db #et-boc .et-l .et_pb_section_3_tb_footer.et_pb_section.et_pb_with_background,
.et-db #et-boc .et-l .et_pb_section_3_tb_footer.et_pb_section.et_section_regular{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}

.et-db #et-boc .et-l .et_pb_section_3_tb_footer .et_pb_text .et_pb_text_inner,
.et-db #et-boc .et-l .et_pb_section_3_tb_footer .et_pb_text p,
.et-db #et-boc .et-l .et_pb_section_3_tb_footer .et_pb_text span,
.et-db #et-boc .et-l .et_pb_section_3_tb_footer .et_pb_text a{
  color: #8c7c6e !important;
}

/* Sezione 0 (icone): stessa logica */
.et-db #et-boc .et-l .et_pb_section_0_tb_footer.et_pb_section.et_section_regular,
.et-db #et-boc .et-l .et_pb_section_0_tb_footer.et_pb_section.et_pb_with_background{
  background: #f6f2ee !important;
  background-color: #f6f2ee !important;
}
.et-db #et-boc .et-l .et_pb_section_0_tb_footer .et_pb_row.et_pb_row_0_tb_footer,
.et-db #et-boc .et-l .et_pb_section_0_tb_footer .et_pb_column{
  background: transparent !important;
}

/* Icone blurb: la regola Divi ha specificità (0,0,2,0). Aggiungo .et_pb_blurb */
.et-db #et-boc .et-l .et_pb_blurb_0_tb_footer.et_pb_blurb .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_1_tb_footer.et_pb_blurb .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_2_tb_footer.et_pb_blurb .et-pb-icon{
  color: #8c7c6e !important;
}

/* ===================================================================
   v2.7.21 — Pagina Chi Sono: centra verticalmente i contenuti
   delle colonne (testo/foto) per evitare spazio vuoto quando il testo
   è più corto dell'immagine portrait.
   =================================================================== */
@media (min-width: 981px){
  /* Trasforma la row in flexbox: le 2 colonne ora si centrano
     verticalmente l'una rispetto all'altra */
  .page-id-71 .et_pb_section .et_pb_row{
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap;
  }
  /* La colonna deve usare tutta l'altezza disponibile della row */
  .page-id-71 .et_pb_section .et_pb_row > .et_pb_column{
    align-self: center;
    float: none !important;
  }
  /* Dentro la colonna testo, centra anche i moduli in pila */
  .page-id-71 .bb-col-vcenter{
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
}
/* Le immagini cap alla larghezza colonna ma allineate al centro */
.page-id-71 .et_pb_image{
  text-align: center;
}
.page-id-71 .et_pb_image .et_pb_image_wrap{
  display: inline-block;
}

/* ===================================================================
   v2.7.23 — Home: titoli più piccoli, hero senza uppercase,
   bottone hero hover trasparente con bordo bianco
   =================================================================== */

/* 1) Titoli sezioni Divi (BIBIBABY / bibilove / Idee regalo): più piccoli */
@media (min-width: 981px){
  body.home .et_pb_text_0,
  body.home .et_pb_text_1,
  body.home .et_pb_text_2{
    font-size: 18px !important;
    letter-spacing: .04em !important;
  }
}

/* 2) Titoli sezioni custom ("I più scelti dalle mamme", "Perché scegliere Bibibaby"): più piccoli */
@media (min-width: 981px){
  body.home .bb-section-title,
  body.home .bb-bestsellers .bb-section-title{
    font-size: 1.6rem !important;       /* era max 2.4rem */
    letter-spacing: .06em;
  }
  body.home .bb-why__title{
    font-size: 1.7rem !important;       /* era max 2.6rem */
  }
}

/* 3) Hero: NO uppercase + dimensione moderata + sottotitolo più leggero */
body.home .bb-hero__title{
  text-transform: none !important;
  font-size: clamp(1.6rem, 3.2vw, 2.4rem) !important;  /* era max 3.2rem */
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
body.home .bb-hero__sub{
  font-size: clamp(.95rem, 1.3vw, 1.1rem) !important;
}

/* 4) Pulsante hero hover: trasparente con bordo bianco (NO bg pieno) */
body.home .bb-hero__cta:hover{
  background: rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  letter-spacing: .18em;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
}

/* ===================================================================
   v2.7.34 — Bestsellers slider mobile — REWRITE
   Approccio nuovo: ul.products è un track con flex,
   parent .woocommerce ha overflow:hidden,
   card dimensionate in vw (viewport units) per evitare percentuali ambigue.
   NIENTE scroll-snap (era la causa dello scroll-offset iniziale).
   =================================================================== */
@media (max-width: 980px){
  /* Reset del padding di sezione */
  body.home .bb-bestsellers{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.home .bb-bestsellers__inner{
    padding-left: 16px !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }
  /* Wrapper .woocommerce: clipping del slider */
  body.home #page-container .bb-bestsellers .woocommerce.columns-4,
  body.home #page-container .bb-bestsellers .woocommerce{
    overflow-x: scroll !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 8px;
    margin: 0 !important;
  }
  body.home #page-container .bb-bestsellers .woocommerce::-webkit-scrollbar{
    display: none !important;
    height: 0 !important;
  }

  /* UL track: niente più overflow qui, solo flex container */
  body.home #page-container .bb-bestsellers ul.products,
  body.home #page-container .bb-bestsellers .woocommerce ul.products{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    padding: 0 16px 0 0 !important;  /* spazio a destra dell'ultima card */
    margin: 0 !important;
    list-style: none !important;
    width: max-content !important;   /* il UL è largo quanto le card sommate */
    overflow: visible !important;
  }

  /* Card: larghezza calcolata in vw (viewport units) */
  body.home #page-container .bb-bestsellers ul.products li.product,
  body.home #page-container .bb-bestsellers .woocommerce ul.products li.product,
  body.home .bb-bestsellers ul.products li.product{
    flex: 0 0 calc(100vw - 80px) !important;  /* viewport meno 16px sinistra + ~64px teaser destra */
    width: calc(100vw - 80px) !important;
    max-width: 320px !important;
    min-width: 220px !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  /* Override WC clearfix che faceva offset iniziale */
  body.home .bb-bestsellers ul.products::before,
  body.home .bb-bestsellers ul.products::after,
  .bb-bestsellers ul.products::before,
  .bb-bestsellers ul.products::after,
  body.home .bb-bestsellers .woocommerce::before,
  body.home .bb-bestsellers .woocommerce::after{
    content: none !important;
    display: none !important;
  }
}

/* ===================================================================
   v2.7.35 — Mobile tweaks: titoli box, hero, sottotitolo, CTA
   =================================================================== */
@media (max-width: 980px){
  /* Titoli box categorie più bold */
  body.home .bb-box-title{
    font-weight: 700 !important;
  }

  /* Hero più compatto su mobile */
  body.home .bb-hero{
    min-height: clamp(300px, 60vw, 720px) !important;
    margin: 0 0 4rem !important;
  }

  /* Sottotitolo hero */
  body.home .bb-hero__sub{
    font-size: clamp(1.2rem, 1.3vw, 1.1rem) !important;
  }

  /* CTA hero: beige + testo marrone (no più trasparente) */
  body.home .bb-hero__cta{
    padding: 1rem 1.5rem !important;
    background: #f6f2ee !important;
    color: #8c7b6e !important;
    border: 1.5px solid #FFFFFF !important;
    font-size: .68rem !important;
  }
  /* Hover coerente: bg leggermente più scuro mantenendo lo schema */
  body.home .bb-hero__cta:hover,
  body.home .bb-hero__cta:focus{
    background: #ebe3d8 !important;
    color: #6d5d50 !important;
    border-color: #FFFFFF !important;
  }
}

/* ===================================================================
   v2.7.36 — Checkout: .bb-section-title (titoli step "Metodo di pagamento")
   non deve usare il font-size grosso della homepage.
   Targeting solo al contesto checkout (.bb-section-head wrapper).
   =================================================================== */
.bb-section-head .bb-section-title,
.woocommerce-checkout .bb-section-title,
.woocommerce-cart .bb-section-title{
  font-size: clamp(.95rem, 1.4vw, 1.15rem) !important;
  margin: 0 !important;
  letter-spacing: .08em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

/* La riga step .bb-section-head: numero + titolo allineati e non sovrapposti */
.bb-section-head{
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  margin: 1.5rem 0 1.25rem !important;
  flex-wrap: nowrap !important;
}

/* ===================================================================
   v2.7.37 — Carrello mobile: cart_item da grid a block
   Su mobile il layout a colonne stretto si tagliava; meglio una pila
   verticale dove ogni cella (thumb, nome, qty, subtotal, remove)
   sta su una propria riga.
   =================================================================== */
@media (max-width: 980px){
  body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item,
  body.woocommerce-cart table.cart tr.cart_item{
    display: block !important;
    grid-template-columns: none !important;
  }
}

/* ===================================================================
   v2.7.39 — Fix DEFINITIVO griglia animaletti su iOS (qualsiasi versione).
   iOS WebKit ha problemi intermittenti con aspect-ratio dentro grid auto-fill.
   Soluzione: trick del padding-bottom 100% applicato SEMPRE, indipendente da
   aspect-ratio support detection.
   =================================================================== */
.bb-animal-cell{
  position: relative !important;
  height: 0 !important;
  padding-bottom: 100% !important;  /* h = w → quadrato perfetto */
}
.bb-animal-cell .bb-animal-img{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.bb-animal-cell.is-placeholder .bb-animal-img{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ===================================================================
   v2.7.41 — Modifiche cliente:
   1. Mobile: padding ridotto del bottone hero
   2. Bestsellers slider home: titoli + prezzi sanserif, prezzi bold
   3. Pulsante "Continua" personalizzazione: bg cream (no più nero)
   =================================================================== */

/* 1) HERO CTA — padding più piccolo su mobile */
@media (max-width: 980px){
  body.home .bb-hero__cta{
    padding: .65rem 1.15rem !important;
    font-size: .62rem !important;
    letter-spacing: .12em !important;
  }
}

/* 2) BESTSELLERS slider — titoli e prezzi sanserif, prezzi bold */
body.home #page-container .bb-bestsellers ul.products li.product .woocommerce-loop-product__title,
.bb-bestsellers ul.products li.product .woocommerce-loop-product__title{
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
}
body.home #page-container .bb-bestsellers ul.products li.product .price,
.bb-bestsellers ul.products li.product .price,
body.home #page-container .bb-bestsellers ul.products li.product .price .amount,
body.home #page-container .bb-bestsellers ul.products li.product .price bdi{
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-weight: 700 !important;
}

/* 3) Bottone "Continua →" stepper personalizzazione: cream invece di nero
   per distinguerlo dal "Aggiungi al carrello" che resta nero */
.bb-btn-next{
  background: #F5EDE2 !important;
  color: #4A3D2F !important;
  border: 1.5px solid #E2D6C3 !important;
  font-family: "Inter", -apple-system, sans-serif !important;
}
.bb-btn-next:hover{
  background: #EBE0CD !important;
  color: #2C2317 !important;
  border-color: #C9B79A !important;
}

/* ===================================================================
   v2.7.43 — Fix layout cross-sells nel carrello ("POTRESTI ESSERE INTERESSATO A...")
   Il container era troppo stretto e il word-break faceva testo verticale
   =================================================================== */
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cross-sells{
  display: block !important;
  width: 100% !important;
}
body.woocommerce-cart .cart-collaterals .cross-sells{
  margin-bottom: 2.5rem !important;
  padding-bottom: 1.5rem !important;
}

/* Titolo sezione "POTRESTI ESSERE INTERESSATO A..." */
body.woocommerce-cart .cross-sells > h2,
body.woocommerce-cart .cart-collaterals .cross-sells h2{
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  margin: 0 0 1.5rem !important;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid #E8E2D8 !important;
  color: #1F1B17 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  line-height: 1.3 !important;
}

/* Griglia prodotti cross-sell: 2 colonne su desktop, 1 su mobile */
body.woocommerce-cart .cross-sells ul.products{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
body.woocommerce-cart .cross-sells ul.products li.product{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
}
/* Reset pseudo clearfix WC */
body.woocommerce-cart .cross-sells ul.products::before,
body.woocommerce-cart .cross-sells ul.products::after,
body.woocommerce-cart .cross-sells ul.products li.product::before,
body.woocommerce-cart .cross-sells ul.products li.product::after{
  content: none !important;
  display: none !important;
}

/* Layout li come grid con template-areas: image sinistra span 2 righe,
   title in alto a destra, price in basso a destra. Prezzo NON sotto l'immagine. */
body.woocommerce-cart .cross-sells ul.products li.product{
  display: grid !important;
  grid-template-columns: 80px 1fr !important;
  grid-template-rows: auto auto !important;
  grid-template-areas: "img title" "img price" !important;
  gap: 2px 12px !important;
  align-items: start !important;
}
/* L'anchor <a> viene reso "trasparente" nel grid → i suoi figli (img wrapper,
   title, price) partecipano direttamente al grid del li. */
body.woocommerce-cart .cross-sells ul.products li.product > a{
  display: contents !important;
  text-decoration: none !important;
  color: inherit !important;
}
/* Immagine — Divi wrappa l'img in <span class="et_shop_image">, quindi
   dimensioniamo il WRAPPER come area "img" (SPAN 2 righe) e forziamo img 100%. */
body.woocommerce-cart .cross-sells ul.products li.product .et_shop_image{
  grid-area: img !important;
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  margin: 0 !important;
  align-self: center !important;
  position: relative !important;
}
/* Fallback: se l'img è direttamente sotto <a> senza wrapper span */
body.woocommerce-cart .cross-sells ul.products li.product .attachment-woocommerce_thumbnail{
  grid-area: img !important;
  align-self: center !important;
}
/* Img dentro il wrapper riempie 100% */
body.woocommerce-cart .cross-sells ul.products li.product .et_shop_image img,
body.woocommerce-cart .cross-sells ul.products li.product > a img,
body.woocommerce-cart .cross-sells ul.products li.product img{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  aspect-ratio: unset !important;
  margin: 0 !important;
  border-radius: 6px !important;
}
/* Overlay Divi et_overlay nascosto dentro il thumb */
body.woocommerce-cart .cross-sells ul.products li.product .et_overlay{
  display: none !important;
}

/* Titolo → riga alto colonna destra */
body.woocommerce-cart .cross-sells ul.products li.product h2,
body.woocommerce-cart .cross-sells ul.products li.product h3,
body.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title{
  grid-area: title !important;
  align-self: end !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1F1B17 !important;
  margin: 0 !important;
  padding: 0 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  min-width: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Prezzo → riga basso colonna destra (sotto titolo, non sotto immagine) */
body.woocommerce-cart .cross-sells ul.products li.product .price,
body.woocommerce-cart .cross-sells ul.products li.product .price bdi,
body.woocommerce-cart .cross-sells ul.products li.product .price .amount{
  grid-area: price !important;
  align-self: start !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #1F1B17 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  word-break: normal !important;
}
body.woocommerce-cart .cross-sells ul.products li.product .price bdi,
body.woocommerce-cart .cross-sells ul.products li.product .price .amount{
  grid-area: auto !important;  /* solo il container .price ottiene grid-area */
  display: inline !important;
}

/* Nasconde eventuali stelle recensione / add to cart button dentro cross-sell */
body.woocommerce-cart .cross-sells ul.products li.product .star-rating,
body.woocommerce-cart .cross-sells ul.products li.product .button,
body.woocommerce-cart .cross-sells ul.products li.product .add_to_cart_button,
body.woocommerce-cart .cross-sells ul.products li.product .jdgm-widget{
  display: none !important;
}

/* ===================================================================
   v2.7.44 — Font Lato per TUTTI i prezzi WooCommerce
   =================================================================== */
body .woocommerce-Price-amount,
body .woocommerce-Price-amount bdi,
body span.woocommerce-Price-amount,
body .price,
body .price bdi,
body .price ins,
body .price del,
body .price .amount,
body .cart .product-price,
body .cart .product-subtotal,
body .cart_totals .amount,
body .cart_totals tr td,
body .order-total .amount,
body .checkout .amount,
body #order_review .amount,
body .order-total,
body .shop_table .amount,
body p.price,
body span.price,
body ul.products li.product .price,
body ul.products li.product .price .amount,
body ul.products li.product .price bdi,
body body.single-product .price,
body body.single-product .single_variation .price,
body body.single-product .woocommerce-variation .price{
  font-family: 'Lato', Helvetica, Arial, Lucida, sans-serif !important;
}

/* ===================================================================
   v2.7.45 — Fix icone footer che non caricano su iOS Safari.
   Le icone Divi usano FontAwesome (weight 900) + ETmodules che su
   iOS Safari falliscono il font loading (timeout font-display: block).
   Soluzione: sostituisco l'icona font con SVG inline via background-image.
   =================================================================== */
html body footer .et_pb_blurb_0_tb_footer .et-pb-icon,
html body footer .et_pb_blurb_1_tb_footer .et-pb-icon,
html body footer .et_pb_blurb_2_tb_footer .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_0_tb_footer.et_pb_blurb .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_1_tb_footer.et_pb_blurb .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_2_tb_footer.et_pb_blurb .et-pb-icon{
  font-size: 0 !important;  /* nasconde il carattere Unicode del font-icon */
  color: transparent !important;
  width: 65px !important;
  height: 65px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  display: inline-block !important;
  line-height: 1 !important;
}

/* Icona SPEDIZIONE (camioncino) */
html body footer .et_pb_blurb_0_tb_footer .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_0_tb_footer.et_pb_blurb .et-pb-icon{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c7c6e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='1' y='7' width='14' height='10' rx='1'/><path d='M15 10h4l3 3v4h-7z'/><circle cx='6' cy='19' r='2'/><circle cx='18' cy='19' r='2'/><line x1='3' y1='4' x2='11' y2='4'/></svg>") !important;
}

/* Icona PAGAMENTI (carta di credito) */
html body footer .et_pb_blurb_1_tb_footer .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_1_tb_footer.et_pb_blurb .et-pb-icon{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c7c6e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='5' width='20' height='14' rx='2'/><line x1='2' y1='10' x2='22' y2='10'/><line x1='6' y1='15' x2='9' y2='15'/></svg>") !important;
}

/* Icona ASSISTENZA (chat bubble con 3 puntini) — glifo font ETmodules e090
   viene renderizzato come "testa persona" su iOS. Lo nascondiamo (font-size:0
   + text-indent + color transparent) e mostriamo un SVG chiaro via background. */
html body footer .et_pb_blurb_2_tb_footer .et-pb-icon,
.et-db #et-boc .et-l .et_pb_blurb_2_tb_footer.et_pb_blurb .et-pb-icon{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c7c6e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M21 12a8 8 0 0 1-11.7 7.1L4 20l1-4.5A8 8 0 1 1 21 12z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  display: inline-block !important;
  width: 65px !important;
  height: 65px !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  font-family: sans-serif !important;
}
html body footer .et_pb_blurb_2_tb_footer .et-pb-icon::before,
html body footer .et_pb_blurb_2_tb_footer .et-pb-icon::after{
  content: none !important;
  display: none !important;
}

/* Contenitore icona: sopprime eventuali sfondi Divi */
html body footer .et_pb_blurb_0_tb_footer .et_pb_main_blurb_image,
html body footer .et_pb_blurb_1_tb_footer .et_pb_main_blurb_image,
html body footer .et_pb_blurb_2_tb_footer .et_pb_main_blurb_image{
  text-align: center !important;
}
html body footer .et_pb_blurb_0_tb_footer .et_pb_image_wrap,
html body footer .et_pb_blurb_1_tb_footer .et_pb_image_wrap,
html body footer .et_pb_blurb_2_tb_footer .et_pb_image_wrap{
  display: inline-block !important;
}

/* ============================================================
 * Timeline spedizione — 3 bollini (Ordinato / Pronto / Spedito)
 * Sotto il pulsante "Aggiungi al carrello" della scheda prodotto.
 * ============================================================ */
.bb-ship-timeline{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin: 28px 0 12px;
  padding: 6px 0 0;
  font-family: 'Lato', Helvetica, Arial, Lucida, sans-serif;
}
.bb-ship-step{
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
}
.bb-ship-icon{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #8c7c6e;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(140,124,110,.22);
  flex-shrink: 0;
}
.bb-ship-icon svg{ display: block; }
.bb-ship-line{
  flex: 0 1 60px;
  height: 1.5px;
  background: #b6a998;
  margin-top: 25px;
  align-self: flex-start;
}
.bb-ship-label{
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.35;
  color: #6b5f54;
  letter-spacing: .01em;
}
.bb-ship-label span{
  display: block;
  font-weight: 600;
  color: #4d443c;
  margin-top: 2px;
}
.bb-ship-label em{
  display: block;
  font-style: normal;
  font-size: 11px;
  color: #9a8f83;
  margin-top: 2px;
}

/* Mobile: bollini un po' più piccoli, testo compatto */
@media (max-width: 640px){
  .bb-ship-timeline{ gap: 4px; margin: 24px 0 8px; }
  .bb-ship-icon{ width: 44px; height: 44px; }
  .bb-ship-icon svg{ width: 22px; height: 22px; }
  .bb-ship-line{ flex-basis: 24px; margin-top: 21px; }
  .bb-ship-label{ font-size: 11.5px; margin-top: 8px; }
  .bb-ship-label em{ font-size: 10px; }
}

/* Nasconde eventuale vecchio banner .bibibaby-shipping se rimasto in cache */
.bibibaby-shipping{ display: none !important; }

/* Contatore caratteri sotto textarea WCCF limitate (es. "Testo del biglietto") */
.bb-char-counter{
  font-size: 11px;
  color: #9a8f83;
  text-align: right;
  margin-top: 4px;
  font-family: 'Lato', Helvetica, Arial, sans-serif;
  letter-spacing: .02em;
}
.bb-char-counter.is-near{ color: #b58a4a; }
.bb-char-counter.is-max{ color: #b34747; font-weight: 600; }
