.familybro-bundle-widget,
.familybro-bundle-widget *{
  box-sizing:border-box;
}

/* Mantiene le emoji WordPress nella stessa misura del testo descrittivo. */
.familybro-bundle-widget .wcb-choice-card-description,
.familybro-bundle-widget .wcb-detail-text p{
  font-variant-emoji:text;
}
.familybro-bundle-widget .wcb-choice-card-description img.emoji,
.familybro-bundle-widget .wcb-detail-text p img.emoji{
  display:inline-block !important;
  width:1em !important;
  height:1em !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:1em !important;
  max-height:1em !important;
  margin:0 .05em !important;
  padding:0 !important;
  vertical-align:-.12em !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}
.familybro-bundle-widget{
  width:100%;
  max-width:var(--fbw-max-width,640px);
  margin:22px 0;
  padding:18px;
  border:1px solid var(--fbw-border,#e6e9ef);
  border-radius:var(--fbw-radius,14px);
  background:var(--fbw-bg,#fff) !important;
  color:var(--fbw-text,#102a4c) !important;
  font-size:var(--fbw-option-size,14px);
  line-height:1.45;
  clear:both;
}
.familybro-bundle-widget h3{
  margin:0 0 14px !important;
  padding:0 !important;
  color:var(--fbw-text,#102a4c) !important;
  font-size:var(--fbw-title-size,18px) !important;
  font-weight:600 !important;
  line-height:1.25 !important;
}
.familybro-bundle-widget .wcb-bundle-component{
  padding:14px 0;
  border-top:1px solid color-mix(in srgb,var(--fbw-border,#e6e9ef) 70%, transparent);
}
.familybro-bundle-widget .wcb-bundle-component:first-of-type{border-top:0;padding-top:2px;}
.familybro-bundle-widget .wcb-component-head{margin-bottom:10px;}
.familybro-bundle-widget .wcb-component-head strong{
  color:var(--fbw-text,#102a4c) !important;
  font-size:var(--fbw-component-size,15px) !important;
  font-weight:700 !important;
}
.familybro-bundle-widget .wcb-bundle-select{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.familybro-bundle-widget .wcb-choice-dropdown{position:relative;width:100%;max-width:100%;}
.familybro-bundle-widget .wcb-choice-trigger,
.familybro-bundle-widget .wcb-choice-card{
  appearance:none !important;
  -webkit-appearance:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  font-family:inherit !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
.familybro-bundle-widget .wcb-choice-trigger{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:11px 42px 11px 14px !important;
  border:1px solid var(--fbw-border,#e6e9ef) !important;
  border-radius:calc(var(--fbw-radius,14px) - 4px) !important;
  background:var(--fbw-accent,#d53368) !important;
  color:var(--fbw-accent-text,#fff) !important;
  font-size:var(--fbw-option-size,14px) !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:left !important;
  cursor:pointer !important;
  position:relative !important;
}
.familybro-bundle-widget .wcb-choice-trigger:after{
  content:'';
  position:absolute;
  right:16px;
  top:50%;
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-65%) rotate(45deg);
  opacity:.95;
}
.familybro-bundle-widget .wcb-choice-dropdown.is-open .wcb-choice-trigger:after{transform:translateY(-30%) rotate(225deg);}
.familybro-bundle-widget .wcb-choice-menu{
  position:absolute;
  z-index:50;
  top:calc(100% + 8px);
  left:0;
  right:0;
  max-height:var(--fbw-dropdown-max-height,360px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:8px !important;
  border:1px solid var(--fbw-border,#e6e9ef) !important;
  border-radius:calc(var(--fbw-radius,14px) - 2px) !important;
  background:var(--fbw-dropdown-bg,#fff) !important;
  color:var(--fbw-dropdown-text,#102a4c) !important;
  box-shadow:0 16px 35px rgba(15,23,42,.16) !important;
}
.familybro-bundle-widget .wcb-choice-card{
  display:grid !important;
  grid-template-columns:var(--fbw-image-size,56px) minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 0 6px 0 !important;
  padding:10px !important;
  border:1px solid var(--fbw-card-border,#edf0f5) !important;
  border-radius:calc(var(--fbw-radius,14px) - 4px) !important;
  background:var(--fbw-card-bg,#fff) !important;
  color:var(--fbw-dropdown-text,#102a4c) !important;
  text-align:left !important;
  cursor:pointer !important;
}
.familybro-bundle-widget .wcb-choice-card:last-child{margin-bottom:0 !important;}
.familybro-bundle-widget .wcb-choice-card:hover,
.familybro-bundle-widget .wcb-choice-card.is-selected{
  border-color:var(--fbw-accent,#d53368) !important;
  background:var(--fbw-card-hover-bg,#f6f8fb) !important;
}
.familybro-bundle-widget .wcb-choice-card.is-unavailable,
.familybro-bundle-widget .wcb-choice-card:disabled{
  cursor:not-allowed !important;
  opacity:.58 !important;
  filter:grayscale(1) !important;
}
.familybro-bundle-widget .wcb-choice-card.is-unavailable:hover,
.familybro-bundle-widget .wcb-choice-card:disabled:hover{
  border-color:var(--fbw-card-border,#edf0f5) !important;
  background:var(--fbw-card-bg,#fff) !important;
}
.familybro-bundle-widget .wcb-choice-card img{
  display:block !important;
  width:var(--fbw-image-size,56px) !important;
  height:var(--fbw-image-size,56px) !important;
  max-width:var(--fbw-image-size,56px) !important;
  object-fit:contain !important;
  border-radius:10px !important;
  background:#fff !important;
}
.familybro-bundle-widget .wcb-choice-card-text{display:flex !important;flex-direction:column !important;gap:2px !important;min-width:0 !important;}
.familybro-bundle-widget .wcb-choice-card-text strong{
  display:block !important;
  color:var(--fbw-dropdown-text,#102a4c) !important;
  font-size:var(--fbw-option-size,14px) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}
.familybro-bundle-widget .wcb-choice-card-text small,
.familybro-bundle-widget .wcb-choice-card-description{
  display:block !important;
  color:var(--fbw-dropdown-text,#102a4c) !important;
  font-size:calc(var(--fbw-option-size,14px) - 2px) !important;
  line-height:1.3 !important;
  opacity:.76 !important;
  font-style:normal !important;
  font-weight:400 !important;
  white-space:normal !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
}
.familybro-bundle-widget .wcb-choice-card-stock-status{
  display:inline-flex !important;
  align-self:flex-start !important;
  width:max-content !important;
  margin-top:3px !important;
  padding:2px 6px !important;
  border-radius:999px !important;
  background:#e5e7eb !important;
  color:#4b5563 !important;
  font-size:calc(var(--fbw-option-size,14px) - 3px) !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}
.familybro-bundle-widget .wcb-auto-product,
.familybro-bundle-widget .wcb-detail-content{
  display:grid;
  grid-template-columns:var(--fbw-image-size,56px) minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin-top:8px;
}
.familybro-bundle-widget .wcb-auto-product img,
.familybro-bundle-widget .wcb-detail-content img{
  width:var(--fbw-image-size,56px) !important;
  height:var(--fbw-image-size,56px) !important;
  max-width:var(--fbw-image-size,56px) !important;
  object-fit:contain !important;
  border-radius:10px !important;
  background:#fff !important;
}
.familybro-bundle-widget .wcb-child-title{font-weight:700;color:var(--fbw-text,#102a4c) !important;}
.familybro-bundle-widget .wcb-product-detail-box{
  margin-top:10px;
  padding:12px;
  border:1px solid var(--fbw-border,#e6e9ef);
  border-radius:calc(var(--fbw-radius,14px) - 2px);
  background:var(--fbw-details-bg,#f8fafc) !important;
  color:var(--fbw-text,#102a4c) !important;
}
.familybro-bundle-widget .wcb-product-detail-box summary,
.familybro-bundle-widget .wcb-auto-product summary{
  cursor:pointer;
  font-weight:700;
  color:var(--fbw-text,#102a4c) !important;
}
.familybro-bundle-widget .wcb-product-details p,
.familybro-bundle-widget .wcb-detail-content p{margin:.28em 0 !important;color:var(--fbw-text,#102a4c) !important;}
.familybro-bundle-widget .wcb-selected-product-details{margin-top:10px;}
.familybro-bundle-widget .wcb-detail-text{min-width:0;}
.wcb-bundle-admin-warning{border-color:#f5c2c7!important;background:#fff5f5!important;color:#842029!important;}
@media (max-width: 767px){
  .familybro-bundle-widget{max-width:100%;margin:16px 0;padding:14px;border-radius:12px;}
  .familybro-bundle-widget h3{font-size:calc(var(--fbw-title-size,18px) - 1px) !important;}
  .familybro-bundle-widget .wcb-choice-menu{
    position:static;
    margin-top:8px;
    max-height:min(var(--fbw-dropdown-max-height,360px), 60vh);
    box-shadow:0 10px 22px rgba(15,23,42,.12) !important;
  }
  .familybro-bundle-widget .wcb-choice-card{grid-template-columns:52px minmax(0,1fr) !important;gap:10px !important;padding:9px !important;}
  .familybro-bundle-widget .wcb-choice-card img{width:52px !important;height:52px !important;max-width:52px !important;}
  .familybro-bundle-widget .wcb-auto-product,
  .familybro-bundle-widget .wcb-detail-content{grid-template-columns:52px minmax(0,1fr);}
  .familybro-bundle-widget .wcb-auto-product img,
  .familybro-bundle-widget .wcb-detail-content img{width:52px !important;height:52px !important;max-width:52px !important;}
}
@media (max-width: 420px){
  .familybro-bundle-widget{padding:12px;}
  .familybro-bundle-widget .wcb-choice-trigger{min-height:44px !important;padding:10px 38px 10px 12px !important;}
  .familybro-bundle-widget .wcb-choice-card-description{-webkit-line-clamp:1 !important;}
}

/* FamilyBro 1.1.0 - selected product details and image zoom */
.familybro-bundle-widget .wcb-image-zoom{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:relative !important;
  display:block !important;
  width:var(--fbw-image-size,56px) !important;
  height:var(--fbw-image-size,56px) !important;
  max-width:var(--fbw-image-size,56px) !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid var(--fbw-border,#e6e9ef) !important;
  border-radius:10px !important;
  background:#fff !important;
  overflow:hidden !important;
  cursor:zoom-in !important;
  box-shadow:none !important;
}
.familybro-bundle-widget .wcb-image-zoom img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  border-radius:inherit !important;
  transition:transform .18s ease !important;
}
.familybro-bundle-widget .wcb-image-zoom:hover img,
.familybro-bundle-widget .wcb-image-zoom:focus-visible img{
  transform:scale(1.18) !important;
}
.familybro-bundle-widget .wcb-zoom-icon{
  position:absolute !important;
  right:5px !important;
  bottom:5px !important;
  width:22px !important;
  height:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:var(--fbw-accent,#d53368) !important;
  color:var(--fbw-accent-text,#fff) !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1 !important;
  box-shadow:0 4px 10px rgba(15,23,42,.20) !important;
}
.wcb-zoom-open{overflow:hidden !important;}
.wcb-zoom-modal[hidden]{display:none !important;}
.wcb-zoom-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
}
.wcb-zoom-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(15,23,42,.72) !important;
}
.wcb-zoom-panel{
  position:relative !important;
  width:min(92vw,720px) !important;
  max-height:88vh !important;
  padding:18px !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 24px 80px rgba(0,0,0,.35) !important;
  text-align:center !important;
}
.wcb-zoom-panel img{
  display:block !important;
  width:100% !important;
  max-height:72vh !important;
  object-fit:contain !important;
  border-radius:12px !important;
  background:#fff !important;
}
.wcb-zoom-title{
  margin-top:12px !important;
  color:#102a4c !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}
.wcb-zoom-close{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  right:10px !important;
  top:10px !important;
  z-index:2 !important;
  width:36px !important;
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:999px !important;
  background:#102a4c !important;
  color:#fff !important;
  font-size:26px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
@media (max-width: 767px){
  .familybro-bundle-widget .wcb-image-zoom{width:52px !important;height:52px !important;max-width:52px !important;}
  .wcb-zoom-modal{padding:12px !important;}
  .wcb-zoom-panel{width:96vw !important;padding:14px !important;border-radius:14px !important;}
  .wcb-zoom-panel img{max-height:68vh !important;}
}


/* FamilyBro 1.1.1 - zoom più visibile e dettagli prodotto più leggibili */
.familybro-bundle-widget .wcb-detail-content{
  display:grid !important;
  grid-template-columns:minmax(96px, 128px) minmax(0,1fr) !important;
  align-items:start !important;
  gap:16px !important;
}
.familybro-bundle-widget .wcb-detail-media{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  min-width:96px !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom{
  width:112px !important;
  height:112px !important;
  max-width:112px !important;
  border-radius:14px !important;
  border:1px solid var(--fbw-border,#e6e9ef) !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.10) !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.18) 100%) !important;
  opacity:.75 !important;
  pointer-events:none !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:hover,
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:focus-visible{
  border-color:var(--fbw-accent,#d53368) !important;
  box-shadow:0 10px 26px rgba(213,51,104,.22) !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-icon{
  right:8px !important;
  bottom:8px !important;
  z-index:2 !important;
  width:30px !important;
  height:30px !important;
  font-size:15px !important;
}
.familybro-bundle-widget .wcb-zoom-text{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:112px !important;
  min-height:34px !important;
  padding:7px 10px !important;
  border:1px solid var(--fbw-accent,#d53368) !important;
  border-radius:999px !important;
  background:var(--fbw-accent,#d53368) !important;
  color:var(--fbw-accent-text,#fff) !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
  text-transform:none !important;
}
.familybro-bundle-widget .wcb-zoom-text:hover,
.familybro-bundle-widget .wcb-zoom-text:focus-visible{
  filter:brightness(.95) !important;
}
.familybro-bundle-widget .wcb-detail-text > strong{
  display:block !important;
  margin:0 0 6px !important;
  font-size:16px !important;
  line-height:1.3 !important;
}
.familybro-bundle-widget .wcb-detail-text p{
  margin:0 0 8px !important;
}
.wcb-zoom-panel{
  width:min(94vw,840px) !important;
}
.wcb-zoom-panel img{
  min-height:280px !important;
}
@media (max-width: 767px){
  .familybro-bundle-widget .wcb-detail-content{
    grid-template-columns:88px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .familybro-bundle-widget .wcb-detail-media{
    min-width:88px !important;
  }
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom{
    width:88px !important;
    height:88px !important;
    max-width:88px !important;
  }
  .familybro-bundle-widget .wcb-zoom-text{
    width:88px !important;
    min-height:30px !important;
    padding:6px 8px !important;
    font-size:11px !important;
  }
  .familybro-bundle-widget .wcb-detail-media .wcb-zoom-icon{
    width:26px !important;
    height:26px !important;
    font-size:13px !important;
  }
  .wcb-zoom-panel img{
    min-height:220px !important;
  }
}

/* FamilyBro 1.1.2 - zoom realmente cliccabile e indipendente dal tema */
.familybro-bundle-widget .wcb-product-detail-box .wcb-detail-content,
.familybro-bundle-widget .wcb-product-details .wcb-detail-content,
.familybro-bundle-widget .wcb-detail-content-static{
  display:grid !important;
  grid-template-columns:160px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}
.familybro-bundle-widget .wcb-detail-media{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  align-items:stretch !important;
  width:160px !important;
  max-width:160px !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
.familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
  position:relative !important;
  display:block !important;
  width:160px !important;
  height:160px !important;
  max-width:160px !important;
  min-width:160px !important;
  margin:0 !important;
  padding:0 !important;
  border:2px solid var(--fbw-border,#e6e9ef) !important;
  border-radius:16px !important;
  background:#fff !important;
  overflow:hidden !important;
  cursor:zoom-in !important;
  text-decoration:none !important;
  box-shadow:0 12px 28px rgba(15,23,42,.12) !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:14px !important;
  transition:transform .22s ease !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:hover img,
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:focus img{
  transform:scale(1.22) !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.25) 100%) !important;
  pointer-events:none !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-icon{
  position:absolute !important;
  right:10px !important;
  bottom:10px !important;
  z-index:2 !important;
  width:36px !important;
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:var(--fbw-accent,#d53368) !important;
  color:var(--fbw-accent-text,#fff) !important;
  font-size:26px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:0 6px 16px rgba(0,0,0,.24) !important;
  pointer-events:none !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-text,
.familybro-bundle-widget .wcb-detail-media a.wcb-zoom-text{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:160px !important;
  min-height:40px !important;
  padding:9px 12px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--fbw-accent,#d53368) !important;
  color:var(--fbw-accent-text,#fff) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  text-align:center !important;
  text-decoration:none !important;
  cursor:zoom-in !important;
  box-shadow:none !important;
}
.familybro-bundle-widget .wcb-detail-text > strong{
  display:block !important;
  margin:0 0 8px !important;
  color:var(--fbw-text,#102a4c) !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1.28 !important;
}
.familybro-bundle-widget .wcb-detail-text p{
  margin:0 0 9px !important;
  color:var(--fbw-text,#102a4c) !important;
}
.wcb-zoom-modal[hidden]{display:none !important;}
html.wcb-zoom-open,
body.wcb-zoom-open{overflow:hidden !important;}
.wcb-zoom-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
}
.wcb-zoom-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(5,10,20,.78) !important;
  cursor:zoom-out !important;
}
.wcb-zoom-panel{
  position:relative !important;
  z-index:1 !important;
  width:min(94vw,960px) !important;
  max-height:92vh !important;
  padding:18px !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 30px 100px rgba(0,0,0,.45) !important;
  text-align:center !important;
}
.wcb-zoom-panel img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:78vh !important;
  min-height:260px !important;
  object-fit:contain !important;
  border-radius:14px !important;
  background:#fff !important;
}
.wcb-zoom-title{
  margin:12px 44px 0 !important;
  color:#102a4c !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}
.wcb-zoom-close{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  right:12px !important;
  top:12px !important;
  z-index:2 !important;
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:999px !important;
  background:#102a4c !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 8px 22px rgba(0,0,0,.24) !important;
}
@media (max-width: 767px){
  .familybro-bundle-widget .wcb-product-detail-box .wcb-detail-content,
  .familybro-bundle-widget .wcb-product-details .wcb-detail-content,
  .familybro-bundle-widget .wcb-detail-content-static{
    grid-template-columns:128px minmax(0,1fr) !important;
    gap:14px !important;
  }
  .familybro-bundle-widget .wcb-detail-media,
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media .wcb-zoom-text,
  .familybro-bundle-widget .wcb-detail-media a.wcb-zoom-text{
    width:128px !important;
    max-width:128px !important;
    min-width:128px !important;
  }
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{height:128px !important;}
  .familybro-bundle-widget .wcb-detail-media .wcb-zoom-text{font-size:12px !important;min-height:36px !important;}
  .wcb-zoom-modal{padding:12px !important;}
  .wcb-zoom-panel{width:96vw !important;max-height:94vh !important;padding:12px !important;border-radius:16px !important;}
  .wcb-zoom-panel img{max-height:74vh !important;min-height:220px !important;}
}
@media (max-width: 430px){
  .familybro-bundle-widget .wcb-product-detail-box .wcb-detail-content,
  .familybro-bundle-widget .wcb-product-details .wcb-detail-content,
  .familybro-bundle-widget .wcb-detail-content-static{
    grid-template-columns:1fr !important;
  }
  .familybro-bundle-widget .wcb-detail-media,
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media .wcb-zoom-text,
  .familybro-bundle-widget .wcb-detail-media a.wcb-zoom-text{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{height:220px !important;}
}

/* FamilyBro 1.1.3 - zoom solo tramite icona lente, senza hover e senza CTA testuale */
.familybro-bundle-widget .wcb-detail-media{
  position:relative !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
.familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
  position:relative !important;
  cursor:default !important;
  transform:none !important;
  overflow:hidden !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom img,
.familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom img,
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:hover img,
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:focus img,
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:focus-visible img{
  transform:none !important;
  scale:1 !important;
  transition:none !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:before,
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom:after{
  display:none !important;
  content:none !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-text,
.familybro-bundle-widget .wcb-detail-media a.wcb-zoom-text{
  display:none !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:absolute !important;
  right:10px !important;
  bottom:10px !important;
  width:var(--fbw-lens-size,34px) !important;
  height:var(--fbw-lens-size,34px) !important;
  min-width:var(--fbw-lens-size,34px) !important;
  min-height:var(--fbw-lens-size,34px) !important;
  border-radius:999px !important;
  background:var(--fbw-lens-bg,var(--fbw-accent,#d53368)) !important;
  color:var(--fbw-lens-color,#fff) !important;
  font-size:calc(var(--fbw-lens-size,34px) * .58) !important;
  line-height:1 !important;
  box-shadow:0 6px 18px rgba(0,0,0,.22) !important;
  pointer-events:auto !important;
  cursor:zoom-in !important;
  z-index:3 !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-icon:hover,
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-icon:focus-visible{
  transform:none !important;
  filter:brightness(.96) !important;
}
.familybro-bundle-widget .wcb-detail-media button.wcb-zoom-icon{
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  text-decoration:none !important;
}


/* FamilyBro 1.1.4 - dettagli sempre esplosi e layout uniforme */
.familybro-bundle-widget .wcb-product-detail-box,
.familybro-bundle-widget .wcb-product-details-always-open{
  margin-top:10px !important;
  padding:12px !important;
  border:1px solid var(--fbw-border,#e6e9ef) !important;
  border-radius:calc(var(--fbw-radius,14px) - 2px) !important;
  background:var(--fbw-details-bg,#f8fafc) !important;
  color:var(--fbw-text,#102a4c) !important;
}
.familybro-bundle-widget details.wcb-product-detail-box > summary,
.familybro-bundle-widget .wcb-auto-product,
.familybro-bundle-widget .wcb-auto-product details,
.familybro-bundle-widget .wcb-auto-product summary{
  display:none !important;
}
.familybro-bundle-widget .wcb-included-product-card{
  margin-top:8px !important;
}
.familybro-bundle-widget .wcb-included-badge{
  margin:0 0 6px !important;
  color:var(--fbw-text,#102a4c) !important;
  font-size:calc(var(--fbw-option-size,14px) - 2px) !important;
  line-height:1.25 !important;
  opacity:.78 !important;
}
.familybro-bundle-widget .wcb-product-detail-box .wcb-detail-content,
.familybro-bundle-widget .wcb-product-details .wcb-detail-content,
.familybro-bundle-widget .wcb-detail-content-static{
  display:grid !important;
  grid-template-columns:var(--fbw-detail-image-size,96px) minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  margin:0 !important;
}
.familybro-bundle-widget .wcb-detail-media,
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
.familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
  width:var(--fbw-detail-image-size,96px) !important;
  max-width:var(--fbw-detail-image-size,96px) !important;
  min-width:var(--fbw-detail-image-size,96px) !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
.familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
  height:var(--fbw-detail-image-size,96px) !important;
  border:1px solid var(--fbw-border,#e6e9ef) !important;
  border-radius:14px !important;
  box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
}
.familybro-bundle-widget .wcb-detail-text > strong{
  margin:0 0 5px !important;
  font-size:calc(var(--fbw-component-size,15px) + 1px) !important;
}
.familybro-bundle-widget .wcb-detail-text p{
  margin:0 0 7px !important;
  font-size:var(--fbw-option-size,14px) !important;
  line-height:1.45 !important;
}
.familybro-bundle-widget .wcb-detail-text p:last-child{
  margin-bottom:0 !important;
}
.familybro-bundle-widget .wcb-detail-media .wcb-zoom-icon{
  right:6px !important;
  bottom:6px !important;
}
@media (max-width: 767px){
  .familybro-bundle-widget .wcb-product-detail-box .wcb-detail-content,
  .familybro-bundle-widget .wcb-product-details .wcb-detail-content,
  .familybro-bundle-widget .wcb-detail-content-static{
    grid-template-columns:min(82px,var(--fbw-detail-image-size,96px)) minmax(0,1fr) !important;
    gap:12px !important;
  }
  .familybro-bundle-widget .wcb-detail-media,
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
    width:min(82px,var(--fbw-detail-image-size,96px)) !important;
    max-width:min(82px,var(--fbw-detail-image-size,96px)) !important;
    min-width:min(82px,var(--fbw-detail-image-size,96px)) !important;
  }
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
    height:min(82px,var(--fbw-detail-image-size,96px)) !important;
  }
}
@media (max-width: 430px){
  .familybro-bundle-widget .wcb-product-detail-box .wcb-detail-content,
  .familybro-bundle-widget .wcb-product-details .wcb-detail-content,
  .familybro-bundle-widget .wcb-detail-content-static{
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .familybro-bundle-widget .wcb-detail-media,
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
    width:72px !important;
    max-width:72px !important;
    min-width:72px !important;
  }
  .familybro-bundle-widget .wcb-detail-media .wcb-image-zoom,
  .familybro-bundle-widget .wcb-detail-media a.wcb-image-zoom{
    height:72px !important;
  }
}

/* FamilyBro 1.1.5 - carrello e minicart mobile-first: niente colonna meta extra */
.fbw-cart-meta{
  display:block !important;
  width:100% !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  color:#102a4c !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  opacity:.82 !important;
  clear:both !important;
}
.fbw-cart-meta-label{
  font-weight:700 !important;
}
.fbw-cart-meta-value{
  font-weight:400 !important;
}
/* Nasconde eventuali dl/variation vuoti o residui che alcuni temi spostano in una colonna separata */
.woocommerce-mini-cart .fbw-cart-item-parent dl.variation,
.woocommerce-mini-cart .fbw-cart-item-child dl.variation,
.widget_shopping_cart .fbw-cart-item-parent dl.variation,
.widget_shopping_cart .fbw-cart-item-child dl.variation,
.woocommerce-cart-form .fbw-cart-item-parent dl.variation,
.woocommerce-cart-form .fbw-cart-item-child dl.variation{
  display:none !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent,
.woocommerce-mini-cart .fbw-cart-item-child,
.widget_shopping_cart .fbw-cart-item-parent,
.widget_shopping_cart .fbw-cart-item-child{
  display:grid !important;
  grid-template-columns:74px minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:start !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent > a:not(.remove),
.woocommerce-mini-cart .fbw-cart-item-child > a:not(.remove),
.widget_shopping_cart .fbw-cart-item-parent > a:not(.remove),
.widget_shopping_cart .fbw-cart-item-child > a:not(.remove){
  min-width:0 !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent img,
.woocommerce-mini-cart .fbw-cart-item-child img,
.widget_shopping_cart .fbw-cart-item-parent img,
.widget_shopping_cart .fbw-cart-item-child img{
  width:64px !important;
  max-width:64px !important;
  height:64px !important;
  object-fit:contain !important;
  margin:0 !important;
  border-radius:10px !important;
}
.woocommerce-mini-cart .fbw-cart-item-child,
.widget_shopping_cart .fbw-cart-item-child{
  padding-left:10px !important;
  border-left:2px solid rgba(16,42,76,.12) !important;
}
.woocommerce-mini-cart .fbw-cart-item-child .fbw-cart-meta,
.widget_shopping_cart .fbw-cart-item-child .fbw-cart-meta{
  font-size:11px !important;
  opacity:.72 !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .quantity,
.woocommerce-mini-cart .fbw-cart-item-child .quantity,
.widget_shopping_cart .fbw-cart-item-parent .quantity,
.widget_shopping_cart .fbw-cart-item-child .quantity{
  display:block !important;
  margin-top:4px !important;
  font-size:13px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .remove,
.woocommerce-mini-cart .fbw-cart-item-child .remove,
.widget_shopping_cart .fbw-cart-item-parent .remove,
.widget_shopping_cart .fbw-cart-item-child .remove{
  grid-column:3 !important;
  grid-row:1 !important;
}
/* Carrello pagina: componenti leggibili sotto al nome e figli leggermente indentati */
.woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw-cart-meta,
.woocommerce-cart-form .fbw-cart-item-child .product-name .fbw-cart-meta{
  margin-top:6px !important;
  font-size:12px !important;
}
.woocommerce-cart-form .fbw-cart-item-child td.product-name{
  position:relative !important;
  padding-left:18px !important;
}
.woocommerce-cart-form .fbw-cart-item-child td.product-name:before{
  content:"" !important;
  position:absolute !important;
  left:4px !important;
  top:18px !important;
  bottom:18px !important;
  width:2px !important;
  border-radius:99px !important;
  background:rgba(16,42,76,.12) !important;
}
.woocommerce-cart-form .fbw-cart-item-child .product-remove a{
  display:none !important;
}
@media (max-width: 768px){
  .woocommerce-cart-form .fbw-cart-item-parent,
  .woocommerce-cart-form .fbw-cart-item-child{
    border-bottom:1px solid rgba(16,42,76,.12) !important;
  }
  .woocommerce-cart-form .fbw-cart-item-child{
    background:rgba(16,42,76,.025) !important;
  }
  .woocommerce-cart-form .fbw-cart-item-child td.product-name{
    padding-left:22px !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw-cart-meta,
  .woocommerce-cart-form .fbw-cart-item-child .product-name .fbw-cart-meta{
    display:block !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }
}
@media (max-width: 420px){
  .woocommerce-mini-cart .fbw-cart-item-parent,
  .woocommerce-mini-cart .fbw-cart-item-child,
  .widget_shopping_cart .fbw-cart-item-parent,
  .widget_shopping_cart .fbw-cart-item-child{
    grid-template-columns:58px minmax(0,1fr) 24px !important;
    gap:8px !important;
  }
  .woocommerce-mini-cart .fbw-cart-item-parent img,
  .woocommerce-mini-cart .fbw-cart-item-child img,
  .widget_shopping_cart .fbw-cart-item-parent img,
  .widget_shopping_cart .fbw-cart-item-child img{
    width:52px !important;
    max-width:52px !important;
    height:52px !important;
  }
  .fbw-cart-meta{
    font-size:11px !important;
  }
}

/* FamilyBro Bundle Widget 1.1.7 - carrello/minicart mobile-first */
.woocommerce-mini-cart .fbw-cart-item-child,
.widget_shopping_cart .fbw-cart-item-child,
.woocommerce-cart-form .fbw-cart-item-child{
  display:none !important;
}
.woocommerce-cart-form .fbw-cart-item-parent,
.woocommerce-mini-cart .fbw-cart-item-parent,
.widget_shopping_cart .fbw-cart-item-parent{
  position:relative !important;
}
.fbw-cart-meta-parent{
  display:block !important;
  margin-top:7px !important;
  font-size:12px !important;
  line-height:1.35 !important;
  opacity:1 !important;
}
.fbw-cart-meta-parent .fbw-cart-meta-label{
  display:block !important;
  margin-bottom:4px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  opacity:.68 !important;
}
.fbw-cart-components{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:4px !important;
}
.fbw-cart-component-pill{
  display:inline-flex !important;
  align-items:center !important;
  max-width:100% !important;
  padding:3px 7px !important;
  border-radius:999px !important;
  background:rgba(16,42,76,.07) !important;
  color:inherit !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  white-space:normal !important;
}
.fbw-bundle-combined-price,
.fbw-bundle-combined-subtotal{
  font-weight:800 !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-components,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-components{
  display:block !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-pill,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-pill{
  display:block !important;
  width:fit-content !important;
  margin:3px 0 0 !important;
}
@media (max-width: 768px){
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw-cart-meta-parent{
    margin-top:8px !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-components{
    gap:5px !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-component-pill{
    font-size:11px !important;
    padding:4px 8px !important;
  }
}
@media (max-width: 420px){
  .fbw-cart-meta-parent .fbw-cart-meta-label{
    font-size:10px !important;
  }
  .fbw-cart-component-pill{
    font-size:10px !important;
    padding:3px 6px !important;
  }
}


/* FamilyBro Bundle Widget 1.1.7 - componenti bundle visibili sotto al padre con prezzo */
.fbw-cart-components-list{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  margin:5px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}
.fbw-cart-component-row{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
  width:100% !important;
  padding:5px 8px !important;
  border-radius:10px !important;
  background:rgba(16,42,76,.055) !important;
  color:inherit !important;
  line-height:1.25 !important;
}
.fbw-cart-component-main{
  display:block !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.fbw-cart-component-qty{
  font-weight:800 !important;
  opacity:.78 !important;
}
.fbw-cart-component-name{
  font-weight:700 !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
.fbw-cart-component-price{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  font-weight:800 !important;
  opacity:.95 !important;
  text-align:right !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-components-list,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-components-list{
  margin-top:6px !important;
  gap:4px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-row,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-row{
  padding:4px 6px !important;
  gap:7px !important;
  font-size:11px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-price,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-price{
  font-size:11px !important;
}
@media (max-width: 768px){
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-component-row{
    font-size:11px !important;
    padding:5px 7px !important;
    gap:8px !important;
  }
}
@media (max-width: 420px){
  .fbw-cart-components-list{
    gap:4px !important;
  }
  .fbw-cart-component-row{
    font-size:10px !important;
    padding:4px 6px !important;
    border-radius:8px !important;
  }
  .fbw-cart-component-price{
    font-size:10px !important;
  }
}

/* FamilyBro Bundle Widget 1.1.8 - componenti carrello come mini-righe dentro al box padre */
.woocommerce-cart-form .fbw-cart-item-child,
.woocommerce-mini-cart .fbw-cart-item-child,
.widget_shopping_cart .fbw-cart-item-child{
  display:none !important;
}
.fbw-cart-meta-parent{
  display:block !important;
  width:100% !important;
  max-width:520px !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  opacity:1 !important;
}
.fbw-cart-meta-parent .fbw-cart-meta-label{
  display:block !important;
  margin:0 0 6px !important;
  padding:0 !important;
  color:#102a4c !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  opacity:.72 !important;
}
.fbw-cart-components-list{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.fbw-cart-component-row{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) max-content !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  min-height:54px !important;
  margin:0 !important;
  padding:7px 9px !important;
  border:1px solid rgba(16,42,76,.09) !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(16,42,76,.04) !important;
  color:#102a4c !important;
  line-height:1.25 !important;
  box-sizing:border-box !important;
}
.fbw-cart-component-thumb{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  background:#f7f9fc !important;
  overflow:hidden !important;
}
.fbw-cart-component-thumb img,
.fbw-cart-component-img{
  display:block !important;
  width:38px !important;
  max-width:38px !important;
  height:38px !important;
  max-height:38px !important;
  object-fit:contain !important;
  margin:0 !important;
  border-radius:8px !important;
}
.fbw-cart-component-main{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  gap:2px !important;
}
.fbw-cart-component-name{
  display:block !important;
  color:#102a4c !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  overflow-wrap:anywhere !important;
}
.fbw-cart-component-qty{
  display:block !important;
  color:#102a4c !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.1 !important;
  opacity:.68 !important;
}
.fbw-cart-component-price{
  display:block !important;
  color:#102a4c !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  text-align:right !important;
}
.woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw-cart-meta-parent{
  margin-top:10px !important;
}
.woocommerce-cart-form .fbw-cart-item-parent td.product-name{
  min-width:min(420px,48vw) !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-meta-parent,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-meta-parent{
  max-width:100% !important;
  margin-top:8px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-row,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-row{
  grid-template-columns:34px minmax(0,1fr) max-content !important;
  min-height:44px !important;
  gap:7px !important;
  padding:6px 7px !important;
  border-radius:10px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-thumb,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-thumb{
  width:34px !important;
  height:34px !important;
  border-radius:8px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-thumb img,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-thumb img,
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-img,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-img{
  width:30px !important;
  max-width:30px !important;
  height:30px !important;
  max-height:30px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-name,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-name{
  font-size:11px !important;
}
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-qty,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-qty,
.woocommerce-mini-cart .fbw-cart-item-parent .fbw-cart-component-price,
.widget_shopping_cart .fbw-cart-item-parent .fbw-cart-component-price{
  font-size:10px !important;
}
@media (max-width: 768px){
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name{
    min-width:0 !important;
  }
  .fbw-cart-meta-parent{
    max-width:100% !important;
    margin-top:8px !important;
  }
  .fbw-cart-component-row{
    grid-template-columns:38px minmax(0,1fr) max-content !important;
    min-height:50px !important;
    gap:8px !important;
    padding:6px 8px !important;
  }
  .fbw-cart-component-thumb{
    width:38px !important;
    height:38px !important;
  }
  .fbw-cart-component-thumb img,
  .fbw-cart-component-img{
    width:34px !important;
    max-width:34px !important;
    height:34px !important;
    max-height:34px !important;
  }
}
@media (max-width: 420px){
  .fbw-cart-meta-parent .fbw-cart-meta-label{
    font-size:9px !important;
  }
  .fbw-cart-component-row{
    grid-template-columns:34px minmax(0,1fr) auto !important;
    gap:7px !important;
    padding:6px !important;
  }
  .fbw-cart-component-thumb{
    width:34px !important;
    height:34px !important;
  }
  .fbw-cart-component-thumb img,
  .fbw-cart-component-img{
    width:30px !important;
    max-width:30px !important;
    height:30px !important;
    max-height:30px !important;
  }
  .fbw-cart-component-name{
    font-size:11px !important;
  }
  .fbw-cart-component-qty,
  .fbw-cart-component-price{
    font-size:10px !important;
  }
}


/* FamilyBro Bundle Widget 1.1.9 - carrello pulito: componenti nella stessa colonna del padre, prezzo padre invariato */
.woocommerce-cart-form .fbw-cart-item-child,
.woocommerce-mini-cart .fbw-cart-item-child,
.widget_shopping_cart .fbw-cart-item-child{
  display:none !important;
}

.woocommerce-cart-form .fbw-cart-item-parent td.product-name,
.woocommerce-cart-form .fbw-cart-item-parent .product-name{
  overflow:visible !important;
}

.fbw-cart-meta-parent{
  display:block !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  max-width:100% !important;
  width:100% !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.fbw-cart-meta-parent .fbw-cart-meta-label{
  display:block !important;
  margin:0 0 6px !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  opacity:.65 !important;
}

.fbw-cart-components-list{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  width:100% !important;
  max-width:360px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.fbw-cart-component-row{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:7px 9px !important;
  border:1px solid rgba(16,42,76,.10) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.fbw-cart-component-thumb{
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  border-radius:7px !important;
  background:#f7f8fa !important;
}

.fbw-cart-component-thumb img,
.fbw-cart-component-img{
  width:34px !important;
  height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  object-fit:contain !important;
  margin:0 !important;
  float:none !important;
  position:static !important;
}

.fbw-cart-component-main{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:1px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  text-align:left !important;
}

.fbw-cart-component-name{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:inherit !important;
}

.fbw-cart-component-qty{
  display:block !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  opacity:.68 !important;
}

.fbw-cart-component-price{
  display:none !important;
}

/* evita che vecchie regole del tema/plugin facciano uscire il box dalla card */
.woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-components-list,
.woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-component-row{
  transform:none !important;
  position:static !important;
  left:auto !important;
  right:auto !important;
}

.woocommerce-mini-cart .fbw-cart-meta-parent,
.widget_shopping_cart .fbw-cart-meta-parent{
  margin-top:6px !important;
}

.woocommerce-mini-cart .fbw-cart-components-list,
.widget_shopping_cart .fbw-cart-components-list{
  max-width:100% !important;
  gap:5px !important;
}

.woocommerce-mini-cart .fbw-cart-component-row,
.widget_shopping_cart .fbw-cart-component-row{
  padding:6px 7px !important;
}

.woocommerce-mini-cart .fbw-cart-component-thumb,
.widget_shopping_cart .fbw-cart-component-thumb,
.woocommerce-mini-cart .fbw-cart-component-thumb img,
.widget_shopping_cart .fbw-cart-component-thumb img,
.woocommerce-mini-cart .fbw-cart-component-img,
.widget_shopping_cart .fbw-cart-component-img{
  width:28px !important;
  height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
}

.woocommerce-mini-cart .fbw-cart-component-name,
.widget_shopping_cart .fbw-cart-component-name{
  font-size:11px !important;
}

.woocommerce-mini-cart .fbw-cart-component-qty,
.widget_shopping_cart .fbw-cart-component-qty{
  font-size:10px !important;
}

@media (max-width: 768px){
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name{
    width:100% !important;
  }
  .fbw-cart-components-list{
    max-width:100% !important;
  }
  .fbw-cart-component-row{
    padding:8px !important;
  }
  .fbw-cart-component-thumb,
  .fbw-cart-component-thumb img,
  .fbw-cart-component-img{
    width:32px !important;
    height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
  }
}

/* FamilyBro Bundle Widget 1.2.0 - layout carrello definitivo e mobile-first */
.woocommerce-cart-form .fbw-cart-item-child,
.woocommerce-mini-cart .fbw-cart-item-child,
.widget_shopping_cart .fbw-cart-item-child,
.woocommerce-checkout-review-order-table .fbw-cart-item-child{
  display:none !important;
}

.fbw2-cart-bundle,
.woocommerce-cart-form .fbw2-cart-bundle,
.woocommerce-mini-cart .fbw2-cart-bundle,
.widget_shopping_cart .fbw2-cart-bundle{
  display:block !important;
  width:100% !important;
  max-width:360px !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  clear:both !important;
  box-sizing:border-box !important;
  position:static !important;
  transform:none !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  float:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:left !important;
}

.fbw2-cart-bundle-title{
  display:block !important;
  margin:0 0 6px !important;
  padding:0 !important;
  color:#102a4c !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  opacity:.58 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.fbw2-cart-bundle-items{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(16,42,76,.10) !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

.fbw2-cart-bundle-item{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  align-items:center !important;
  column-gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  margin:0 !important;
  padding:8px 10px !important;
  border:0 !important;
  border-bottom:1px solid rgba(16,42,76,.08) !important;
  background:#fff !important;
  box-sizing:border-box !important;
  text-align:left !important;
}

.fbw2-cart-bundle-item:last-child{
  border-bottom:0 !important;
}

.fbw2-cart-bundle-thumb{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#f7f8fb !important;
  box-sizing:border-box !important;
}

.fbw2-cart-bundle-thumb img,
.fbw2-cart-bundle-thumb .fbw-cart-component-img{
  display:block !important;
  width:32px !important;
  height:32px !important;
  max-width:32px !important;
  max-height:32px !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  position:static !important;
  border:0 !important;
  border-radius:7px !important;
}

.fbw2-cart-bundle-info{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
  min-width:0 !important;
  max-width:100% !important;
  text-align:left !important;
}

.fbw2-cart-bundle-name{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  color:#102a4c !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.fbw2-cart-bundle-meta{
  display:block !important;
  width:100% !important;
  color:#102a4c !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  opacity:.62 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.woocommerce-cart-form .fbw-cart-item-parent td.product-name,
.woocommerce-cart-form .fbw-cart-item-parent .product-name{
  overflow:visible !important;
  min-width:0 !important;
}

.woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle{
  margin-top:9px !important;
}

.woocommerce-mini-cart .fbw2-cart-bundle,
.widget_shopping_cart .fbw2-cart-bundle{
  max-width:100% !important;
  margin-top:6px !important;
}

.woocommerce-mini-cart .fbw2-cart-bundle-title,
.widget_shopping_cart .fbw2-cart-bundle-title{
  font-size:10px !important;
  margin-bottom:5px !important;
}

.woocommerce-mini-cart .fbw2-cart-bundle-item,
.widget_shopping_cart .fbw2-cart-bundle-item{
  grid-template-columns:30px minmax(0,1fr) !important;
  min-height:42px !important;
  padding:6px 7px !important;
  column-gap:8px !important;
}

.woocommerce-mini-cart .fbw2-cart-bundle-thumb,
.widget_shopping_cart .fbw2-cart-bundle-thumb{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
}

.woocommerce-mini-cart .fbw2-cart-bundle-thumb img,
.widget_shopping_cart .fbw2-cart-bundle-thumb img,
.woocommerce-mini-cart .fbw2-cart-bundle-thumb .fbw-cart-component-img,
.widget_shopping_cart .fbw2-cart-bundle-thumb .fbw-cart-component-img{
  width:28px !important;
  height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
}

.woocommerce-mini-cart .fbw2-cart-bundle-name,
.widget_shopping_cart .fbw2-cart-bundle-name{
  font-size:11px !important;
}

.woocommerce-mini-cart .fbw2-cart-bundle-meta,
.widget_shopping_cart .fbw2-cart-bundle-meta{
  font-size:10px !important;
}

@media (max-width: 768px){
  .fbw2-cart-bundle,
  .woocommerce-cart-form .fbw2-cart-bundle{
    max-width:100% !important;
  }
  .fbw2-cart-bundle-title{
    font-size:10px !important;
  }
  .fbw2-cart-bundle-item{
    grid-template-columns:32px minmax(0,1fr) !important;
    min-height:46px !important;
    padding:7px 8px !important;
    column-gap:8px !important;
  }
  .fbw2-cart-bundle-thumb{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
  }
  .fbw2-cart-bundle-thumb img,
  .fbw2-cart-bundle-thumb .fbw-cart-component-img{
    width:30px !important;
    height:30px !important;
    max-width:30px !important;
    max-height:30px !important;
  }
}

/* FamilyBro Bundle Widget 1.2.1 - carrello pagina full-width, minicart ripristinato 1.1.5 */
.woocommerce-cart-form .fbw-cart-page-components-src{
  display:none !important;
}

/* Ripristina il minicart: i componenti tornano come nella 1.1.5, senza la nuova card full-width. */
.woocommerce-mini-cart .fbw-cart-item-child,
.widget_shopping_cart .fbw-cart-item-child{
  display:list-item !important;
  visibility:visible !important;
  opacity:1 !important;
}
.woocommerce-mini-cart .fbw2-cart-bundle,
.widget_shopping_cart .fbw2-cart-bundle,
.woocommerce-mini-cart .fbw-cart-page-components-src,
.widget_shopping_cart .fbw-cart-page-components-src{
  display:none !important;
}

/* La pagina carrello nasconde le righe figlie e mostra i componenti in una riga full-width sotto al padre. */
.woocommerce-cart-form .fbw-cart-item-child{
  display:none !important;
}
.woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-meta-parent{
  display:none !important;
}
.woocommerce-cart-form tr.fbw-cart-parent-row-has-components{
  margin-bottom:0 !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row,
.woocommerce-cart-form tr.fbw-cart-components-row td,
.woocommerce-cart-form tr.fbw-cart-components-row th{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell{
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:-20px 0 28px !important;
  padding:0 28px 20px 150px !important;
  clear:both !important;
  float:none !important;
  position:relative !important;
  background:#fff !important;
  border:1px solid rgba(16,42,76,.08) !important;
  border-top:0 !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:none !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-title{
  display:block !important;
  margin:0 0 10px !important;
  padding:0 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#102a4c !important;
  opacity:.58 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-items{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  width:100% !important;
  max-width:620px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-item{
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-height:58px !important;
  margin:0 !important;
  padding:8px 12px !important;
  background:#f8f9fb !important;
  border:1px solid rgba(16,42,76,.08) !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-item + .fbw2-cart-bundle-item{
  border-top:1px solid rgba(16,42,76,.08) !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb img,
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb .fbw-cart-component-img{
  width:42px !important;
  height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  float:none !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-info{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:3px !important;
  min-width:0 !important;
  text-align:left !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-name{
  display:block !important;
  max-width:100% !important;
  color:#102a4c !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-meta{
  display:block !important;
  color:#102a4c !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  opacity:.58 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

@media (max-width: 900px){
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle{
    margin:-14px 0 22px !important;
    padding:0 16px 16px 92px !important;
  }
}
@media (max-width: 640px){
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle{
    margin:-8px 0 18px !important;
    padding:0 10px 14px !important;
    border-radius:0 0 14px 14px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-items{
    max-width:100% !important;
    gap:7px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-item{
    grid-template-columns:40px minmax(0,1fr) !important;
    min-height:52px !important;
    padding:7px 9px !important;
    gap:10px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb img,
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb .fbw-cart-component-img{
    width:36px !important;
    height:36px !important;
    max-width:36px !important;
    max-height:36px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-name{
    font-size:12px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-meta{
    font-size:11px !important;
  }
}

/* 1.2.2 - Prezzo componenti nella pagina carrello, senza modificare il minicart. */
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-item{
  grid-template-columns:46px minmax(0,1fr) auto !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-price{
  display:block !important;
  color:#102a4c !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-align:right !important;
  white-space:nowrap !important;
  margin-left:10px !important;
}
.woocommerce-mini-cart .fbw2-cart-bundle-price,
.widget_shopping_cart .fbw2-cart-bundle-price{
  display:none !important;
}
@media (max-width: 640px){
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-item{
    grid-template-columns:40px minmax(0,1fr) auto !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-price{
    font-size:12px !important;
    margin-left:6px !important;
  }
}
@media (max-width: 390px){
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-item{
    grid-template-columns:36px minmax(0,1fr) auto !important;
    gap:7px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-price{
    font-size:11px !important;
  }
}


/* FamilyBro Bundle Widget 1.2.3 - fix mobile cart separator and parent image alignment */
.woocommerce-cart-form tr.fbw-cart-components-row,
.woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell{
  display:table-row !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell{
  display:table-cell !important;
  position:relative !important;
  line-height:1 !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell:before,
.woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell:after,
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle:before,
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle:after{
  display:none !important;
  content:"" !important;
  border:0 !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle{
  margin:-10px 0 28px !important;
  border-top:0 !important;
  box-shadow:none !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-title{
  margin-top:0 !important;
}
.woocommerce-cart-form .fbw-cart-item-parent td.product-thumbnail,
.woocommerce-cart-form .fbw-cart-item-parent .product-thumbnail{
  vertical-align:middle !important;
  text-align:center !important;
}
.woocommerce-cart-form .fbw-cart-item-parent td.product-thumbnail a,
.woocommerce-cart-form .fbw-cart-item-parent .product-thumbnail a,
.woocommerce-cart-form .fbw-cart-item-parent td.product-thumbnail img,
.woocommerce-cart-form .fbw-cart-item-parent .product-thumbnail img{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
  float:none !important;
}
@media (max-width: 640px){
  .woocommerce-cart-form tr.fbw-cart-components-row,
  .woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle{
    margin:0 0 18px !important;
    padding:0 10px 14px !important;
    border:0 !important;
    background:#fff !important;
    border-radius:0 0 14px 14px !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-title{
    margin:0 0 8px !important;
    padding:0 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-thumbnail,
  .woocommerce-cart-form .fbw-cart-item-parent .product-thumbnail{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-thumbnail:before,
  .woocommerce-cart-form .fbw-cart-item-parent .product-thumbnail:before{
    display:none !important;
    content:"" !important;
  }
}

/* FamilyBro Bundle Widget 1.2.5 - mobile cart: componenti dentro la stessa card, niente separatore dopo Subtotale */
@media (max-width: 640px){
  .woocommerce-cart-form tr.fbw-cart-components-row,
  .woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name{
    padding-bottom:10px !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw-cart-page-components-src,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw-cart-page-components-src{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    clear:both !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw-cart-page-components-src .fbw2-cart-bundle,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw-cart-page-components-src .fbw2-cart-bundle{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:8px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-title,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-title{
    margin:0 0 7px !important;
    padding:0 !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
    color:#102a4c !important;
    opacity:.55 !important;
    text-align:left !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-items,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-items{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-item,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-item{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    padding:7px 8px !important;
    border:1px solid rgba(16,42,76,.08) !important;
    border-radius:10px !important;
    background:#f8f9fb !important;
    box-sizing:border-box !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-thumb,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-thumb{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:8px !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-thumb img,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-thumb img,
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-thumb .fbw-cart-component-img,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-thumb .fbw-cart-component-img{
    display:block !important;
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-info,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-info{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    gap:2px !important;
    text-align:left !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-name,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-name{
    display:block !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#102a4c !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-meta,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-meta{
    display:block !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    color:#102a4c !important;
    opacity:.58 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name .fbw2-cart-bundle-price,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name .fbw2-cart-bundle-price{
    display:block !important;
    margin:0 0 0 6px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#102a4c !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .woocommerce-cart-form tr.fbw-cart-parent-row-has-components td.product-subtotal,
  .woocommerce-cart-form tr.fbw-cart-parent-row-has-components .product-subtotal{
    border-bottom:0 !important;
    margin-bottom:0 !important;
    padding-bottom:8px !important;
  }
}


/* FamilyBro Bundle Widget 1.2.5 - cart mobile order and combined subtotal */
.woocommerce-cart-form .fbw-cart-parent-price-inline{
  display:none !important;
}
.woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-page-components-src{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  clear:both !important;
}
.woocommerce-cart-form tr.fbw-cart-components-row,
.woocommerce-cart-form tr.fbw-cart-components-row td,
.woocommerce-cart-form tr.fbw-cart-components-row th{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

@media (max-width: 640px){
  .woocommerce-cart-form .fbw-cart-item-parent td.product-name,
  .woocommerce-cart-form .fbw-cart-item-parent .product-name{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    padding-bottom:0 !important;
    margin-bottom:0 !important;
    border-bottom:0 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-price,
  .woocommerce-cart-form .fbw-cart-item-parent .product-price{
    display:none !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-parent-price-inline{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    margin:10px 0 8px !important;
    padding:8px 0 !important;
    border-top:1px solid rgba(16,42,76,.08) !important;
    border-bottom:1px solid rgba(16,42,76,.08) !important;
    color:#102a4c !important;
    font-size:13px !important;
    line-height:1.25 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-parent-price-label{
    font-weight:800 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-parent-price-value{
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-page-components-src{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:8px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-page-components-src .fbw2-cart-bundle{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-title{
    margin:0 0 7px !important;
    padding:0 !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
    color:#102a4c !important;
    opacity:.58 !important;
    text-align:left !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-items{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-item{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    padding:7px 8px !important;
    border:1px solid rgba(16,42,76,.08) !important;
    border-radius:10px !important;
    background:#f8f9fb !important;
    box-sizing:border-box !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-thumb{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:8px !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-thumb img,
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-thumb .fbw-cart-component-img{
    display:block !important;
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-info{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    gap:2px !important;
    text-align:left !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-name{
    display:block !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#102a4c !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-meta{
    display:block !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    color:#102a4c !important;
    opacity:.58 !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent .fbw2-cart-bundle-price{
    display:block !important;
    margin:0 0 0 6px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    color:#102a4c !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .woocommerce-cart-form .fbw-cart-parent-row-has-components td.product-subtotal,
  .woocommerce-cart-form .fbw-cart-parent-row-has-components .product-subtotal{
    margin-top:8px !important;
    padding-top:8px !important;
    border-top:1px solid rgba(16,42,76,.08) !important;
  }
}


/* FamilyBro Bundle Widget 1.2.6 - desktop cart restored, mobile inline preserved */
.woocommerce-cart-form .fbw-cart-page-components-src[hidden]{
  display:none !important;
}

@media (min-width: 641px){
  .woocommerce-cart-form .fbw-cart-item-parent .fbw-cart-page-components-src{
    display:none !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row{
    display:table-row !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row td.fbw-cart-components-cell,
  .woocommerce-cart-form tr.fbw-cart-components-row th.fbw-cart-components-cell{
    display:table-cell !important;
    height:auto !important;
    max-height:none !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw-cart-page-components-src{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:-18px 0 26px !important;
    padding:0 30px 20px 150px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border:0 !important;
    border-radius:0 0 18px 18px !important;
    box-shadow:none !important;
    clear:both !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-title{
    display:block !important;
    margin:0 0 10px !important;
    padding:0 !important;
    color:#102a4c !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    opacity:.56 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-items{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    max-width:640px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
    background:transparent !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-item{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    min-height:54px !important;
    margin:0 !important;
    padding:8px 12px !important;
    border:1px solid rgba(16,42,76,.08) !important;
    border-radius:12px !important;
    background:#f8f9fb !important;
    box-sizing:border-box !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:9px !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb img,
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-thumb .fbw-cart-component-img{
    display:block !important;
    width:38px !important;
    height:38px !important;
    max-width:38px !important;
    max-height:38px !important;
    object-fit:contain !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    border:0 !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-info{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    gap:2px !important;
    text-align:left !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-name{
    display:block !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    color:#102a4c !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-meta{
    display:block !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    color:#102a4c !important;
    opacity:.58 !important;
  }
  .woocommerce-cart-form tr.fbw-cart-components-row .fbw2-cart-bundle-price{
    display:block !important;
    margin-left:10px !important;
    color:#102a4c !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-thumbnail,
  .woocommerce-cart-form .fbw-cart-item-parent .product-thumbnail{
    text-align:center !important;
    vertical-align:middle !important;
  }
  .woocommerce-cart-form .fbw-cart-item-parent td.product-thumbnail img,
  .woocommerce-cart-form .fbw-cart-item-parent .product-thumbnail img{
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
