/* ==========================================================================
   BETTER NUTRITION — Design System
   Tema WordPress / WooCommerce — CSS principale
   Palette: Nero brand + Blu #38B6FF (accento) + Blu scuro #2B79EE (colori reali betternutrition.it)
   ========================================================================== */

:root {
  /* Brand — colori reali del sito betternutrition.it */
  --bn-ink:        #000000;   /* sfondo principale (nero brand) */
  --bn-ink-2:      #0C0F12;   /* card / sezioni */
  --bn-ink-3:      #161B20;   /* bordi / hover */
  --bn-line:       #232A30;   /* linee sottili */
  --bn-volt:       #38B6FF;   /* accento principale: blu brand */
  --bn-volt-2:     #1F8FE0;   /* blu scuro (hover) */
  --bn-cyan:       #2B79EE;   /* accento secondario: blu profondo */
  --bn-white:      #FFFFFF;
  --bn-mute:       #9AA7B4;   /* testo secondario */
  --bn-mute-2:     #6B7785;

  /* Tipografia */
  --bn-font-display: "Archivo", "Arial Narrow", system-ui, sans-serif;
  --bn-font-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Layout */
  --bn-maxw: 1200px;
  --bn-radius: 16px;
  --bn-radius-sm: 10px;
  --bn-shadow: 0 20px 60px -20px rgba(0,0,0,.6);
  --bn-shadow-volt: 0 16px 50px -12px rgba(56,182,255,.35);

  /* Transizioni */
  --bn-ease: cubic-bezier(.22,.61,.36,1);
}

/* -------------------------------------------------------------------------- */
/* Reset leggero                                                              */
/* -------------------------------------------------------------------------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.bn-theme,
.bn {
  margin: 0;
  font-family: var(--bn-font-body);
  color: var(--bn-white);
  background: var(--bn-ink);
  line-height: 1.6;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.bn img { max-width: 100%; height: auto; display: block; }
.bn a { color: inherit; text-decoration: none; }
.bn h1,.bn h2,.bn h3,.bn h4 {
  font-family: var(--bn-font-display);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.02em;
  margin: 0 0 .4em;
  text-transform: uppercase;
}
.bn p { margin: 0 0 1em; }
.bn strong { color: var(--bn-white); font-weight: 700; }

/* -------------------------------------------------------------------------- */
/* Utility                                                                    */
/* -------------------------------------------------------------------------- */
.bn-wrap { max-width: var(--bn-maxw); margin: 0 auto; padding: 0 24px; }
.bn-section { padding: 96px 0; position: relative; }
.bn-section--tight { padding: 64px 0; }
.bn-center { text-align: center; }
.bn-volt { color: var(--bn-volt); }
.bn-cyan { color: var(--bn-cyan); }
.bn-mute { color: var(--bn-mute); }
.bn-eyebrow {
  font-family: var(--bn-font-display);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 13px;
  font-weight: 700;
  color: var(--bn-volt);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.bn-eyebrow::before {
  content: ""; width: 28px; height: 2px; background: var(--bn-volt); display: inline-block;
}
.bn-display { font-size: clamp(40px, 7vw, 92px); }
.bn-h2 { font-size: clamp(30px, 4.5vw, 56px); }
.bn-lead { font-size: clamp(17px, 2vw, 21px); color: var(--bn-mute); max-width: 60ch; }

/* Bottoni */
.bn-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--bn-font-display);
  text-transform: uppercase; letter-spacing: .04em; font-weight: 800;
  font-size: 15px; line-height: 1;
  padding: 18px 30px; border-radius: 999px; border: 2px solid transparent;
  cursor: pointer; transition: transform .25s var(--bn-ease), box-shadow .25s var(--bn-ease), background .25s, color .25s;
  white-space: nowrap;
}
.bn-btn--primary { background: var(--bn-volt); color: var(--bn-ink); box-shadow: var(--bn-shadow-volt); }
.bn-btn--primary:hover { transform: translateY(-3px); box-shadow: 0 22px 60px -10px rgba(56,182,255,.55); }
.bn-btn--ghost { background: transparent; color: var(--bn-white); border-color: var(--bn-line); }
.bn-btn--ghost:hover { border-color: var(--bn-volt); color: var(--bn-volt); transform: translateY(-3px); }
.bn-btn--block { width: 100%; }
.bn-btn--lg { padding: 22px 38px; font-size: 17px; }

/* Pills / badge */
.bn-pill {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: var(--bn-mute);
  background: var(--bn-ink-2); border: 1px solid var(--bn-line);
  padding: 8px 14px; border-radius: 999px;
}
.bn-pill svg { width: 16px; height: 16px; color: var(--bn-volt); }

/* -------------------------------------------------------------------------- */
/* Announcement bar                                                           */
/* -------------------------------------------------------------------------- */
.bn-announce {
  background: var(--bn-volt); color: var(--bn-ink);
  font-family: var(--bn-font-display); text-transform: uppercase;
  letter-spacing: .08em; font-weight: 800; font-size: 13px;
  text-align: center; padding: 10px 16px; overflow: hidden;
}
.bn-announce span { display: inline-block; padding: 0 22px; }

/* -------------------------------------------------------------------------- */
/* Header                                                                     */
/* -------------------------------------------------------------------------- */
.bn-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(11,15,20,.72);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--bn-line);
}
.bn-header__inner { display: flex; align-items: center; justify-content: space-between; height: 74px; }
.bn-logo { font-family: var(--bn-font-display); font-weight: 800; font-size: 21px; letter-spacing: -.01em; text-transform: uppercase; display:flex; align-items:center; gap:10px; }
.bn-logo b { color: var(--bn-volt); }
.bn-logo__mark { width: 30px; height: 30px; }
.bn-nav { display: flex; gap: 34px; align-items: center; }
.bn-nav a { font-size: 14px; font-weight: 600; color: var(--bn-mute); letter-spacing: .02em; transition: color .2s; position: relative; }
.bn-nav a:hover { color: var(--bn-white); }
.bn-nav a::after { content:""; position:absolute; left:0; bottom:-6px; width:0; height:2px; background:var(--bn-volt); transition:width .25s var(--bn-ease); }
.bn-nav a:hover::after { width:100%; }
.bn-header__cta { display: flex; align-items: center; gap: 16px; }
.bn-cart { position: relative; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.bn-cart__count { background: var(--bn-volt); color: var(--bn-ink); font-size: 11px; font-weight: 800; min-width: 18px; height: 18px; border-radius: 999px; display: grid; place-items: center; padding: 0 5px; }
.bn-burger { display: none; background: none; border: 0; color: var(--bn-white); cursor: pointer; }

/* -------------------------------------------------------------------------- */
/* Hero                                                                       */
/* -------------------------------------------------------------------------- */
.bn-hero { position: relative; overflow: hidden; padding: 88px 0 72px; }
.bn-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(60% 80% at 85% 10%, rgba(56,182,255,.16), transparent 60%),
    radial-gradient(50% 60% at 10% 90%, rgba(56,182,255,.10), transparent 60%);
  pointer-events: none;
}
.bn-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.bn-hero h1 { font-size: clamp(46px, 8vw, 104px); }
.bn-hero h1 .ln { display: block; }
.bn-hero h1 em { font-style: normal; color: var(--bn-volt); }
.bn-hero__sub { font-size: clamp(17px, 2vw, 20px); color: var(--bn-mute); max-width: 46ch; margin: 8px 0 32px; }
.bn-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 30px; }
.bn-hero__trust { display: flex; gap: 10px; flex-wrap: wrap; }
.bn-hero__visual { position: relative; }
.bn-hero__card {
  background: linear-gradient(160deg, var(--bn-ink-2), var(--bn-ink));
  border: 1px solid var(--bn-line); border-radius: 24px; padding: 30px;
  box-shadow: var(--bn-shadow); position: relative; overflow: hidden;
}
.bn-hero__card::after { content:""; position:absolute; top:-40%; right:-30%; width:70%; height:120%; background: radial-gradient(closest-side, rgba(56,182,255,.18), transparent); }
.bn-hero__prod { aspect-ratio: 1/1; border-radius: 18px; background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 16px, transparent 16px 32px),
    linear-gradient(160deg, #18202a, #0d1318);
  display: grid; place-items: center; position: relative; }
.bn-hero__sachet {
  width: 46%; aspect-ratio: 3/5; border-radius: 14px;
  background: linear-gradient(160deg, #11161d 0%, #0b0f14 100%);
  border: 1px solid var(--bn-line); position: relative;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.7);
  display: flex; flex-direction: column; justify-content: space-between; padding: 18px 14px;
}
.bn-hero__sachet .gf { font-family: var(--bn-font-display); font-weight: 800; font-size: 26px; color: var(--bn-volt); line-height: .9; }
.bn-hero__sachet .nm { font-family: var(--bn-font-display); font-weight: 800; font-size: 14px; letter-spacing: .1em; }
.bn-hero__sachet .tag { font-size: 10px; color: var(--bn-mute); letter-spacing: .2em; text-transform: uppercase; }
.bn-hero__stat { position: absolute; bottom: 18px; left: 18px; right: 18px; display: flex; justify-content: space-between; gap: 10px; }
.bn-chipstat { background: rgba(11,15,20,.7); border: 1px solid var(--bn-line); border-radius: 12px; padding: 10px 12px; backdrop-filter: blur(8px); }
.bn-chipstat b { display: block; font-family: var(--bn-font-display); font-size: 22px; color: var(--bn-volt); line-height: 1; }
.bn-chipstat span { font-size: 11px; color: var(--bn-mute); text-transform: uppercase; letter-spacing: .08em; }

/* -------------------------------------------------------------------------- */
/* Marquee / loghi                                                            */
/* -------------------------------------------------------------------------- */
.bn-strip { border-block: 1px solid var(--bn-line); background: var(--bn-ink-2); padding: 22px 0; }
.bn-strip__row { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.bn-strip__item { font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .12em; font-size: 14px; color: var(--bn-mute); display: flex; align-items: center; gap: 10px; }
.bn-strip__item svg { width: 20px; height: 20px; color: var(--bn-volt); }

/* -------------------------------------------------------------------------- */
/* Stats numeri                                                               */
/* -------------------------------------------------------------------------- */
.bn-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.bn-stat { border-left: 2px solid var(--bn-line); padding-left: 20px; }
.bn-stat b { font-family: var(--bn-font-display); font-size: clamp(36px,4vw,54px); color: var(--bn-white); display: block; line-height: 1; }
.bn-stat span { color: var(--bn-mute); font-size: 14px; }

/* -------------------------------------------------------------------------- */
/* Problema / Soluzione (scienza)                                             */
/* -------------------------------------------------------------------------- */
.bn-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.bn-science-card { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: var(--bn-radius); padding: 30px; }
.bn-transporters { display: grid; gap: 16px; }
.bn-transporter { display: flex; gap: 16px; align-items: flex-start; padding: 18px; border: 1px solid var(--bn-line); border-radius: var(--bn-radius-sm); background: var(--bn-ink); }
.bn-transporter__badge { font-family: var(--bn-font-display); font-weight: 800; font-size: 13px; letter-spacing: .04em; padding: 6px 12px; border-radius: 8px; background: rgba(56,182,255,.12); color: var(--bn-volt); white-space: nowrap; }
.bn-transporter h4 { margin: 0 0 4px; font-size: 17px; text-transform: none; letter-spacing: 0; }
.bn-transporter p { margin: 0; font-size: 14px; color: var(--bn-mute); }
.bn-ratio { display: flex; align-items: baseline; gap: 8px; font-family: var(--bn-font-display); }
.bn-ratio b { font-size: 80px; color: var(--bn-volt); line-height: .9; }
.bn-ratio span { font-size: 20px; color: var(--bn-mute); }

/* -------------------------------------------------------------------------- */
/* Prodotti                                                                   */
/* -------------------------------------------------------------------------- */
.bn-products { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.bn-card {
  background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: var(--bn-radius);
  overflow: hidden; display: flex; flex-direction: column; transition: transform .3s var(--bn-ease), border-color .3s;
}
.bn-card:hover { transform: translateY(-6px); border-color: var(--bn-volt); }
.bn-card__media { aspect-ratio: 4/3; position: relative; background: linear-gradient(160deg,#18202a,#0d1318); display:grid; place-items:center; }
.bn-card__media .gel { width: 38%; aspect-ratio: 3/5; border-radius: 12px; background: linear-gradient(160deg,#0e131a,#0b0f14); border: 1px solid var(--bn-line); box-shadow: 0 20px 40px -16px rgba(0,0,0,.7); display:flex; flex-direction:column; justify-content:space-between; padding:12px 10px;}
.bn-card__media .gel .g1 { font-family:var(--bn-font-display); color:var(--bn-volt); font-weight:800; font-size:14px;}
.bn-card__media .gel .g2 { font-size:9px; color:var(--bn-mute); letter-spacing:.16em; text-transform:uppercase;}
.bn-card__tag { position: absolute; top: 14px; left: 14px; font-family: var(--bn-font-display); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 6px 11px; border-radius: 999px; background: var(--bn-volt); color: var(--bn-ink); }
.bn-card__tag--during { background: var(--bn-cyan); }
.bn-card__body { padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.bn-card__body h3 { font-size: 21px; margin: 0; text-transform: none; letter-spacing: -.01em; }
.bn-card__desc { font-size: 14px; color: var(--bn-mute); flex: 1; }
.bn-card__meta { display: flex; gap: 8px; flex-wrap: wrap; }
.bn-card__meta .bn-pill { font-size: 11px; padding: 5px 10px; }
.bn-card__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; gap: 12px; }
.bn-price { font-family: var(--bn-font-display); font-size: 26px; font-weight: 800; }
.bn-price small { font-size: 13px; color: var(--bn-mute); font-weight: 600; }
.bn-stars { color: var(--bn-volt); font-size: 14px; letter-spacing: 2px; }
.bn-stars small { color: var(--bn-mute); margin-left: 6px; }

/* -------------------------------------------------------------------------- */
/* Protocollo timeline                                                        */
/* -------------------------------------------------------------------------- */
.bn-timeline { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; position: relative; counter-reset: step; }
.bn-step { padding: 30px 26px; border: 1px solid var(--bn-line); position: relative; }
.bn-step:first-child { border-radius: var(--bn-radius) 0 0 var(--bn-radius); }
.bn-step:last-child { border-radius: 0 var(--bn-radius) var(--bn-radius) 0; }
.bn-step:not(:first-child) { border-left: 0; }
.bn-step__num { font-family: var(--bn-font-display); font-size: 13px; font-weight: 800; color: var(--bn-ink); background: var(--bn-volt); width: 30px; height: 30px; border-radius: 999px; display: grid; place-items: center; margin-bottom: 16px; }
.bn-step h4 { font-size: 18px; text-transform: none; letter-spacing: 0; }
.bn-step .when { font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .14em; font-size: 12px; color: var(--bn-volt); margin-bottom: 6px; }
.bn-step p { font-size: 14px; color: var(--bn-mute); margin: 0; }

/* -------------------------------------------------------------------------- */
/* Benefici                                                                   */
/* -------------------------------------------------------------------------- */
.bn-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.bn-benefit { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: var(--bn-radius-sm); padding: 26px; transition: border-color .25s; }
.bn-benefit:hover { border-color: var(--bn-line); }
.bn-benefit__ico { width: 46px; height: 46px; border-radius: 12px; background: rgba(56,182,255,.1); display: grid; place-items: center; margin-bottom: 16px; color: var(--bn-volt); }
.bn-benefit__ico svg { width: 24px; height: 24px; }
.bn-benefit h4 { font-size: 17px; text-transform: none; letter-spacing: 0; margin-bottom: 6px; }
.bn-benefit p { font-size: 14px; color: var(--bn-mute); margin: 0; }

/* -------------------------------------------------------------------------- */
/* Testimonial / ambassador                                                   */
/* -------------------------------------------------------------------------- */
.bn-testi { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.bn-quote { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: var(--bn-radius); padding: 30px; display: flex; flex-direction: column; gap: 18px; }
.bn-quote p { font-size: 17px; color: var(--bn-white); margin: 0; flex: 1; }
.bn-quote__by { display: flex; align-items: center; gap: 14px; }
.bn-avatar { width: 48px; height: 48px; border-radius: 999px; background: linear-gradient(160deg,var(--bn-ink-3),var(--bn-ink)); border: 1px solid var(--bn-line); display: grid; place-items: center; font-family: var(--bn-font-display); font-weight: 800; color: var(--bn-volt); }
.bn-quote__by b { display: block; font-size: 15px; }
.bn-quote__by span { font-size: 13px; color: var(--bn-mute); }

/* -------------------------------------------------------------------------- */
/* Bundle / offerta                                                           */
/* -------------------------------------------------------------------------- */
.bn-offer { background: linear-gradient(135deg, var(--bn-ink-2), var(--bn-ink)); border: 1px solid var(--bn-line); border-radius: 24px; padding: 48px; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; }
.bn-offer::before { content:""; position:absolute; top:-30%; right:-10%; width:50%; height:160%; background: radial-gradient(closest-side, rgba(56,182,255,.16), transparent); }
.bn-offer__save { display: inline-block; font-family: var(--bn-font-display); font-weight: 800; background: var(--bn-volt); color: var(--bn-ink); padding: 6px 14px; border-radius: 999px; font-size: 13px; letter-spacing: .04em; margin-bottom: 16px; }
.bn-offer__price { display: flex; align-items: baseline; gap: 12px; margin: 10px 0 22px; }
.bn-offer__price .now { font-family: var(--bn-font-display); font-size: 56px; font-weight: 800; color: var(--bn-volt); line-height: 1; }
.bn-offer__price .was { font-size: 22px; color: var(--bn-mute-2); text-decoration: line-through; }

/* -------------------------------------------------------------------------- */
/* FAQ                                                                        */
/* -------------------------------------------------------------------------- */
.bn-faq { max-width: 820px; margin: 0 auto; }
.bn-acc { border-bottom: 1px solid var(--bn-line); }
.bn-acc__q { width: 100%; background: none; border: 0; color: var(--bn-white); text-align: left; font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .01em; font-size: 19px; font-weight: 700; padding: 24px 40px 24px 0; cursor: pointer; position: relative; }
.bn-acc__q::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 26px; color: var(--bn-volt); transition: transform .25s; }
.bn-acc.is-open .bn-acc__q::after { transform: translateY(-50%) rotate(45deg); }
.bn-acc__a { max-height: 0; overflow: hidden; transition: max-height .3s var(--bn-ease); }
.bn-acc__a p { color: var(--bn-mute); padding: 0 0 24px; margin: 0; }
.bn-acc.is-open .bn-acc__a { max-height: 320px; }

/* -------------------------------------------------------------------------- */
/* Newsletter / lead                                                          */
/* -------------------------------------------------------------------------- */
.bn-lead { background: var(--bn-volt); color: var(--bn-ink); border-radius: 24px; padding: 56px 48px; text-align: center; position: relative; overflow: hidden; }
.bn-lead h2 { color: var(--bn-ink); }
.bn-lead p { color: rgba(11,15,20,.7); font-weight: 500; max-width: 50ch; margin: 0 auto 26px; }
.bn-lead__form { display: flex; gap: 12px; max-width: 480px; margin: 0 auto; flex-wrap: wrap; }
.bn-lead__form input { flex: 1; min-width: 220px; padding: 18px 22px; border-radius: 999px; border: 2px solid var(--bn-ink); background: rgba(255,255,255,.5); font-size: 16px; font-weight: 600; color: var(--bn-ink); }
.bn-lead__form input::placeholder { color: rgba(11,15,20,.55); }
.bn-lead__form .bn-btn { background: var(--bn-ink); color: var(--bn-volt); box-shadow: none; }
.bn-lead__form .bn-btn:hover { background: #000; }

/* -------------------------------------------------------------------------- */
/* Footer                                                                     */
/* -------------------------------------------------------------------------- */
.bn-footer { border-top: 1px solid var(--bn-line); background: var(--bn-ink-2); padding: 64px 0 30px; }
.bn-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.bn-footer h5 { font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: 13px; color: var(--bn-mute); margin: 0 0 18px; }
.bn-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.bn-footer ul a { color: var(--bn-mute); font-size: 14px; transition: color .2s; }
.bn-footer ul a:hover { color: var(--bn-volt); }
.bn-footer__brand p { color: var(--bn-mute); font-size: 14px; max-width: 34ch; }
.bn-pay { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.bn-pay span { font-size: 11px; font-weight: 700; color: var(--bn-mute); border: 1px solid var(--bn-line); border-radius: 6px; padding: 5px 9px; background: var(--bn-ink); }
.bn-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--bn-line); }
.bn-footer__bottom p { color: var(--bn-mute-2); font-size: 13px; margin: 0; }

/* -------------------------------------------------------------------------- */
/* Sticky add-to-cart mobile (CRO)                                            */
/* -------------------------------------------------------------------------- */
.bn-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; background: rgba(11,15,20,.92); backdrop-filter: blur(12px); border-top: 1px solid var(--bn-line); padding: 12px 16px; display: none; align-items: center; justify-content: space-between; gap: 14px; transform: translateY(120%); transition: transform .3s var(--bn-ease); }
.bn-sticky-buy.is-on { transform: translateY(0); }
.bn-sticky-buy b { font-family: var(--bn-font-display); font-size: 18px; }

/* -------------------------------------------------------------------------- */
/* Animazioni reveal                                                          */
/* -------------------------------------------------------------------------- */
.bn-reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s var(--bn-ease), transform .6s var(--bn-ease); }
.bn-reveal.is-in { opacity: 1; transform: none; }

/* -------------------------------------------------------------------------- */
/* WooCommerce integration overrides                                          */
/* -------------------------------------------------------------------------- */
.woocommerce-store-notice, .demo_store { display: none !important; }
.bn .woocommerce ul.products { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; margin: 0; }
.bn .woocommerce ul.products li.product { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: var(--bn-radius); padding: 18px; text-align: left; transition: transform .3s var(--bn-ease), border-color .3s; }
.bn .woocommerce ul.products li.product:hover { transform: translateY(-6px); border-color: var(--bn-volt); }
.bn .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--bn-font-display); font-size: 19px; color: var(--bn-white); padding: 12px 0 4px; }
.bn .woocommerce ul.products li.product .price { color: var(--bn-volt); font-family: var(--bn-font-display); font-size: 22px; }
.bn .woocommerce ul.products li.product .price del { color: var(--bn-mute-2); }
.bn .woocommerce a.button, .bn .woocommerce button.button, .bn .woocommerce #respond input#submit, .bn .woocommerce .single_add_to_cart_button {
  background: var(--bn-volt) !important; color: var(--bn-ink) !important; font-family: var(--bn-font-display) !important;
  text-transform: uppercase; letter-spacing: .04em; font-weight: 800 !important; border-radius: 999px !important;
  padding: 14px 26px !important; transition: transform .25s, box-shadow .25s !important;
}
.bn .woocommerce a.button:hover, .bn .woocommerce button.button:hover, .bn .woocommerce .single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: var(--bn-shadow-volt); }
.bn .woocommerce span.onsale { background: var(--bn-volt); color: var(--bn-ink); font-family: var(--bn-font-display); border-radius: 999px; }
.bn .woocommerce div.product .product_title { font-family: var(--bn-font-display); }
.bn .woocommerce div.product p.price, .bn .woocommerce div.product span.price { color: var(--bn-volt); font-family: var(--bn-font-display); font-size: 30px; }
.bn .woocommerce .woocommerce-message, .bn .woocommerce-info { border-top-color: var(--bn-volt); background: var(--bn-ink-2); color: var(--bn-white); }

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */
@media (max-width: 960px) {
  .bn-section { padding: 72px 0; }
  .bn-hero__grid, .bn-split, .bn-offer { grid-template-columns: 1fr; }
  .bn-products, .bn-benefits, .bn-testi { grid-template-columns: 1fr 1fr; }
  .bn-stats { grid-template-columns: 1fr 1fr; gap: 30px; }
  .bn-timeline { grid-template-columns: 1fr; }
  .bn-step, .bn-step:first-child, .bn-step:last-child { border-radius: var(--bn-radius); border-left: 1px solid var(--bn-line); margin-bottom: -1px; }
  .bn-footer__grid { grid-template-columns: 1fr 1fr; }
  .bn-nav { display: none; }
  .bn-burger { display: inline-flex; }
  .bn .woocommerce ul.products { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .bn-products, .bn-benefits, .bn-testi, .bn-stats, .bn-footer__grid { grid-template-columns: 1fr; }
  .bn-offer { padding: 32px 22px; }
  .bn-lead { padding: 40px 22px; }
  .bn-sticky-buy { display: flex; }
  .bn .woocommerce ul.products { grid-template-columns: 1fr; }
  .bn-hero { padding: 48px 0; }
}

/* ==========================================================================
   PAGINA PRODOTTO (PDP) — CRO
   ========================================================================== */
.bn-breadcrumb { font-size: 13px; color: var(--bn-mute); padding: 22px 0; }
.bn-breadcrumb a:hover { color: var(--bn-volt); }
.bn-breadcrumb span { color: var(--bn-mute-2); }

.bn-pdp { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: start; padding-top: 12px; }
.bn-pdp__gallery { position: sticky; top: 98px; }
.bn-pdp__main { aspect-ratio: 1/1; border-radius: var(--bn-radius); background: linear-gradient(160deg,#11161d,#0b0f14); border: 1px solid var(--bn-line); display: grid; place-items: center; overflow: hidden; position: relative; }
.bn-pdp__main .bn-hero__sachet { width: 42%; }
.bn-pdp__badge { position: absolute; top: 18px; left: 18px; font-family: var(--bn-font-display); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: 7px 13px; border-radius: 999px; background: var(--bn-volt); color: var(--bn-ink); }
.bn-pdp__thumbs { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 14px; }
.bn-pdp__thumb { aspect-ratio: 1/1; border-radius: 10px; background: linear-gradient(160deg,#161b20,#0b0f14); border: 1px solid var(--bn-line); cursor: pointer; transition: border-color .2s; }
.bn-pdp__thumb:hover, .bn-pdp__thumb.is-active { border-color: var(--bn-volt); }

.bn-pdp__cat { font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; color: var(--bn-volt); }
.bn-pdp h1 { font-size: clamp(32px,4vw,46px); margin: 8px 0 12px; }
.bn-pdp__rating { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: 14px; color: var(--bn-mute); }
.bn-pdp__price { display: flex; align-items: baseline; gap: 12px; margin: 6px 0 22px; }
.bn-pdp__price .now { font-family: var(--bn-font-display); font-size: 40px; font-weight: 800; color: var(--bn-volt); }
.bn-pdp__price .was { font-size: 20px; color: var(--bn-mute-2); text-decoration: line-through; }
.bn-pdp__price .unit { font-size: 14px; color: var(--bn-mute); }
.bn-pdp__desc { color: var(--bn-mute); margin-bottom: 26px; }

.bn-opt { margin-bottom: 22px; }
.bn-opt__label { font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; margin-bottom: 10px; display: flex; justify-content: space-between; }
.bn-opt__label span { color: var(--bn-volt); }
.bn-opts { display: flex; gap: 10px; flex-wrap: wrap; }
.bn-opt-pill { border: 1.5px solid var(--bn-line); background: var(--bn-ink-2); border-radius: 12px; padding: 12px 16px; cursor: pointer; font-weight: 600; font-size: 14px; transition: border-color .2s, background .2s; text-align: center; line-height: 1.3; }
.bn-opt-pill small { display: block; font-size: 12px; color: var(--bn-mute); font-weight: 500; }
.bn-opt-pill:hover { border-color: var(--bn-mute); }
.bn-opt-pill.is-active { border-color: var(--bn-volt); background: rgba(56,182,255,.1); }
.bn-opt-pill.is-active small { color: var(--bn-volt); }
.bn-opt-pill .save { color: var(--bn-volt); font-weight: 700; }

.bn-buybar { display: flex; gap: 12px; align-items: stretch; margin: 8px 0 18px; }
.bn-qty { display: flex; align-items: center; border: 1.5px solid var(--bn-line); border-radius: 999px; overflow: hidden; }
.bn-qty button { background: none; border: 0; color: var(--bn-white); width: 46px; font-size: 20px; cursor: pointer; }
.bn-qty input { width: 44px; text-align: center; background: none; border: 0; color: var(--bn-white); font-weight: 700; font-size: 16px; }
.bn-pdp__atc { flex: 1; }
.bn-pdp__reassure { font-size: 14px; color: var(--bn-mute); }
.bn-pdp__reassure b { color: var(--bn-white); }

.bn-pdp__accordions { margin-top: 30px; }

/* Valori nutrizionali */
.bn-nutri { width: 100%; border-collapse: collapse; font-size: 15px; }
.bn-nutri th, .bn-nutri td { text-align: left; padding: 12px 0; border-bottom: 1px solid var(--bn-line); }
.bn-nutri th { color: var(--bn-mute); font-weight: 600; }
.bn-nutri td { text-align: right; font-family: var(--bn-font-display); font-weight: 700; }
.bn-nutri tr:last-child th, .bn-nutri tr:last-child td { border-bottom: 0; }

/* Recensioni */
.bn-reviews { display: grid; gap: 18px; }
.bn-review { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: var(--bn-radius-sm); padding: 22px; }
.bn-review__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.bn-review__top b { font-size: 15px; }
.bn-review__top .ver { font-size: 12px; color: var(--bn-volt); }
.bn-review p { margin: 0; color: var(--bn-mute); }
.bn-rev-summary { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; margin-bottom: 32px; }
.bn-rev-summary .big { font-family: var(--bn-font-display); font-size: 64px; line-height: 1; color: var(--bn-volt); }

/* ==========================================================================
   PAGINE STATICHE (Chi siamo, Ambassador)
   ========================================================================== */
.bn-pagehero { padding: 80px 0 56px; position: relative; overflow: hidden; }
.bn-pagehero::before { content:""; position:absolute; inset:0; background: radial-gradient(60% 70% at 80% 0%, rgba(56,182,255,.14), transparent 60%); pointer-events:none; }
.bn-pagehero__inner { position: relative; max-width: 760px; }
.bn-prose { max-width: 760px; font-size: 18px; color: var(--bn-mute); }
.bn-prose h2 { color: var(--bn-white); margin-top: 40px; }
.bn-prose strong, .bn-prose b { color: var(--bn-white); }
.bn-prose blockquote { border-left: 3px solid var(--bn-volt); margin: 28px 0; padding: 6px 0 6px 24px; font-size: 22px; color: var(--bn-white); font-family: var(--bn-font-display); }

/* Ambassador grid */
.bn-amb { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.bn-amb__card { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: var(--bn-radius); overflow: hidden; transition: transform .3s var(--bn-ease), border-color .3s; }
.bn-amb__card:hover { transform: translateY(-6px); border-color: var(--bn-volt); }
.bn-amb__photo { aspect-ratio: 3/4; background: linear-gradient(160deg,#1a212b,#0b0f14); display: grid; place-items: center; font-family: var(--bn-font-display); font-size: 54px; color: var(--bn-volt); position: relative; }
.bn-amb__photo .role { position: absolute; bottom: 14px; left: 14px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; background: rgba(0,0,0,.6); border: 1px solid var(--bn-line); color: var(--bn-white); padding: 5px 10px; border-radius: 999px; }
.bn-amb__body { padding: 22px; }
.bn-amb__body h3 { font-size: 20px; text-transform: none; letter-spacing: 0; margin: 0 0 4px; }
.bn-amb__body p { font-size: 14px; color: var(--bn-mute); margin: 0; }

/* Form */
.bn-form { display: grid; gap: 18px; max-width: 620px; }
.bn-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bn-field label { display: block; font-size: 13px; font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .06em; color: var(--bn-mute); margin-bottom: 8px; }
.bn-field input, .bn-field select, .bn-field textarea { width: 100%; padding: 15px 18px; border-radius: 12px; border: 1.5px solid var(--bn-line); background: var(--bn-ink-2); color: var(--bn-white); font-size: 15px; font-family: var(--bn-font-body); }
.bn-field input:focus, .bn-field select:focus, .bn-field textarea:focus { outline: none; border-color: var(--bn-volt); }
.bn-field textarea { min-height: 120px; resize: vertical; }

@media (max-width: 960px) {
  .bn-pdp { grid-template-columns: 1fr; gap: 32px; }
  .bn-pdp__gallery { position: static; }
  .bn-amb { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .bn-amb, .bn-form__row { grid-template-columns: 1fr; }
  .bn-buybar { flex-direction: column; }
}

/* ==========================================================================
   HERO SPLIT — testo a sinistra, video "incorniciato" a destra
   Desktop: video pinnato che scorre frame-by-frame con lo scroll.
   Mobile: video in cornice sopra, autoplay loop, testo sotto.
   ========================================================================== */
.bn-cine { position: relative; height: 320vh; }
.bn-cine__sticky { position: sticky; top: 0; min-height: 100vh; display: flex; align-items: center; }
.bn-cine__inner {
  max-width: var(--bn-maxw); margin: 0 auto; width: 100%; padding: 0 24px;
  display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: center;
}

/* --- Colonna testo --- */
.bn-cine__text { position: relative; z-index: 2; }
.bn-cine__caps { position: relative; min-height: 280px; }
.bn-cine__cap {
  position: absolute; inset: 0; opacity: 0; transform: translateY(22px);
  transition: opacity .55s var(--bn-ease), transform .55s var(--bn-ease); pointer-events: none;
}
.bn-cine__cap.is-on { opacity: 1; transform: none; pointer-events: auto; }
.bn-cine__cap h1 { font-size: clamp(38px, 5vw, 72px); line-height: .98; margin: 0 0 16px; }
.bn-cine__cap h1 em { font-style: normal; color: var(--bn-volt); }
.bn-cine__cap p { font-size: clamp(16px, 1.6vw, 20px); color: var(--bn-mute); max-width: 42ch; margin: 0; }
.bn-cine__num { display: block; font-family: var(--bn-font-display); font-weight: 800; color: var(--bn-volt); font-size: clamp(64px, 9vw, 132px); line-height: .85; letter-spacing: -.03em; margin-bottom: 6px; }
.bn-cine__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.bn-cine__trust { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }

/* indicatore di avanzamento (pallini) */
.bn-cine__dots { display: flex; gap: 10px; margin-top: 30px; }
.bn-cine__dots span { width: 28px; height: 4px; border-radius: 999px; background: var(--bn-line); transition: background .3s; }
.bn-cine__dots span.is-on { background: var(--bn-volt); }

/* --- Cornice video --- */
.bn-cine__frame {
  position: relative; width: 100%; aspect-ratio: 16/10; max-height: 72vh; margin: 0 auto;
  border-radius: 24px; overflow: hidden; border: 1px solid var(--bn-line);
  background: #06080a; box-shadow: var(--bn-shadow);
}
.bn-cine__frame::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow: inset 0 0 120px rgba(0,0,0,.5); }
.bn-cine__video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; background: #06080a; will-change: contents;
}
/* glow dietro la cornice */
.bn-cine__frame-wrap { position: relative; }
.bn-cine__frame-wrap::before { content:""; position:absolute; inset:-12% -8% -12% -8%; z-index:-1; background: radial-gradient(60% 60% at 50% 30%, rgba(56,182,255,.18), transparent 70%); filter: blur(10px); }
/* barra progresso sul fondo della cornice */
.bn-cine__bar { position: absolute; z-index: 3; left: 0; bottom: 0; height: 3px; width: 0; background: var(--bn-volt); box-shadow: 0 0 14px rgba(56,182,255,.7); transition: width .1s linear; }

/* indicatore scroll */
.bn-cine__hint {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: 22px; z-index: 2;
  font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .25em; font-size: 11px;
  color: var(--bn-mute); display: flex; flex-direction: column; align-items: center; gap: 8px; transition: opacity .4s;
}
.bn-cine__hint .mouse { width: 22px; height: 34px; border: 2px solid var(--bn-line); border-radius: 14px; position: relative; }
.bn-cine__hint .mouse::after { content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:3px; height:6px; border-radius:3px; background: var(--bn-volt); animation: bn-wheel 1.5s infinite; }
@keyframes bn-wheel { 0%{opacity:0;transform:translate(-50%,0)} 30%{opacity:1} 100%{opacity:0;transform:translate(-50%,11px)} }

/* --- MOBILE: niente pin, video in cornice + autoplay loop, testo sotto --- */
@media (max-width: 900px) {
  .bn-cine { height: auto; }
  .bn-cine__sticky { position: static; min-height: 0; padding: 40px 0 8px; }
  .bn-cine__inner { grid-template-columns: 1fr; gap: 28px; }
  .bn-cine__frame-wrap { order: -1; }
  .bn-cine__frame { aspect-ratio: 16/11; max-height: 56vh; }
  .bn-cine__caps { min-height: 0; }
  .bn-cine__cap { position: static; opacity: 1; transform: none; }
  .bn-cine__cap:not(.is-on) { display: none; }   /* su mobile mostriamo solo la prima scena */
  .bn-cine__hint, .bn-cine__dots { display: none; }
  .bn-cine__cap h1 { font-size: clamp(34px, 9vw, 52px); }
}

/* Reduced motion: layout statico, prima scena visibile */
@media (prefers-reduced-motion: reduce) {
  .bn-cine { height: auto; }
  .bn-cine__sticky { position: static; }
  .bn-cine__cap { position: static; opacity: 1; transform: none; }
  .bn-cine__cap:not(.is-on) { display: none; }
  .bn-cine__hint { display: none; }
}

/* Canvas sequenza-frame (stile Apple) sovrapposto al video di fallback */
.bn-cine__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: none; z-index: 1; background: #06080a; }
.bn-cine.frames-on .bn-cine__canvas { display: block; }
.bn-cine.frames-on .bn-cine__video { visibility: hidden; }

/* ==========================================================================
   HERO TEMA CHIARO — fondo bianco seamless (il video è girato su bianco).
   Niente cornice: prodotto + burst si integrano nella pagina, bordi sfumati.
   ========================================================================== */
.bn-cine.is-light { background: #ffffff; color: var(--bn-ink); }
.bn-cine.is-light .bn-cine__cap h1 { color: #0B0F14; }
.bn-cine.is-light .bn-cine__cap h1 em { color: var(--bn-cyan); }
.bn-cine.is-light .bn-cine__cap p { color: #5B6573; }
.bn-cine.is-light .bn-cine__num { color: var(--bn-cyan); }
.bn-cine.is-light .bn-eyebrow { color: var(--bn-cyan); }
.bn-cine.is-light .bn-eyebrow::before { background: var(--bn-cyan); }

/* bottoni su bianco */
.bn-cine.is-light .bn-btn--ghost { color: #0B0F14; border-color: rgba(0,0,0,.16); }
.bn-cine.is-light .bn-btn--ghost:hover { color: var(--bn-volt-2); border-color: var(--bn-volt); }

/* chip e pallini su bianco */
.bn-cine.is-light .bn-pill { background: #F1F4F6; border-color: rgba(0,0,0,.07); color: #5B6573; }
.bn-cine.is-light .bn-cine__dots span { background: rgba(0,0,0,.12); }
.bn-cine.is-light .bn-cine__dots span.is-on { background: var(--bn-volt); }

/* media SENZA cornice: il prodotto su bianco si fonde con la sezione */
.bn-cine.is-light .bn-cine__frame {
  border: 0; box-shadow: none; background: transparent; border-radius: 0; overflow: visible; max-height: 80vh;
  -webkit-mask: radial-gradient(130% 118% at 50% 47%, #000 70%, transparent 100%);
          mask: radial-gradient(130% 118% at 50% 47%, #000 70%, transparent 100%);
}
.bn-cine.is-light .bn-cine__frame::after { display: none; }
.bn-cine.is-light .bn-cine__frame-wrap::before { display: none; }
.bn-cine.is-light .bn-cine__canvas,
.bn-cine.is-light .bn-cine__video { background: transparent; }

/* hint scroll su bianco */
.bn-cine.is-light .bn-cine__hint { color: #5B6573; }
.bn-cine.is-light .bn-cine__hint .mouse { border-color: rgba(0,0,0,.28); }

/* la barra di avanzamento resta blu ma più discreta sul chiaro */
.bn-cine.is-light .bn-cine__bar { box-shadow: 0 0 10px rgba(56,182,255,.5); opacity: .9; }

@media (max-width: 900px) {
  .bn-cine.is-light .bn-cine__frame { max-height: 60vh; }
}

/* ==========================================================================
   HERO CINEMATOGRAFICO — video reale del brand a tutto schermo (loop), con
   velatura e titolo sovrimpresso. Tema scuro, coerente col sito.
   ========================================================================== */
.bn-vh { position: relative; height: 92vh; min-height: 560px; max-height: 940px; overflow: hidden; background: #000; display: flex; align-items: flex-end; }
.bn-vh__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.bn-vh__scrim {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 50%, rgba(0,0,0,.55) 78%, rgba(0,0,0,.92) 100%),
    linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.15) 46%, rgba(0,0,0,0) 70%);
}
.bn-vh__inner { position: relative; z-index: 2; width: 100%; max-width: var(--bn-maxw); margin: 0 auto; padding: 0 24px 70px; }
.bn-vh__title { font-size: clamp(44px, 7vw, 104px); line-height: .94; margin: 0 0 18px; max-width: 16ch; }
.bn-vh__title em { font-style: normal; color: var(--bn-volt); }
.bn-vh__sub { font-size: clamp(17px, 2vw, 21px); color: rgba(255,255,255,.85); max-width: 46ch; margin: 0 0 28px; }
.bn-vh__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 22px; }
.bn-vh__trust { display: flex; gap: 10px; flex-wrap: wrap; }
.bn-vh__trust .bn-pill { background: rgba(0,0,0,.4); backdrop-filter: blur(6px); border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.92); }
.bn-vh__trust .bn-pill svg { color: var(--bn-volt); }

/* indicatore scroll */
.bn-vh__hint { position: absolute; z-index: 2; right: 28px; bottom: 30px; display: flex; flex-direction: column; align-items: center; gap: 8px; font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .25em; font-size: 11px; color: rgba(255,255,255,.7); }
.bn-vh__hint .mouse { width: 22px; height: 34px; border: 2px solid rgba(255,255,255,.45); border-radius: 14px; position: relative; }
.bn-vh__hint .mouse::after { content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:3px; height:6px; border-radius:3px; background: var(--bn-volt); animation: bn-wheel 1.5s infinite; }

@media (max-width: 700px) {
  .bn-vh { height: 88vh; min-height: 480px; align-items: flex-end; }
  .bn-vh__inner { padding-bottom: 48px; }
  .bn-vh__title { font-size: clamp(38px, 11vw, 60px); }
  .bn-vh__hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bn-vh__video { display: none; }
  .bn-vh { background: #06080a center/cover no-repeat; }
}

/* ==========================================================================
   FIX — barra annuncio premium (icone SVG) + robustezza mobile
   ========================================================================== */
/* niente scroll orizzontale accidentale */
html, body.bn-theme, .bn { max-width: 100%; overflow-x: hidden; }

/* Barra annuncio: icone a tratto, una riga pulita */
.bn-announce { background: var(--bn-volt); color: var(--bn-ink); padding: 0; }
.bn-announce__track { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; min-height: 40px; padding: 6px 16px; }
.bn-announce__item { display: inline-flex; align-items: center; gap: 9px; padding: 2px 20px; font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .07em; font-weight: 700; font-size: 12px; }
.bn-announce__item svg { width: 15px; height: 15px; flex: 0 0 auto; }
.bn-announce__item b { font-weight: 800; }
.bn-announce__sep { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .45; }

@media (max-width: 720px) {
  /* su mobile teniamo solo il messaggio chiave: niente wrapping disordinato */
  .bn-announce__sep, .bn-announce__item:not(:first-child) { display: none; }
  .bn-announce__item { padding: 2px 12px; font-size: 11.5px; }
}

/* Header più ordinato su mobile (niente affollamento → niente “sbarella”) */
@media (max-width: 600px) {
  .bn-header__inner { height: 64px; }
  .bn-header__cta { gap: 12px; }
  .bn-header__cta .bn-btn--primary { display: none; }   /* il CTA resta nel menu/hamburger */
  .bn-logo { font-size: 18px; }
  .bn-logo__mark { width: 26px; height: 26px; }
}

/* ==========================================================================
   FIX MOBILE — niente overflow orizzontale: titoli che vanno a capo + size
   ========================================================================== */
@media (max-width: 760px) {
  /* tutti i titoli vanno a capo, niente parole che sforano */
  .bn h1, .bn h2, .bn h3, .bn h4,
  .bn-vh__title, .bn-hv__title, .bn-h2, .bn-display, .bn-cine__num {
    overflow-wrap: break-word; word-break: break-word; hyphens: auto;
  }
  /* dimensioni hero e heading più contenute su telefono */
  .bn-vh__title { font-size: clamp(28px, 7.4vw, 42px); max-width: 100%; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .bn-vh__sub  { font-size: 15px; max-width: 100%; }
  .bn-h2       { font-size: clamp(26px, 7.2vw, 38px); }
  .bn-display  { font-size: clamp(30px, 8.4vw, 46px); }
  .bn-lead     { font-size: 16px; }

  /* contenitori flex/grid: permetti il restringimento (evita sforamenti) */
  .bn-strip__row, .bn-strip__item, .bn-vh__inner, .bn-vh__cta, .bn-vh__trust,
  .bn-card, .bn-benefit, .bn-quote, .bn-step, .bn-transporter { min-width: 0; }

  /* il numerone 2:1,5 della sezione scienza non deve sforare */
  .bn-ratio b { font-size: 56px; }
  .bn-ratio { flex-wrap: wrap; }

  /* CTA hero a piena larghezza, impilati */
  .bn-vh__cta { width: 100%; }
  .bn-vh__cta .bn-btn { flex: 1 1 100%; }
}

/* ==========================================================================
   BARRA ANNUNCIO — versione slim premium (scura, non più blu acceso)
   ========================================================================== */
.bn-announce { background: var(--bn-ink-2); color: rgba(255,255,255,.82); border-bottom: 1px solid var(--bn-line); }
.bn-announce__track { min-height: 38px; padding: 5px 16px; }
.bn-announce__item { font-family: var(--bn-font-body); text-transform: none; letter-spacing: .01em; font-weight: 500; font-size: 13px; color: rgba(255,255,255,.8); }
.bn-announce__item b { color: var(--bn-volt); font-weight: 700; letter-spacing: .02em; }
.bn-announce__item svg { width: 15px; height: 15px; color: var(--bn-volt); }
.bn-announce__sep { background: rgba(255,255,255,.28); }

/* ==========================================================================
   WOOCOMMERCE — coerente col tema scuro (shop, prodotto, carrello, checkout)
   ========================================================================== */

/* ---- contenitore generale ---- */
.bn .woocommerce, .bn .woocommerce-page { color: var(--bn-white); }
.bn .woocommerce a { color: var(--bn-white); }
.bn .woocommerce a:hover { color: var(--bn-volt); }
.bn .woocommerce-breadcrumb { color: var(--bn-mute); font-size: 13px; margin-bottom: 24px; }
.bn .woocommerce-breadcrumb a { color: var(--bn-mute); }
.bn .woocommerce-products-header__title,
.bn .woocommerce div.product .product_title { font-family: var(--bn-font-display); color: var(--bn-white); text-transform: uppercase; letter-spacing: -.01em; }
.bn .woocommerce-products-header__title { font-size: clamp(30px,4vw,48px); margin-bottom: 28px; }

/* ---- campi form (select varianti, qty, checkout, ecc.) ---- */
.bn .woocommerce select,
.bn .woocommerce input.input-text,
.bn .woocommerce textarea,
.bn .woocommerce .quantity input.qty,
.bn .woocommerce form .form-row input.input-text,
.bn .woocommerce form .form-row select,
.bn .woocommerce #order_review input,
.bn .woocommerce .select2-selection {
  background: var(--bn-ink-2) !important; border: 1.5px solid var(--bn-line) !important; color: var(--bn-white) !important;
  border-radius: 10px !important; padding: 12px 14px !important; font-size: 15px; min-height: 46px;
}
.bn .woocommerce select:focus, .bn .woocommerce input.input-text:focus, .bn .woocommerce textarea:focus { outline: none; border-color: var(--bn-volt) !important; }
.bn .woocommerce .quantity input.qty { width: 74px; text-align: center; }
.bn .woocommerce label, .bn .woocommerce-checkout label { color: var(--bn-mute); }

/* ---- SCHEDA PRODOTTO: layout 2 colonne, tab/correlati a tutta larghezza ---- */
.bn .woocommerce div.product { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 50px; align-items: start; }
.bn .woocommerce div.product > * { grid-column: 1 / -1; min-width: 0; }
.bn .woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; position: sticky; top: 96px; margin: 0; width: 100% !important; }
.bn .woocommerce div.product > .summary { grid-column: 2; grid-row: 1; margin: 0; }
.bn .woocommerce div.product .woocommerce-product-gallery__wrapper { border: 1px solid var(--bn-line); border-radius: 18px; overflow: hidden; background: var(--bn-ink-2); }
.bn .woocommerce div.product .woocommerce-product-gallery img { border-radius: 0; }
.bn .woocommerce div.product .flex-control-thumbs { margin-top: 12px; display: flex; gap: 10px; padding: 0; }
.bn .woocommerce div.product .flex-control-thumbs li { width: 64px; }
.bn .woocommerce div.product .flex-control-thumbs img { border-radius: 8px; border: 1px solid var(--bn-line); }
.bn .woocommerce span.onsale { background: var(--bn-volt); color: var(--bn-ink); font-family: var(--bn-font-display); border-radius: 999px; top: 14px; left: 14px; min-height: 0; padding: 6px 12px; }

.bn .woocommerce div.product p.price, .bn .woocommerce div.product span.price,
.bn .woocommerce div.product .woocommerce-variation-price .price { color: var(--bn-volt) !important; font-family: var(--bn-font-display); font-size: 32px; font-weight: 800; }
.bn .woocommerce div.product p.price del, .bn .woocommerce div.product span.price del { color: var(--bn-mute-2); font-size: 20px; }
.bn .woocommerce div.product .woocommerce-product-details__short-description { color: var(--bn-mute); margin: 16px 0 22px; }
.bn .woocommerce div.product .woocommerce-product-rating { margin-bottom: 14px; }
.bn .woocommerce .star-rating span::before, .bn .woocommerce .star-rating::before { color: var(--bn-volt); }

/* varianti (Formato / Gusto) */
.bn .woocommerce div.product form.cart { margin-top: 6px; }
.bn .woocommerce div.product form.cart .variations { border: 0; margin: 0 0 18px; }
.bn .woocommerce div.product form.cart .variations td, .bn .woocommerce div.product form.cart .variations th { border: 0; padding: 8px 0; background: none; vertical-align: middle; }
.bn .woocommerce div.product form.cart .variations label { color: var(--bn-white); font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .06em; font-size: 13px; font-weight: 700; margin: 0; }
.bn .woocommerce div.product form.cart .reset_variations { color: var(--bn-mute); font-size: 13px; }
.bn .woocommerce div.product form.cart .button { min-height: 52px; }
.bn .woocommerce div.product .product_meta { color: var(--bn-mute); font-size: 13px; border-top: 1px solid var(--bn-line); padding-top: 16px; margin-top: 22px; }
.bn .woocommerce div.product .product_meta a { color: var(--bn-mute); }
.bn .woocommerce div.product .stock { color: var(--bn-volt); font-weight: 600; }

/* tabs */
.bn .woocommerce div.product .woocommerce-tabs { margin-top: 56px; }
.bn .woocommerce-tabs ul.tabs { border: 0; padding: 0; margin: 0 0 24px; display: flex; gap: 8px; flex-wrap: wrap; }
.bn .woocommerce-tabs ul.tabs::before { display: none; }
.bn .woocommerce-tabs ul.tabs li { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: 999px; margin: 0; padding: 0; }
.bn .woocommerce-tabs ul.tabs li::before, .bn .woocommerce-tabs ul.tabs li::after { display: none; border: 0; }
.bn .woocommerce-tabs ul.tabs li a { color: var(--bn-mute); font-family: var(--bn-font-display); text-transform: uppercase; letter-spacing: .04em; font-size: 13px; font-weight: 700; padding: 11px 20px; }
.bn .woocommerce-tabs ul.tabs li.active { border-color: var(--bn-volt); background: rgba(56,182,255,.1); }
.bn .woocommerce-tabs ul.tabs li.active a { color: var(--bn-volt); }
.bn .woocommerce-tabs .panel { color: var(--bn-mute); }
.bn .woocommerce-tabs .panel h2 { color: var(--bn-white); font-family: var(--bn-font-display); }
.bn .woocommerce table.shop_attributes th, .bn .woocommerce table.shop_attributes td { color: var(--bn-mute); border-color: var(--bn-line); }

/* tabelle (carrello, checkout, ordini) */
.bn .woocommerce table.shop_table { border: 1px solid var(--bn-line); border-radius: 14px; border-collapse: separate; background: var(--bn-ink-2); overflow: hidden; }
.bn .woocommerce table.shop_table th, .bn .woocommerce table.shop_table td { border-top: 1px solid var(--bn-line); color: var(--bn-white); padding: 14px; }
.bn .woocommerce table.cart img { border-radius: 8px; }
.bn .woocommerce .cart-collaterals .cart_totals, .bn .woocommerce-checkout #order_review { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: 14px; padding: 8px 18px; }
.bn .woocommerce .woocommerce-Price-amount, .bn .woocommerce .order-total .amount { color: var(--bn-white); }
.bn .woocommerce-checkout #payment { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: 14px; }
.bn .woocommerce-checkout #payment ul.payment_methods { border-color: var(--bn-line); }
.bn .woocommerce-info, .bn .woocommerce-message, .bn .woocommerce-error { background: var(--bn-ink-2); color: var(--bn-white); border-top-color: var(--bn-volt); border-radius: 8px; }
.bn .woocommerce-info::before, .bn .woocommerce-message::before { color: var(--bn-volt); }

/* shop: ordinamento, conteggio, paginazione */
.bn .woocommerce .woocommerce-result-count { color: var(--bn-mute); }
.bn .woocommerce nav.woocommerce-pagination ul { border: 0; gap: 8px; display: flex; justify-content: center; }
.bn .woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; }
.bn .woocommerce nav.woocommerce-pagination ul li a, .bn .woocommerce nav.woocommerce-pagination ul li span {
  background: var(--bn-ink-2); border: 1px solid var(--bn-line); color: var(--bn-white); border-radius: 10px; padding: 10px 14px; min-width: 44px;
}
.bn .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bn-volt); color: var(--bn-ink); border-color: var(--bn-volt); }

/* recensioni */
.bn .woocommerce #reviews #comments ol.commentlist li .comment-text { background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: 12px; padding: 18px; }
.bn .woocommerce #reviews #comments ol.commentlist li img.avatar { border: 0; border-radius: 999px; }
.bn .woocommerce #review_form .comment-reply-title { color: var(--bn-mute); }

@media (max-width: 860px) {
  .bn .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
  .bn .woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; position: static; }
  .bn .woocommerce div.product > .summary { grid-column: 1; grid-row: auto; }
}

/* ==========================================================================
   MENU — voci da wp_nav_menu (<li>) pulite + pannello mobile a tendina
   ========================================================================== */
.bn-nav, .bn-nav ul { list-style: none; margin: 0; padding: 0; }
.bn-nav li { list-style: none; margin: 0; }
.bn-nav li a { display: inline-flex; align-items: center; }
/* l'underline animato vale anche per le voci dentro <li> */
.bn-nav li a::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 0; height: 2px; background: var(--bn-volt); transition: width .25s var(--bn-ease); }
.bn-nav li a:hover::after { width: 100%; }
.bn-nav li a { position: relative; color: var(--bn-mute); font-size: 14px; font-weight: 600; transition: color .2s; }
.bn-nav li a:hover { color: var(--bn-white); }
.bn-nav .current-menu-item > a, .bn-nav .current_page_item > a { color: var(--bn-white); }

@media (max-width: 960px) {
  /* pannello a tendina sotto l'header */
  .bn-nav {
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    position: absolute; top: 100%; left: 0; right: 0; z-index: 55;
    background: var(--bn-ink-2); border-top: 1px solid var(--bn-line); border-bottom: 1px solid var(--bn-line);
    box-shadow: 0 26px 44px -14px rgba(0,0,0,.65); padding: 6px 0;
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: opacity .22s var(--bn-ease), transform .22s var(--bn-ease), visibility .22s;
  }
  .bn-header.is-open .bn-nav { opacity: 1; visibility: visible; transform: none; }
  .bn-nav a, .bn-nav li a { display: block; width: 100%; padding: 15px 24px; font-size: 16px; color: var(--bn-white); }
  .bn-nav li { width: 100%; border-bottom: 1px solid rgba(255,255,255,.05); }
  .bn-nav li:last-child { border-bottom: 0; }
  .bn-nav a::after, .bn-nav li a::after { display: none; }
  .bn-burger { display: inline-flex; }
  /* burger -> X quando aperto */
  .bn-header.is-open .bn-burger svg { transform: rotate(90deg); transition: transform .2s; }
}

/* Varianti a pillole (nasconde il <select>, mostra pulsanti) */
.bn-varselect-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0 !important; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0 !important; min-height: 0 !important; }
.bn-varpills { display: flex; gap: 10px; flex-wrap: wrap; }
.bn-varpill { border: 1.5px solid var(--bn-line); background: var(--bn-ink-2); color: var(--bn-white); border-radius: 12px; padding: 11px 16px; font-weight: 600; font-size: 14px; font-family: var(--bn-font-body); cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.bn-varpill:hover { border-color: var(--bn-mute); }
.bn-varpill.is-active { border-color: var(--bn-volt); background: rgba(56,182,255,.12); color: var(--bn-volt); }
.bn-varpill.is-disabled { opacity: .32; cursor: not-allowed; text-decoration: line-through; }

/* ==========================================================================
   FIX vari richiesti: back-to-top, footer mobile compatto, wrap titoli
   ========================================================================== */

/* Back-to-top del plugin (trx_addons) ridisegnato: cerchio scuro + freccia blu
   (prima mostrava un quadrato bianco perché l'icona-font non è caricata) */
.trx_addons_scroll_to_top {
  width: 46px !important; height: 46px !important; line-height: 46px !important;
  border-radius: 999px !important; background: var(--bn-ink-2) !important;
  border: 1px solid var(--bn-line) !important; color: transparent !important;
  box-shadow: 0 12px 30px -10px rgba(0,0,0,.7) !important;
  right: 20px !important; bottom: 20px !important; text-indent: 0 !important;
}
.trx_addons_scroll_to_top::before { content: "" !important; }
.trx_addons_scroll_to_top::after {
  content: ""; position: absolute; left: 50%; top: 52%; width: 11px; height: 11px;
  border-top: 2px solid var(--bn-volt); border-right: 2px solid var(--bn-volt);
  transform: translate(-50%,-50%) rotate(-45deg);
}
.trx_addons_scroll_to_top:hover { border-color: var(--bn-volt) !important; transform: translateY(-3px); transition: transform .2s, border-color .2s; }

/* Titoli h2: niente capovolgo strani su mobile (es. "...ne assorbi.") */
.bn-h2 { text-wrap: balance; }
@media (max-width: 760px) {
  .bn-h2 br { display: none; }           /* lascia fluire il testo, niente a-capo forzati */
  .bn-h2 .bn-volt { white-space: nowrap; }
}

/* Footer più compatto su mobile (meno scroll) */
@media (max-width: 700px) {
  .bn-footer { padding: 40px 0 22px; }
  .bn-footer__grid { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .bn-footer__brand { grid-column: 1 / -1; }
  .bn-footer__brand p { display: none; }
  .bn-footer h5 { margin-bottom: 10px; }
  .bn-footer ul { gap: 9px; }
  .bn-footer ul a { font-size: 13px; }
  .bn-footer__bottom { margin-top: 26px; padding-top: 18px; flex-direction: column; align-items: flex-start; gap: 6px; }
  .bn-footer__bottom p { font-size: 11px; }
  .bn-pay { margin-top: 12px; }
}

/* ---- Shop loop: card prodotto rifinite ---- */
.bn .woocommerce ul.products { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; margin: 0; padding: 0; }
.bn .woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; display: flex; flex-direction: column; }
.bn .woocommerce ul.products li.product a img,
.bn .woocommerce ul.products li.product img { border-radius: 10px; margin: 0 0 14px; width: 100%; aspect-ratio: 1/1; object-fit: cover; background: var(--bn-ink); }
.bn .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 6px 0 2px; font-size: 18px; }
.bn .woocommerce ul.products li.product .price { display: block; margin: 0 0 4px; flex: 1; }
.bn .woocommerce ul.products li.product .button,
.bn .woocommerce ul.products li.product .added_to_cart { display: block; width: 100%; text-align: center; margin-top: 12px; }
.bn .woocommerce .woocommerce-ordering { margin: 0 0 26px; }
.bn .woocommerce .woocommerce-result-count { margin-bottom: 26px; }
@media (max-width: 860px) { .bn .woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 16px; } }
@media (max-width: 520px) { .bn .woocommerce ul.products { grid-template-columns: 1fr; } }

/* fix griglia shop: gli pseudo clearfix di WooCommerce non devono occupare celle del grid */
.bn .woocommerce ul.products::before, .bn .woocommerce ul.products::after { content: none !important; display: none !important; }

/* ==========================================================================
   SCHEDA PRODOTTO — premium uplift + TAB scure (override bulletproof WooCommerce)
   ========================================================================== */
/* respiro e gerarchia */
.bn .woocommerce div.product { gap: 56px; }
.bn .woocommerce div.product .product_title { font-size: clamp(28px,3.2vw,44px); line-height: 1; margin: 0 0 14px; }
.bn .woocommerce div.product p.price, .bn .woocommerce div.product span.price { font-size: 34px; line-height: 1; display: inline-block; margin: 4px 0 18px; }
.bn .woocommerce div.product .woocommerce-product-details__short-description { font-size: 16px; line-height: 1.65; margin: 0 0 24px; }
.bn .woocommerce div.product .single-product-trust, .bn .woocommerce div.product .bn-single-trust { margin: 4px 0 22px !important; }
.bn .woocommerce div.product form.cart { padding: 22px; background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: 16px; }
.bn .woocommerce div.product form.cart .quantity { margin-right: 10px; }
.bn .woocommerce div.product .product_meta { font-size: 12px; letter-spacing: .02em; }

/* galleria premium */
.bn .woocommerce div.product .woocommerce-product-gallery__wrapper { padding: 16px; }
.bn .woocommerce div.product .woocommerce-product-gallery img { border-radius: 12px; }

/* TAB -> stile scuro a pillole (batte la specificità di WooCommerce) */
.bn .woocommerce div.product .woocommerce-tabs { margin-top: 56px; }
.bn .woocommerce div.product .woocommerce-tabs ul.tabs {
  background: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 26px !important;
  display: flex !important; gap: 8px; flex-wrap: wrap;
}
.bn .woocommerce div.product .woocommerce-tabs ul.tabs::before,
.bn .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; content: none !important; border: 0 !important; }
.bn .woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--bn-ink-2) !important; border: 1px solid var(--bn-line) !important;
  border-radius: 999px !important; margin: 0 !important; padding: 0 !important; bottom: 0 !important;
}
.bn .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.bn .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; content: none !important; border: 0 !important; box-shadow: none !important; }
.bn .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--bn-mute) !important; font-family: var(--bn-font-display); text-transform: uppercase;
  letter-spacing: .05em; font-size: 13px; font-weight: 700; padding: 11px 20px !important; display: block;
}
.bn .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: rgba(56,182,255,.12) !important; border-color: var(--bn-volt) !important;
}
.bn .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bn-volt) !important; }
.bn .woocommerce div.product .woocommerce-tabs .panel { color: var(--bn-mute) !important; padding: 0; }
.bn .woocommerce div.product .woocommerce-tabs .panel h2 { color: var(--bn-white); font-family: var(--bn-font-display); font-size: 24px; }
.bn .woocommerce #reviews .comment-form-rating label, .bn .woocommerce #reviews .comment-notes { color: var(--bn-mute); }

/* etichetta variante + pillole più premium */
.bn .woocommerce div.product form.cart .variations label { font-size: 12px; letter-spacing: .1em; color: var(--bn-mute); }
.bn-varpill { padding: 12px 18px; border-radius: 999px; }

/* ==========================================================================
   IMMAGINI PRODOTTO su "tile" chiaro — uniformi e premium su tema scuro
   (le foto su fondo bianco si fondono nella piastrella)
   ========================================================================== */
.bn .woocommerce ul.products li.product img,
.bn .woocommerce ul.products li.product a img {
  background: linear-gradient(180deg,#ffffff 0%,#eef1f5 100%) !important;
  object-fit: contain !important; padding: 12px; aspect-ratio: 1/1;
  border-radius: 14px !important; width: 100% !important; margin: 0 0 14px !important;
}
/* Scheda prodotto: galleria sulla stessa piastrella chiara */
.bn .woocommerce div.product .woocommerce-product-gallery__wrapper {
  background: linear-gradient(180deg,#ffffff 0%,#eef1f5 100%) !important; padding: 18px;
}
.bn .woocommerce div.product .woocommerce-product-gallery img { background: transparent !important; border-radius: 10px; }
.bn .woocommerce div.product .woocommerce-product-gallery { border-radius: 18px; overflow: hidden; }

/* ==========================================================================
   ███ MAURTEN MODE ███ — redesign chiaro/minimale (override globale)
   Sovrascrive il tema scuro: bianco, near-black, Inter Tight, type enorme,
   linee sottili, UI essenziale.
   ========================================================================== */
:root {
  --bn-ink:    #ffffff;   /* sfondo = bianco */
  --bn-ink-2:  #f4f4f2;   /* sezioni off-white */
  --bn-ink-3:  #ececea;
  --bn-line:   #e4e4e0;   /* linee sottili chiare */
  --bn-volt:   #0a0a0a;   /* accento = near-black (monocromo) */
  --bn-volt-2: #000000;
  --bn-cyan:   #6f6f6f;
  --bn-white:  #0a0a0a;   /* "white" usato come TESTO = near-black */
  --bn-mute:   #767676;
  --bn-mute-2: #a6a6a6;
  --bn-font-display: "Inter Tight", system-ui, -apple-system, sans-serif;
  --bn-font-body:    "Inter Tight", system-ui, -apple-system, sans-serif;
  --bn-shadow: 0 2px 24px -12px rgba(0,0,0,.18);
  --bn-shadow-volt: none;
}
body.bn-theme, .bn { background: #fff; color: #0a0a0a; font-size: 16px; -webkit-font-smoothing: antialiased; }
.bn h1,.bn h2,.bn h3,.bn h4 { text-transform: none !important; letter-spacing: -.035em; font-weight: 700; }
.bn strong { color: #0a0a0a; }
.bn-section { padding: 120px 0; }
.bn-section--tight { padding: 80px 0; }

/* eyebrow: minuscola etichetta uppercase sottile (unico uso del maiuscolo) */
.bn-eyebrow { color: #0a0a0a; letter-spacing: .18em; font-weight: 600; font-size: 11px; }
.bn-eyebrow::before { background: #0a0a0a; }
.bn-lead { color: #555; }
.bn-mute { color: var(--bn-mute); }
.bn-volt, .bn-cyan { color: #0a0a0a; }

/* Bottoni minimali */
.bn-btn { text-transform: none; letter-spacing: 0; font-weight: 600; font-family: var(--bn-font-body); border-radius: 999px; }
.bn-btn--primary { background: #0a0a0a; color: #fff; box-shadow: none; }
.bn-btn--primary:hover { background: #000; transform: none; box-shadow: none; }
.bn-btn--ghost { background: none; color: #0a0a0a; border-color: #d9d9d4; }
.bn-btn--ghost:hover { background: none; color: #0a0a0a; border-color: #0a0a0a; transform: none; }
.bn-pill { background: #fff; border: 1px solid var(--bn-line); color: #444; }
.bn-pill svg { color: #0a0a0a; }

/* Barra annuncio: sottile, chiara */
.bn-announce { background: #fff; color: #555; border-bottom: 1px solid var(--bn-line); }
.bn-announce__item { color: #555; font-family: var(--bn-font-body); text-transform: none; letter-spacing: .01em; font-weight: 500; font-size: 12.5px; }
.bn-announce__item b { color: #0a0a0a; }
.bn-announce__sep { background: #cfcfca; }

/* Header chiaro */
.bn-header { background: rgba(255,255,255,.85); border-bottom: 1px solid var(--bn-line); }
.bn-logo, .bn-logo b { color: #0a0a0a; }
.bn-logo__mark path { stroke: #0a0a0a !important; }
.bn-nav a, .bn-nav li a { color: #555; font-weight: 500; }
.bn-nav a:hover, .bn-nav li a:hover { color: #0a0a0a; }
.bn-nav a::after, .bn-nav li a::after { background: #0a0a0a; }
.bn-cart, .bn-burger { color: #0a0a0a; }
.bn-cart__count { background: #0a0a0a; color: #fff; }
@media (max-width:960px){ .bn-nav { background: #fff; border-color: var(--bn-line); } .bn-nav a { color: #0a0a0a; } }

/* HERO: immagine monocroma + type enorme nero, in stile Maurten */
.bn-vh { background: #f4f4f2; height: 94vh; align-items: flex-end; }
.bn-vh__video { filter: grayscale(1) contrast(1.04) brightness(1.02); opacity: .92; }
.bn-vh__scrim { background:
  linear-gradient(180deg, rgba(244,244,242,.4) 0%, rgba(244,244,242,0) 30%, rgba(244,244,242,.2) 60%, rgba(244,244,242,.92) 100%); }
.bn-vh__inner { max-width: var(--bn-maxw); }
.bn-vh__title { color: #0a0a0a; font-size: clamp(52px, 9vw, 140px); line-height: .92; letter-spacing: -.04em; font-weight: 700; }
.bn-vh__title em { color: #0a0a0a; font-style: normal; }
.bn-vh__sub { color: #333; font-size: clamp(16px,1.5vw,19px); }
.bn-vh__cta .bn-btn--ghost { border-color: #c9c9c4; }
.bn-vh__trust .bn-pill { background: rgba(255,255,255,.7); border-color: var(--bn-line); color: #333; backdrop-filter: blur(4px); }
.bn-vh__hint { color: #777; }
.bn-vh__hint .mouse { border-color: #bbb; }

/* Strip, stats */
.bn-strip { background: #fff; border-color: var(--bn-line); }
.bn-strip__item { color: #444; }
.bn-strip__item svg { color: #0a0a0a; }
.bn-stat { border-color: var(--bn-line); }
.bn-stat b { color: #0a0a0a; }
.bn-stat span { color: var(--bn-mute); }

/* Card scienza, prodotti, benefit, quote, step: flat e chiari */
.bn-science-card, .bn-card, .bn-benefit, .bn-quote, .bn-step, .bn-transporter, .bn-offer, .bn-amb__card, .bn-review, .bn-field input, .bn-field select, .bn-field textarea {
  background: #f4f4f2 !important; border: 1px solid var(--bn-line) !important; border-radius: 8px;
}
.bn-card { box-shadow: none; }
.bn-card:hover { transform: none; border-color: #cfcfca !important; box-shadow: 0 18px 40px -24px rgba(0,0,0,.18); }
.bn-card__media, .bn-card__media .gel, .bn-hero__sachet, .bn-hero__prod { background: linear-gradient(180deg,#fff,#ececea) !important; }
.bn-card__media .gel .g1, .bn-hero__sachet .gf { color: #0a0a0a; }
.bn-card__tag { background: #0a0a0a; color: #fff; }
.bn-card__tag--during { background: #6f6f6f; }
.bn-card__desc { color: var(--bn-mute); }
.bn-price { color: #0a0a0a; }
.bn-stars { color: #0a0a0a; }
.bn-transporter__badge { background: #ececea; color: #0a0a0a; }
.bn-ratio b, .bn-cine__num { color: #0a0a0a; }
.bn-benefit__ico { background: #ececea; color: #0a0a0a; }
.bn-step__num { background: #0a0a0a; color: #fff; }
.bn-step .when, .bn-eyebrow { color: #0a0a0a; }
.bn-quote p { color: #0a0a0a; }
.bn-avatar { background: #ececea; color: #0a0a0a; border-color: var(--bn-line); }

/* Offerta / lead: niente blocco colorato acceso, monocromo */
.bn-offer__save, .bn-offer__price .now { color: #0a0a0a; }
.bn-offer__save { background: #0a0a0a; color: #fff; }
.bn-offer__price .now { -webkit-text-fill-color: #0a0a0a; }
.bn-lead { background: #0a0a0a; color: #fff; }
.bn-lead h2 { color: #fff; }
.bn-lead p { color: rgba(255,255,255,.7); }
.bn-lead__form input { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); color: #fff; }
.bn-lead__form .bn-btn { background: #fff; color: #0a0a0a; }

/* FAQ */
.bn-acc { border-color: var(--bn-line); }
.bn-acc__q { color: #0a0a0a; }
.bn-acc__a p { color: var(--bn-mute); }

/* Footer chiaro */
.bn-footer { background: #f4f4f2; border-color: var(--bn-line); }
.bn-footer h5 { color: var(--bn-mute); }
.bn-footer ul a, .bn-footer__brand p { color: #555; }
.bn-footer ul a:hover { color: #0a0a0a; }
.bn-pay span { background: #fff; border-color: var(--bn-line); color: #555; }
.bn-footer__bottom { border-color: var(--bn-line); }
.bn-footer__bottom p { color: var(--bn-mute-2); }

/* Sticky buy chiaro */
.bn-sticky-buy { background: rgba(255,255,255,.95); border-color: var(--bn-line); }

/* ==========================================================================
   MAURTEN — tocco di BLU brand + SHOP/SCHEDA identici a Maurten
   ========================================================================== */
:root { --bn-blue: #2B79EE; }

/* tocco di blu: logo, codice sconto, link/arrow, accordion + */
.bn-logo b { color: var(--bn-blue); }
.bn-announce__item b { color: var(--bn-blue); }
.bn-acc__q::after { color: var(--bn-blue); }
.bn-btn--ghost:hover { color: var(--bn-blue); border-color: var(--bn-blue); }
.bn-vh__title em { color: var(--bn-blue); }
.bn-eyebrow { color: var(--bn-blue); }
.bn-eyebrow::before { background: var(--bn-blue); }
.bn-stars { color: var(--bn-blue); }
.bn .woocommerce a:hover { color: var(--bn-blue); }

/* -------- SHOP: griglia 4 col, card pulite (no bordi, no bottoni) -------- */
.bn .woocommerce ul.products { grid-template-columns: repeat(4,1fr) !important; gap: 36px 26px !important; }
.bn .woocommerce ul.products li.product { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
.bn .woocommerce ul.products li.product:hover { transform: none !important; border: 0 !important; box-shadow: none !important; }
.bn .woocommerce ul.products li.product a img,
.bn .woocommerce ul.products li.product img {
  background: linear-gradient(180deg,#f6f6f4,#efefec) !important; border-radius: 3px !important;
  padding: 16% !important; aspect-ratio: 1/1; object-fit: contain !important; margin: 0 0 16px !important;
  transition: opacity .25s;
}
.bn .woocommerce ul.products li.product a:hover img { opacity: .82; }
.bn .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--bn-font-body); font-size: 14px; font-weight: 600; color: #0a0a0a; padding: 0; margin: 0 0 3px;
}
.bn .woocommerce ul.products li.product .price {
  font-family: var(--bn-font-body); font-size: 13px; font-weight: 500; color: #767676;
}
.bn .woocommerce ul.products li.product .price del { color: #b3b3b3; }
.bn .woocommerce ul.products li.product .price ins { text-decoration: none; }
.bn .woocommerce ul.products li.product .button, .bn .woocommerce ul.products li.product .added_to_cart { display: none !important; }
.bn .woocommerce ul.products li.product .onsale, .bn .woocommerce span.onsale { background: var(--bn-blue); color: #fff; box-shadow: none; }
@media (max-width: 1080px){ .bn .woocommerce ul.products { grid-template-columns: repeat(3,1fr) !important; } }
@media (max-width: 680px){ .bn .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; gap: 22px 16px !important; } }

/* -------- SCHEDA PRODOTTO: immagine a DESTRA, info a SINISTRA (Maurten) -------- */
.bn .woocommerce div.product { gap: 64px; }
.bn .woocommerce div.product > .woocommerce-product-gallery { grid-column: 2 !important; grid-row: 1; }
.bn .woocommerce div.product > .summary { grid-column: 1 !important; grid-row: 1; }
.bn .woocommerce div.product .woocommerce-product-gallery__wrapper {
  background: linear-gradient(180deg,#f6f6f4,#efefec) !important; padding: 7% !important; border-radius: 4px; border: 0 !important;
}
.bn .woocommerce div.product .product_title { font-size: clamp(30px,3vw,46px); font-weight: 700; letter-spacing: -.035em; margin: 0 0 10px; }
.bn .woocommerce div.product p.price, .bn .woocommerce div.product span.price { color: #0a0a0a !important; font-size: 22px !important; font-weight: 600; margin: 0 0 16px; }
.bn .woocommerce div.product .woocommerce-product-details__short-description { color: #555; }
/* form acquisto minimale (no card) */
.bn .woocommerce div.product form.cart { background: none !important; border: 0 !important; padding: 0 !important; margin-top: 6px; }
.bn .woocommerce div.product .single_add_to_cart_button { width: 100% !important; background: #0a0a0a !important; color: #fff !important; border-radius: 999px !important; padding: 16px 26px !important; }
.bn .woocommerce div.product .single_add_to_cart_button:hover { background: #000 !important; box-shadow: none; transform: none; }
.bn .woocommerce div.product .bn-single-trust .bn-pill { background: #fff; border-color: var(--bn-line); color: #555; }
.bn .woocommerce div.product .product_meta { border-color: var(--bn-line); color: var(--bn-mute); }

/* accordion scheda prodotto (stile Maurten: righe con linea sottile) */
.bn-pdp-acc { margin-top: 30px; }
.bn-pdp-acc .bn-acc { border-color: var(--bn-line); }
.bn-pdp-acc .bn-acc__q { font-family: var(--bn-font-body); text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 600; color: #0a0a0a; padding: 22px 40px 22px 0; }
.bn-pdp-acc .bn-acc__a p, .bn-pdp-acc .bn-acc__a { color: var(--bn-mute); }
.bn-pdp-acc table.shop_attributes th, .bn-pdp-acc table.shop_attributes td { color: var(--bn-mute); border-color: var(--bn-line); }

/* varianti a pillole su tema chiaro */
.bn-varpill { background: #fff; border-color: var(--bn-line); color: #0a0a0a; }
.bn-varpill:hover { border-color: #999; }
.bn-varpill.is-active { background: #0a0a0a; border-color: #0a0a0a; color: #fff; }

/* Header stile Maurten: niente bottone pieno, solo nav + carrello */
.bn-header .bn-header__cta .bn-btn--primary { display: none; }
/* il numero carrello come Maurten: piccolo, sobrio */
.bn-cart__count { background: var(--bn-blue); color: #fff; }

/* Logo ufficiale (SVG wordmark) */
.bn-logo { gap: 0; }
.bn-logo__img { height: 26px; width: auto; display: block; }
.bn-footer .bn-logo__img { height: 30px; }
@media (max-width: 600px) { .bn-logo__img { height: 21px; } }

/* ==========================================================================
   FIX — testo bottoni (specificità .bn a) + MOBILE shop/scheda
   ========================================================================== */
/* i bottoni <a> ereditavano il colore del testo (near-black) → testo invisibile su nero */
.bn a.bn-btn--primary, .bn-btn--primary,
.bn .woocommerce div.product .single_add_to_cart_button,
.bn-sticky-buy .bn-btn--primary { color: #fff !important; }
.bn a.bn-btn--ghost, .bn-btn--ghost { color: #0a0a0a !important; }
.bn a.bn-btn--ghost:hover { color: var(--bn-blue) !important; }
.bn-lead__form .bn-btn { color: #0a0a0a !important; }

/* ---- MOBILE: scheda prodotto a 1 colonna (immagine sopra, info sotto) ---- */
@media (max-width: 900px) {
  .bn .woocommerce div.product { grid-template-columns: 1fr !important; gap: 26px !important; }
  .bn .woocommerce div.product > .woocommerce-product-gallery { grid-column: 1 !important; grid-row: 1 !important; position: static !important; }
  .bn .woocommerce div.product > .summary { grid-column: 1 !important; grid-row: 2 !important; }
  .bn .woocommerce div.product .product_title { font-size: clamp(26px,7vw,36px) !important; line-height: 1.02; }
  .bn .woocommerce div.product .single_add_to_cart_button { width: 100% !important; }
}

/* ---- MOBILE: shop ordinamento full-width, niente overflow ---- */
@media (max-width: 680px) {
  .bn .woocommerce .woocommerce-ordering { float: none !important; width: 100%; margin: 0 0 18px; }
  .bn .woocommerce .woocommerce-ordering select { width: 100%; }
  .bn .woocommerce .woocommerce-result-count { float: none; margin-bottom: 14px; }
}

/* sticky buy: bottone leggibile + testo corto */
.bn-sticky-buy .bn-btn--primary { padding: 14px 22px; }

/* Logo inline SVG (affidabile) */
.bn-logo__svg { height: 24px; width: auto; display: block; }
.bn-logo__word { fill: #0a0a0a; }
.bn-logo__blue { fill: var(--bn-blue); }
.bn-footer .bn-logo__svg { height: 28px; }
@media (max-width: 600px){ .bn-logo__svg { height: 20px; } }

/* ---- Shop stile Maurten: intro + filtro categorie, niente titolo/ordinamento ---- */
.bn .woocommerce .woocommerce-products-header,
.bn .woocommerce .woocommerce-result-count,
.bn .woocommerce .woocommerce-ordering { display: none !important; }
.bn-shop-intro { margin: 8px 0 44px; }
.bn-shop-intro__lead { font-size: clamp(20px,2.2vw,28px); font-weight: 600; letter-spacing: -.02em; color: #0a0a0a; max-width: 40ch; margin: 0 0 26px; line-height: 1.18; }
.bn-shop-cats { display: flex; gap: 22px; flex-wrap: wrap; border-bottom: 1px solid var(--bn-line); padding-bottom: 16px; }
.bn-shop-cats a { font-size: 14px; color: #767676; font-weight: 500; }
.bn-shop-cats a:hover { color: #0a0a0a; }
.bn-shop-cats a.is-active { color: #0a0a0a; }

/* accordion ora dentro la colonna info (sotto il box acquisto) */
.bn .woocommerce div.product .summary .bn-pdp-acc { margin-top: 34px; }

/* Galleria prodotto SEMPRE visibile (WooCommerce la mette a opacity:0 in attesa del JS) */
.bn .woocommerce div.product .woocommerce-product-gallery { opacity: 1 !important; }
.bn .woocommerce div.product .woocommerce-product-gallery img { display: block; width: 100%; height: auto; }

/* ==========================================================================
   SCHEDA PRODOTTO — pulita, allineata, conversione (override deciso)
   ========================================================================== */
.bn .woocommerce div.product { gap: 72px; align-items: start; }

/* colonna info: stack ordinato, larghezza coerente, ritmo verticale uniforme */
.bn .woocommerce div.product .summary { max-width: 540px; display: flex; flex-direction: column; align-items: stretch; }
.bn .woocommerce div.product .summary > * { margin: 0 0 20px !important; width: 100%; float: none !important; }
.bn .woocommerce div.product .product_title { font-size: clamp(30px,3vw,44px); line-height: 1.04; margin-bottom: 8px !important; }
.bn .woocommerce div.product .summary p.price,
.bn .woocommerce div.product .summary span.price { margin: 0 0 16px !important; font-size: 24px !important; }
.bn .woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 26px !important; color: #555; font-size: 16px; line-height: 1.55; }

/* badge trust: riga unica pulita, piccoli */
.bn .woocommerce div.product .bn-single-trust { gap: 8px !important; margin: 0 0 24px !important; }
.bn .woocommerce div.product .bn-single-trust .bn-pill { font-size: 12px; padding: 7px 12px; }

/* variazioni: etichetta sopra, pillole sotto, a tutta larghezza */
.bn .woocommerce div.product form.cart .variations,
.bn .woocommerce div.product form.cart .variations tbody,
.bn .woocommerce div.product form.cart .variations tr,
.bn .woocommerce div.product form.cart .variations td,
.bn .woocommerce div.product form.cart .variations th { display: block !important; width: 100% !important; padding: 0 !important; border: 0 !important; }
.bn .woocommerce div.product form.cart .variations td.label { margin-bottom: 10px; }
.bn .woocommerce div.product form.cart .variations { margin: 0 0 20px !important; }
.bn-varpills { gap: 10px; }
.bn .woocommerce div.product .single_variation_wrap .woocommerce-variation-price { margin: 2px 0 14px; font-size: 22px; }

/* riga quantità + bottone: allineata, stessa altezza */
.bn .woocommerce div.product .woocommerce-variation-add-to-cart,
.bn .woocommerce div.product form.cart:not(.variations_form) { display: flex !important; gap: 12px; align-items: stretch; flex-wrap: wrap; margin: 0 0 14px; }
.bn .woocommerce div.product .quantity { flex: 0 0 auto; margin: 0 !important; }
.bn .woocommerce div.product .quantity .qty { height: 56px; width: 70px; }
.bn .woocommerce div.product .single_add_to_cart_button { flex: 1 1 auto; min-width: 220px; height: 56px; display: inline-flex; align-items: center; justify-content: center; margin: 0 !important; }

/* via gli elementi inutili: SKU "N/A", tabelle attributi stray */
.bn .woocommerce div.product .product_meta { display: none !important; }
.bn .woocommerce div.product .summary > .woocommerce-product-attributes,
.bn .woocommerce div.product .summary table.shop_attributes { display: none !important; }

/* accordion dentro la colonna info */
.bn .woocommerce div.product .summary .bn-pdp-acc { margin-top: 16px !important; }

/* galleria: immagine grande contenuta, allineata in alto, sticky */
.bn .woocommerce div.product > .woocommerce-product-gallery { position: sticky; top: 96px; }
.bn .woocommerce div.product .woocommerce-product-gallery__wrapper { aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; padding: 8% !important; margin: 0 !important; }
.bn .woocommerce div.product .woocommerce-product-gallery img { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 900px) {
  .bn .woocommerce div.product > .woocommerce-product-gallery { position: static; }
  .bn .woocommerce div.product .summary { max-width: 100%; }
}

/* ==========================================================================
   BARRA ANNUNCIO — su mobile le 3 scritte RUOTANO (non solo la prima)
   ========================================================================== */
@media (max-width: 720px) {
  .bn-announce__item:not(:first-child) { display: inline-flex !important; }
  .bn-announce__track { position: relative; min-height: 30px; }
  .bn-announce__item { position: absolute; inset: 0; justify-content: center; opacity: 0; transition: opacity .45s var(--bn-ease); pointer-events: none; padding: 0 14px; }
  .bn-announce__item.is-active { opacity: 1; }
}

/* ==========================================================================
   FIX scheda prodotto: etichetta varianti a SINISTRA + niente overflow mobile
   ========================================================================== */
.bn .woocommerce div.product form.cart .variations td.label,
.bn .woocommerce div.product form.cart .variations th.label,
.bn .woocommerce div.product form.cart .variations .label,
.bn .woocommerce div.product form.cart .variations label { text-align: left !important; }
.bn .woocommerce div.product .summary { align-items: flex-start; }

@media (max-width: 900px) {
  .bn .woocommerce div.product .summary,
  .bn .woocommerce div.product .summary > * { max-width: 100% !important; overflow-wrap: break-word; }
  .bn .woocommerce div.product .bn-single-trust { justify-content: flex-start; }
  /* quantità + bottone sulla stessa riga, pulito */
  .bn .woocommerce div.product .woocommerce-variation-add-to-cart,
  .bn .woocommerce div.product form.cart:not(.variations_form) { flex-wrap: nowrap !important; }
  .bn .woocommerce div.product .single_add_to_cart_button { min-width: 0 !important; }
  .bn .woocommerce div.product .woocommerce-product-details__short-description { font-size: 15px; }
}

/* Foto ambassador reali */
.bn-amb__photo { position: relative; }
.bn-amb__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.bn-amb__photo .role { z-index: 2; }

/* FIX: .bn-lead è usata sia come paragrafo guida sia come blocco newsletter (sfondo nero).
   I PARAGRAFI non devono prendere lo sfondo/padding del blocco. */
p.bn-lead { background: none !important; padding: 0 !important; border-radius: 0 !important; color: #555 !important; box-shadow: none !important; max-width: 60ch; }

/* ==========================================================================
   CART DRAWER — mini-carrello laterale (stile Maurten chiaro)
   ========================================================================== */
.bn-drawer { position: fixed; inset: 0; z-index: 120; visibility: hidden; }
.bn-drawer.is-open { visibility: visible; }
.bn-drawer__ovl { position: absolute; inset: 0; background: rgba(10,10,10,.38); opacity: 0; transition: opacity .3s var(--bn-ease); }
.bn-drawer.is-open .bn-drawer__ovl { opacity: 1; }
.bn-drawer__panel { position: absolute; top: 0; right: 0; height: 100%; width: 410px; max-width: 92vw; background: #fff; box-shadow: -24px 0 70px -20px rgba(0,0,0,.35); transform: translateX(100%); transition: transform .38s var(--bn-ease); display: flex; flex-direction: column; }
.bn-drawer.is-open .bn-drawer__panel { transform: none; }
.bn-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 26px; border-bottom: 1px solid var(--bn-line); }
.bn-drawer__head span { font-weight: 600; font-size: 18px; letter-spacing: -.01em; }
.bn-drawer__close { background: none; border: 0; font-size: 30px; line-height: 1; cursor: pointer; color: #0a0a0a; padding: 0 4px; }
.bn-drawer__body { flex: 1; overflow-y: auto; padding: 8px 26px 26px; }

/* contenuto mini-cart WooCommerce */
.bn-drawer .woocommerce-mini-cart__empty-message,
.bn-drawer p.woocommerce-mini-cart__empty-message { color: #767676; padding: 30px 0; text-align: center; }
.bn-drawer ul.cart_list, .bn-drawer ul.product_list_widget { list-style: none; margin: 0; padding: 0; }
.bn-drawer ul.cart_list li { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--bn-line); position: relative; }
.bn-drawer ul.cart_list li a:not(.remove) { color: #0a0a0a; font-weight: 500; font-size: 14px; line-height: 1.3; display: block; }
.bn-drawer ul.cart_list li img { width: 64px !important; height: 64px !important; object-fit: contain; background: #f4f4f2; border-radius: 8px; float: none !important; margin: 0 !important; padding: 6px; }
.bn-drawer ul.cart_list li .quantity { color: #767676; font-size: 13px; margin-top: 4px; }
.bn-drawer a.remove { position: absolute; right: 0; top: 16px; width: 22px; height: 22px; line-height: 20px; text-align: center; color: #999 !important; font-size: 18px; border-radius: 999px; }
.bn-drawer a.remove:hover { color: #0a0a0a !important; background: #f0f0ee; }
.bn-drawer .woocommerce-mini-cart__total { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; margin-top: 6px; border-top: 1px solid var(--bn-line); font-weight: 600; font-size: 16px; }
.bn-drawer .woocommerce-mini-cart__total strong { font-weight: 600; }
.bn-drawer .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 10px; margin: 6px 0 0; padding: 0; }
.bn-drawer .woocommerce-mini-cart__buttons .button { width: 100%; text-align: center; border-radius: 999px !important; padding: 15px 20px !important; font-weight: 600; }
.bn-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #f4f4f2 !important; color: #0a0a0a !important; }
.bn-drawer .woocommerce-mini-cart__buttons .checkout { background: #0a0a0a !important; color: #fff !important; }

/* ==========================================================================
   SCHEDA PRODOTTO — INVERTITA: immagine a SINISTRA, info a DESTRA (desktop)
   ========================================================================== */
@media (min-width: 901px) {
  .bn .woocommerce div.product > .woocommerce-product-gallery { grid-column: 1 !important; grid-row: 1; }
  .bn .woocommerce div.product > .summary { grid-column: 2 !important; grid-row: 1; }
}

/* ==========================================================================
   CART DRAWER — margini e stile più curati
   ========================================================================== */
.bn-drawer__panel { width: 440px; }
.bn-drawer__head { padding: 28px 32px; }
.bn-drawer__head span { font-size: 20px; }
.bn-drawer__body { padding: 16px 32px 32px; }
.bn-drawer ul.cart_list li { padding: 20px 2px; gap: 16px; }
.bn-drawer ul.cart_list li:first-child { padding-top: 8px; }
.bn-drawer ul.cart_list li img { width: 70px !important; height: 70px !important; padding: 8px; }
.bn-drawer ul.cart_list li a:not(.remove) { font-size: 15px; padding-right: 26px; }
.bn-drawer .woocommerce-mini-cart__total { margin-top: 14px; padding: 22px 2px; font-size: 17px; }
.bn-drawer .woocommerce-mini-cart__total .amount { font-weight: 700; }
.bn-drawer .woocommerce-mini-cart__buttons { margin-top: 18px; gap: 12px; }
.bn-drawer .woocommerce-mini-cart__buttons .button { padding: 16px 20px !important; font-size: 15px; }
.bn-drawer .woocommerce-mini-cart__empty-message { padding: 48px 0; font-size: 15px; }
/* nota spedizione gratuita nel drawer */
.bn-drawer__body::after { }
@media (max-width: 480px) { .bn-drawer__head { padding: 22px 22px; } .bn-drawer__body { padding: 14px 22px 24px; } }

/* ==========================================================================
   SHOP — bottone "Aggiungi" sotto ogni prodotto (riabilitato per conversione)
   ========================================================================== */
.bn .woocommerce ul.products li.product .button,
.bn .woocommerce ul.products li.product .added_to_cart {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 100%; margin: 14px 0 0 !important; padding: 13px 18px !important;
  background: #0a0a0a !important; color: #fff !important; border-radius: 999px !important;
  font-family: var(--bn-font-body); font-weight: 600; font-size: 14px; text-transform: none; letter-spacing: 0;
  transition: background .2s, transform .2s;
}
.bn .woocommerce ul.products li.product .button:hover,
.bn .woocommerce ul.products li.product .added_to_cart:hover { background: #000 !important; transform: translateY(-2px); box-shadow: none; }
.bn .woocommerce ul.products li.product .added_to_cart { background: #f4f4f2 !important; color: #0a0a0a !important; margin-top: 8px !important; }
.bn .woocommerce ul.products li.product .button.loading { opacity: .7; }
/* nome+prezzo non più "flex:1" sproporzionato */
.bn .woocommerce ul.products li.product .price { margin-bottom: 0; }

/* ==========================================================================
   FIX finali: drawer più ario + scheda prodotto che usa lo spazio
   ========================================================================== */
/* Drawer: più respiro, niente "a filo" */
.bn-drawer__head { padding: 30px 34px 24px !important; }
.bn-drawer__body { padding: 4px 34px 34px !important; }
.bn-drawer ul.cart_list li { padding: 22px 0 !important; }
.bn-drawer .woocommerce-mini-cart__total { padding: 24px 0 !important; }
.bn-drawer .woocommerce-mini-cart__buttons { margin-top: 20px !important; }
.bn-drawer .woocommerce-mini-cart__empty-message { padding: 60px 0 !important; }

/* Scheda prodotto desktop: immagine più grande a sx, info che riempie la colonna a dx */
@media (min-width: 901px) {
  .bn .woocommerce div.product { grid-template-columns: 1.12fr 0.88fr !important; gap: 70px !important; align-items: start; }
  .bn .woocommerce div.product .summary { max-width: none !important; }
  .bn .woocommerce div.product .woocommerce-product-details__short-description { max-width: 46ch; }
}

/* Formato con UNA sola opzione → nascondi tutto il selettore (auto-selezionato via JS) */
.variations_form.bn-allsingle .variations,
.variations_form.bn-allsingle .reset_variations,
.variations_form.bn-allsingle .single_variation_wrap .woocommerce-variation-description { display: none !important; }

/* ==========================================================================
   SCHEDA PRODOTTO — usa la larghezza (basta spazio vuoto a destra)
   ========================================================================== */
@media (min-width: 1000px) {
  .single-product .bn-wrap.bn-section--tight { max-width: 1500px !important; width: 100% !important; }
  .single-product .bn-woo.woocommerce { width: 100% !important; }
  .bn .woocommerce div.product { width: 100% !important; grid-template-columns: 1fr 1fr !important; gap: 80px !important; }
  .bn .woocommerce div.product .summary { max-width: 560px !important; width: 100% !important; }
}

/* ==========================================================================
   MINI-CART (drawer) — impaginazione pulita + bottoni che non sforano
   ========================================================================== */
.bn-drawer__body { overflow-x: hidden; }
.bn-drawer ul.cart_list, .bn-drawer ul.product_list_widget { list-style: none; margin: 0; padding: 0; }
.bn-drawer li.mini_cart_item, .bn-drawer ul.cart_list > li {
  display: block !important; position: relative; padding: 20px 30px 20px 0 !important;
  border-bottom: 1px solid var(--bn-line); margin: 0 !important; gap: 0 !important;
}
.bn-drawer li.mini_cart_item > a:not(.remove) {
  display: flex !important; align-items: center; gap: 14px; padding: 0 !important;
  color: #0a0a0a !important; font-weight: 500; font-size: 14px; line-height: 1.3;
}
.bn-drawer li.mini_cart_item img, .bn-drawer ul.cart_list > li img {
  width: 62px !important; height: 62px !important; flex: 0 0 62px; margin: 0 !important;
  float: none !important; background: #f4f4f2; border-radius: 8px; padding: 6px; object-fit: contain;
}
.bn-drawer li.mini_cart_item .quantity { display: block; margin: 8px 0 0 76px; color: #767676; font-size: 13px; }
.bn-drawer li.mini_cart_item a.remove, .bn-drawer a.remove {
  position: absolute !important; right: 0 !important; top: 20px !important; left: auto !important;
  width: 24px; height: 24px; line-height: 22px; text-align: center; font-size: 17px;
  color: #b3b3b3 !important; margin: 0 !important; background: none !important;
}
.bn-drawer a.remove:hover { color: #0a0a0a !important; }
.bn-drawer .woocommerce-mini-cart__total {
  display: flex !important; justify-content: space-between; align-items: center;
  padding: 22px 0 !important; border-top: 1px solid var(--bn-line); margin-top: 4px; font-size: 16px; font-weight: 600;
}
.bn-drawer .woocommerce-mini-cart__buttons { display: flex !important; flex-direction: column; gap: 10px; margin: 8px 0 0 !important; padding: 0 !important; }
.bn-drawer .woocommerce-mini-cart__buttons .button {
  display: block !important; width: 100% !important; box-sizing: border-box !important; text-align: center;
  margin: 0 !important; border-radius: 999px !important; padding: 16px 18px !important; font-size: 15px; font-weight: 600; min-width: 0 !important;
}
.bn-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #f4f4f2 !important; color: #0a0a0a !important; }
.bn-drawer .woocommerce-mini-cart__buttons .checkout { background: #0a0a0a !important; color: #fff !important; }

/* FIX: la classe .bn-section--tight azzera il padding orizzontale del wrapper Woo
   → breadcrumb/immagine/contenuto restavano a filo del bordo sinistro. */
.bn .woocommerce-page .bn-wrap.bn-section--tight,
.single-product .bn-wrap.bn-section--tight,
.post-type-archive-product .bn-wrap.bn-section--tight,
.tax-product_cat .bn-wrap.bn-section--tight { padding-left: 40px !important; padding-right: 40px !important; box-sizing: border-box; }
@media (max-width: 768px) {
  .bn .woocommerce-page .bn-wrap.bn-section--tight,
  .single-product .bn-wrap.bn-section--tight,
  .post-type-archive-product .bn-wrap.bn-section--tight,
  .tax-product_cat .bn-wrap.bn-section--tight { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ==========================================================================
   MINI-CART pulito (template custom) — drawer
   ========================================================================== */
.bn-minicart { list-style: none; margin: 0; padding: 0; }
.bn-mc-item { display: grid; grid-template-columns: 66px 1fr auto; align-items: center; column-gap: 16px;
  padding: 20px 0; border-bottom: 1px solid var(--bn-line); }
.bn-mc-thumb { display: block; }
.bn-mc-thumb img { width: 66px !important; height: 66px !important; object-fit: contain; background: #f4f4f2; border-radius: 10px; padding: 7px; margin: 0 !important; display: block; }
.bn-mc-info { min-width: 0; }
.bn-mc-name { display: block; color: #0a0a0a !important; font-weight: 500; font-size: 14px; line-height: 1.3; }
.bn-mc-name:hover { color: var(--bn-blue) !important; }
.bn-mc-qty { display: block; margin-top: 5px; color: #767676; font-size: 13px; }
.bn-mc-remove { width: 26px; height: 26px; line-height: 24px; text-align: center; border-radius: 999px; color: #b3b3b3 !important; font-size: 18px; flex: 0 0 auto; }
.bn-mc-remove:hover { color: #0a0a0a !important; background: #f4f4f2; }
.bn-mc-total { display: flex; align-items: center; justify-content: space-between; padding: 24px 0 18px; margin: 4px 0 0; border-top: 1px solid var(--bn-line); font-size: 17px; }
.bn-mc-total strong { font-weight: 600; }
.bn-mc-total span { font-weight: 700; }
.bn-mc-buttons { margin: 6px 0 0; padding: 0; }
.bn-mc-checkout { display: block; width: 100%; box-sizing: border-box; text-align: center; background: #0a0a0a !important; color: #fff !important; border-radius: 999px !important; padding: 17px 20px !important; font-weight: 600; font-size: 15px; }
.bn-mc-checkout:hover { background: #000 !important; }
.bn-mc-empty { padding: 60px 0 !important; text-align: center; color: #767676; }

/* ==========================================================================
   QUANTITÀ con +/- (stepper)
   ========================================================================== */
.bn .woocommerce div.product .quantity { display: inline-flex !important; align-items: stretch; border: 1.5px solid var(--bn-line); border-radius: 999px; overflow: hidden; height: 56px; width: auto !important; }
.bn .woocommerce div.product .quantity .bn-qtybtn { width: 48px; background: none; border: 0; font-size: 20px; line-height: 1; color: #0a0a0a; cursor: pointer; transition: background .15s; padding: 0; }
.bn .woocommerce div.product .quantity .bn-qtybtn:hover { background: #f4f4f2; }
.bn .woocommerce div.product .quantity input.qty { width: 50px !important; height: auto !important; min-height: 0 !important; border: 0 !important; background: none !important; text-align: center; padding: 0 !important; border-radius: 0 !important; font-size: 16px; font-weight: 600; -moz-appearance: textfield; }
.bn .woocommerce div.product .quantity input.qty::-webkit-outer-spin-button,
.bn .woocommerce div.product .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ==========================================================================
   PRODOTTI CORRELATI — a tutta larghezza, niente overlap con la galleria
   ========================================================================== */
@media (min-width: 901px) {
  .bn .woocommerce div.product > .related,
  .bn .woocommerce div.product > .up-sells,
  .bn .woocommerce div.product > .upsells { grid-column: 1 / -1 !important; }
}
.bn .woocommerce div.product .related, .bn .woocommerce div.product .up-sells { margin-top: 90px; clear: both; }
.bn .woocommerce div.product .related > h2, .bn .woocommerce div.product .up-sells > h2 { font-size: clamp(24px,2.4vw,32px); margin-bottom: 30px; }

/* la "added to cart" notice di WooCommerce non serve (usiamo il drawer) */
.bn .woocommerce-message, .bn .woocommerce div.product form.cart .added_to_cart { /* lasciati per il carrello, ma il bottone "view cart" del messaggio è nascosto sotto */ }
.bn .single-product .woocommerce-message a.button.wc-forward { display: none !important; }

/* ==========================================================================
   DRAWER — padding bulletproof (su più selettori, niente contenuto a filo)
   ========================================================================== */
.bn-drawer__panel { padding: 0 !important; }
.bn-drawer__head { padding: 28px 34px 22px !important; }
.bn-drawer__body,
.bn-drawer .widget_shopping_cart_content,
div.bn-drawer__body.widget_shopping_cart_content { padding: 10px 34px 34px !important; box-sizing: border-box; }
.bn-minicart, .bn-drawer ul.cart_list, .bn-drawer ul.product_list_widget { margin: 0 !important; padding: 0 !important; }
.bn-mc-item, .bn-drawer li.mini_cart_item { margin: 0 !important; }
.bn-mc-total, .bn-mc-buttons, .bn-drawer .woocommerce-mini-cart__total, .bn-drawer .woocommerce-mini-cart__buttons { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 480px) {
  .bn-drawer__head { padding: 22px 22px 18px !important; }
  .bn-drawer__body, .bn-drawer .widget_shopping_cart_content { padding: 8px 22px 24px !important; }
}

/* ==========================================================================
   CHECKOUT / CART — spazi ottimizzati, layout 2 colonne, niente cafonate
   ========================================================================== */
/* meno spazio in alto sulle pagine Woo a shortcode (cart/checkout/account) */
.woocommerce-checkout .bn-section, .woocommerce-cart .bn-section, .woocommerce-account .bn-section { padding: 36px 0 80px !important; }
.woocommerce-checkout .bn-page-content, .woocommerce-cart .bn-page-content, .woocommerce-account .bn-page-content { max-width: 1240px; font-size: 15px; color: #0a0a0a; }
.woocommerce-checkout .bn-wrap.bn-section article, .woocommerce-cart .bn-wrap.bn-section article { max-width: 1240px; }

/* via la "cafonata" Visualizza carrello dai messaggi */
.bn .woocommerce-message a.button.wc-forward, .bn .woocommerce-message .button.wc-forward { display: none !important; }
.bn .woocommerce-checkout .woocommerce-message { display: none !important; }
.woocommerce-form-coupon-toggle .woocommerce-info { background: #f4f4f2; border-top: 0; color: #444; padding: 14px 18px; }
.woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--bn-blue); }

/* 2 colonne: dati a sinistra, RIEPILOGO ordine a destra (sticky) */
@media (min-width: 1000px) {
  .woocommerce-checkout form.checkout.woocommerce-checkout { display: grid; grid-template-columns: 1fr 400px; column-gap: 60px; align-items: start; }
  .woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; width: auto !important; float: none !important; }
  .woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 18px !important; }
  .woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 96px; }
}
.woocommerce-checkout .col2-set { width: auto !important; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: auto !important; float: none !important; margin: 0 0 6px; padding: 0; }
.woocommerce-checkout .col2-set .col-2 { margin-top: 26px; }
.woocommerce-checkout h3 { font-family: var(--bn-font-display); font-size: 20px; margin: 0 0 16px; }

/* campi: spaziatura compatta, etichette piccole */
.bn .woocommerce form .form-row { margin: 0 0 16px !important; padding: 0; }
.bn .woocommerce-checkout .form-row label { display: block; margin-bottom: 6px; font-size: 13px; color: #555; }
.bn .woocommerce-checkout .form-row .required { color: var(--bn-blue); border: 0; }

/* riepilogo ordine come card */
.woocommerce-checkout #order_review { background: #f4f4f2; border: 1px solid var(--bn-line); border-radius: 14px; padding: 24px; }
.woocommerce-checkout #order_review table.shop_table { background: none !important; border: 0 !important; border-radius: 0; margin: 0; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { padding: 12px 0 !important; border-top: 1px solid var(--bn-line) !important; color: #0a0a0a; }
.woocommerce-checkout #order_review table.shop_table thead th { border-top: 0 !important; color: #767676; font-weight: 600; }
.woocommerce-checkout #order_review .cart-subtotal th, .woocommerce-checkout #order_review .order-total th { font-weight: 600; }
.woocommerce-checkout #order_review .order-total .amount { font-size: 18px; }
.woocommerce-checkout #payment { background: none !important; border: 0 !important; padding: 16px 0 0 !important; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; border-radius: 8px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #place_order { width: 100% !important; background: #0a0a0a !important; color: #fff !important; border-radius: 999px !important; padding: 17px 20px !important; font-size: 16px; font-weight: 600; margin-top: 8px; }
.woocommerce-checkout #place_order:hover { background: #000 !important; }

/* ==========================================================================
   CHECKOUT one-page COMPATTO (override definitivo) — float, niente gap, no icone
   ========================================================================== */
/* icone info/message che si accavallano sul testo: via */
.bn .woocommerce-info::before, .bn .woocommerce-message::before, .bn .woocommerce-error::before,
.bn .woocommerce-noreviews::before, .bn .woocommerce form .woocommerce-info::before { display: none !important; content: none !important; }
.bn .woocommerce-info, .bn .woocommerce-message { padding: 13px 18px !important; padding-left: 18px !important; }

/* meno spazio in alto, titolo più contenuto */
.woocommerce-checkout .bn-section { padding: 28px 0 70px !important; }
.woocommerce-checkout .bn-page-content header .bn-eyebrow { margin-bottom: 10px; }
.woocommerce-checkout .bn-page-content header h1 { font-size: clamp(34px,4vw,52px) !important; margin-bottom: 20px; }

/* 2 colonne con FLOAT: dati a sx, riepilogo a dx subito sotto il titolo */
@media (min-width: 1000px) {
  .woocommerce-checkout form.checkout.woocommerce-checkout { display: block !important; }
  .woocommerce-checkout form.checkout.woocommerce-checkout::after { content: ""; display: table; clear: both; }
  .woocommerce-checkout #customer_details { float: left !important; width: calc(100% - 456px) !important; grid-column: auto !important; grid-row: auto !important; }
  .woocommerce-checkout #order_review_heading { float: right !important; width: 400px !important; clear: right !important; margin: 0 0 12px !important; grid-column: auto !important; grid-row: auto !important; }
  .woocommerce-checkout #order_review { float: right !important; width: 400px !important; clear: right !important; grid-column: auto !important; grid-row: auto !important; position: sticky; top: 88px; }
}

/* compattezza generale */
.bn .woocommerce-checkout .form-row { margin: 0 0 12px !important; }
.bn .woocommerce-checkout .col2-set .col-2 { margin-top: 18px !important; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout h3#order_review_heading { font-size: 19px !important; margin: 0 0 12px !important; }
.woocommerce-checkout #order_review { padding: 20px 22px !important; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { padding: 10px 0 !important; }
.woocommerce-checkout #payment { padding: 12px 0 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 6px; }
.woocommerce-checkout #payment div.payment_box { margin: 8px 0 0 !important; font-size: 13px; }
.woocommerce-checkout #place_order { margin-top: 12px !important; }

/* ==========================================================================
   BARRA SPEDIZIONE GRATUITA (progress) + CARRELLO compatto
   ========================================================================== */
.bn-ship { margin: 0 0 18px; }
.bn-ship__msg { margin: 0 0 8px; font-size: 13.5px; font-weight: 600; color: var(--bn-ink, #0a0a0a); }
.bn-ship__msg strong { font-weight: 800; }
.bn-ship__track { height: 7px; border-radius: 999px; background: #e6e6e2; overflow: hidden; }
.bn-ship__fill { display: block; height: 100%; border-radius: 999px; background: var(--bn-blue, #2B79EE); transition: width .4s ease; }
.bn-ship.is-done .bn-ship__fill { background: #1aaf5a; }
.bn-ship.is-done .bn-ship__msg { color: #138a47; }
/* dentro la card del checkout: stacca dal pagamento */
.woocommerce-checkout #order_review .bn-ship { margin: 4px 0 18px; padding: 0 0 16px; border-bottom: 1px solid var(--bn-line, #e6e6e2); }
/* versione mini nel drawer */
.bn-ship--mini { margin: 0 0 14px; }
.bn-ship--mini .bn-ship__msg { font-size: 12.5px; }

/* ---- CARRELLO: layout 2 colonne compatto (stile checkout) ---- */
.woocommerce-cart .bn-section { padding: 28px 0 70px !important; }
.woocommerce-cart .bn-page-content header h1 { font-size: clamp(34px,4vw,52px) !important; margin-bottom: 20px; }
@media (min-width: 1000px) {
  .woocommerce-cart .woocommerce::after { content: ""; display: table; clear: both; }
  .woocommerce-cart form.woocommerce-cart-form { float: left; width: calc(100% - 392px); margin: 0; }
  .woocommerce-cart .cart-collaterals { float: right; width: 348px; margin: 0; }
  .woocommerce-cart .cart-collaterals .cross-sells { float: none; width: 100%; }
}
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important;
  background: #f4f4f2; border: 1px solid var(--bn-line, #e6e6e2); border-radius: 14px; padding: 22px 24px; position: sticky; top: 88px; }
.woocommerce-cart .cart_totals h2 { font-size: 19px !important; margin: 0 0 14px !important; }
.woocommerce-cart .cart_totals table.shop_table { border: 0 !important; margin: 0 !important; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { padding: 11px 0 !important; border: 0 !important; border-bottom: 1px solid var(--bn-line, #e6e6e2) !important; background: none !important; }
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td { font-size: 17px; font-weight: 800; border-bottom: 0 !important; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 16px 0 0 !important; }
.bn .woocommerce-cart .cart_totals a.checkout-button {
  display: block; width: 100%; text-align: center; background: #0a0a0a !important; color: #fff !important;
  border-radius: 999px !important; padding: 16px 20px !important; font-weight: 800 !important; font-size: 15px !important; }
/* tabella articoli pulita */
.bn .woocommerce-cart table.shop_table { border: 0 !important; }
.bn .woocommerce-cart table.shop_table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--bn-mute, #6b6b6b); border-bottom: 1px solid var(--bn-line, #e6e6e2) !important; padding-bottom: 12px; }
.bn .woocommerce-cart table.shop_table td { border-top: 0 !important; border-bottom: 1px solid var(--bn-line, #e6e6e2) !important; padding: 16px 12px !important; vertical-align: middle; }
.bn .woocommerce-cart table.shop_table img { width: 60px !important; border-radius: 10px; }
.bn .woocommerce-cart td.product-name a { font-weight: 700; color: var(--bn-ink, #0a0a0a); }
.bn .woocommerce-cart td.product-remove a.remove { font-size: 20px; color: var(--bn-mute, #999) !important; }
.bn .woocommerce-cart .actions .button { border-radius: 999px !important; }
.bn .woocommerce-cart .actions .coupon input#coupon_code { border-radius: 999px !important; padding: 12px 16px !important; }

/* ==========================================================================
   CARRELLO fix v2: tabella dentro colonna + riga azioni pulita
   ========================================================================== */
.bn .woocommerce-cart table.shop_table.cart { table-layout: fixed; width: 100% !important; }
.bn .woocommerce-cart table.shop_table.cart th,
.bn .woocommerce-cart table.shop_table.cart td { padding: 14px 8px !important; font-size: 14px; word-break: break-word; }
.bn .woocommerce-cart td.product-remove { width: 32px; text-align: center; }
.bn .woocommerce-cart td.product-thumbnail { width: 68px; }
.bn .woocommerce-cart td.product-thumbnail img { width: 54px !important; }
.bn .woocommerce-cart th.product-price, .bn .woocommerce-cart td.product-price { width: 70px; }
.bn .woocommerce-cart th.product-quantity, .bn .woocommerce-cart td.product-quantity { width: 82px; }
.bn .woocommerce-cart th.product-subtotal, .bn .woocommerce-cart td.product-subtotal { width: 76px; text-align: right; }
.bn .woocommerce-cart .quantity input.qty { width: 52px; padding: 8px 4px !important; }

/* riga azioni: coupon a sx, aggiorna a dx, secondari, niente overlap */
.bn .woocommerce-cart td.actions { display: flex !important; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 16px 8px !important; }
.bn .woocommerce-cart td.actions .coupon { display: flex; gap: 8px; align-items: center; float: none !important; margin: 0 !important; }
.bn .woocommerce-cart td.actions .coupon input#coupon_code { width: 168px; margin: 0 !important; }
.bn .woocommerce-cart td.actions .button,
.bn .woocommerce-cart td.actions input.button {
  float: none !important; background: #fff !important; color: #0a0a0a !important; border: 1.5px solid var(--bn-line, #e6e6e2) !important;
  padding: 11px 18px !important; font-size: 13px !important; font-weight: 700 !important; border-radius: 999px !important; margin: 0 !important; box-shadow: none !important; }

/* ==========================================================================
   CARRELLO fix v3 — selettori corretti (.woocommerce-cart è SUL body)
   ========================================================================== */
.woocommerce-cart table.shop_table.cart { table-layout: fixed !important; width: 100% !important; }
.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart td { padding: 14px 8px !important; font-size: 14px !important; word-break: break-word; vertical-align: middle; }
.woocommerce-cart table.shop_table.cart thead th { text-transform: uppercase; letter-spacing: .04em; font-size: 12px !important; color: var(--bn-mute,#6b6b6b); }
.woocommerce-cart td.product-remove { width: 32px; text-align: center; }
.woocommerce-cart td.product-remove a.remove { color: #c0392b !important; font-size: 18px; }
.woocommerce-cart td.product-thumbnail { width: 68px; }
.woocommerce-cart td.product-thumbnail img { width: 54px !important; border-radius: 10px; }
.woocommerce-cart th.product-price, .woocommerce-cart td.product-price { width: 70px; }
.woocommerce-cart th.product-quantity, .woocommerce-cart td.product-quantity { width: 84px; }
.woocommerce-cart th.product-subtotal, .woocommerce-cart td.product-subtotal { width: 78px; text-align: right; }
.woocommerce-cart td.product-name a { font-weight: 700 !important; color: var(--bn-ink,#0a0a0a) !important; }
.woocommerce-cart .quantity input.qty { width: 52px !important; padding: 8px 4px !important; }

.woocommerce-cart td.actions { display: flex !important; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 18px 8px !important; }
.woocommerce-cart td.actions .coupon { display: flex; gap: 8px; align-items: center; float: none !important; margin: 0 !important; }
.woocommerce-cart td.actions .coupon input#coupon_code { width: 168px !important; margin: 0 !important; border-radius: 999px !important; padding: 11px 16px !important; }
.woocommerce-cart td.actions .button,
.woocommerce-cart td.actions input.button {
  float: none !important; background: #fff !important; color: #0a0a0a !important; border: 1.5px solid var(--bn-line,#e6e6e2) !important;
  padding: 11px 18px !important; font-size: 13px !important; font-weight: 700 !important; border-radius: 999px !important; margin: 0 !important; box-shadow: none !important; }

/* ==========================================================================
   CARRELLO fix v4 — niente word-break selvaggio, testo scuro, bottoni nowrap
   ========================================================================== */
.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart td { word-break: normal !important; overflow-wrap: break-word; white-space: normal; }
.woocommerce-cart table.shop_table.cart thead th { text-transform: none !important; letter-spacing: 0 !important; font-size: 12px !important; font-weight: 700; white-space: nowrap; }
.woocommerce-cart th.product-remove { width: 30px; }
.woocommerce-cart th.product-thumbnail, .woocommerce-cart td.product-thumbnail { width: 64px; }
.woocommerce-cart th.product-price, .woocommerce-cart td.product-price { width: 72px; }
.woocommerce-cart th.product-quantity, .woocommerce-cart td.product-quantity { width: 80px; }
.woocommerce-cart th.product-subtotal, .woocommerce-cart td.product-subtotal { width: 84px; text-align: right; }
.woocommerce-cart td.product-name, .woocommerce-cart td.product-name a { color: #0a0a0a !important; font-weight: 700 !important; }

/* riga azioni: bottoni su una riga, niente lettere verticali */
.woocommerce-cart td.actions .button,
.woocommerce-cart td.actions input.button {
  white-space: nowrap !important; word-break: normal !important; flex: 0 0 auto; width: auto !important; }
.woocommerce-cart td.actions .coupon input#coupon_code { flex: 0 0 auto; }

/* barra spedizione: testo sempre scuro e leggibile ovunque */
.bn-ship__msg, .bn-ship__msg strong, .bn-ship__msg .woocommerce-Price-amount { color: #0a0a0a !important; }
.bn-ship.is-done .bn-ship__msg, .bn-ship.is-done .bn-ship__msg strong { color: #138a47 !important; }

/* ==========================================================================
   FIX mobile: ripristina il padding orizzontale su checkout e carrello
   (le regole .bn-section con shorthand avevano azzerato i lati)
   ========================================================================== */
.woocommerce-checkout .bn-wrap.bn-section,
.woocommerce-cart .bn-wrap.bn-section {
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box;
}
@media (max-width: 999px) {
  .woocommerce-checkout .bn-wrap.bn-section,
  .woocommerce-cart .bn-wrap.bn-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* ==========================================================================
   CHECKOUT: metodi spedizione leggibili su mobile + radio non giganti
   + barra annunci senza linea grigia
   ========================================================================== */
/* radio/checkbox non devono ereditare width:100% dei campi */
.bn .woocommerce-checkout input[type="radio"],
.bn .woocommerce-checkout input[type="checkbox"],
.bn .woocommerce-cart input[type="radio"],
.bn .woocommerce-cart input[type="checkbox"] {
  width: 18px !important; height: 18px !important; min-height: 0 !important;
  flex: 0 0 auto; accent-color: var(--bn-blue, #2B79EE); vertical-align: middle;
}
/* lista metodi di spedizione nel riepilogo */
.woocommerce-checkout #order_review #shipping_method { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout #order_review #shipping_method li {
  display: flex; align-items: flex-start; gap: 8px; margin: 0 0 8px; line-height: 1.35;
}
.woocommerce-checkout #order_review #shipping_method li:last-child { margin-bottom: 0; }
.woocommerce-checkout #order_review #shipping_method li input[type="radio"] { margin-top: 2px; }
.woocommerce-checkout #order_review #shipping_method li label { margin: 0; font-size: 14px; font-weight: 500; }
.woocommerce-checkout #order_review #shipping_method li label .amount,
.woocommerce-checkout #order_review #shipping_method li label .woocommerce-Price-amount { font-weight: 700; }
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals th { vertical-align: top; padding-top: 14px !important; }

/* barra annunci: via la linea grigia, strip pulito e discreto */
.bn-announce { border-bottom: 0 !important; background: #f6f6f4 !important; }

/* ==========================================================================
   CRO — Spesso acquistati insieme + Stanno guardando + Toast riprova sociale
   ========================================================================== */
.bn-fbt { padding: 8px 0 40px; }
.bn-fbt__title { font-size: clamp(20px,2.4vw,26px); font-weight: 800; margin: 0 0 20px; }
.bn-fbt__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 28px;
  background: #f4f4f2; border: 1px solid var(--bn-line,#e6e6e2); border-radius: 16px; padding: 24px; }
.bn-fbt__items { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; flex: 1 1 480px; }
.bn-fbt__plus { font-size: 24px; font-weight: 700; color: #9a9a96; padding: 0 4px; }
.bn-fbt__card { background: #fff; border: 1px solid var(--bn-line,#e6e6e2); border-radius: 12px; padding: 12px; width: 200px; }
.bn-fbt__pick { display: flex; flex-direction: column; gap: 8px; cursor: pointer; margin: 0; position: relative; }
.bn-fbt__cb { position: absolute; top: 0; left: 0; width: 20px !important; height: 20px !important; accent-color: var(--bn-blue,#2B79EE); }
.bn-fbt__thumb { display: block; }
.bn-fbt__thumb img { width: 100%; height: auto; border-radius: 8px; display: block; }
.bn-fbt__meta { display: flex; flex-direction: column; gap: 2px; }
.bn-fbt__name { font-size: 13.5px; font-weight: 700; line-height: 1.25; color: #0a0a0a; }
.bn-fbt__name em { font-weight: 500; color: #8a8a86; font-style: normal; font-size: 12px; }
.bn-fbt__price { font-size: 14px; font-weight: 800; color: #0a0a0a; }
.bn-fbt__buy { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; flex: 0 0 auto; }
.bn-fbt__total { font-size: 15px; color: #555; }
.bn-fbt__total strong { font-size: 22px; color: #0a0a0a; margin-left: 6px; }
.bn-fbt__add { white-space: nowrap; }
.bn-fbt__add.loading { opacity: .7; pointer-events: none; }
@media (max-width: 680px) {
  .bn-fbt__card { width: calc(50% - 18px); }
  .bn-fbt__buy { width: 100%; }
  .bn-fbt__add { width: 100%; text-align: center; }
}

/* "stanno guardando adesso" */
.bn-watching { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 0;
  font-size: 13.5px; color: #444; font-weight: 500; }
.bn-watching strong { font-weight: 800; color: #0a0a0a; }
.bn-watching__dot { width: 9px; height: 9px; border-radius: 50%; background: #1aaf5a; flex: 0 0 auto;
  box-shadow: 0 0 0 0 rgba(26,175,90,.55); animation: bn-pulse 1.8s infinite; }
@keyframes bn-pulse { 0% { box-shadow: 0 0 0 0 rgba(26,175,90,.5); } 70% { box-shadow: 0 0 0 8px rgba(26,175,90,0); } 100% { box-shadow: 0 0 0 0 rgba(26,175,90,0); } }

/* toast riprova sociale (in basso a sinistra) */
.bn-sp { position: fixed; left: 18px; bottom: 18px; z-index: 9000; display: flex; flex-direction: column; gap: 10px; pointer-events: none; }
.bn-sp__card { pointer-events: auto; position: relative; display: flex; align-items: center; gap: 12px;
  background: #fff; border: 1px solid var(--bn-line,#e6e6e2); border-radius: 14px; padding: 12px 38px 12px 12px;
  box-shadow: 0 12px 34px rgba(0,0,0,.14); width: 320px; max-width: calc(100vw - 36px);
  transform: translateY(18px); opacity: 0; transition: transform .4s var(--bn-ease,cubic-bezier(.22,1,.36,1)), opacity .4s; }
.bn-sp__card.is-in { transform: translateY(0); opacity: 1; }
.bn-sp__img { width: 48px; height: 48px; object-fit: contain; border-radius: 8px; background: #f4f4f2; flex: 0 0 auto; }
.bn-sp__txt { font-size: 13px; line-height: 1.35; color: #333; }
.bn-sp__txt b { color: #0a0a0a; font-weight: 700; }
.bn-sp__prod { display: block; font-weight: 700; color: var(--bn-blue,#2B79EE); margin-top: 1px; }
.bn-sp__ago { display: block; font-size: 11px; color: #9a9a96; margin-top: 3px; }
.bn-sp__check { color: #1aaf5a; font-weight: 600; }
.bn-sp__x { position: absolute; top: 6px; right: 8px; border: 0; background: none; font-size: 18px; line-height: 1; color: #b5b5b1; cursor: pointer; }
.bn-sp__x:hover { color: #555; }
@media (max-width: 520px) { .bn-sp { left: 10px; bottom: 10px; } .bn-sp__card { width: 280px; } }

/* ==========================================================================
   BADGE FIDUCIA + BOTTONE WHATSAPP
   ========================================================================== */
.bn-trust { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 24px; }
.bn-trust__item { display: flex; align-items: center; gap: 10px; }
.bn-trust__ico { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; background: rgba(43,121,238,.08);
  color: var(--bn-blue, #2B79EE); display: flex; align-items: center; justify-content: center; }
.bn-trust__ico svg { width: 19px; height: 19px; display: block; }
.bn-trust__txt { display: flex; flex-direction: column; line-height: 1.18; }
.bn-trust__txt b { font-size: 13px; font-weight: 700; color: #0a0a0a; }
.bn-trust__txt small { font-size: 11.5px; color: #8a8a86; }
/* dentro carrello/checkout: separatore sopra, layout compatto */
.woocommerce-cart .cart_totals .bn-trust,
.woocommerce-checkout #order_review .bn-trust { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--bn-line, #e6e6e2); gap: 12px 16px; }

/* WhatsApp FAB (in basso a destra) */
.bn-wa { position: fixed; right: 18px; bottom: 18px; z-index: 9500; width: 56px; height: 56px; border-radius: 50%;
  background: #25D366; color: #fff !important; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(37,211,102,.45); transition: transform .2s ease; }
.bn-wa:hover { transform: scale(1.06); color: #fff !important; }
.bn-wa svg { position: relative; z-index: 2; }
.bn-wa__pulse { position: absolute; inset: 0; border-radius: 50%; background: #25D366; opacity: .55; z-index: 1; animation: bn-wa-pulse 2.4s infinite; }
@keyframes bn-wa-pulse { 0% { transform: scale(1); opacity: .5; } 70% { transform: scale(1.55); opacity: 0; } 100% { opacity: 0; } }
/* su mobile alza il FAB per non coprire la barra "Aggiungi" sticky */
@media (max-width: 768px) { .bn-wa { right: 14px; bottom: 84px; width: 52px; height: 52px; } }

/* ==========================================================================
   FBT su mobile: stack verticale pulito (card · + · card), niente griglia rotta
   ========================================================================== */
@media (max-width: 680px) {
  .bn-fbt__inner { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
  .bn-fbt__items { flex-direction: column; align-items: stretch; gap: 4px; width: 100%; flex: 1 1 100%; }
  .bn-fbt__plus { width: 100%; text-align: center; padding: 2px 0; line-height: 1; }
  .bn-fbt__card { width: 100% !important; }
  .bn-fbt__pick { flex-direction: row; align-items: center; gap: 12px; padding-left: 2px; }
  .bn-fbt__cb { position: static; width: 22px !important; height: 22px !important; flex: 0 0 auto; }
  .bn-fbt__thumb { width: 58px; flex: 0 0 58px; }
  .bn-fbt__thumb img { width: 58px; }
  .bn-fbt__meta { flex: 1; }
  .bn-fbt__buy { width: 100%; align-items: stretch; }
  .bn-fbt__total { text-align: center; }
  .bn-fbt__add { width: 100%; text-align: center; }
}

/* ==========================================================================
   Declutter angolo in basso a destra: via il "torna su" di trx_addons,
   lascia solo il bottone WhatsApp (alzato sulla scheda prodotto)
   ========================================================================== */
.trx_addons_scroll_to_top { display: none !important; }
.bn-wa { bottom: 18px; }
@media (max-width: 768px) {
  .bn-wa { bottom: 18px; }
  .single-product .bn-wa { bottom: 88px; } /* sopra la barra "Aggiungi" sticky */
}

/* ==========================================================================
   Foto prodotto SENZA riquadro grigio (griglia shop + scheda prodotto)
   ========================================================================== */
/* griglia shop */
.bn .woocommerce ul.products li.product a img,
.bn .woocommerce ul.products li.product img {
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 6% !important;
}
/* scheda prodotto: galleria pulita su bianco */
.bn .woocommerce div.product .woocommerce-product-gallery,
.bn .woocommerce div.product .woocommerce-product-gallery__wrapper,
.bn .woocommerce div.product .woocommerce-product-gallery__image,
.bn .woocommerce div.product .woocommerce-product-gallery__image a {
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.bn .woocommerce div.product .woocommerce-product-gallery__wrapper { padding: 2% !important; }
.bn .woocommerce div.product .woocommerce-product-gallery img { border-radius: 0 !important; background: none !important; }

/* ==========================================================================
   Griglia shop: card allineate (prezzo + bottone sempre sulla stessa linea)
   + badge "In offerta!" piccolo e discreto
   ========================================================================== */
.bn .woocommerce ul.products li.product { height: 100%; }
.bn .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.5em; /* uniforma titoli 1 o 2 righe */
}
.bn .woocommerce ul.products li.product .star-rating { margin: 2px 0 6px; }
/* prezzo + bottone ancorati in fondo → allineati su tutta la riga */
.bn .woocommerce ul.products li.product .price {
  margin-top: auto !important;
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}
.bn .woocommerce ul.products li.product .button,
.bn .woocommerce ul.products li.product .added_to_cart { margin-top: 12px !important; }

/* badge "In offerta!" compatto e poco invasivo */
.bn .woocommerce ul.products li.product .onsale,
.bn .woocommerce span.onsale {
  font-family: var(--bn-font-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 3px 8px !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  border-radius: 6px !important;
  line-height: 1.25 !important;
  min-height: 0 !important;
  min-width: 0 !important;
}

/* ==========================================================================
   Griglia prodotti DEFINITIVA (shop + correlati): 2 col su mobile,
   niente overflow, prezzo+bottone allineati su tutta la riga
   ========================================================================== */
@media (max-width: 768px) {
  .bn .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
}
.bn .woocommerce ul.products li.product {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;            /* evita lo sbordamento della colonna */
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}
.bn .woocommerce ul.products li.product .price {
  margin-top: auto !important;        /* prezzo ancorato in basso */
  min-height: 1.45em;                 /* prezzo singolo e scontato stessa altezza */
}
.bn .woocommerce ul.products li.product .button,
.bn .woocommerce ul.products li.product .added_to_cart { margin-top: 12px !important; }

/* spazio stelle riservato anche senza recensioni → card sempre allineate */
.bn .woocommerce ul.products li.product .star-rating,
.bn .woocommerce ul.products li.product .bn-rating-empty {
  display: block !important;
  height: 18px !important;
  margin: 4px 0 8px !important;
  font-size: 15px;
}
.bn .woocommerce ul.products li.product .bn-rating-empty { visibility: hidden; }

/* barra annunci: bianca come l'header → niente banda/linea grigia */
.bn-announce { background: #fff !important; border-bottom: 0 !important; box-shadow: none !important; }
.bn-announce__item { color: #555 !important; }
.bn-announce__item b { color: var(--bn-blue, #2B79EE) !important; }

/* ==========================================================================
   BLOG — lista articoli + articolo singolo (stile minimale Better Nutrition)
   ========================================================================== */
.bn-blog-head { max-width: 760px; margin: 0 0 44px; }
.bn-blog-title { font-size: clamp(38px,5vw,64px); font-weight: 800; letter-spacing: -.03em; line-height: 1.02; margin: 8px 0 14px; color: #0a0a0a; }
.bn-blog-sub { font-size: 18px; color: #6b6b6b; margin: 0; }

.bn-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 34px 28px; }
@media (max-width: 980px) { .bn-blog-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; } }
@media (max-width: 600px) { .bn-blog-grid { grid-template-columns: 1fr; } }

.bn-post-card { display: flex; flex-direction: column; }
.bn-post-card__media { display: block; border-radius: 14px; overflow: hidden; background: #f4f4f2; aspect-ratio: 16/10; }
.bn-post-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--bn-ease,cubic-bezier(.22,1,.36,1)); }
.bn-post-card:hover .bn-post-card__media img { transform: scale(1.04); }
.bn-post-card__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-family: var(--bn-font-display); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #c7c7c2; font-size: 14px; }
.bn-post-card__body { padding: 16px 2px 0; display: flex; flex-direction: column; flex: 1; }
.bn-post-card__meta { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: #9a9a96; margin-bottom: 8px; }
.bn-post-card__cat { color: var(--bn-blue,#2B79EE); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 11.5px; }
.bn-post-card__title { font-size: 20px; font-weight: 700; letter-spacing: -.02em; line-height: 1.22; margin: 0 0 8px; }
.bn-post-card__title a { color: #0a0a0a; }
.bn-post-card__title a:hover { color: var(--bn-blue,#2B79EE); }
.bn-post-card__excerpt { font-size: 14.5px; color: #6b6b6b; line-height: 1.5; margin: 0 0 14px; }
.bn-post-card__more { margin-top: auto; font-weight: 700; font-size: 14px; color: #0a0a0a; }
.bn-post-card__more:hover { color: var(--bn-blue,#2B79EE); }

.bn-blog-pagination { margin-top: 48px; }
.bn-blog-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--bn-line,#e6e6e2); margin: 0 4px; font-weight: 700; color: #0a0a0a; }
.bn-blog-pagination .page-numbers.current { background: #0a0a0a; color: #fff; border-color: #0a0a0a; }

/* ---- Articolo singolo ---- */
.bn-single-post { padding-bottom: 70px; }
.bn-post-hero { max-width: 800px; margin: 0 auto; text-align: center; padding: 8px 0 26px; }
.bn-post-hero__meta { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 13px; color: #9a9a96; margin-bottom: 16px; }
.bn-post-hero__title { font-size: clamp(30px,4.4vw,52px); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; color: #0a0a0a; margin: 0 0 16px; }
.bn-post-hero__excerpt { font-size: 19px; color: #6b6b6b; line-height: 1.5; margin: 0; }
.bn-post-cover { max-width: 980px; margin: 8px auto 40px; border-radius: 18px; overflow: hidden; aspect-ratio: 16/9; }
.bn-post-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bn-post-content { max-width: 740px; margin: 0 auto; font-size: 18px; line-height: 1.7; color: #2a2a2a; }
.bn-post-content > * { margin: 0 0 22px; }
.bn-post-content h2 { font-size: clamp(24px,3vw,32px); font-weight: 800; letter-spacing: -.02em; color: #0a0a0a; margin: 40px 0 14px; }
.bn-post-content h3 { font-size: 21px; font-weight: 700; color: #0a0a0a; margin: 30px 0 10px; }
.bn-post-content a { color: var(--bn-blue,#2B79EE); text-decoration: underline; text-underline-offset: 2px; }
.bn-post-content ul, .bn-post-content ol { padding-left: 22px; }
.bn-post-content li { margin: 0 0 8px; }
.bn-post-content blockquote { border-left: 3px solid var(--bn-blue,#2B79EE); padding: 4px 0 4px 20px; font-size: 20px; color: #0a0a0a; font-weight: 500; margin: 28px 0; }
.bn-post-content strong { color: #0a0a0a; }
.bn-post-content img { border-radius: 14px; }

.bn-post-foot { max-width: 740px; margin: 48px auto 0; padding-top: 28px; border-top: 1px solid var(--bn-line,#e6e6e2); display: flex; gap: 14px; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.bn-related-title { font-size: 26px; font-weight: 800; letter-spacing: -.02em; margin: 0 0 24px; color: #0a0a0a; }
.bn-btn--ghost { background: #fff; border: 1.5px solid var(--bn-line,#e6e6e2); color: #0a0a0a !important; border-radius: 999px; padding: 13px 22px; font-weight: 700; }
.bn-btn--ghost:hover { border-color: #0a0a0a; }

/* blog: immagini prodotto scontornate → su bianco, contain, niente grigio */
.bn-post-card__media { background: #fff !important; border: 1px solid var(--bn-line,#e6e6e2); }
.bn-post-card__media img { object-fit: contain !important; padding: 7%; }
.bn-post-cover { background: #fff; border: 1px solid var(--bn-line,#e6e6e2); }
.bn-post-cover img { object-fit: contain !important; padding: 2.5%; }

/* ==========================================================================
   FIX: padding orizzontale su blog / archivi / articolo (mobile incluso)
   (.bn-section--tight azzerava i lati come nel checkout)
   ========================================================================== */
.blog .bn-wrap.bn-section--tight,
.archive .bn-wrap.bn-section--tight,
.single-post .bn-wrap.bn-section--tight,
.single-post .bn-single-post .bn-wrap {
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .blog .bn-wrap.bn-section--tight,
  .archive .bn-wrap.bn-section--tight,
  .single-post .bn-wrap.bn-section--tight,
  .single-post .bn-single-post .bn-wrap {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* ==========================================================================
   Strip fiducia nel riquadro stretto (checkout/cart): in COLONNA, leggibile
   ========================================================================== */
.woocommerce-checkout #order_review .bn-trust,
.woocommerce-cart .cart_totals .bn-trust {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin-top: 22px !important;
  clear: both;
}
.woocommerce-checkout #order_review .bn-trust__item,
.woocommerce-cart .cart_totals .bn-trust__item { width: 100%; gap: 11px; }
.woocommerce-checkout #order_review .bn-trust__txt b,
.woocommerce-checkout #order_review .bn-trust__txt small,
.woocommerce-cart .cart_totals .bn-trust__txt b,
.woocommerce-cart .cart_totals .bn-trust__txt small { white-space: nowrap; }
/* margine sotto il bottone, così lo strip non lo tocca */
.woocommerce-checkout #order_review #payment #place_order { margin-bottom: 6px !important; }

/* credito footer "Made with ♥ by Spreenta" */
.bn-credit { display: inline-flex; align-items: center; gap: 5px; }
.bn-credit__heart { color: #e0245e; font-size: 1.05em; line-height: 1; position: relative; top: .5px; }
.bn .bn-credit a { color: inherit; font-weight: 700; text-decoration: none; transition: color .2s; }
.bn .bn-credit a:hover { color: var(--bn-blue, #2B79EE); }

/* immagini prodotto reali (scontornate) nelle card della home */
.bn-card__imglink { display: block; width: 100%; height: 100%; }
.bn-card__img { width: 100%; height: 100%; object-fit: contain; padding: 8%; display: block; transition: transform .5s var(--bn-ease,cubic-bezier(.22,1,.36,1)); }
.bn-card:hover .bn-card__img { transform: scale(1.045); }

/* Race Pack: foto prodotto reale + badge ×24 */
.bn-offer__img { position: relative; max-width: 340px; margin: 0 auto; }
.bn-offer__img img { width: 100%; height: auto; display: block; }
.bn-offer__badge { position: absolute; top: 6px; right: 6px; background: var(--bn-blue,#2B79EE); color: #fff; font-family: var(--bn-font-display); font-weight: 800; font-size: 20px; line-height: 1; padding: 10px 16px; border-radius: 999px; box-shadow: 0 10px 22px -6px rgba(43,121,238,.55); }
@media (max-width: 760px) { .bn-offer__img { max-width: 240px; } .bn-offer__badge { font-size: 16px; padding: 8px 13px; } }

/* ==========================================================================
   Effetto "bluastro" sulle card prodotto in home (come il Race Pack)
   ========================================================================== */
.bn-card__media {
  background: radial-gradient(115% 85% at 50% 38%, rgba(43,121,238,.18), rgba(43,121,238,.06) 44%, #f5f6f8 78%) !important;
}
.bn-card__img {
  filter: drop-shadow(0 16px 26px rgba(43,121,238,.32));
  transition: transform .5s var(--bn-ease,cubic-bezier(.22,1,.36,1)), filter .4s ease;
}
.bn-card:hover .bn-card__img { filter: drop-shadow(0 22px 34px rgba(43,121,238,.46)); }
/* stesso glow anche sulla foto del Race Pack, per coerenza */
.bn-offer__img img { filter: drop-shadow(0 16px 26px rgba(43,121,238,.30)); }

/* glow blu PIÙ TENUE e uniforme con il Race Pack (override) */
.bn-card__media { background: linear-gradient(180deg,#ffffff,#eef0f3) !important; }
.bn-card__img,
.bn-offer__img img { filter: drop-shadow(0 14px 30px rgba(43,121,238,.18)) !important; }
.bn-card:hover .bn-card__img { filter: drop-shadow(0 18px 34px rgba(43,121,238,.26)) !important; }

/* la label (tag) della card deve stare SOPRA l'immagine prodotto */
.bn-card__media { position: relative; overflow: hidden; }
.bn-card__imglink, .bn-card__img { position: relative; z-index: 1; }
.bn-card__tag { z-index: 3 !important; }

/* fix: immagine card dentro al contenitore (no overflow/taglio) */
.bn-card__img { box-sizing: border-box !important; }
.bn-card__imglink { box-sizing: border-box; }

/* fix: righe dei titoli .bn-h2 non si sovrappongono (line-height adeguato) */
.bn-h2 { line-height: 1.1; }
@media (max-width: 760px) { .bn-h2 { line-height: 1.2 !important; } }

/* fix: titoli .bn-h2 troppo larghi su telefoni stretti → si tagliavano. Riduco */
@media (max-width: 480px) {
  .bn-h2 { font-size: clamp(21px, 6vw, 28px) !important; line-height: 1.18 !important; }
}

/* ==========================================================================
   FIX OVERFLOW: l'immagine prodotto NON deve dilatare la card alla sua
   dimensione naturale (causava 3000px di larghezza e sballava la pagina).
   La posiziono in absolute: riempie la card senza influenzarne la larghezza.
   ========================================================================== */
.bn-card__media { position: relative; min-width: 0; overflow: hidden; }
.bn-card__imglink { position: absolute !important; inset: 0; width: 100%; height: 100%; z-index: 1; }
.bn-card__img {
  position: absolute !important; inset: 0;
  width: 100%; height: 100%;
  object-fit: contain; box-sizing: border-box; padding: 8%;
  max-width: 100%; max-height: 100%;
}

/* protezione: nessun overflow orizzontale sulla pagina (mobile) */
html, body { overflow-x: clip; max-width: 100%; }
.bn-products, .bn-products .bn-card { min-width: 0; max-width: 100%; }

/* ==========================================================================
   LIGHTBOX scheda prodotto
   ========================================================================== */
.bn .woocommerce div.product .woocommerce-product-gallery__image a,
.bn .woocommerce div.product .woocommerce-product-gallery img { cursor: zoom-in; }
.bn-lightbox {
  position: fixed; inset: 0; z-index: 10050; background: rgba(10,10,12,.9);
  display: none; align-items: center; justify-content: center; padding: 28px;
  cursor: zoom-out; opacity: 0; transition: opacity .22s ease;
}
.bn-lightbox.is-open { display: flex; opacity: 1; }
.bn-lightbox__img { max-width: 92vw; max-height: 90vh; width: auto; height: auto; object-fit: contain; border-radius: 10px; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.bn-lightbox__close { position: absolute; top: 16px; right: 22px; background: none; border: 0; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; opacity: .85; }
.bn-lightbox__close:hover { opacity: 1; }

/* lightbox: sfondo bianco dietro le immagini scontornate (solo nello zoom) */
.bn-lightbox__img { background: #fff; padding: 2.5%; box-sizing: border-box; }

/* ==========================================================================
   GALLERIA PDP custom: immagine principale + miniature + frecce lightbox
   ========================================================================== */
.bn-gallery-ready .woocommerce-product-gallery__wrapper { display: none !important; }
.bn .woocommerce div.product .bn-gallery { position: relative; margin: 0; }
.bn-gallery__main {
  position: relative; aspect-ratio: 1 / 1; width: 100%;
  background: var(--bn-ink-2); border: 1px solid var(--bn-line); border-radius: 18px;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
  padding: 7%; box-sizing: border-box; cursor: zoom-in;
}
.bn-gallery__mainimg { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
.bn-gallery__zoom {
  position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid var(--bn-line); background: rgba(255,255,255,.92); color: #0a0a0a;
  display: grid; place-items: center; cursor: zoom-in; opacity: .9; transition: opacity .15s, transform .15s; padding: 0;
}
.bn-gallery__main:hover .bn-gallery__zoom { opacity: 1; }
.bn-gallery__zoom:hover { transform: scale(1.06); }
.bn-gallery__zoom svg { width: 18px; height: 18px; }
.bn-gallery__thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.bn-gallery__thumb {
  width: 66px; height: 66px; border-radius: 10px; border: 1.5px solid var(--bn-line);
  background: var(--bn-ink-2); padding: 6px; cursor: pointer; overflow: hidden;
  box-sizing: border-box; transition: border-color .15s; flex: 0 0 auto;
}
.bn-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.bn-gallery__thumb.is-active { border-color: var(--bn-volt, #2B79EE); }
.bn-gallery__thumb:hover { border-color: #b9b9b4; }

/* frecce + contatore lightbox */
.bn-lightbox__nav {
  position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px;
  border-radius: 50%; border: 0; background: rgba(255,255,255,.15); color: #fff;
  font-size: 30px; line-height: 1; display: grid; place-items: center; cursor: pointer;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: background .15s;
}
.bn-lightbox__nav:hover { background: rgba(255,255,255,.3); }
.bn-lightbox__prev { left: 18px; }
.bn-lightbox__next { right: 18px; }
.bn-lightbox__counter {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
  color: #fff; font-size: 14px; letter-spacing: .05em; opacity: .82;
}
.bn-lightbox--single .bn-lightbox__nav, .bn-lightbox--single .bn-lightbox__counter { display: none; }
@media (max-width: 600px) {
  .bn-lightbox__nav { width: 44px; height: 44px; font-size: 26px; }
  .bn-lightbox__prev { left: 8px; } .bn-lightbox__next { right: 8px; }
  .bn-gallery__thumb { width: 58px; height: 58px; }
}

/* ==========================================================================
   FIX SCROLL: recensioni (accordion alto) + riepilogo checkout/carrello
   ========================================================================== */
/* accordion scheda prodotto: niente cap a 320px (recensioni multiple + form) */
.bn-pdp-acc .bn-acc.is-open .bn-acc__a { max-height: 6000px; }
/* riepilogo checkout/carrello: niente sticky (se è più alto dello schermo bloccava lo scroll) */
@media (min-width: 1000px) {
  .woocommerce-checkout #order_review { position: static !important; }
}
.woocommerce-cart .cart-collaterals .cart_totals { position: static !important; }

/* ==========================================================================
   FIX drawer su mobile (iOS): usa l'altezza VISIBILE reale (100dvh) così il
   bottone "Vai al checkout" non finisce dietro la barra del browser e il
   corpo scrolla fino in fondo. + safe-area per il notch/home indicator.
   ========================================================================== */
.bn-drawer__panel { height: 100dvh; }
.bn-drawer__body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ==========================================================================
   Drawer: bottone "Vai al checkout" SEMPRE fisso in fondo (gli articoli
   scorrono sopra). Così è raggiungibile a prescindere dall'altezza/scroll.
   ========================================================================== */
.bn-drawer .woocommerce-mini-cart__buttons,
.bn-drawer .bn-mc-buttons {
  position: sticky;
  bottom: 0;
  background: #fff;
  margin: 0 !important;
  padding: 12px 0 calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 3;
  box-shadow: 0 -12px 18px -12px rgba(0,0,0,.12);
}

/* ==========================================================================
   Drawer v2: body a colonna → SOLO la lista articoli scrolla, il footer
   (totale + spedizione + "Vai al checkout") resta SEMPRE fisso in fondo.
   ========================================================================== */
.bn-drawer__body { display: flex !important; flex-direction: column; overflow: hidden !important; }
.bn-drawer ul.bn-minicart,
.bn-drawer ul.woocommerce-mini-cart {
  flex: 1 1 auto !important; overflow-y: auto; min-height: 0;
  -webkit-overflow-scrolling: touch; overscroll-behavior: contain; margin: 0;
}
.bn-drawer .woocommerce-mini-cart__total,
.bn-drawer .bn-ship,
.bn-drawer .woocommerce-mini-cart__buttons,
.bn-drawer .bn-mc-buttons {
  flex: 0 0 auto;
  position: static !important;   /* annulla lo sticky della versione precedente */
  box-shadow: none !important;
}
.bn-drawer .bn-ship { margin-top: 10px; }
.bn-drawer .woocommerce-mini-cart__buttons,
.bn-drawer .bn-mc-buttons {
  padding: 10px 0 calc(4px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid var(--bn-line, #e6e6e2); margin-top: 10px;
}

/* ==========================================================================
   Drawer v3 (a prova di iOS): pannello a tutta altezza, il footer (totale +
   spedizione + "Vai al checkout") è SOLLEVATO dal fondo così supera la barra
   indirizzi di Safari che galleggia in basso. Articoli scrollano sopra.
   ========================================================================== */
.bn-drawer__panel { height: 100% !important; }
.bn-drawer__body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important; }
@media (min-width: 1000px) {
  /* su desktop la barra non c'è: meno spazio sprecato */
  .bn-drawer__body { padding-bottom: 30px !important; }
}

/* FIX flexbox: il body deve poter "rimpicciolire" (min-height:0) altrimenti
   cresce con gli articoli e il footer finisce sotto lo schermo. */
.bn-drawer__body { min-height: 0 !important; flex: 1 1 auto; }
.bn-drawer__panel { min-height: 0; }

/* ==========================================================================
   Drawer v4: altezza DEFINITA via top/bottom (più affidabile di height:100%
   su iOS → la lista scrolla per forza) + bottone Checkout nell'intestazione
   (sempre raggiungibile in alto, qualunque cosa accada in fondo).
   ========================================================================== */
.bn-drawer__panel { top: 0 !important; bottom: 0 !important; height: auto !important; }
.bn-drawer__headact { display: flex; align-items: center; gap: 14px; }
.bn-drawer__cta { background: #0a0a0a; color: #fff !important; font-weight: 700; font-size: 13.5px; padding: 9px 16px; border-radius: 999px; white-space: nowrap; line-height: 1; }
.bn-drawer__cta:hover { background: #000; color: #fff !important; }

/* Chi siamo: foto prodotto reale (scontornata) al posto del placeholder */
.bn-chisiamo-img { display: block; max-width: 300px; margin: 0 auto; }
.bn-chisiamo-img img { width: 100%; height: auto; display: block; filter: drop-shadow(0 16px 30px rgba(43,121,238,.18)); }

/* FIX newsletter home: campo email leggibile su sfondo scuro (era placeholder nero su nero) */
.bn-lead__form input {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.35) !important;
  color: #fff !important;
}
.bn-lead__form input::placeholder { color: rgba(255,255,255,.62) !important; }

/* ==========================================================================
   PRODOTTI CORRELATI nello stile di "Spesso acquistati insieme" (FBT)
   ========================================================================== */
.bn .woocommerce .related.products { padding: 8px 0 36px; }
.bn .woocommerce .related.products > h2 {
  font-size: clamp(20px,2.4vw,26px); font-weight: 800; letter-spacing: -.01em; margin: 0 0 20px;
}
/* contenitore = riquadro chiaro come FBT */
.bn .woocommerce .related.products ul.products {
  display: grid !important; grid-template-columns: repeat(3,1fr); gap: 14px !important; margin: 0 !important;
  background: #f4f4f2; border: 1px solid var(--bn-line,#e6e6e2); border-radius: 16px; padding: 18px;
}
/* ogni card bianca come .bn-fbt__card */
.bn .woocommerce .related.products ul.products li.product {
  background: #fff !important; border: 1px solid var(--bn-line,#e6e6e2) !important; border-radius: 12px !important;
  padding: 12px !important; margin: 0 !important; display: flex !important; flex-direction: column !important; min-width: 0 !important;
}
.bn .woocommerce .related.products ul.products li.product:hover { transform: none !important; box-shadow: none !important; }
/* immagine: scontornata su bianco, contenuta, niente glow */
.bn .woocommerce .related.products ul.products li.product a img,
.bn .woocommerce .related.products ul.products li.product img {
  position: static !important; width: 100% !important; height: auto !important;
  aspect-ratio: 1/1; object-fit: contain !important; background: #fff !important;
  border-radius: 8px !important; padding: 8% !important; filter: none !important; margin: 0 0 8px !important; box-sizing: border-box;
}
/* testi compatti */
.bn .woocommerce .related.products li.product .woocommerce-loop-product__title {
  font-size: 13.5px !important; font-weight: 700 !important; line-height: 1.25 !important; color: #0a0a0a !important;
  min-height: 2.4em !important; padding: 0 !important; margin: 0 0 4px !important;
}
.bn .woocommerce .related.products li.product .star-rating { font-size: 11px !important; margin: 0 0 6px !important; }
.bn .woocommerce .related.products li.product .bn-rating-empty { height: 12px !important; margin: 0 0 6px !important; }
.bn .woocommerce .related.products li.product .price {
  font-size: 14px !important; font-weight: 800 !important; color: #0a0a0a !important; margin: 0 0 10px !important;
}
.bn .woocommerce .related.products li.product .price del { color: #b3b3b3 !important; font-weight: 500 !important; }
.bn .woocommerce .related.products li.product .price ins { text-decoration: none; }
/* bottone Aggiungi compatto, ancorato in basso */
.bn .woocommerce .related.products li.product .button,
.bn .woocommerce .related.products li.product .added_to_cart {
  display: block !important; width: 100% !important; text-align: center !important; margin: auto 0 0 !important;
  background: #0a0a0a !important; color: #fff !important; border-radius: 999px !important;
  padding: 9px 12px !important; font-size: 12.5px !important; font-weight: 700 !important; box-shadow: none !important;
}
.bn .woocommerce .related.products li.product .added_to_cart { margin-top: 6px !important; background: #fff !important; color: #0a0a0a !important; border: 1.5px solid var(--bn-line,#e6e6e2) !important; }
/* onsale badge nello stile compatto */
.bn .woocommerce .related.products li.product .onsale { top: 8px !important; left: 8px !important; }
@media (max-width: 680px) {
  .bn .woocommerce .related.products ul.products { grid-template-columns: 1fr 1fr !important; gap: 10px; padding: 12px; }
}
