/* ==========================================================================
   Budsmaster design system — Commerce Market
   White retail surfaces, black store chrome, dense product shelves, and
   electric lime reserved for high-value promotional and status signals.
   ========================================================================== */

:root{
  --bm-bg:            #f3f4f2;
  --bm-bg-deep:       #111311;
  --bm-surface:       #ffffff;
  --bm-surface-2:     #e7eae7;
  --bm-line:          rgba(17,19,17,.17);
  --bm-ink:           #151715;
  --bm-ink-soft:      #575e59;
  --bm-lime:          #151715;
  --bm-lime-2:        #3f4540;
  --bm-lime-deep:     #000000;
  --bm-signal:        #b8f536;
  --bm-amber:         #ffb21c;
  --bm-plate:         #f7f8f6;
  --bm-radius:        12px;
  --bm-ease:          cubic-bezier(.22,1,.36,1);
  --bm-z-sticky:      30;
  --bm-z-header:      40;
  --bm-space-related: 1rem;
  --bm-space-group:   1.5rem;
  --bm-space-section: clamp(2rem,4vw,3rem);
  --bm-header-clearance: 140px;
}

/* Fallback for browsers without oklch support */
@supports not (color: oklch(0.5 0.1 150)){
  :root{
    --bm-bg:#f3f4f2; --bm-bg-deep:#111311; --bm-surface:#fff; --bm-surface-2:#e7eae7;
    --bm-line:rgba(17,19,17,.17); --bm-ink:#151715; --bm-ink-soft:#575e59;
    --bm-lime:#151715; --bm-lime-2:#3f4540; --bm-lime-deep:#000; --bm-signal:#b8f536;
    --bm-amber:#ffb21c; --bm-plate:#f7f8f6;
  }
}

body{
  background:var(--bm-bg); color:var(--bm-ink);
  font-family:"Archivo",system-ui,-apple-system,sans-serif;
  font-size:1.03rem; line-height:1.65; -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;height:auto}
.bm-wrap{width:min(1200px,93vw);margin-inline:auto}
.bm-center{text-align:center}
.bm-muted{color:var(--bm-ink-soft);font-size:.9rem}
h1,h2,h3{text-wrap:balance;line-height:1.07;color:var(--bm-ink)}
.bm-kicker{color:var(--bm-lime);font-weight:800;font-stretch:110%;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:.9rem}
.bm-sub,.bm-lede{color:var(--bm-ink-soft);max-width:62ch;text-wrap:pretty}
.bm-single-top{padding-top:1.3rem}

/* ---------- buttons ---------- */
.bm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.7rem 1.45rem;border-radius:14px;
  font-weight:800;font-size:.98rem;text-decoration:none;border:1px solid transparent;
  cursor:pointer;font-family:inherit;
  transition:transform .25s var(--bm-ease),background .25s var(--bm-ease),border-color .25s var(--bm-ease);
}
.bm-btn:active{transform:scale(.97)}
.bm-btn--lime{background:var(--bm-lime);color:var(--bm-bg-deep)}
.bm-btn--lime:hover{background:var(--bm-lime-deep);color:var(--bm-bg-deep)}
.bm-btn--ghost{border-color:var(--bm-line);color:var(--bm-ink);background:none}
.bm-btn--ghost:hover{border-color:var(--bm-lime);color:var(--bm-lime)}

/* WooCommerce button reskin */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--bm-lime);color:var(--bm-bg-deep);border-radius:14px;
  font-weight:800;min-height:48px;padding:.7rem 1.4rem;border:none;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover{
  background:var(--bm-lime-deep);color:var(--bm-bg-deep);
}

/* ---------- crumbs ---------- */
.bm-crumbs,.woocommerce-breadcrumb{font-size:.8rem;color:var(--bm-ink-soft);display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.bm-crumbs a,.woocommerce-breadcrumb a{text-decoration:none;color:var(--bm-ink-soft)}
.bm-crumbs a:hover,.woocommerce-breadcrumb a:hover{color:var(--bm-lime)}
.bm-crumbs span{color:var(--bm-ink)}

/* ---------- sections ---------- */
.bm-hero,.bm-cities,.bm-cats,.bm-steps,.bm-faq,.bm-seo,.bm-zones,.bm-reviews,
.bm-ahero,.bm-howto,.bm-askband,.bm-related-wrap,.bm-pagebody{padding-block:clamp(3.2rem,7vw,5.5rem)}
.bm-cities,.bm-cats,.bm-faq,.bm-zones,.bm-reviews,.bm-askband,.bm-howto,.bm-related-wrap{background:var(--bm-bg-deep);border-block:1px solid var(--bm-line)}
h2{font-weight:850;font-stretch:118%;font-size:clamp(1.6rem,3.4vw,2.5rem);letter-spacing:-0.015em;margin-bottom:.6rem}

/* ---------- hero ---------- */
.bm-hero .bm-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.bm-hero h1{font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.2rem,5.6vw,4.6rem);letter-spacing:-0.025em}
.bm-hero h1 em{font-style:normal;color:var(--bm-lime)}
.bm-hero .bm-lede{margin:1.2rem 0 1.8rem;font-size:clamp(1rem,1.5vw,1.15rem);max-width:52ch}
.bm-ctas{display:flex;flex-wrap:wrap;gap:.9rem}
.bm-micro{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:1.3rem;font-size:.86rem;color:var(--bm-ink-soft)}
.bm-micro b{color:var(--bm-ink)}
@media (max-width:900px){.bm-hero .bm-wrap{grid-template-columns:1fr}}

/* ---------- price board ---------- */
.bm-board{
  background:var(--bm-bg-deep);border:1px solid var(--bm-line);
  border-radius:calc(var(--bm-radius) + 6px);padding:1.5rem 1.5rem 1.2rem;position:relative;
  box-shadow:0 30px 80px oklch(0.08 0.006 150/.6);rotate:1.2deg;
}
.bm-board::before{content:"";position:absolute;inset:9px;border:1px dashed oklch(0.48 0.012 150/.45);border-radius:var(--bm-radius);pointer-events:none}
.bm-board h3{font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;color:var(--bm-lime);display:flex;justify-content:space-between;align-items:baseline;padding-bottom:.8rem}
.bm-board h3 small{display:none}
.bm-board ul{list-style:none;margin:0;padding:0}
.bm-board li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.72rem 0;border-top:1px solid oklch(0.32 0.008 150/.7)}
.bm-board li span{font-weight:650;font-size:.95rem}
.bm-board li em{font-style:normal;font-size:.78rem;color:var(--bm-ink-soft);display:block;font-weight:500}
.bm-board li b{font-weight:900;font-stretch:122%;font-size:1.25rem;color:var(--bm-lime);white-space:nowrap}
@media (max-width:900px){.bm-board{rotate:0deg}}

/* ---------- ticker ---------- */
.bm-ticker{border-block:1px solid var(--bm-line);background:var(--bm-surface);overflow:hidden;padding-block:.7rem}
.bm-ticker__lane{display:flex;gap:3rem;width:max-content;animation:bm-tick 34s linear infinite}
.bm-ticker span{font-weight:750;font-stretch:112%;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
@keyframes bm-tick{to{transform:translateX(-50%)}}

/* ---------- city cards ---------- */
.bm-citygrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:2.2rem}
.bm-city{border:1px solid var(--bm-line);border-radius:calc(var(--bm-radius)+4px);background:var(--bm-surface);padding:1.7rem;display:flex;flex-direction:column;gap:.5rem;text-decoration:none;color:inherit;transition:transform .3s var(--bm-ease),border-color .3s var(--bm-ease)}
.bm-city:hover{transform:translateY(-5px);border-color:var(--bm-lime)}
.bm-city h3{font-weight:900;font-stretch:120%;font-size:1.45rem;letter-spacing:-0.015em}
.bm-city p{color:var(--bm-ink-soft);font-size:.9rem}
.bm-city dl{display:grid;gap:.45rem;font-size:.88rem;margin-block:.6rem .8rem}
.bm-city dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--bm-line);padding-bottom:.4rem}
.bm-city dt{color:var(--bm-ink-soft);margin:0}
.bm-city dd{font-weight:800;color:var(--bm-lime);margin:0;white-space:nowrap}
.bm-go{color:var(--bm-lime);font-weight:800;font-size:.9rem;margin-top:auto}

/* ---------- zones ---------- */
.bm-zonelist{list-style:none;display:grid;gap:.6rem;margin-top:2rem;padding:0}
.bm-zonelist li{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--bm-line);border-radius:12px;background:var(--bm-surface);padding:.85rem 1.1rem}
.bm-zonelist b{font-weight:800;font-stretch:112%}
.bm-zonelist small{color:var(--bm-ink-soft);font-weight:650;font-size:.78rem}
.bm-ok{color:var(--bm-lime);font-weight:900;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

/* ---------- steps ---------- */
.bm-steps ol{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.2rem;margin-top:2.2rem;padding:0}
.bm-steps li{counter-increment:s}
.bm-steps li::before{content:"0" counter(s);font-weight:900;font-stretch:125%;font-size:3.4rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--bm-lime-2);display:block;margin-bottom:.8rem}
.bm-steps h3{font-weight:800;font-stretch:114%;font-size:1.18rem;margin-bottom:.35rem}
.bm-steps p{color:var(--bm-ink-soft);font-size:.94rem;max-width:38ch}
.bm-steps a{color:var(--bm-lime);font-weight:700;text-decoration:none}

/* ---------- shop archive ---------- */
.bm-shophead{border-bottom:1px solid var(--bm-line);background:var(--bm-bg-deep);padding:clamp(2rem,4vw,3.2rem) 0 1.6rem}
.bm-shophead__title{font-weight:900;font-stretch:124%;text-transform:uppercase;letter-spacing:-0.02em;font-size:clamp(2rem,4.5vw,3.4rem)}
.bm-shophead__title em{font-style:normal;color:var(--bm-lime)}
.bm-shophead__intro{color:var(--bm-ink-soft);margin-top:.5rem;max-width:60ch}
.bm-chips{display:flex;gap:.6rem;margin-top:1.4rem;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:none}
.bm-chips::-webkit-scrollbar{display:none}
.bm-chip{white-space:nowrap;border:1px solid var(--bm-line);border-radius:999px;padding:.5rem 1.1rem;font-weight:700;font-size:.88rem;text-decoration:none;color:var(--bm-ink-soft);transition:all .25s var(--bm-ease)}
.bm-chip:hover{border-color:var(--bm-lime);color:var(--bm-lime)}
.bm-chip[aria-current]{background:var(--bm-lime);border-color:var(--bm-lime);color:var(--bm-bg-deep)}
.bm-shopcategories{min-width:0}
.bm-shopcategories__controls{display:none;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem}
.bm-shopcategories__controls>strong{font-size:.96rem;color:var(--bm-ink);letter-spacing:-.01em}

.bm-shop{display:grid;grid-template-columns:260px 1fr;gap:clamp(1.5rem,3vw,2.75rem);padding-block:2.2rem 4rem}
.bm-filters h2{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-lime);margin-bottom:1.1rem}
.bm-filters .widget{border-top:1px solid var(--bm-line);padding-block:1rem}
.bm-filters .widget-title{font-weight:800;font-size:.98rem;margin-bottom:.7rem}
.bm-filters ul{list-style:none;padding:0;margin:0}
.bm-filters a{color:var(--bm-ink-soft);text-decoration:none;font-size:.92rem}
.bm-filters a:hover{color:var(--bm-lime)}
.bm-miniboard{margin-top:2rem;background:var(--bm-bg-deep);border:1px solid var(--bm-line);border-radius:var(--bm-radius);padding:1.2rem;position:relative}
.bm-miniboard h3{font-weight:900;font-stretch:122%;text-transform:uppercase;font-size:.85rem;color:var(--bm-lime);letter-spacing:.06em}
.bm-miniboard p{font-size:.85rem;color:var(--bm-ink-soft);margin:.5rem 0 .9rem}
.bm-miniboard .bm-btn{width:100%}

.bm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.3rem;flex-wrap:wrap}
.bm-toolbar .woocommerce-result-count{font-size:.9rem;color:var(--bm-ink-soft);margin:0}
.bm-toolbar select,.woocommerce-ordering select{
  appearance:none;background:var(--bm-surface);border:1px solid var(--bm-line);color:var(--bm-ink);
  font:inherit;font-weight:700;font-size:.9rem;padding:.6rem 1rem;border-radius:12px;cursor:pointer;
}
.bm-filterbtn{display:none}
.bm-filters__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.bm-filters__heading h2{margin:0}
.bm-close-filters,.bm-filter-backdrop{display:none}
@media (max-width:900px){
  .bm-shop{grid-template-columns:1fr}
  .bm-filters{display:none}
  .bm-filters.is-open{display:block;position:fixed;inset:0 auto 0 0;width:min(360px,90vw);z-index:100010;background:var(--bm-bg);padding:1rem 1.25rem;overflow-y:auto;overscroll-behavior:contain;box-shadow:8px 0 32px rgba(0,0,0,.2)}
  body.bm-body .bm-close-filters{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:44px;padding:.5rem .75rem;border:1px solid var(--bm-ink);border-radius:4px;background:var(--bm-surface);color:var(--bm-ink);font:inherit;font-size:.9rem;font-weight:750;cursor:pointer}
  .bm-filter-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:100009;border:0;border-radius:0;background:rgba(17,19,17,.55);cursor:pointer}
  .bm-filterbtn{display:inline-flex}
}

/* ---------- product cards ---------- */
ul.products{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.1rem}
.bm-prod{border:1px solid var(--bm-line);border-radius:var(--bm-radius);background:var(--bm-surface);position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--bm-ease),border-color .3s var(--bm-ease)}
.bm-prod:hover{transform:translateY(-5px);border-color:var(--bm-lime)}
.bm-prod__link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}
.bm-prod__media{aspect-ratio:4/3;background:var(--bm-plate);display:grid;place-items:center;border-bottom:1px solid var(--bm-line);overflow:hidden}
.bm-prod__media img{width:100%;height:100%;object-fit:contain;padding:6%}
.bm-tag{position:absolute;top:.9rem;left:.9rem;background:var(--bm-amber);color:var(--bm-bg-deep);font-weight:850;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;z-index:1}
.bm-prod__body{padding:1.05rem 1.15rem 1.15rem;display:flex;flex-direction:column;gap:.32rem;flex:1}
.bm-prod__type{font-size:.66rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--bm-ink-soft)}
.bm-prod__title{font-weight:850;font-stretch:116%;font-size:1.15rem;letter-spacing:-0.01em;margin:0}
.bm-thc{font-size:.82rem;font-weight:700;color:var(--bm-ink)}
.bm-lineage{font-size:.8rem;color:var(--bm-ink-soft)}
.bm-prod__price{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--bm-line);padding-top:.8rem;margin-top:auto}
.bm-prod__price .price,.bm-prod__price bdi{font-weight:900;font-stretch:122%;font-size:1.3rem;color:var(--bm-lime)}
.bm-prod__price del{opacity:.5;font-size:.85rem;font-weight:600}
.bm-prod__cart{padding:0 1.15rem 1.15rem}
.bm-prod__cart .button{width:100%;font-size:.9rem;min-height:44px}

/* ---------- single product ---------- */
.bm-product{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4.5vw,4rem);padding-block:1.6rem 3.5rem;align-items:start}
@media (max-width:900px){.bm-product{grid-template-columns:1fr}}
.bm-summary__cat{font-size:.74rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:var(--bm-ink-soft)}
.bm-summary__cat a{text-decoration:none;color:inherit}
.bm-summary__cat a:hover{color:var(--bm-lime)}
.bm-summary__title{font-weight:900;font-stretch:122%;font-size:clamp(2rem,4.2vw,3rem);letter-spacing:-0.02em;margin:.5rem 0 .6rem}
.bm-factrow{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.1rem 0 1.3rem}
.bm-fact{border:1px solid var(--bm-line);border-radius:999px;padding:.42rem 1rem;font-size:.82rem;font-weight:750}
.bm-summary .price,.bm-summary .price bdi{font-weight:900;font-stretch:124%;font-size:clamp(2rem,4vw,2.7rem);color:var(--bm-lime);letter-spacing:-0.02em}
.bm-perg{font-size:.85rem;color:var(--bm-ink-soft);margin-bottom:1.2rem}
.bm-altorder{margin-top:.8rem;font-size:.9rem;color:var(--bm-ink-soft)}
.bm-altorder a{color:var(--bm-lime);font-weight:800;text-decoration:none}
.bm-shipstrip{margin-top:1.5rem;border:1px solid var(--bm-line);border-radius:var(--bm-radius);background:var(--bm-bg-deep);display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}
.bm-shipstrip div{padding:.95rem .9rem;font-size:.8rem;color:var(--bm-ink-soft);border-left:1px solid var(--bm-line)}
.bm-shipstrip div:first-child{border-left:none}
.bm-shipstrip b{display:block;color:var(--bm-ink);font-size:.86rem;margin-bottom:.15rem}
@media (max-width:600px){.bm-shipstrip{grid-template-columns:1fr}.bm-shipstrip div{border-left:none;border-top:1px solid var(--bm-line)}.bm-shipstrip div:first-child{border-top:none}}
.bm-spec{width:100%;border-collapse:collapse;font-size:.95rem}
.bm-spec th,.bm-spec td{text-align:left;padding:.8rem .4rem;border-bottom:1px solid var(--bm-line)}
.bm-spec th{color:var(--bm-ink-soft);font-weight:650;width:38%}
.bm-tabs-wrap{padding-block:2.6rem 3rem;border-top:1px solid var(--bm-line)}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:.6rem;flex-wrap:wrap;padding:0;margin:0 0 1.8rem}
.woocommerce-tabs ul.tabs li{border:1px solid var(--bm-line);border-radius:999px}
.woocommerce-tabs ul.tabs li a{display:block;padding:.6rem 1.4rem;font-weight:800;font-size:.92rem;text-decoration:none;color:var(--bm-ink-soft)}
.woocommerce-tabs ul.tabs li.active{background:var(--bm-lime);border-color:var(--bm-lime)}
.woocommerce-tabs ul.tabs li.active a{color:var(--bm-bg-deep)}
.woocommerce-tabs .panel{max-width:76ch;color:var(--bm-ink-soft)}

/* variations */
.variations{width:100%;margin-bottom:1rem}
.variations td,.variations th{padding:.4rem 0}
.variations select{appearance:none;background:var(--bm-surface);border:1px solid var(--bm-line);color:var(--bm-ink);font:inherit;font-weight:700;padding:.7rem 1rem;border-radius:12px;width:100%;min-height:48px}
.quantity input[type=number]{background:var(--bm-surface);border:1px solid var(--bm-line);color:var(--bm-ink);font:inherit;font-weight:800;padding:.6rem;border-radius:12px;min-height:48px;text-align:center}

/* ---------- cart ---------- */
.bm-shipbar{border:1px solid var(--bm-line);border-radius:var(--bm-radius);background:var(--bm-bg-deep);padding:1.1rem 1.3rem;margin-bottom:1.6rem}
.bm-shipbar__label{display:flex;justify-content:space-between;font-size:.9rem;font-weight:700;margin-bottom:.6rem}
.bm-shipbar__label b{color:var(--bm-lime)}
.bm-track{height:10px;border-radius:999px;background:var(--bm-surface);overflow:hidden}
.bm-track i{display:block;height:100%;background:linear-gradient(90deg,var(--bm-lime-deep),var(--bm-lime));border-radius:999px}
.woocommerce table.shop_table{border:1px solid var(--bm-line);border-radius:var(--bm-radius);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--bm-line);padding:1rem}
.cart_totals h2,.cross-sells h2{font-size:1.15rem}

/* ---------- coverage checker ---------- */
.bm-checker{border:1px solid var(--bm-line);border-radius:var(--bm-radius);background:var(--bm-bg-deep);padding:1.4rem 1.5rem;margin-top:1.8rem;max-width:640px;position:relative}
.bm-checker label{font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--bm-lime);display:block;margin-bottom:.7rem}
.bm-checkrow{display:flex;gap:.6rem;flex-wrap:wrap}
.bm-checkrow input{flex:1;min-width:180px;background:var(--bm-surface);border:1px solid var(--bm-line);border-radius:12px;color:var(--bm-ink);font:inherit;font-weight:650;padding:.75rem 1rem;min-height:48px}
.bm-checkrow input:focus{outline:2px solid var(--bm-lime);outline-offset:1px;border-color:transparent}
.bm-hint{font-size:.82rem;color:var(--bm-ink-soft);margin-top:.7rem}
.bm-hint a{color:var(--bm-lime);font-weight:700;text-decoration:none}
.bm-result{margin-top:.9rem;font-weight:750;font-size:.95rem;display:none}
.bm-result.is-ok{color:var(--bm-lime);display:block}
.bm-result.is-no{color:var(--bm-amber);display:block}

/* ---------- reviews ---------- */
.bm-rhero .bm-wrap{align-items:center}
.bm-scorecard{border:1px solid var(--bm-line);border-radius:calc(var(--bm-radius)+6px);background:var(--bm-bg-deep);padding:1.8rem;text-align:center;position:relative}
.bm-scorecard__big{font-weight:900;font-stretch:125%;font-size:4.2rem;line-height:1;color:var(--bm-lime);letter-spacing:-0.04em}
.bm-scorecard__count{color:var(--bm-ink-soft);font-size:.9rem;font-weight:650}
.bm-stars{color:var(--bm-lime);letter-spacing:.18em;font-size:1rem;margin:.4rem 0 .3rem}
.bm-bars{margin-top:1.2rem;display:grid;gap:.4rem;text-align:left}
.bm-bar{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--bm-ink-soft);font-weight:700}
.bm-bar .bm-track{flex:1;height:7px}
.bm-revgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:2rem}
.bm-rev{border-top:1px solid var(--bm-line);padding:1.2rem 0 0}
.bm-rev--card{border:1px solid var(--bm-line);border-radius:var(--bm-radius);background:var(--bm-surface);padding:1.4rem;display:flex;flex-direction:column;gap:.6rem}
.bm-rev p{font-size:1rem;flex:1;text-wrap:pretty}
.bm-rev footer,.bm-rev__meta{margin-top:.7rem;color:var(--bm-ink-soft);font-size:.83rem;font-weight:650}
.bm-rev__meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-top:1px solid var(--bm-line);padding-top:.75rem}
.bm-rev__product{color:var(--bm-lime);font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}

/* ---------- faq ---------- */
.bm-faqgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem)}
@media (max-width:820px){.bm-faqgrid{grid-template-columns:1fr}}
.bm-faqnarrow{max-width:820px}
.bm-fsec{padding-block:1.6rem 0}
.bm-fsec h2{font-size:clamp(1.3rem,2.6vw,1.8rem)}
.bm-acc details{border-bottom:1px solid var(--bm-line)}
.bm-acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-weight:750;font-size:1.03rem}
.bm-acc summary::-webkit-details-marker{display:none}
.bm-acc summary::after{content:"+";font-weight:800;font-size:1.35rem;color:var(--bm-lime);transition:rotate .25s var(--bm-ease)}
.bm-acc details[open] summary::after{content:"−";rotate:none}
.bm-acc details p{padding:0 0 1.15rem;color:var(--bm-ink-soft);max-width:62ch;font-size:.96rem}

/* ---------- deals ---------- */
.bm-ahero h1{font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.1rem,5.2vw,4.2rem);letter-spacing:-0.025em}
.bm-ahero h1 em{font-style:normal;color:var(--bm-lime)}
.bm-updated{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;border:1px solid var(--bm-line);border-radius:999px;padding:.45rem 1rem;font-size:.8rem;font-weight:750;color:var(--bm-ink-soft)}
.bm-updated i{width:8px;height:8px;border-radius:50%;background:var(--bm-lime);animation:bm-blink 1.6s infinite}
@keyframes bm-blink{50%{opacity:.3}}
.bm-row3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.8rem;margin-top:2rem}
.bm-row3 h3{font-weight:800;font-stretch:114%;font-size:1.1rem;margin-bottom:.3rem}
.bm-row3 p{color:var(--bm-ink-soft);font-size:.93rem;max-width:40ch}

/* ---------- blog ---------- */
.bm-postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem;margin-block:2rem}
.bm-post{border:1px solid var(--bm-line);border-radius:var(--bm-radius);background:var(--bm-surface);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .3s var(--bm-ease),border-color .3s var(--bm-ease)}
.bm-post:hover{transform:translateY(-5px);border-color:var(--bm-lime)}
.bm-post__media img{aspect-ratio:16/9;object-fit:cover;width:100%}
.bm-post__body{padding:1.2rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.bm-post__meta{font-size:.7rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-lime)}
.bm-post__meta a{color:inherit;text-decoration:none}
.bm-post h2,.bm-post h3{font-weight:850;font-stretch:114%;font-size:1.15rem}
.bm-post p{color:var(--bm-ink-soft);font-size:.9rem;flex:1}
.bm-post time{color:var(--bm-ink-soft);font-size:.78rem;font-weight:650}
.bm-arthead{padding-block:clamp(2.6rem,5vw,4rem) 1.5rem;max-width:860px}
.bm-arthead h1{font-weight:900;font-stretch:120%;font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-0.02em;margin-top:.7rem}
.bm-byline{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.1rem;color:var(--bm-ink-soft);font-size:.88rem;font-weight:650}
.bm-heroimg img{border:1px solid var(--bm-line);border-radius:calc(var(--bm-radius)+6px);width:100%}
.bm-article{max-width:720px;margin-inline:auto;padding-block:2.6rem 2rem;font-size:1.08rem}
.bm-artcta{border:1px solid var(--bm-lime);border-radius:var(--bm-radius);padding:1.5rem 1.6rem;margin:2.2rem auto 3rem;max-width:720px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;background:oklch(0.88 0.21 130/.07)}
.bm-artcta b{font-weight:850;font-stretch:114%;font-size:1.1rem;display:block}
.bm-artcta span{display:block;color:var(--bm-ink-soft);font-size:.9rem;font-weight:500;margin-top:.2rem}

/* ---------- prose ---------- */
.bm-prose{max-width:76ch}
.bm-prose p{color:var(--bm-ink-soft);margin-bottom:1.2rem;text-wrap:pretty}
.bm-prose h2{margin-top:2.2rem}
.bm-prose h3{margin-top:1.6rem;margin-bottom:.4rem;font-weight:800;font-size:1.2rem}
.bm-prose a{color:var(--bm-lime);font-weight:700}
.bm-prose ul,.bm-prose ol{margin:0 0 1.2rem 1.2rem;color:var(--bm-ink-soft)}
.bm-prose li{margin-bottom:.4rem}
.bm-prose img{border-radius:var(--bm-radius);margin-block:1.5rem}
.bm-prose b,.bm-prose strong{color:var(--bm-ink)}

/* ---------- misc bands ---------- */
.bm-askband .bm-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.4rem}
.bm-askband h2{margin:0}
.bm-askband p{color:var(--bm-ink-soft);margin-top:.3rem;max-width:52ch}
.bm-notyet{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
@media (max-width:820px){.bm-notyet{grid-template-columns:1fr}}
.bm-panel{border:1px solid var(--bm-line);border-radius:var(--bm-radius);background:var(--bm-surface);padding:1.5rem}
.bm-panel__label{font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--bm-lime);margin-bottom:.9rem}
.bm-arrowlist{list-style:none;display:grid;gap:.5rem;font-size:.94rem;color:var(--bm-ink-soft);padding:0}
.bm-arrowlist li{display:flex;gap:.6rem;align-items:center}
.bm-arrowlist li::before{content:"→";color:var(--bm-lime);font-weight:900}
.bm-seo p{color:var(--bm-ink-soft);max-width:72ch;margin-top:1rem;text-wrap:pretty}
.bm-seo b{color:var(--bm-ink)}

/* ---------- sticky mobile bar ---------- */
/* ---------- accessibility & motion ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{
  outline:3px solid var(--bm-lime);outline-offset:2px;border-radius:4px;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .bm-ticker__lane{animation:none}
}


/* ==========================================================================
   v1.1 — header, footer and parent-theme overrides
   These are scoped high enough to beat Blocksy's defaults without !important
   soup; the few !important rules below are deliberate resets of parent chrome.
   ========================================================================== */

.bm-skip{position:absolute;left:-9999px;top:0;background:var(--bm-lime);color:var(--bm-bg-deep);padding:.7rem 1.2rem;font-weight:800;z-index:100}
.bm-skip:focus{left:0}

/* Neutralise Blocksy page wrappers so our full-bleed sections work */
body.bm-body #main-container,
body.bm-body .ct-container,
body.bm-body [class*="ct-container"]{max-width:none;padding:0;margin:0;width:auto}
body.bm-body #main{padding:0}
body.bm-body .ct-drawer-canvas,
body.bm-body #offcanvas,
body.bm-body #search-modal{display:none}

/* ---------- topbar ---------- */
.bm-topbar{background:var(--bm-bg-deep);border-bottom:1px solid var(--bm-line);font-size:.86rem;color:var(--bm-ink-soft)}
.bm-topbar .bm-wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:.5rem}
.bm-topbar strong{color:var(--bm-lime)}
.bm-topbar__sms{text-decoration:none;font-weight:700;color:var(--bm-ink-soft)}
.bm-topbar__sms:hover{color:var(--bm-lime)}

/* ---------- header ---------- */
.bm-header{
  position:sticky;top:0;z-index:var(--bm-z-header);
  background:rgba(43,47,44,.9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--bm-line);
}
@supports (background: oklch(0.21 0.008 150 / .9)){
  .bm-header{background:oklch(0.21 0.008 150 / .9)}
}
.bm-header .bm-wrap{display:flex;align-items:center;gap:2rem;padding-block:.85rem}
.bm-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--bm-ink)}
.bm-logo b{font-weight:900;font-stretch:122%;font-size:1.15rem;letter-spacing:-0.02em;line-height:1}
.bm-logo b span{color:var(--bm-lime)}
.bm-logo small{display:block;font-weight:600;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bm-ink-soft)}

.bm-nav{margin-left:auto}
.bm-nav__list{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}
.bm-nav__list li{position:relative}
.bm-nav__list a{text-decoration:none;font-weight:650;font-size:.94rem;color:var(--bm-ink-soft);transition:color .2s}
.bm-nav__list a:hover,
.bm-nav__list .current-menu-item > a,
.bm-nav__list .current_page_item > a{color:var(--bm-lime)}
/* submenus */
.bm-nav__list .sub-menu{
  display:none;position:absolute;top:100%;left:0;min-width:210px;
  background:var(--bm-bg-deep);border:1px solid var(--bm-line);border-radius:12px;
  padding:.5rem;list-style:none;margin:.6rem 0 0;
}
.bm-nav__list li:hover > .sub-menu,
.bm-nav__list li:focus-within > .sub-menu{display:block}
.bm-nav__list .sub-menu a{display:block;padding:.5rem .7rem;border-radius:8px;font-size:.9rem}
.bm-nav__list .sub-menu a:hover{background:var(--bm-surface)}

.bm-header__actions{display:flex;align-items:center;gap:.7rem}
.bm-header .bm-cart{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--bm-line);border-radius:13px;color:var(--bm-ink);text-decoration:none}
.bm-header .bm-cart:hover{border-color:var(--bm-lime);color:var(--bm-lime)}
.bm-header .bm-cart__n{position:absolute;top:-6px;right:-6px;background:var(--bm-lime);color:var(--bm-bg-deep);font-size:.68rem;font-weight:900;border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;padding-inline:4px}

.bm-burger{display:none;width:46px;height:46px;border:1px solid var(--bm-line);border-radius:13px;background:none;cursor:pointer;padding:0;flex-direction:column;gap:4px;align-items:center;justify-content:center}
.bm-burger span{display:block;width:18px;height:2px;background:var(--bm-ink);border-radius:2px;transition:transform .25s var(--bm-ease),opacity .2s}
.bm-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.bm-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.bm-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.bm-mobile-nav{display:none;border-top:1px solid var(--bm-line);background:var(--bm-bg-deep)}
.bm-mobile-nav.is-open{display:block}
.bm-mobile-nav ul{list-style:none;margin:0;padding:.6rem 3.5vw 1.2rem}
.bm-mobile-nav li{border-bottom:1px solid var(--bm-line)}
.bm-mobile-nav li:last-child{border-bottom:none}
.bm-mobile-nav a{display:block;padding:.9rem .2rem;text-decoration:none;font-weight:750;color:var(--bm-ink)}
.bm-mobile-nav a:hover{color:var(--bm-lime)}

@media (max-width:980px){
  .bm-nav,.bm-header__shop{display:none}
  .bm-burger{display:flex}
  .bm-topbar__hours{display:none}
  .bm-topbar .bm-wrap{justify-content:center}
}

/* ---------- footer ---------- */
.bm-footer{background:var(--bm-bg-deep);border-top:1px solid var(--bm-line);padding:clamp(3rem,6vw,4.5rem) 0 2rem;font-size:.92rem;color:var(--bm-ink-soft)}
.bm-footer__cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem}
.bm-footer__brand p{color:var(--bm-ink-soft);max-width:34ch;margin-top:.9rem}
.bm-footer__phone a{color:var(--bm-lime);font-weight:800;text-decoration:none;font-size:1.05rem}
.bm-footer__about a{font-weight:750}
.bm-footer h4{font-weight:800;font-stretch:112%;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-lime);margin-bottom:1rem}
.bm-footer ul{list-style:none;display:grid;gap:.55rem;margin:0;padding:0}
.bm-footer a{text-decoration:none;color:var(--bm-ink-soft)}
.bm-footer a:hover{color:var(--bm-lime)}
.bm-footer__legal{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--bm-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.8rem}
.bm-badge19{display:inline-flex;align-items:center;border:1.5px solid var(--bm-lime);color:var(--bm-lime);font-weight:900;border-radius:999px;padding:.15rem .6rem;font-size:.75rem}
@media (max-width:900px){.bm-footer__cols{grid-template-columns:1fr 1fr}.bm-footer{padding-bottom:6rem}}
@media (max-width:560px){.bm-footer__cols{grid-template-columns:1fr;gap:2rem}}

/* ---------- parent-theme colour resets ----------
   Blocksy paints links, headings and form controls from its own palette.
   These win without touching our component styles. */
body.bm-body{background-color:var(--bm-bg);color:var(--bm-ink)}
body.bm-body h1,body.bm-body h2,body.bm-body h3,
body.bm-body h4,body.bm-body h5,body.bm-body h6{color:var(--bm-ink)}
/* Link colour applies to prose links only — never to buttons or cards,
   which set their own foreground. (This blanket rule previously made lime
   buttons render lime-on-lime.) */
body.bm-body .bm-prose a,
body.bm-body .entry-content a,
body.bm-body .bm-seo a,
body.bm-body .bm-sub a,
body.bm-body .bm-acc a,
body.bm-body .bm-hint a{color:var(--bm-lime)}
/* Radios and checkboxes keep their own checked-state paint and shape. */
body.bm-body input:not([type=submit]):not([type=button]):where(:not([type=checkbox], [type=radio])),
body.bm-body select,
body.bm-body textarea{
  background:var(--bm-surface);border:1px solid var(--bm-line);color:var(--bm-ink);border-radius:12px;
}
/* Keep WooCommerce selection controls readable across parent-theme palettes. */
body.bm-body .bm-woo-page{
  --theme-form-selection-field-initial-color:#595959;
  --theme-form-selection-field-active-color:#141414;
}
body.bm-body ::placeholder{color:var(--bm-ink-soft);opacity:.7}

/* WooCommerce notices, tables and forms */
body.bm-body .woocommerce-message,
body.bm-body .woocommerce-info,
body.bm-body .woocommerce-error{
  background:var(--bm-surface);border-top-color:var(--bm-lime);color:var(--bm-ink);border-radius:12px;
}
body.bm-body .woocommerce-message::before,
body.bm-body .woocommerce-info::before{color:var(--bm-lime)}
body.bm-body table.shop_table,
body.bm-body table.shop_table td,
body.bm-body table.shop_table th{background:transparent;color:var(--bm-ink);border-color:var(--bm-line)}
body.bm-body .price,body.bm-body .amount{color:var(--bm-lime)}
body.bm-body .star-rating span::before,
body.bm-body .star-rating::before{color:var(--bm-lime)}

/* Empty-state helper */
.bm-empty{
  border:1px dashed var(--bm-line);border-radius:var(--bm-radius);
  padding:2.2rem 1.6rem;text-align:center;color:var(--bm-ink-soft);
  background:var(--bm-surface);
}
.bm-empty strong{display:block;color:var(--bm-ink);font-weight:800;font-size:1.05rem;margin-bottom:.4rem}
.bm-deals-empty p{max-width:54ch;margin:.4rem auto 1.2rem}
.bm-deals-empty .bm-btn{display:inline-flex}


/* ==========================================================================
   v1.4 — product detail page (matches the approved mockup)
   ========================================================================== */

.bm-product{align-items:start}
.bm-gallery{position:relative}
.bm-gallery__badge{
  position:absolute;top:1.1rem;left:1.1rem;z-index:3;
  background:var(--bm-lime);color:var(--bm-bg-deep);
  font-weight:850;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.35rem .7rem;border-radius:999px;
}
/* Photo plate behind the gallery so green bud separates from the shell */
body.bm-body .woocommerce-product-gallery{background:var(--bm-plate);border:1px solid var(--bm-line);border-radius:calc(var(--bm-radius) + 4px);padding:1rem;overflow:hidden}
body.bm-body .woocommerce-product-gallery img{border-radius:12px;mix-blend-mode:normal}
body.bm-body .flex-control-thumbs{display:flex;gap:.6rem;list-style:none;margin:.8rem 0 0;padding:0}
body.bm-body .flex-control-thumbs li{width:auto;flex:0 0 22%}
body.bm-body .flex-control-thumbs img{border:1px solid rgba(0,0,0,.08);border-radius:10px;opacity:.75;cursor:pointer}
body.bm-body .flex-control-thumbs img.flex-active,
body.bm-body .flex-control-thumbs img:hover{opacity:1;border-color:var(--bm-lime-2)}
body.bm-body .woocommerce-product-gallery__trigger{background:var(--bm-bg-deep);color:var(--bm-lime);border-radius:10px}

/* fact chips */
.bm-factrow--empty{opacity:.5}
.bm-factrow--empty .bm-fact{border-style:dashed;font-weight:600}

/* price block */
.bm-pricebig{display:flex;align-items:baseline;flex-wrap:wrap;gap:.8rem;margin-bottom:.3rem}
body.bm-body .bm-pricebig .price{margin:0;display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
body.bm-body .bm-pricebig .price,
body.bm-body .bm-pricebig .price bdi,
body.bm-body .bm-pricebig .price ins{
  font-weight:900;font-stretch:124%;font-size:clamp(2rem,4vw,2.7rem);
  color:var(--bm-lime);letter-spacing:-0.02em;text-decoration:none;
}
body.bm-body .bm-pricebig .price del,
body.bm-body .bm-pricebig .price del bdi{
  color:var(--bm-ink-soft);font-size:1.15rem;font-weight:600;opacity:.75;
}
.bm-save{
  background:var(--bm-amber);color:var(--bm-bg-deep);
  font-weight:850;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.3rem .6rem;border-radius:999px;
}
.bm-perg{font-size:.85rem;color:var(--bm-ink-soft);margin:0 0 1.3rem}

/* variation pills replace the select */
body.bm-body .variations{width:100%;margin:0 0 1.2rem;border:none}
body.bm-body .variations tr,
body.bm-body .variations td,
body.bm-body .variations th{display:block;width:100%;padding:0;border:none;background:none}
body.bm-body .variations th.label,
body.bm-body .variations .label label{
  font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bm-ink-soft);margin-bottom:.6rem;display:block;
}
.bm-select-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.bm-vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.6rem;margin-bottom:.4rem}
.bm-v{
  border:1.5px solid var(--bm-line);border-radius:12px;background:none;color:var(--bm-ink);
  padding:.7rem .4rem;cursor:pointer;font-family:inherit;text-align:center;
  transition:border-color .22s var(--bm-ease),background .22s var(--bm-ease);
}
.bm-v b{display:block;font-weight:850;font-stretch:114%;font-size:1rem}
.bm-v[aria-pressed=true]{border-color:var(--bm-lime);background:rgba(182,242,74,.1)}
@supports (background: oklch(0.88 0.21 130 / .1)){
  .bm-v[aria-pressed=true]{background:oklch(0.88 0.21 130 / .1)}
}
body.bm-body .reset_variations{color:var(--bm-ink-soft);font-size:.82rem;font-weight:650}

/* quantity stepper + add to cart row */
body.bm-body form.cart{display:flex;flex-wrap:wrap;gap:.8rem;align-items:stretch;margin-bottom:.4rem}
body.bm-body form.cart .variations_button,
body.bm-body form.cart.variations_form{width:100%}
body.bm-body form.cart .variations_button{display:flex;gap:.8rem;align-items:stretch;flex-wrap:wrap}
.bm-qty{display:flex;align-items:center;border:1px solid var(--bm-line);border-radius:14px;overflow:hidden;flex:none}
.bm-qty__btn{
  width:48px;height:52px;background:none;border:none;color:var(--bm-lime);
  font-size:1.3rem;font-weight:800;cursor:pointer;font-family:inherit;line-height:1;
}
.bm-qty__btn:hover{background:var(--bm-surface)}
body.bm-body .bm-qty input.qty{
  width:52px;height:52px;border:none;background:none;color:var(--bm-ink);
  font-weight:850;font-size:1.05rem;text-align:center;-moz-appearance:textfield;border-radius:0;
}
body.bm-body .bm-qty input.qty::-webkit-outer-spin-button,
body.bm-body .bm-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.bm-body .single_add_to_cart_button{
  flex:1;min-width:200px;min-height:52px;font-size:1.05rem;border-radius:14px;
  background:var(--bm-lime);color:var(--bm-bg-deep);font-weight:850;
}
body.bm-body .single_add_to_cart_button:hover{background:var(--bm-lime-deep)}

.bm-altorder{margin:.9rem 0 0;font-size:.9rem;color:var(--bm-ink-soft)}
.bm-altorder a{color:var(--bm-lime);font-weight:800;text-decoration:none}
.bm-points{margin-top:1rem;display:flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--bm-ink-soft)}
.bm-points svg{width:16px;height:16px;color:var(--bm-amber);flex:none}
.bm-points b{color:var(--bm-ink)}

/* product meta */
body.bm-body .product_meta{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--bm-line);font-size:.85rem;color:var(--bm-ink-soft)}
body.bm-body .product_meta a{color:var(--bm-ink-soft)}
body.bm-body .product_meta a:hover{color:var(--bm-lime)}

/* sticky buy bar */
.bm-buybar{
  position:fixed;left:0;right:0;bottom:0;z-index:var(--bm-z-sticky);
  display:none;align-items:center;gap:1rem;
  padding:.6rem .9rem calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(34,37,34,.95);backdrop-filter:blur(16px);
  border-top:1px solid var(--bm-line);box-shadow:0 -12px 30px rgba(0,0,0,.35);
}
@supports (background: oklch(0.17 0.008 150 / .95)){
  .bm-buybar{background:oklch(0.17 0.008 150 / .95)}
}
.bm-buybar__p{line-height:1.15;flex:none}
.bm-buybar__p b,
.bm-buybar__p b .amount,
.bm-buybar__p b bdi{font-weight:900;font-stretch:122%;color:var(--bm-lime);font-size:1.2rem;display:block}
.bm-buybar__p small{color:var(--bm-ink-soft);font-size:.72rem;font-weight:650}
.bm-buybar .bm-btn{flex:1;min-height:48px}
/* On product pages the buy bar replaces the generic action bar */
@media (max-width:900px){
  body.single-product .bm-buybar{display:flex}
  body.single-product{padding-bottom:5rem}
}

/* tabs */
body.bm-body .woocommerce-tabs{padding:0}
body.bm-body .woocommerce-tabs ul.tabs::before,
body.bm-body .woocommerce-tabs ul.tabs li::before,
body.bm-body .woocommerce-tabs ul.tabs li::after{display:none}
body.bm-body .woocommerce-tabs ul.tabs li{box-shadow:none}
body.bm-body .woocommerce-tabs .panel h2{font-size:1.3rem;margin-bottom:.6rem}
body.bm-body .woocommerce-tabs .panel p{color:var(--bm-ink-soft)}

/* related products */
.bm-related-wrap h2{font-weight:850;font-stretch:118%;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:1.4rem}

/* ==========================================================================
   v1.5 — button foreground guarantees
   Declared last and scoped to body so nothing can win against them.
   ========================================================================== */

body.bm-body .bm-btn--lime,
body.bm-body a.bm-btn--lime,
body.bm-body button.bm-btn--lime,
body.bm-body .woocommerce a.button,
body.bm-body .woocommerce button.button,
body.bm-body .woocommerce input.button,
body.bm-body .woocommerce a.button.alt,
body.bm-body .woocommerce button.button.alt,
body.bm-body .woocommerce #respond input#submit,
body.bm-body .single_add_to_cart_button,
body.bm-body button.single_add_to_cart_button{
  background:var(--bm-lime);
  color:var(--bm-bg-deep);
}
body.bm-body .bm-btn--lime:hover,
body.bm-body a.bm-btn--lime:hover,
body.bm-body .woocommerce a.button:hover,
body.bm-body .woocommerce button.button:hover,
body.bm-body .single_add_to_cart_button:hover{
  background:var(--bm-lime-deep);
  color:var(--bm-bg-deep);
}

body.bm-body .bm-btn--ghost,
body.bm-body a.bm-btn--ghost,
body.bm-body button.bm-btn--ghost,
body.bm-body .bm-tabbar__item{
  background:transparent;
  color:var(--bm-ink);
  border-color:var(--bm-line);
}
body.bm-body .bm-btn--ghost:hover,
body.bm-body a.bm-btn--ghost:hover,
body.bm-body .bm-tabbar__item:hover{
  color:var(--bm-lime);
  border-color:var(--bm-lime);
}

/* Cards and nav links own their own colour too */
body.bm-body .bm-city,
body.bm-body .bm-prod__link,
body.bm-body .bm-post,
body.bm-body .bm-catlink{color:var(--bm-ink)}
body.bm-body .bm-nav__list a,
body.bm-body .bm-topbar__sms,
body.bm-body .bm-footer a{color:var(--bm-ink-soft)}
body.bm-body .bm-nav__list a:hover,
body.bm-body .bm-nav__list .current-menu-item > a,
body.bm-body .bm-topbar__sms:hover,
body.bm-body .bm-footer a:hover{color:var(--bm-lime)}
body.bm-body .bm-chip{color:var(--bm-ink-soft)}
body.bm-body .bm-chip[aria-current]{background:var(--bm-lime);color:var(--bm-bg-deep)}
body.bm-body .bm-go,
body.bm-body .bm-footer__phone a,
body.bm-body .bm-altorder a{color:var(--bm-lime)}

/* ==========================================================================
   v1.6 — compact mobile tab bar + product page refinements
   ========================================================================== */

.bm-tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:var(--bm-z-sticky);
  display:none;
  padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom));
  background:rgba(34,37,34,.96);
  backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  border-top:1px solid var(--bm-line);
}
@supports (background: oklch(0.17 0.008 150 / .96)){
  .bm-tabbar{background:oklch(0.17 0.008 150 / .96)}
}
.bm-tabbar__item{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;
  padding:.4rem .2rem;border-radius:12px;text-decoration:none;
  color:var(--bm-ink-soft);font-size:.63rem;font-weight:750;letter-spacing:.04em;
  transition:color .2s var(--bm-ease),background .2s var(--bm-ease);
}
.bm-tabbar__item svg{width:21px;height:21px}
.bm-tabbar__item:hover,.bm-tabbar__item:active{color:var(--bm-lime);background:rgba(255,255,255,.04)}
.bm-tabbar__item:first-child{color:var(--bm-lime)}
.bm-tabbar__icon-wrap{position:relative;display:block;line-height:0}
.bm-tabbar__icon-wrap b{
  position:absolute;top:-5px;right:-8px;background:var(--bm-lime);color:var(--bm-bg-deep);
  font-size:.58rem;font-weight:900;border-radius:999px;min-width:15px;height:15px;
  display:grid;place-items:center;padding-inline:3px;
}
@media (max-width:900px){
  .bm-tabbar{display:flex}
  body{padding-bottom:4.2rem}
  .bm-footer{padding-bottom:1.5rem}
}
/* Product pages swap the tab bar for the buy bar */
body.single-product .bm-tabbar{display:none !important}

/* --- size pills now carry their price --- */
.bm-v small{
  display:block;margin-top:.15rem;
  color:var(--bm-ink-soft);font-weight:700;font-size:.78rem;
}
.bm-v[aria-pressed=true] small{color:var(--bm-lime)}
.bm-v:disabled{border-style:dashed;background:var(--bm-plate);color:var(--bm-ink-soft);cursor:not-allowed}
.bm-v:disabled b{text-decoration:line-through}
.bm-buybar [data-bm-buybar-add]:disabled{cursor:not-allowed}

/* Legacy hidden-select styling; the native reset link remains accessible. */
body.bm-body .bm-select-hidden,
body.bm-body a.bm-select-hidden{
  position:absolute !important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none;
}

/* Price range shown before a size is picked reads as secondary */
body.bm-body .bm-pricebig .price .woocommerce-Price-amount + .woocommerce-Price-amount{opacity:.85}
body.bm-body .woocommerce-variation-price{margin:0 0 .4rem}
body.bm-body .woocommerce-variation-price .price,
body.bm-body .woocommerce-variation-price .price bdi{
  font-weight:900;font-stretch:124%;font-size:clamp(1.9rem,3.6vw,2.5rem);
  color:var(--bm-lime);letter-spacing:-0.02em;
}
body.bm-body .woocommerce-variation-availability{font-size:.85rem;color:var(--bm-ink-soft)}
body.bm-body .woocommerce-variation-description p{color:var(--bm-ink-soft);font-size:.92rem}

/* add-to-cart total span */
body.bm-body .single_add_to_cart_button [data-bm-total]{font-weight:900}

/* ==========================================================================
   v1.7 — product layout: gallery LEFT, summary RIGHT, explicitly placed
   Implicit auto-placement was letting stray children (notices, sale flash,
   plugin markup) take the second cell and push the summary onto row 2.
   Explicit grid-column/grid-row removes that whole class of bug.
   ========================================================================== */

body.bm-body .bm-product{
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  gap:1.2rem clamp(2rem,4.5vw,4rem) !important;
  grid-template-rows:auto 1fr;
  align-items:start !important;
  width:min(1200px,93vw);
  margin-inline:auto;
  padding-block:1.6rem 3.5rem;
  float:none !important;
}

body.bm-body .bm-product > .bm-gallery{
  grid-column:1 !important;
  grid-row:1 / 3 !important;
  width:auto !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  position:sticky;
  top:96px;
}

body.bm-body .bm-product > .bm-summary{
  grid-column:2 !important;
  grid-row:2 !important;
  width:auto !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Anything else Woo or a plugin injects spans the full width below,
   instead of stealing the summary's cell. */
body.bm-body .bm-product > *:not(.bm-gallery):not(.bm-summary):not(.bm-product-heading){
  grid-column:1 / -1 !important;
  grid-row:auto !important;
}
body.bm-body .bm-product > .bm-product-heading{grid-column:2;grid-row:1;min-width:0}
body.bm-body .bm-product-heading .bm-summary__title{margin:0;font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.1;letter-spacing:-.025em}

/* The gallery itself must fill its column */
body.bm-body .bm-product .woocommerce-product-gallery{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  opacity:1 !important;
}
/* Do NOT override width/float on gallery slides. FlexSlider (which powers the
   WooCommerce gallery) floats each slide to lay them out in a row and then
   translates the wrapper. Forcing float:none stacked them, and overflow:hidden
   clipped every slide after the first — clicking a thumbnail showed a blank. */
body.bm-body .bm-product .woocommerce-product-gallery__image img{height:auto}

@media (max-width:900px){
  body.bm-body .bm-product{grid-template-columns:1fr !important;grid-template-rows:auto auto auto;row-gap:1.2rem !important}
  body.bm-body .bm-product > .bm-product-heading{grid-column:1;grid-row:1}
  body.bm-body .bm-product > .bm-gallery{
    grid-column:1 !important;grid-row:2 !important;position:static;
  }
  body.bm-body .bm-product > .bm-summary{grid-column:1 !important;grid-row:3 !important}
}

.bm-notices:empty{display:none}
.bm-notices{padding-top:1rem}
.bm-notices .woocommerce-notices-wrapper:empty{display:none}

/* ==========================================================================
   v1.9 — product tabs: guaranteed contrast in both states
   Declared last with body-level specificity so no earlier or parent rule can
   strip the active background while leaving the dark text behind.
   ========================================================================== */

body.bm-body .woocommerce-tabs ul.tabs{
  list-style:none;display:flex;gap:.6rem;flex-wrap:wrap;
  padding:0;margin:0 0 1.8rem;border:none;
}
body.bm-body .woocommerce-tabs ul.tabs::before,
body.bm-body .woocommerce-tabs ul.tabs::after,
body.bm-body .woocommerce-tabs ul.tabs li::before,
body.bm-body .woocommerce-tabs ul.tabs li::after{display:none;content:none}

/* Inactive pill: outlined, soft text on the page background */
body.bm-body .woocommerce-tabs ul.tabs li{
  background:transparent;
  border:1px solid var(--bm-line);
  border-radius:999px;
  box-shadow:none;
  margin:0;padding:0;
}
body.bm-body .woocommerce-tabs ul.tabs li a{
  display:block;padding:.6rem 1.4rem;
  font-weight:800;font-size:.92rem;text-decoration:none;
  color:var(--bm-ink-soft);
}
body.bm-body .woocommerce-tabs ul.tabs li:hover{border-color:var(--bm-lime)}
body.bm-body .woocommerce-tabs ul.tabs li:hover a{color:var(--bm-lime)}

/* Active pill: lime fill with dark text — the two always travel together */
body.bm-body .woocommerce-tabs ul.tabs li.active,
body.bm-body .woocommerce-tabs ul.tabs li[aria-selected="true"]{
  background:var(--bm-lime);
  border-color:var(--bm-lime);
}
body.bm-body .woocommerce-tabs ul.tabs li.active a,
body.bm-body .woocommerce-tabs ul.tabs li.active a:hover,
body.bm-body .woocommerce-tabs ul.tabs li[aria-selected="true"] a{
  color:var(--bm-bg-deep);
}

/* Coverage checker with no service map entered yet: hide the input row and
   show the text prompt only, so it can never imply a coverage answer. */
.bm-checker--unset .bm-checkrow,
.bm-checker--unset .bm-result{display:none}
.bm-checker--unset label::after{
  content:" — text us your address and we'll confirm";
  font-weight:650;letter-spacing:0;text-transform:none;color:var(--bm-ink-soft);
}

.bm-footer__addr{color:var(--bm-ink-soft);font-size:.86rem;font-style:normal;margin-top:.4rem;max-width:32ch}
.bm-footer__addr a{color:inherit;text-decoration:underline;text-underline-offset:.2em}

/* Coverage result can contain a text-us link */
.bm-result a{color:inherit;text-decoration:underline;font-weight:800}
.bm-result.is-no a{color:var(--bm-lime);text-decoration:underline}
.bm-result{line-height:1.5}

/* ==========================================================================
   v1.14 — Cart / checkout / account
   These are task screens. Full width, no prose clamp, panelled totals,
   thumbnails at a sane size.
   ========================================================================== */

.bm-woo-page{padding-block:1.5rem 4rem;max-width:none}
.bm-woo-page__title{
  font-weight:900;font-stretch:124%;text-transform:uppercase;letter-spacing:-0.025em;
  font-size:clamp(1.9rem,4.4vw,3.2rem);margin-bottom:1.6rem;
}

/* --- two-column cart: our own markup, so placement is guaranteed --- */
.bm-cartpage{display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:start}
@media (min-width:1000px){
  .bm-cartpage{grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:2.5rem}
  .bm-cartpage__items{grid-column:1;grid-row:1}
  .bm-cartpage__side{grid-column:2;grid-row:1;position:sticky;top:96px}
}
.bm-cartpage__side .cart-collaterals{width:auto;float:none}
.bm-cartpage__side .cart-collaterals > *{width:auto;float:none}

/* --- items table --- */
body.bm-body .woocommerce-cart-form table.shop_table{
  border:1px solid var(--bm-line);
  border-radius:var(--bm-radius);
  border-collapse:separate;border-spacing:0;overflow:hidden;
  background:var(--bm-surface);
  margin:0;
}
body.bm-body .woocommerce-cart-form table.shop_table thead th{
  background:var(--bm-bg-deep);
  color:var(--bm-ink-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  padding:.9rem 1rem;border:none;border-bottom:1px solid var(--bm-line);
}
body.bm-body .woocommerce-cart-form table.shop_table td{
  padding:1rem;border:none;border-bottom:1px solid var(--bm-line);
  color:var(--bm-ink);vertical-align:middle;background:transparent;
}
body.bm-body .woocommerce-cart-form table.shop_table tbody tr:last-child td{border-bottom:none}

/* thumbnails were rendering at ~235px — cap them */
body.bm-body .woocommerce-cart-form td.product-thumbnail{width:96px}
body.bm-body .woocommerce-cart-form td.product-thumbnail img{
  width:72px !important;height:72px !important;max-width:72px;
  object-fit:contain;background:var(--bm-plate);
  border:1px solid var(--bm-line);border-radius:12px;padding:4px;
}
body.bm-body .woocommerce-cart-form td.product-name a{
  color:var(--bm-ink);font-weight:800;text-decoration:none;font-size:1.02rem;
}
body.bm-body .woocommerce-cart-form td.product-name a:hover{color:var(--bm-lime)}
body.bm-body .woocommerce-cart-form td.product-name .variation{
  font-size:.82rem;color:var(--bm-ink-soft);margin-top:.2rem;
}
body.bm-body .woocommerce-cart-form td.product-name .variation dt,
body.bm-body .woocommerce-cart-form td.product-name .variation dd{display:inline;margin:0}
body.bm-body .woocommerce-cart-form .product-price,
body.bm-body .woocommerce-cart-form .product-subtotal{font-weight:800;color:var(--bm-lime);white-space:nowrap}

/* remove ("x") button */
body.bm-body .woocommerce-cart-form a.remove{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  color:var(--bm-ink-soft) !important;background:transparent;border:1px solid var(--bm-line);
  font-size:1rem;line-height:1;text-decoration:none;
}
body.bm-body .woocommerce-cart-form a.remove:hover{
  background:var(--bm-amber);color:var(--bm-bg-deep) !important;border-color:var(--bm-amber);
}

/* quantity in the cart */
body.bm-body .woocommerce-cart-form .quantity input.qty{
  width:70px;height:44px;text-align:center;
  background:var(--bm-bg-deep);border:1px solid var(--bm-line);color:var(--bm-ink);
  border-radius:10px;font-weight:800;
}

/* coupon + actions row */
body.bm-body .woocommerce-cart-form td.actions{padding:1.1rem;background:var(--bm-bg-deep)}
body.bm-body .woocommerce-cart-form .coupon{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;float:none}
body.bm-body .woocommerce-cart-form .coupon label{display:none}
body.bm-body .woocommerce-cart-form #coupon_code{
  min-width:190px;height:48px;padding:.6rem 1rem;border-radius:12px;
  background:var(--bm-surface);border:1px solid var(--bm-line);color:var(--bm-ink);
}
body.bm-body .woocommerce-cart-form td.actions > .button{float:right}

/* --- totals panel --- */
body.bm-body .cart_totals{
  background:var(--bm-bg-deep);
  border:1px solid var(--bm-line);
  border-radius:calc(var(--bm-radius) + 4px);
  padding:1.5rem;
}
body.bm-body .cart_totals h2{
  font-size:.85rem;font-weight:900;font-stretch:120%;letter-spacing:.1em;
  text-transform:uppercase;color:var(--bm-lime);margin-bottom:1rem;
}
body.bm-body .cart_totals table.shop_table{
  border:none;background:none;margin:0;border-collapse:collapse;
}
body.bm-body .cart_totals table.shop_table th,
body.bm-body .cart_totals table.shop_table td{
  padding:.7rem 0;border:none;border-bottom:1px solid var(--bm-line);background:none;
}
body.bm-body .cart_totals th{color:var(--bm-ink-soft);font-weight:650;font-size:.92rem}
body.bm-body .cart_totals td{text-align:right;font-weight:750}
body.bm-body .cart_totals .order-total th{color:var(--bm-ink);font-weight:800}
body.bm-body .cart_totals .order-total td,
body.bm-body .cart_totals .order-total .amount{
  font-weight:900;font-stretch:122%;font-size:1.45rem;color:var(--bm-lime);
}
body.bm-body .cart_totals .order-total th,
body.bm-body .cart_totals .order-total td{border-bottom:none}
body.bm-body .wc-proceed-to-checkout{padding:1.2rem 0 0}
body.bm-body .wc-proceed-to-checkout a.checkout-button{
  display:block;width:100%;text-align:center;min-height:52px;
  font-size:1.05rem;border-radius:14px;
}
body.bm-body .woocommerce-shipping-destination,
body.bm-body .shipping-calculator-button{color:var(--bm-ink-soft);font-size:.88rem}

/* empty cart */
body.bm-body .cart-empty,
body.bm-body .wc-empty-cart-message{
  border:1px dashed var(--bm-line);border-radius:var(--bm-radius);
  background:var(--bm-surface);padding:2rem;text-align:center;color:var(--bm-ink-soft);
}
body.bm-body .return-to-shop{text-align:center;margin-top:1rem}

/* cross-sells */
body.bm-body .cross-sells h2{
  font-weight:850;font-stretch:118%;font-size:1.35rem;margin:2.5rem 0 1.2rem;
}

/* checkout shares the panel language */
body.bm-body .woocommerce-checkout #customer_details{margin-bottom:2rem}
body.bm-body .woocommerce-checkout h3{font-size:1.15rem;font-weight:850;margin-bottom:.9rem}
body.bm-body #order_review,
body.bm-body #order_review_heading + #order_review{
  background:var(--bm-bg-deep);border:1px solid var(--bm-line);
  border-radius:calc(var(--bm-radius) + 4px);padding:1.5rem;
}
body.bm-body .woocommerce-checkout .form-row label{
  color:var(--bm-ink-soft);font-size:.85rem;font-weight:700;margin-bottom:.35rem;display:block;
}
body.bm-body .woocommerce-checkout .form-row input.input-text,
body.bm-body .woocommerce-checkout .form-row textarea,
body.bm-body .woocommerce-checkout .select2-selection{
  background:var(--bm-surface);border:1px solid var(--bm-line);color:var(--bm-ink);
  border-radius:12px;min-height:48px;padding:.6rem .9rem;
}
body.bm-body #place_order{width:100%;min-height:54px;font-size:1.05rem;border-radius:14px}

@media (max-width:640px){
  body.bm-body .woocommerce-cart-form table.shop_table td{padding:.75rem}
  body.bm-body .woocommerce-cart-form td.actions > .button{float:none;width:100%;margin-top:.6rem}
}

/* ==========================================================================
   v1.15 — product gallery: style only, never layout
   FlexSlider owns width/float/transform on the slides. We restrict ourselves
   to colour, radius and the thumbnail strip.
   ========================================================================== */

/* The plate lives on the viewport so it sits behind whichever slide is shown */
body.bm-body .bm-product .woocommerce-product-gallery{
  background:transparent;border:none;padding:0;overflow:visible;
}
body.bm-body .bm-product .woocommerce-product-gallery .flex-viewport,
body.bm-body .bm-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{
  background:var(--bm-plate);
  border:1px solid var(--bm-line);
  border-radius:calc(var(--bm-radius) + 4px);
  overflow:hidden;
}
body.bm-body .bm-product .woocommerce-product-gallery__image img{
  border:none;border-radius:0;background:transparent;
  display:block;margin:0 auto;
}
body.bm-body .bm-product .woocommerce-product-gallery__image>a>img{max-height:520px;object-fit:contain}

/* zoom / lightbox trigger */
body.bm-body .bm-product .woocommerce-product-gallery__trigger{
  background:var(--bm-bg-deep);color:var(--bm-lime);
  border:1px solid var(--bm-line);border-radius:10px;
  z-index:4;top:.9rem;right:.9rem;
  display:flex;align-items:center;justify-content:center;min-height:44px;max-width:44px;margin:0 0 .5rem auto;font-size:1rem;
}

/* thumbnail strip */
body.bm-body .bm-product .flex-control-thumbs{
  display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;
  margin:.8rem 0 0;padding:0;
}
body.bm-body .bm-product .flex-control-thumbs li{
  width:auto;flex:0 0 calc(25% - .45rem);margin:0;
}
body.bm-body .bm-product .flex-control-thumbs img{
  width:100%;height:auto;cursor:pointer;
  background:var(--bm-plate);
  border:1px solid var(--bm-line);border-radius:12px;
  opacity:.6;transition:opacity .2s var(--bm-ease),border-color .2s var(--bm-ease);
}
body.bm-body .bm-product .flex-control-thumbs img:hover{opacity:.9}
body.bm-body .bm-product .flex-control-thumbs img.flex-active{
  opacity:1;border-color:var(--bm-lime);
}

/* badge sits above the plate */
.bm-gallery{position:relative}
.bm-gallery__badge{z-index:5}

/* ==========================================================================
   v1.17 — suppress leftover empty Elementor bands
   Pages carried over from the previous build can render empty Elementor
   wrappers, which show as blank vertical gaps. Collapse them.
   ========================================================================== */

body.bm-body .elementor-section:empty,
body.bm-body .elementor-container:empty,
body.bm-body .elementor-widget-wrap:empty,
body.bm-body .elementor-column:empty,
body.bm-body .elementor-inner:empty,
body.bm-body .elementor-top-section:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}
body.bm-body .bm-pagebody .elementor-section{margin-block:0}
body.bm-body .bm-pagebody:empty{display:none}

/* ==========================================================================
   v1.19 — plugin tables inside the cart (free gifts, cross-sell style)
   These arrive from plugins with their own column sets; give them the same
   treatment as the cart table so they don't read as raw HTML.
   ========================================================================== */

body.bm-body .bm-cartpage__items table.shop_table:not(.woocommerce-cart-form__contents){
  border:1px solid var(--bm-line);
  border-radius:var(--bm-radius);
  border-collapse:separate;border-spacing:0;overflow:hidden;
  background:var(--bm-surface);
  margin:0 0 1.4rem;
  width:100%;
}
body.bm-body .bm-cartpage__items table.shop_table:not(.woocommerce-cart-form__contents) th{
  background:var(--bm-bg-deep);color:var(--bm-ink-soft);
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  padding:.85rem 1rem;border:none;border-bottom:1px solid var(--bm-line);text-align:left;
}
body.bm-body .bm-cartpage__items table.shop_table:not(.woocommerce-cart-form__contents) td{
  padding:.9rem 1rem;border:none;border-bottom:1px solid var(--bm-line);
  color:var(--bm-ink);vertical-align:middle;
}
body.bm-body .bm-cartpage__items table.shop_table:not(.woocommerce-cart-form__contents) tr:last-child td{border-bottom:none}
body.bm-body .bm-cartpage__items table.shop_table:not(.woocommerce-cart-form__contents) img{
  width:56px !important;height:56px !important;max-width:56px;object-fit:contain;
  background:var(--bm-plate);border:1px solid var(--bm-line);border-radius:10px;padding:3px;
}
body.bm-body .bm-cartpage__items table.shop_table:not(.woocommerce-cart-form__contents) .button{
  min-height:40px;padding:.45rem 1rem;font-size:.88rem;
}

/* free-gift / promo notices in the cart */
body.bm-body .bm-cartpage .fgf-gift-products-wrapper,
body.bm-body .bm-cartpage .fgf-notice{
  border:1px solid var(--bm-line);border-radius:var(--bm-radius);
  background:var(--bm-surface);padding:1.1rem;margin-bottom:1.4rem;color:var(--bm-ink);
}
body.bm-body .bm-cartpage h2,
body.bm-body .bm-cartpage h3{
  font-weight:850;font-stretch:116%;font-size:1.15rem;margin:0 0 .9rem;color:var(--bm-ink);
}

/* ==========================================================================
   v1.20 — Checkout
   Two columns: form left, sticky order summary right. Panelled sections so a
   long form reads as steps rather than one endless list of inputs.
   ========================================================================== */

.bm-checkout{display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:start}
@media (min-width:1000px){
  .bm-checkout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.5rem}
  .bm-checkout__main{grid-column:1;grid-row:1}
  .bm-checkout__side{grid-column:2;grid-row:1;position:sticky;top:96px}
}

.bm-checkout__panel,
.bm-checkout__summary{
  background:var(--bm-surface);
  border:1px solid var(--bm-line);
  border-radius:calc(var(--bm-radius) + 4px);
  padding:clamp(1.2rem,2.5vw,1.8rem);
}
.bm-checkout__summary{background:var(--bm-bg-deep)}

body.bm-body .bm-checkout h3,
body.bm-body .bm-checkout #order_review_heading{
  font-size:.85rem;font-weight:900;font-stretch:120%;letter-spacing:.1em;
  text-transform:uppercase;color:var(--bm-lime);
  margin:0 0 1.1rem;padding:0;border:none;
}
body.bm-body .bm-checkout .woocommerce-billing-fields h3,
body.bm-body .bm-checkout .woocommerce-shipping-fields h3{
  padding-top:.4rem;
}
body.bm-body .bm-checkout .woocommerce-shipping-fields{
  margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--bm-line);
}

/* form fields */
body.bm-body .bm-checkout .form-row{margin:0 0 1rem;padding:0}
body.bm-body .bm-checkout .form-row label{
  display:block;margin-bottom:.35rem;
  font-size:.8rem;font-weight:750;letter-spacing:.02em;color:var(--bm-ink-soft);
}
body.bm-body .bm-checkout .required{color:var(--bm-amber);text-decoration:none}
body.bm-body .bm-checkout input.input-text,
body.bm-body .bm-checkout textarea,
body.bm-body .bm-checkout select,
body.bm-body .bm-checkout .select2-container .select2-selection--single{
  width:100%;min-height:50px;padding:.7rem 1rem;
  background:var(--bm-bg-deep);
  border:1px solid var(--bm-line);
  border-radius:12px;
  color:var(--bm-ink);
  font-family:inherit;font-size:1rem;
}
body.bm-body .bm-checkout textarea{min-height:110px;padding-top:.8rem;line-height:1.6}
body.bm-body .bm-checkout input.input-text:focus,
body.bm-body .bm-checkout textarea:focus,
body.bm-body .bm-checkout select:focus{
  outline:2px solid var(--bm-lime);outline-offset:1px;border-color:transparent;
}
body.bm-body .bm-checkout ::placeholder{color:var(--bm-ink-soft);opacity:.55}

/* two-up rows on wider screens */
@media (min-width:600px){
  body.bm-body .bm-checkout .form-row-first,
  body.bm-body .bm-checkout .form-row-last{width:calc(50% - .5rem);float:none;display:inline-block;vertical-align:top}
  body.bm-body .bm-checkout .form-row-first{margin-right:.9rem}
}

/* select2 (country/province) */
body.bm-body .bm-checkout .select2-container--default .select2-selection--single{height:50px;display:flex;align-items:center}
body.bm-body .bm-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--bm-ink);line-height:1.4;padding:0}
body.bm-body .bm-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px}
body.bm-body .select2-dropdown{background:var(--bm-surface);border-color:var(--bm-line);color:var(--bm-ink)}
body.bm-body .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--bm-lime);color:var(--bm-bg-deep)}

/* phone validity states */
body.bm-body .bm-checkout input.bm-phone--ok{border-color:var(--bm-lime)}
body.bm-body .bm-checkout input.bm-phone--bad{border-color:var(--bm-amber)}
body.bm-body .bm-checkout input.bm-phone--bad + .bm-phone-hint{display:block}
.bm-phone-hint{display:none;font-size:.8rem;color:var(--bm-amber);margin-top:.35rem}

/* order review table inside the summary */
body.bm-body .bm-checkout__summary table.shop_table{
  border:none;background:none;width:100%;border-collapse:collapse;margin:0;
}
body.bm-body .bm-checkout__summary table.shop_table th,
body.bm-body .bm-checkout__summary table.shop_table td{
  padding:.75rem 0;border:none;border-bottom:1px solid var(--bm-line);background:none;
  color:var(--bm-ink);font-size:.95rem;
}
body.bm-body .bm-checkout__summary table.shop_table thead th{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-ink-soft);font-weight:800;
}
body.bm-body .bm-checkout__summary td.product-total,
body.bm-body .bm-checkout__summary .cart-subtotal td{text-align:right;font-weight:750}
body.bm-body .bm-checkout__summary .product-name{color:var(--bm-ink);font-weight:700}
body.bm-body .bm-checkout__summary .product-quantity{color:var(--bm-ink-soft);font-weight:650}
body.bm-body .bm-checkout__summary .order-total th{color:var(--bm-ink);font-weight:800}
body.bm-body .bm-checkout__summary .order-total td,
body.bm-body .bm-checkout__summary .order-total .amount{
  font-weight:900;font-stretch:122%;font-size:1.5rem;color:var(--bm-lime);text-align:right;
}
body.bm-body .bm-checkout__summary .order-total th,
body.bm-body .bm-checkout__summary .order-total td{border-bottom:none}

/* payment box */
body.bm-body #payment{background:transparent;border-radius:0;margin-top:1.2rem}
body.bm-body #payment ul.payment_methods{
  border:1px solid var(--bm-line);border-radius:12px;background:var(--bm-surface);
  padding:.9rem 1rem;margin:0 0 1rem;list-style:none;
}
body.bm-body #payment ul.payment_methods li{border:none;padding:.4rem 0}
body.bm-body #payment ul.payment_methods label{color:var(--bm-ink);font-weight:750;font-size:.95rem}
body.bm-body #payment div.payment_box{
  background:var(--bm-bg-deep);border:1px solid var(--bm-line);border-radius:10px;
  color:var(--bm-ink-soft);font-size:.9rem;margin:.6rem 0 0;padding:.9rem 1rem;
}
body.bm-body #payment div.payment_box::before{display:none}
body.bm-body .woocommerce-terms-and-conditions-wrapper{color:var(--bm-ink-soft);font-size:.88rem;margin-bottom:1rem}
body.bm-body #place_order{
  width:100%;min-height:56px;font-size:1.08rem;border-radius:14px;
  background:var(--bm-lime);color:var(--bm-bg-deep);font-weight:850;
}
body.bm-body #place_order:hover{background:var(--bm-lime-deep)}

/* coupon / login prompts at the top of checkout */
body.bm-body .woocommerce-form-coupon-toggle,
body.bm-body .woocommerce-form-login-toggle{margin-bottom:1.2rem}
body.bm-body .checkout_coupon,
body.bm-body .woocommerce-form-login{
  border:1px solid var(--bm-line);border-radius:var(--bm-radius);
  background:var(--bm-surface);padding:1.2rem;margin-bottom:1.4rem;
}

@media (max-width:999px){
  .bm-checkout__side{margin-top:.4rem}
}

/* ==========================================================================
   v1.24 — Shop sidebar category tree
   Uniform row rhythm from padding on the link itself (grid gaps stacked
   unevenly once nested lists appeared), plus a proper indent and guide rail
   so child categories read as children.
   ========================================================================== */

body.bm-body .bm-filters .product-categories,
body.bm-body .bm-filters .product-categories ul,
body.bm-body .bm-filters .widget_product_categories ul{
  display:block;
  list-style:none;
  margin:0;
  padding:0;
  gap:0;
}

/* Each row is a flex line: link | count, with any child list on its own line */
body.bm-body .bm-filters .product-categories li{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  margin:0;
  padding:0;
  border:none;
}

body.bm-body .bm-filters .product-categories li > a{
  flex:1 1 auto;
  display:block;
  padding:.5rem 0;
  font-size:.94rem;
  line-height:1.35;
  font-weight:700;
  color:var(--bm-ink-soft);
  text-decoration:none;
  transition:color .18s var(--bm-ease);
}
body.bm-body .bm-filters .product-categories li > a:hover{color:var(--bm-lime)}

/* Product counts, right-aligned and consistent */
body.bm-body .bm-filters .product-categories .count{
  flex:0 0 auto;
  margin-left:.6rem;
  font-size:.72rem;
  font-weight:700;
  color:var(--bm-ink-soft);
  background:var(--bm-bg-deep);
  border:1px solid var(--bm-line);
  border-radius:999px;
  padding:.1rem .5rem;
  line-height:1.5;
}

/* Child lists: full width, indented, with a vertical guide rail */
body.bm-body .bm-filters .product-categories .children{
  flex:0 0 100%;
  width:100%;
  margin:0 0 .25rem .3rem;
  padding-left:.9rem;
  border-left:1px solid var(--bm-line);
}
body.bm-body .bm-filters .product-categories .children li > a{
  padding:.38rem 0;
  font-size:.88rem;
  font-weight:650;
}
/* Small tick so a child is unmistakable even without the rail */
body.bm-body .bm-filters .product-categories .children li > a::before{
  content:"";
  display:inline-block;
  width:7px;
  height:1px;
  margin-right:.5rem;
  vertical-align:middle;
  background:var(--bm-line);
}
body.bm-body .bm-filters .product-categories .children .count{font-size:.68rem}

/* Separator between top-level groups, not between children */
body.bm-body .bm-filters .product-categories > li + li{
  border-top:1px solid var(--bm-line);
}

/* Current category */
body.bm-body .bm-filters .product-categories li.current-cat > a,
body.bm-body .bm-filters .product-categories li.current-cat-parent > a{
  color:var(--bm-lime);
  font-weight:850;
}
body.bm-body .bm-filters .product-categories li.current-cat > .count{
  background:var(--bm-lime);
  color:#fff;
  border-color:var(--bm-lime);
}

/* Widget rhythm in the sidebar generally */
body.bm-body .bm-filters .widget{
  border-top:1px solid var(--bm-line);
  padding-block:1.1rem;
  margin:0;
}
body.bm-body .bm-filters .widget:first-of-type{border-top:none;padding-top:0}
body.bm-body .bm-filters .widget-title,
body.bm-body .bm-filters .widgettitle{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bm-lime);
  margin:0 0 .7rem;
}

/* Price filter and layered nav share the same row rhythm */
body.bm-body .bm-filters .widget_layered_nav ul li,
body.bm-body .bm-filters .widget_rating_filter ul li{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:.4rem 0;margin:0;
}
body.bm-body .bm-filters .widget_layered_nav ul li a{
  color:var(--bm-ink-soft);text-decoration:none;font-size:.9rem;font-weight:650;
}
body.bm-body .bm-filters .widget_layered_nav ul li a:hover{color:var(--bm-lime)}
body.bm-body .bm-filters .widget_layered_nav ul li.chosen a{color:var(--bm-lime);font-weight:800}
body.bm-body .bm-filters .price_slider_wrapper{padding-top:.4rem}
body.bm-body .bm-filters .price_slider_amount .price_label{
  color:var(--bm-ink-soft);font-size:.85rem;
}

/* ==========================================================================
   v1.25 — Price filter
   jQuery UI needs absolutely-positioned handles to work at all. That CSS came
   from Blocksy's WooCommerce stylesheet, which we dequeue — so the slider was
   rendering as two unstyled inline spans that couldn't be dragged. Since we
   own the styling now, we ship the mechanics too.
   ========================================================================== */

body.bm-body .price_slider_wrapper{padding-top:.2rem}

body.bm-body .price_slider_wrapper .ui-slider,
body.bm-body .bm-filters .ui-slider{
  position:relative;            /* REQUIRED: handles position against this */
  display:block;
  text-align:left;
  height:6px;
  margin:.9rem 9px 1.1rem;      /* margin matches half a handle so it can't clip */
  background:var(--bm-surface-2);
  border:none;
  border-radius:999px;
}

body.bm-body .ui-slider .ui-slider-handle{
  position:absolute;            /* REQUIRED */
  z-index:2;
  top:-7px;
  width:20px;
  height:20px;
  margin-left:-10px;            /* centres the handle on its value */
  background:var(--bm-lime);
  border:2px solid var(--bm-bg-deep);
  border-radius:50%;
  cursor:grab;
  box-shadow:0 2px 8px rgba(0,0,0,.45);
  transition:transform .15s var(--bm-ease);
  touch-action:none;            /* lets it drag on touch devices */
}
body.bm-body .ui-slider .ui-slider-handle:hover{transform:scale(1.12)}
body.bm-body .ui-slider .ui-slider-handle:active{cursor:grabbing;transform:scale(1.05)}
body.bm-body .ui-slider .ui-slider-handle:focus-visible{
  outline:3px solid var(--bm-ink);outline-offset:2px;
}

body.bm-body .ui-slider .ui-slider-range{
  position:absolute;            /* REQUIRED */
  z-index:1;
  display:block;
  top:0;
  height:100%;
  border:0;
  background:var(--bm-lime);
  border-radius:999px;
}
body.bm-body .ui-slider-horizontal{height:6px}
body.bm-body .ui-slider-horizontal .ui-slider-range-min{left:0}
body.bm-body .ui-slider-horizontal .ui-slider-range-max{right:0}

/* Min/max fields: shown, not hidden. Dragging a 6px track is poor on mobile,
   and typing an exact figure is faster. WooCommerce's JS hides these inline,
   hence !important. They post the same min_price/max_price the slider does. */
body.bm-body .price_slider_amount{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  text-align:left;
}
body.bm-body .price_slider_amount input[type="text"]{
  display:block !important;
  flex:1 1 0;
  min-width:0;
  width:auto;
  padding:.5rem .7rem;
  background:var(--bm-bg-deep);
  border:1px solid var(--bm-line);
  border-radius:10px;
  color:var(--bm-ink);
  font-family:inherit;
  font-size:.9rem;
  font-weight:700;
  text-align:center;
}
body.bm-body .price_slider_amount input[type="text"]:focus{
  outline:2px solid var(--bm-lime);outline-offset:1px;border-color:transparent;
}
body.bm-body .price_slider_amount input::placeholder{color:var(--bm-ink-soft);opacity:.6}

body.bm-body .price_slider_amount .button{
  flex:0 0 auto;
  min-height:38px;
  padding:.45rem 1.1rem;
  font-size:.85rem;
  border-radius:10px;
  background:var(--bm-lime);
  color:var(--bm-bg-deep);
  font-weight:800;
  border:none;
  cursor:pointer;
}
body.bm-body .price_slider_amount .button:hover{background:var(--bm-lime-deep)}

/* The "Price: $0 — $320" label duplicates the two fields once they're visible */
body.bm-body .price_slider_amount .price_label{
  flex:0 0 100%;
  order:-1;
  color:var(--bm-ink-soft);
  font-size:.82rem;
  font-weight:650;
  text-align:left;
  margin-bottom:.2rem;
}
body.bm-body .price_slider_amount .clear{display:none}

@media (max-width:900px){
  body.bm-body .price_slider_amount input[type="text"]{flex:1 1 40%}
}

/* ==========================================================================
   v1.26 — Star ratings (display + picker)
   WooCommerce renders stars with its own icon font and hides the <select>
   fallback via its stylesheet. We dequeue that stylesheet, so the select was
   showing as "1 of 5 stars, 2 of 5 stars…" and no stars appeared.
   Built here on Unicode ★ / ☆ so it needs no font file.
   ========================================================================== */

/* ---------- displaying a rating ---------- */
body.bm-body .star-rating{
  position:relative;
  overflow:hidden;
  display:inline-block;
  height:1.2em;
  line-height:1.2;
  width:5.6em;
  font-family:inherit;
  font-size:1em;
  letter-spacing:.08em;
}
body.bm-body .star-rating::before{
  content:"\2605\2605\2605\2605\2605";
  color:var(--bm-line);
  position:absolute;
  top:0;
  left:0;
  white-space:nowrap;
}
body.bm-body .star-rating span{
  overflow:hidden;
  position:absolute;
  top:0;
  left:0;
  padding-top:1.6em;   /* pushes the "Rated 4 out of 5" text out of view */
  white-space:nowrap;
}
body.bm-body .star-rating span::before{
  content:"\2605\2605\2605\2605\2605";
  color:var(--bm-lime);
  position:absolute;
  top:0;
  left:0;
  white-space:nowrap;
}
body.bm-body .woocommerce-product-rating{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
body.bm-body .woocommerce-product-rating .woocommerce-review-link{color:var(--bm-ink-soft);font-size:.86rem;text-decoration:none}
body.bm-body .woocommerce-product-rating .woocommerce-review-link:hover{color:var(--bm-lime)}

/* ---------- choosing a rating ---------- */
body.bm-body .comment-form-rating{margin-bottom:1.2rem}
body.bm-body .comment-form-rating label{
  display:block;
  margin-bottom:.45rem;
  font-size:.8rem;
  font-weight:750;
  letter-spacing:.02em;
  color:var(--bm-ink-soft);
}

/* Hide the dropdown fallback ONLY when the star links exist, so a JS failure
   still leaves a usable control rather than no control at all. */
body.bm-body .comment-form-rating p.stars ~ select#rating,
body.bm-body .comment-form-rating p.stars ~ select[name="rating"]{
  display:none;
}

body.bm-body p.stars{
  display:inline-flex;
  align-items:center;
  gap:.15rem;
  margin:0;
  line-height:1;
}
body.bm-body p.stars > span{display:inline-flex;gap:.15rem}

body.bm-body p.stars a{
  position:relative;
  display:inline-block;
  width:1.5em;
  height:1.5em;
  font-size:1.45rem;
  line-height:1.5em;
  text-indent:-9999px;   /* hides the "1" "2" "3" labels */
  text-decoration:none;
  overflow:hidden;
  cursor:pointer;
}
body.bm-body p.stars a::before{
  content:"\2606";                /* hollow star by default */
  position:absolute;
  inset:0;
  text-indent:0;
  text-align:center;
  color:var(--bm-ink-soft);
  transition:color .12s var(--bm-ease),transform .12s var(--bm-ease);
}
body.bm-body p.stars a:hover::before{transform:scale(1.12)}

/* Hovering fills this star and every star before it */
body.bm-body p.stars:hover a::before{content:"\2605";color:var(--bm-lime)}
body.bm-body p.stars a:hover ~ a::before{content:"\2606";color:var(--bm-ink-soft)}

/* After a choice is made WooCommerce adds .selected and marks the active star */
body.bm-body p.stars.selected a.active::before,
body.bm-body p.stars.selected a:not(.active)::before{content:"\2605";color:var(--bm-lime)}
body.bm-body p.stars.selected a.active ~ a::before{content:"\2606";color:var(--bm-ink-soft)}

body.bm-body p.stars a:focus-visible{outline:2px solid var(--bm-lime);outline-offset:2px;border-radius:4px}

/* ---------- review list & form ---------- */
body.bm-body #reviews .commentlist{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:1rem}
body.bm-body #reviews .commentlist li .comment_container{
  display:flex;gap:1rem;
  background:var(--bm-surface);
  border:1px solid var(--bm-line);
  border-radius:var(--bm-radius);
  padding:1.1rem 1.2rem;
}
body.bm-body #reviews .commentlist img.avatar{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--bm-line);flex:none;position:static;padding:0;
}
body.bm-body #reviews .comment-text{width:100%}
body.bm-body #reviews .meta{color:var(--bm-ink-soft);font-size:.85rem;margin-bottom:.4rem}
body.bm-body #reviews .meta strong{color:var(--bm-ink);font-weight:800}
body.bm-body #reviews .description p{color:var(--bm-ink-soft);margin:0}

body.bm-body #review_form_wrapper{
  background:var(--bm-surface);
  border:1px solid var(--bm-line);
  border-radius:var(--bm-radius);
  padding:1.4rem;
}
body.bm-body #review_form_wrapper .comment-reply-title{
  display:block;font-weight:850;font-stretch:114%;font-size:1.05rem;color:var(--bm-ink);margin-bottom:.9rem;
}
body.bm-body #review_form_wrapper .comment-form-comment label,
body.bm-body #review_form_wrapper .comment-form-author label,
body.bm-body #review_form_wrapper .comment-form-email label{
  display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:750;color:var(--bm-ink-soft);
}
body.bm-body #review_form_wrapper textarea,
body.bm-body #review_form_wrapper input[type="text"],
body.bm-body #review_form_wrapper input[type="email"]{
  width:100%;padding:.7rem 1rem;min-height:48px;
  background:var(--bm-bg-deep);border:1px solid var(--bm-line);border-radius:12px;
  color:var(--bm-ink);font-family:inherit;font-size:1rem;
}
body.bm-body #review_form_wrapper textarea{min-height:120px;line-height:1.6}
body.bm-body #review_form_wrapper .form-submit input[type="submit"]{
  background:var(--bm-lime);color:var(--bm-bg-deep);
  border:none;border-radius:14px;min-height:50px;padding:.7rem 1.6rem;
  font-weight:850;font-size:1rem;cursor:pointer;
}
body.bm-body #review_form_wrapper .form-submit input[type="submit"]:hover{background:var(--bm-lime-deep)}
body.bm-body .woocommerce-verification-required,
body.bm-body #reviews .must-log-in{
  border:1px dashed var(--bm-line);border-radius:var(--bm-radius);
  background:var(--bm-surface);padding:1.1rem 1.2rem;color:var(--bm-ink-soft);margin:0;
}
body.bm-body #reviews .woocommerce-noreviews{color:var(--bm-ink-soft);margin-bottom:1.2rem}

/* ==========================================================================
   v1.27 — Quantity steppers, one per field
   We no longer inject a stepper where Blocksy or Mix & Match already supply
   one; instead we style theirs to match. Two steppers on one input meant a
   single click counted twice.
   ========================================================================== */


/* Mix & Match child rows */
body.bm-body .mnm-quantity,
body.bm-body .wc-mnm-quantity{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--bm-line);
  border-radius:10px;
  overflow:hidden;
  background:var(--bm-bg-deep);
}
body.bm-body input.qty.mnm-quantity,
body.bm-body .mnm-quantity input.qty,
body.bm-body .wc-mnm-quantity input.qty{
  width:64px;
  min-height:42px;
  text-align:center;
  background:var(--bm-bg-deep);
  border:1px solid var(--bm-line);
  border-radius:10px;
  color:var(--bm-ink);
  font-weight:800;
  -moz-appearance:textfield;
}
body.bm-body input.qty.mnm-quantity::-webkit-outer-spin-button,
body.bm-body input.qty.mnm-quantity::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Mix & Match container chrome */
body.bm-body .mnm_child_products,
body.bm-body .wc-mnm-child-items{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.7rem}
body.bm-body .mnm_child_products .product,
body.bm-body .wc-mnm-child-item{
  display:flex;align-items:center;gap:1rem;
  background:var(--bm-surface);
  border:1px solid var(--bm-line);
  border-radius:var(--bm-radius);
  padding:.9rem 1rem;
  width:auto;margin:0;float:none;
}
body.bm-body .mnm_child_products .product img,
body.bm-body .wc-mnm-child-item img{
  width:56px;height:56px;object-fit:contain;flex:none;
  background:var(--bm-plate);border:1px solid var(--bm-line);border-radius:10px;padding:3px;
}
body.bm-body .mnm_child_products .product h3,
body.bm-body .wc-mnm-child-item h3{
  font-size:1rem;font-weight:800;margin:0;color:var(--bm-ink);flex:1;
}
body.bm-body .mnm_price,
body.bm-body .wc-mnm-container .price{color:var(--bm-lime);font-weight:800}

/* Mix & Match status / validation messages */
body.bm-body .mnm_message,
body.bm-body .wc-mnm-status,
body.bm-body .mnm_status{
  border:1px solid var(--bm-line);border-radius:12px;
  background:var(--bm-bg-deep);color:var(--bm-ink-soft);
  padding:.8rem 1rem;margin-bottom:1rem;font-size:.9rem;
}
body.bm-body .mnm_status .success,
body.bm-body .wc-mnm-status .success{color:var(--bm-lime);font-weight:750}

/* ==========================================================================
   v1.28 — one quantity stepper, used everywhere
   Blocksy's .ct-increase/.ct-decrease are removed in JS; native number-input
   spinners are suppressed. Every quantity field gets the same − / + control,
   Mix & Match rows included.
   ========================================================================== */

body.bm-body .ct-increase,
body.bm-body .ct-decrease{display:none !important}

/* kill the browser's own spinner on type=number quantity fields */
body.bm-body input.qty::-webkit-outer-spin-button,
body.bm-body input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
body.bm-body input.qty[type=number]{-moz-appearance:textfield;appearance:textfield}

body.bm-body .bm-qty{
  display:inline-flex;
  align-items:stretch;
  border:1px solid var(--bm-line);
  border-radius:12px;
  overflow:hidden;
  background:var(--bm-bg-deep);
  width:max-content;
  max-width:100%;
}
body.bm-body .bm-qty__btn{
  flex:0 0 auto;
  width:38px;
  min-height:42px;
  display:grid;
  place-items:center;
  background:none;
  border:none;
  color:var(--bm-lime);
  font-family:inherit;
  font-size:1.15rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  user-select:none;
  transition:background .15s var(--bm-ease),color .15s var(--bm-ease);
}
body.bm-body .bm-qty__btn:hover{background:var(--bm-surface-2)}
body.bm-body .bm-qty__btn:active{background:var(--bm-lime);color:var(--bm-bg-deep)}
body.bm-body .bm-qty__btn:focus-visible{outline:2px solid var(--bm-lime);outline-offset:-2px}

body.bm-body .bm-qty input.qty{
  flex:1 1 auto;
  width:52px;
  min-width:44px;
  min-height:42px;
  padding:0 .25rem;
  border:none;
  border-left:1px solid var(--bm-line);
  border-right:1px solid var(--bm-line);
  border-radius:0;
  background:transparent;
  color:var(--bm-ink);
  font-family:inherit;
  font-weight:800;
  font-size:1rem;
  text-align:center;
}
body.bm-body .bm-qty input.qty:focus{
  outline:none;
  background:var(--bm-surface);
}

/* Product page stepper is a touch larger, matching the add-to-cart button */
body.bm-body .bm-product .bm-qty{border-radius:14px}
body.bm-body .bm-product .bm-qty__btn{width:44px;min-height:52px;font-size:1.3rem}
body.bm-body .bm-product .bm-qty input.qty{min-height:52px;width:56px}

/* Mix & Match rows keep the compact size */
body.bm-body .mnm-quantity .bm-qty,
body.bm-body .wc-mnm-quantity .bm-qty{border-radius:10px}

/* The wrapper Woo puts around quantity fields shouldn't add its own box */
body.bm-body .quantity{display:inline-flex;align-items:center;background:none;border:none;padding:0}

/* ==========================================================================
   v1.29 — Hero board: live status + real offers
   ========================================================================== */

.bm-board__status{
  display:flex;align-items:center;gap:.5rem;
  font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding-bottom:.9rem;
}
.bm-board__status strong{color:var(--bm-ink)}
.bm-board__status .bm-board__detail{
  color:var(--bm-ink-soft);font-weight:650;letter-spacing:.02em;text-transform:none;font-size:.82rem;
}
.bm-board__dot{width:9px;height:9px;border-radius:50%;flex:none}
.bm-board__status.is-open .bm-board__dot{
  background:var(--bm-lime);
  box-shadow:0 0 0 0 rgba(182,242,74,.6);
  animation:bm-pulse 2.2s infinite;
}
.bm-board__status.is-closed .bm-board__dot{background:var(--bm-ink-soft)}
.bm-board__status.is-closed strong{color:var(--bm-ink-soft)}
@keyframes bm-pulse{
  70%{box-shadow:0 0 0 9px rgba(182,242,74,0)}
  100%{box-shadow:0 0 0 0 rgba(182,242,74,0)}
}
@media (prefers-reduced-motion:reduce){ .bm-board__status.is-open .bm-board__dot{animation:none} }

.bm-board li a{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  text-decoration:none;color:inherit;width:100%;
  padding:.1rem 0;border-radius:8px;
  transition:color .18s var(--bm-ease);
}
.bm-board li a:hover span{color:var(--bm-lime)}
.bm-board li b.is-sale{color:var(--bm-amber)}

.bm-board__empty{color:var(--bm-ink-soft);font-size:.9rem;padding:.6rem 0}

.bm-board__foot{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;
  margin-top:1rem;padding-top:.9rem;
  border-top:1px solid oklch(0.32 0.008 150 / .7);
  font-size:.8rem;color:var(--bm-ink-soft);
}
.bm-board__foot a{color:var(--bm-lime);font-weight:800;text-decoration:none}
.bm-board__foot a:hover{text-decoration:underline}

/* ==========================================================================
   v1.33 — Daylight Dispatch visual refresh
   ========================================================================== */

/* Dark components establish their own contrast context. This keeps bright
   lime on charcoal and the darker, AA-safe green on light page surfaces. */
.bm-topbar,.bm-header,.bm-footer,.bm-board,.bm-miniboard,.bm-tabbar,
.bm-checker,.bm-scorecard{
  --bm-ink:oklch(0.97 0.004 140);
  --bm-ink-soft:oklch(0.83 0.008 145);
  --bm-line:oklch(0.64 0.018 145 / .30);
  --bm-lime:var(--bm-signal);
  --bm-lime-2:oklch(0.69 0.17 132);
  --bm-lime-deep:oklch(0.77 0.20 132);
}

body.bm-body .bm-btn--lime,
body.bm-body a.bm-btn--lime,
body.bm-body button.bm-btn--lime,
body.bm-body .woocommerce a.button,
body.bm-body .woocommerce button.button,
body.bm-body .woocommerce input.button,
body.bm-body .woocommerce a.button.alt,
body.bm-body .woocommerce button.button.alt,
body.bm-body .single_add_to_cart_button{
  color:#fff;
}
.bm-header .bm-btn--lime,.bm-board .bm-btn--lime,.bm-checker .bm-btn--lime{
  color:var(--bm-bg-deep);
}

.bm-kicker{display:none}
.bm-wrap{width:min(1240px,92vw)}
.bm-hero,.bm-ahero{position:relative;overflow:hidden}
.bm-hero .bm-wrap,.bm-ahero .bm-wrap{position:relative}
.bm-hero{padding-block:clamp(3.2rem,7vw,6.6rem)}
.bm-hero .bm-wrap{grid-template-columns:minmax(0,1fr) minmax(430px,1fr);align-items:start}
.bm-hero h1,.bm-ahero h1,.bm-shophead__title{
  color:var(--bm-ink);text-transform:none;font-stretch:112%;
  font-size:clamp(2.7rem,5vw,4.7rem);line-height:.95;letter-spacing:-.045em;
}
.bm-hero h1 em,.bm-ahero h1 em,.bm-shophead__title em{color:var(--bm-lime)}
.bm-hero .bm-lede,.bm-ahero .bm-lede{font-size:clamp(1.03rem,1.5vw,1.2rem);line-height:1.6}
.bm-hero__visual{display:grid;gap:1rem;min-width:0}
.bm-hero__visual .bm-board{width:min(92%,620px);margin:-2.4rem 0 0 auto;rotate:-.7deg;z-index:2}

.bm-menu-window{position:relative;min-width:0}
.bm-menu-window__grid{
  display:grid;grid-template-columns:1.35fr .75fr;grid-template-rows:1fr 1fr;
  gap:.7rem;min-height:430px;
}
.bm-menu-window__item{
  position:relative;overflow:hidden;min-height:0;background:var(--bm-plate);
  border:1px solid var(--bm-line);text-decoration:none;color:var(--bm-ink);
}
.bm-menu-window__item.is-featured{grid-row:1 / 3}
.bm-menu-window__item img{width:100%;height:100%;object-fit:contain;padding:7%;transition:transform .45s var(--bm-ease)}
.bm-menu-window__item:hover img{transform:scale(1.035)}
.bm-menu-window__caption{
  position:absolute;left:.75rem;right:.75rem;bottom:.75rem;padding:.65rem .75rem;
  background:rgba(255,254,249,.94);border:1px solid rgba(27,37,29,.13);
  display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;
}
.bm-menu-window__caption strong{font-size:.78rem;line-height:1.25;max-width:20ch}
.bm-menu-window__caption small,.bm-menu-window__caption .amount{font-size:.78rem;color:var(--bm-lime);font-weight:900;white-space:nowrap}
.bm-menu-window__note{
  display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0 0;
  color:var(--bm-ink-soft);font-size:.78rem;font-weight:750;border-top:1px solid var(--bm-line);
}
.bm-menu-window__note a{color:var(--bm-lime);text-decoration:none}

.bm-cities,.bm-cats,.bm-faq,.bm-zones,.bm-reviews,.bm-askband,.bm-howto,.bm-related-wrap{
  color:var(--bm-ink);border-color:var(--bm-line);
}
.bm-cities,.bm-faq,.bm-zones,.bm-askband{background:var(--bm-surface-2)}
.bm-cats,.bm-reviews,.bm-howto,.bm-related-wrap{background:var(--bm-surface)}

.bm-citygrid{grid-template-columns:repeat(3,1fr);gap:0;border-block:1px solid var(--bm-line);margin-top:2.4rem}
.bm-city{
  border:0;border-right:1px solid var(--bm-line);border-radius:0;background:transparent;
  padding:1.9rem 2rem 2rem;transform:none;
}
.bm-city:last-child{border-right:0}
.bm-city:hover{transform:none;background:var(--bm-surface);border-color:var(--bm-line)}
.bm-city h3{font-size:clamp(1.35rem,2.2vw,1.8rem)}
.bm-city dd,.bm-go{color:var(--bm-lime)}

.bm-steps ol{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--bm-line)}
.bm-steps li{padding:1.5rem 2rem 0 0;border-right:1px solid var(--bm-line)}
.bm-steps li+li{padding-left:2rem}
.bm-steps li:last-child{border-right:0}
.bm-steps li::before{color:var(--bm-lime);-webkit-text-stroke:0;font-size:2rem}

.bm-board{box-shadow:0 24px 60px rgba(20,29,22,.22);border-radius:8px;rotate:0deg}
.bm-board::before{border-radius:4px}
.bm-prod,.bm-post,.bm-rev--card,.bm-panel,.bm-zonelist li{box-shadow:0 12px 35px rgba(24,37,26,.055)}
.bm-prod:hover,.bm-post:hover{transform:translateY(-3px)}
.bm-prod__media{background:var(--bm-plate)}
.bm-prod__price .price,.bm-prod__price bdi,body.bm-body .price,body.bm-body .amount{color:var(--bm-lime)}
.bm-tag{background:var(--bm-signal);color:var(--bm-bg-deep)}

.bm-shophead{background:var(--bm-surface-2);border-color:var(--bm-line)}
.bm-chip{background:var(--bm-surface)}
.bm-chip[aria-current]{background:var(--bm-lime);border-color:var(--bm-lime);color:#fff}
.bm-filters h2{color:var(--bm-lime)}
.bm-shipstrip,.bm-shipbar{background:var(--bm-surface-2)}
.bm-shipstrip div{color:var(--bm-ink-soft)}
.bm-shipstrip b{color:var(--bm-ink)}
.bm-tabs-wrap{background:var(--bm-surface)}

/* Commerce task screens follow the light system too. Earlier rules used the
   old charcoal field and would otherwise leave dark controls with dark text. */
body.bm-body .woocommerce-cart-form table.shop_table thead th,
body.bm-body .bm-cartpage__items table.shop_table:not(.woocommerce-cart-form__contents) th,
body.bm-body .woocommerce-cart-form td.actions{background:var(--bm-surface-2);color:var(--bm-ink-soft)}
body.bm-body .woocommerce-cart-form .quantity input.qty,
body.bm-body .bm-checkout input.input-text,
body.bm-body .bm-checkout textarea,
body.bm-body .bm-checkout select,
body.bm-body .bm-checkout .select2-container .select2-selection--single,
body.bm-body #review_form_wrapper textarea,
body.bm-body #review_form_wrapper input[type="text"],
body.bm-body #review_form_wrapper input[type="email"],
body.bm-body .price_slider_amount input[type="text"],
body.bm-body .mnm-quantity,
body.bm-body .wc-mnm-quantity,
body.bm-body input.qty.mnm-quantity,
body.bm-body .mnm-quantity input.qty,
body.bm-body .wc-mnm-quantity input.qty,
body.bm-body .bm-qty{background:var(--bm-surface);color:var(--bm-ink)}
body.bm-body.woocommerce-cart .wc-block-grid__products{margin-inline:0;min-width:0}
body.bm-body .cart_totals,
body.bm-body #order_review,
body.bm-body #order_review_heading + #order_review,
body.bm-body .bm-checkout__summary,
body.bm-body #payment div.payment_box,
body.bm-body .mnm_message,
body.bm-body .wc-mnm-status,
body.bm-body .mnm_status,
body.bm-body .bm-filters .product-categories .count{background:var(--bm-surface-2);color:var(--bm-ink-soft)}
body.bm-body .woocommerce-product-gallery__trigger{background:var(--bm-bg-deep);color:var(--bm-signal)}
body.bm-body .woocommerce-tabs ul.tabs li.active a,
body.bm-body .woocommerce-tabs ul.tabs li.active a:hover,
body.bm-body .woocommerce-tabs ul.tabs li[aria-selected="true"] a,
body.bm-body #place_order,
body.bm-body #review_form_wrapper .form-submit input[type="submit"],
body.bm-body .bm-gallery__badge,
body.bm-body .bm-qty__btn:active,
body.bm-body .select2-container--default .select2-results__option--highlighted[aria-selected]{color:#fff}
body.bm-body .bm-skip{color:#fff}

.bm-ahero{background:var(--bm-surface-2)}
.bm-ahero .bm-wrap{max-width:1040px;margin-left:max(4vw,calc((100vw - 1240px)/2))}
.bm-delivery-hero .bm-wrap{
  max-width:none;margin-inline:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(2.2rem,5vw,5rem);align-items:center;
}
.bm-delivery-hero .bm-menu-window__grid{min-height:390px}
.bm-ahero .bm-ctas{margin-top:1.5rem}
.bm-pagebody{background:var(--bm-surface)}
.bm-seo{border-top:1px solid var(--bm-line)}
.bm-prose{font-size:1.04rem}
.bm-prose a,.bm-seo a,.bm-sub a,.bm-acc a,.bm-hint a{color:var(--bm-lime)}
.bm-updated{border-radius:6px;background:var(--bm-surface)}
.bm-updated i{background:var(--bm-lime)}

@media (max-width:980px){
  .bm-hero .bm-wrap{grid-template-columns:1fr}
  .bm-hero__visual{margin-top:1rem}
  .bm-menu-window__grid{min-height:380px}
  .bm-hero__visual .bm-board{width:min(94%,620px)}
  .bm-delivery-hero .bm-wrap{grid-template-columns:1fr}
}
@media (max-width:760px){
  .bm-hero,.bm-ahero{padding-block:2.7rem 3.6rem}
  .bm-hero h1,.bm-ahero h1,.bm-shophead__title{font-size:clamp(2.55rem,13vw,4.4rem)}
  .bm-ahero h1.bm-page-title--long{font-size:clamp(2.25rem,10.5vw,3.2rem);overflow-wrap:normal;word-break:normal}
  .bm-menu-window__grid{min-height:330px;grid-template-columns:1.25fr .75fr;gap:.45rem}
  .bm-menu-window__caption{left:.45rem;right:.45rem;bottom:.45rem;padding:.5rem}
  .bm-menu-window__caption{display:block}
  .bm-menu-window__caption small{display:block;margin-top:.15rem}
  .bm-hero__visual .bm-board{width:96%;margin:-1.2rem 0 0 auto}
  .bm-citygrid,.bm-steps ol{grid-template-columns:1fr}
  .bm-city{border-right:0;border-bottom:1px solid var(--bm-line);padding:1.4rem 0}
  .bm-city:last-child{border-bottom:0}
  .bm-steps li,.bm-steps li+li{border-right:0;border-bottom:1px solid var(--bm-line);padding:1.35rem 0}
  .bm-steps li:last-child{border-bottom:0}
  .bm-shopcategories__controls{display:flex}
  .bm-shopcategories .bm-chips{
    width:100%;min-width:0;margin:.6rem 0 0;padding:0 4px 0 0;scroll-padding-inline:0;
    scroll-snap-type:x proximity;overscroll-behavior-inline:contain
  }
  .bm-chip{scroll-snap-align:start}
  body.bm-body .bm-product .woocommerce-product-gallery__image img{max-height:min(62vh,520px);object-fit:contain}
}

/* ==========================================================================
   v1.34 — commerce market
   The product catalogue leads. White/black retail chrome replaces the rejected beige and
   olive palette; electric lime is reserved for high-value store signals.
   ========================================================================== */

body.bm-body{background:#fff;color:var(--bm-ink)}
.bm-wrap{width:min(1320px,94vw)}

/* Search-led retail header */
.bm-header{
  --bm-ink:#151715;--bm-ink-soft:#535955;--bm-line:rgba(17,19,17,.18);--bm-lime:#2f6600;
  position:sticky;background:#fff;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none;
}
@supports (background:oklch(0.21 0.008 150 / .9)){.bm-header{background:#fff}}
.bm-header .bm-header__main{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;gap:clamp(1.2rem,3vw,2.5rem);padding-block:.8rem}
.bm-header .bm-logo{color:#151715;min-width:max-content}
.bm-header .bm-logo b span{color:#4f850f}
.bm-header .bm-logo small{color:#5b625d}
.bm-store-search{min-width:0}
.bm-searchform{display:flex;width:100%;min-width:0;margin:0}
body.bm-body .bm-header .bm-searchform input.bm-searchform__input{
  flex:1 1 auto;width:auto;min-width:0;height:48px;border:1px solid #aeb4af;border-right:0;
  border-radius:4px 0 0 4px;background:#fff;color:#151715;padding:.65rem 1rem;font-size:.94rem;
}
body.bm-body .bm-header .bm-searchform input.bm-searchform__input:focus{
  outline:3px solid rgba(184,245,54,.5);outline-offset:0;border-color:#151715;
}
.bm-searchform__submit{
  flex:0 0 56px;width:56px;min-width:56px;height:48px;display:grid;place-items:center;padding:0;
  border:1px solid #151715;border-radius:0 4px 4px 0;background:#151715;color:#fff;cursor:pointer;
}
.bm-searchform__submit svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.bm-searchform__submit:hover{background:#2f6600;border-color:#2f6600;color:#fff}
.bm-searchform__submit:focus-visible{outline:3px solid var(--bm-signal);outline-offset:2px}
.bm-header__delivery{color:#151715;font-weight:800;text-decoration:none}
.bm-header .bm-cart{color:#151715;border-color:#aeb4af;border-radius:4px}
.bm-header .bm-cart:hover{color:#2f6600;border-color:#2f6600}
.bm-header .bm-cart__n{background:var(--bm-signal);color:#111311}
.bm-store-navrow{background:#111311;border-top:1px solid #111311}
.bm-header .bm-store-navrow .bm-wrap{display:flex;padding-block:.65rem;gap:2rem}
.bm-store-navrow .bm-nav{margin:0}
.bm-store-navrow .bm-nav__list{gap:1.65rem}
.bm-store-navrow .bm-nav__list a{color:#f3f4f2;font-size:.88rem}
body.bm-body .bm-store-navrow .bm-nav__list a{color:#f3f4f2}
.bm-store-navrow .bm-nav__list a:hover,
.bm-store-navrow .bm-nav__list .current-menu-item>a,
.bm-store-navrow .bm-nav__list .current_page_item>a{color:var(--bm-signal)}
.bm-store-navrow__shop{margin-left:auto;color:var(--bm-signal);font-weight:850;font-size:.88rem;text-decoration:none;white-space:nowrap}
.bm-store-navrow .sub-menu{background:#111311;border-color:#3a3d3a}
.bm-mobile-nav{background:#fff;border-color:#d5d9d5}
.bm-mobile-nav a{color:#151715}
.bm-burger{border-radius:4px;border-color:#aeb4af}
.bm-burger span{background:#151715}

/* Compact retail lead: promotion plus service facts, not a landing-page hero. */
.bm-home-market{background:#fff}
.bm-market-lead{padding:.8rem 0 .5rem;background:#fff}
.bm-market-lead__grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(310px,.75fr);gap:1rem}
.bm-market-offer{
	min-height:178px;background:var(--bm-signal);color:#111311;display:grid;
	grid-template-columns:minmax(0,1fr) 100px;align-items:center;overflow:hidden;padding:1rem 1.25rem;
}
.bm-market-offer h1{
	max-width:22ch;margin:0;font-size:clamp(2rem,3.4vw,3.25rem);line-height:.98;
	font-weight:900;font-stretch:116%;letter-spacing:-.035em;text-transform:none;color:#111311;
}
.bm-market-offer p{max-width:62ch;margin:.65rem 0 .9rem;font-size:.9rem;line-height:1.45;color:#26311d}
.bm-market-offer__mark{display:grid;place-items:center;opacity:.16;transform:scale(2.4) rotate(-12deg)}
.bm-market-offer__mark svg{width:100%;height:auto;color:#111311}
.bm-btn--dark{background:#111311;color:#fff;border-radius:4px}
.bm-btn--dark:hover{background:#2b2f2b;color:#fff}
.bm-market-textlink{display:inline-flex;align-items:center;min-height:48px;color:#111311;font-weight:850;text-decoration:none}
.bm-market-service{background:#111311;color:#fff;padding:.8rem 1.1rem;display:flex;flex-direction:column}
.bm-market-service h2{color:#fff;font-size:1.05rem;margin:.35rem 0 .3rem}
body.bm-body .bm-market-service h2{color:#fff}
.bm-market-service__status{display:flex;align-items:center;gap:.45rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.bm-market-service__status span{width:9px;height:9px;border-radius:50%;background:#9ca39d}
.bm-market-service__status.is-open span{background:var(--bm-signal)}
.bm-market-service__status small{margin-left:auto;color:#bfc5c0;text-transform:none;letter-spacing:0}
.bm-market-service ul{list-style:none;margin:0 0 .55rem;padding:0;border-top:1px solid #383c38}
.bm-market-service li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;border-bottom:1px solid #383c38}
.bm-market-service li b{font-size:.88rem;color:#fff}
.bm-market-service li span{font-size:.78rem;color:#bfc5c0;text-align:right}
.bm-market-service>a{color:var(--bm-signal);font-size:.86rem;font-weight:850;text-decoration:none;margin-top:auto}

/* Shared retail headings */
.bm-market-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.2rem}
.bm-market-heading h2{font-size:clamp(1.65rem,2.7vw,2.25rem);letter-spacing:-.025em;margin:0;color:#151715}
.bm-market-heading p{color:#5b625d;margin:.35rem 0 0;font-size:.92rem}
.bm-market-heading>a{color:#151715;font-size:.88rem;font-weight:850;text-decoration:underline;text-underline-offset:.22em;white-space:nowrap}
.bm-rail-actions{display:flex;align-items:center;gap:.75rem}
.bm-rail-actions>a{color:#151715;font-size:.88rem;font-weight:850;text-decoration:underline;text-underline-offset:.22em;white-space:nowrap}
.bm-rail-controls{display:none;align-items:center;gap:.35rem}
.bm-rail-control{
  width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #151715;
  border-radius:3px;background:#151715;color:#fff;cursor:pointer;
}
.bm-rail-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bm-rail-control:hover{background:#2f6600;border-color:#2f6600}
.bm-rail-control:disabled{background:#fff;border-color:#c8cdc8;color:#8a918b;cursor:default}
.bm-rail-control:focus-visible{outline:3px solid var(--bm-signal);outline-offset:2px}

/* Category shelf */
.bm-category-market{padding:.8rem 0 1.8rem;background:#fff}
.bm-category-market .bm-market-heading{margin-bottom:.75rem}
.bm-category-shelf{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.bm-category-tile{min-width:0;color:#151715;text-decoration:none}
.bm-category-tile__media{aspect-ratio:1/1;display:grid;place-items:center;background:#eef0ed;overflow:hidden;margin-bottom:.7rem}
.bm-category-tile__media img{width:100%;height:100%;object-fit:cover;padding:0;transition:transform .32s var(--bm-ease)}
.bm-category-tile:hover .bm-category-tile__media img{transform:scale(1.045)}
.bm-category-tile strong{display:block;font-size:.94rem;line-height:1.25}
.bm-category-tile small{display:block;color:#636a65;font-size:.76rem;margin-top:.1rem}

/* Product shelves */
.bm-merch{padding:2.5rem 0 3rem;background:#fff;border-top:1px solid #e0e3e0}
.bm-merch--muted{background:#f3f4f2}
ul.products.bm-product-rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}
body.bm-body .bm-prod{
  min-width:0;border:1px solid #d4d8d4;border-radius:4px;background:#fff;box-shadow:none;
  transition:border-color .2s var(--bm-ease),transform .2s var(--bm-ease);
}
body.bm-body .bm-prod:hover{border-color:#6b736d;transform:translateY(-2px)}
body.bm-body .bm-prod__media{aspect-ratio:1/1;background:#f6f7f5;border-bottom:0}
body.bm-body .bm-prod__media img{padding:8%;object-fit:contain}
body.bm-body .bm-prod__body{padding:.85rem .9rem .7rem;gap:.3rem}
body.bm-body .bm-prod__type{font-size:.68rem;letter-spacing:.09em;color:#59605b}
body.bm-body .bm-prod__title{font-size:.96rem;line-height:1.28;min-height:2.55em;font-stretch:100%;letter-spacing:-.008em}
.bm-prod__facts{display:flex;gap:.4rem;flex-wrap:wrap;min-height:1.35rem;color:#606762;font-size:.7rem}
.bm-prod__facts span+span::before{content:"·";margin-right:.4rem}
body.bm-body .bm-prod__price{display:block;border-top:0;margin-top:.45rem;padding-top:0;min-height:2rem}
body.bm-body .bm-prod__price small{display:block;color:#606762;font-size:.65rem;line-height:1}
body.bm-body .bm-prod__price .price,
body.bm-body .bm-prod__price bdi,
body.bm-body .bm-prod__price>div{color:#151715;font-size:1.08rem;font-weight:900}
body.bm-body .bm-prod__cart{padding:0 .9rem .9rem}
body.bm-body .bm-prod__cart .button{min-height:42px;border-radius:3px;background:#151715;color:#fff;font-size:.8rem}
body.bm-body .bm-prod__cart .button:hover{background:#2f6600;color:#fff}
body.bm-body .bm-tag{top:.65rem;left:.65rem;border-radius:2px;background:var(--bm-signal);color:#111311;font-size:.62rem}

.bm-market-banner{padding:1rem 0;background:#fff}
.bm-market-banner .bm-wrap{background:#111311;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem clamp(1.4rem,4vw,3rem)}
.bm-market-banner h2{color:#fff;margin:0 0 .35rem;font-size:clamp(1.65rem,3vw,2.5rem)}
.bm-market-banner p{color:#c3c8c3;margin:0;max-width:68ch}
.bm-btn--signal{background:var(--bm-signal);color:#111311;border-radius:4px;white-space:nowrap}
.bm-btn--signal:hover{background:#d0ff70;color:#111311}

/* Delivery and guidance fill the back half without pretending to be products. */
.bm-delivery-market{padding:3rem 0;background:#fff;border-top:1px solid #e0e3e0}
.bm-delivery-market__grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #cdd2cd}
.bm-delivery-market__grid>a{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:1.35rem 1.5rem;color:#151715;text-decoration:none;border-right:1px solid #cdd2cd}
.bm-delivery-market__grid>a:last-child{border-right:0}
.bm-delivery-market__grid strong{font-size:1.05rem}
.bm-delivery-market__grid span{font-size:.78rem;color:#626963}
.bm-delivery-market__grid b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.25rem}
.bm-delivery-market__grid>a:hover{background:#f3f4f2}
.bm-help-market{padding:3.2rem 0;background:#e7eae7}
.bm-help-market__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.bm-help-market h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 .7rem}
.bm-help-market p{color:#555c57;max-width:55ch}
.bm-help-market a{color:#151715;font-weight:850;text-decoration:underline;text-underline-offset:.22em}
.bm-help-market ol{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #cdd2cd}
.bm-help-market li{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;padding:1.05rem 1.2rem;border-bottom:1px solid #d8dcd8}
.bm-help-market li:last-child{border-bottom:0}
.bm-help-market li span{color:#5b625d;font-size:.86rem}

/* Shop archive follows the same merchandising density. */
.bm-shophead{background:#f3f4f2;padding:1.8rem 0 1.4rem}
.bm-shophead__title{font-size:clamp(2rem,4vw,3.25rem);color:#151715}
.bm-chip{border-radius:3px;background:#fff;color:#404641}
body.bm-body .bm-chip[aria-current]{background:#151715;border-color:#151715;color:#fff}
.bm-shophead__title em{color:#151715;box-shadow:inset 0 -.17em 0 var(--bm-signal)}
body.bm-body .price_slider_amount .button{background:#151715;color:#fff}
body.bm-body .price_slider_amount .button:hover{background:#2f332f;color:#fff}
body.bm-body .ui-slider .ui-slider-range,
body.bm-body .ui-slider .ui-slider-handle{background:#151715}
.widget_product_categories:has(.cat-item-none){display:none}
body.bm-body a.bm-btn--lime,
body.bm-body button.bm-btn--lime,
body.bm-body button.single_add_to_cart_button,
body.bm-body .single_add_to_cart_button{background:#151715;color:#fff !important}
body.bm-body a.bm-btn--lime:hover,
body.bm-body button.bm-btn--lime:hover,
body.bm-body button.single_add_to_cart_button:hover{background:#2f332f;color:#fff}
body.bm-body .bm-checker button.bm-btn--lime{background:var(--bm-signal);color:#111311}
.bm-shop{max-width:1320px}
.bm-results ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}

/* Delivery pages share the store's merchandising rhythm. */
.bm-cityhero,.bm-delivery-hero{background:#fff;padding-block:1.25rem 1.75rem;border-bottom:1px solid #e0e3e0}
.bm-cityhero .bm-wrap,.bm-delivery-hero .bm-wrap{gap:2rem;align-items:center}
.bm-cityhero h1,.bm-delivery-hero h1{font-size:clamp(2rem,3.6vw,3.25rem);max-width:19ch;color:#151715}
.bm-cityhero h1 em,.bm-delivery-hero h1 em{color:#151715;box-shadow:inset 0 -.17em 0 var(--bm-signal)}
body.bm-body .bm-cityhero .bm-btn--lime,
body.bm-body .bm-delivery-hero .bm-btn--lime{background:#151715;color:#fff;border-radius:4px}
.bm-cityhero .bm-btn--ghost,.bm-delivery-hero .bm-btn--ghost{border-radius:4px;background:#fff;color:#151715}
.bm-cityhero .bm-menu-window__grid,.bm-delivery-hero .bm-menu-window__grid{min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:.6rem}
.bm-cityhero .bm-menu-window__item,.bm-delivery-hero .bm-menu-window__item{display:flex;flex-direction:column;grid-row:auto}
.bm-cityhero .bm-menu-window__item img,.bm-delivery-hero .bm-menu-window__item img{aspect-ratio:1/1;height:auto;padding:8%;object-fit:contain}
.bm-cityhero .bm-menu-window__caption,.bm-delivery-hero .bm-menu-window__caption{position:static;display:block;border:0;border-top:1px solid var(--bm-line);padding:.65rem;margin-top:auto;background:#fff}
.bm-cityhero .bm-menu-window__caption strong,.bm-delivery-hero .bm-menu-window__caption strong{display:block;overflow-wrap:anywhere;font-size:.75rem}
.bm-cityhero .bm-menu-window__caption small,.bm-delivery-hero .bm-menu-window__caption small{display:block;margin-top:.35rem}
.bm-cityhero .bm-board{display:none}
.bm-cityhero .bm-hero__visual{display:block}
.bm-cityhero .bm-menu-window__caption{background:rgba(255,255,255,.95)}
.bm-cityhero+.bm-merch,.bm-delivery-hero+.bm-merch{border-top:0}
.bm-zones,.bm-cats,.bm-steps,.bm-faq,.bm-howto{background:#fff;color:#151715;border-color:#e0e3e0}
.bm-cats{background:#f3f4f2}
.bm-zonelist li,.bm-panel,.bm-rev{background:#fff}
.bm-cities{background:#f3f4f2;color:#151715}
.bm-cities .bm-city{color:#151715}

/* Search-relevant editorial imagery: responsive, bright and easy to replace
   through each page's normal Featured image control. */
.bm-page-image{
  margin-block:clamp(1.5rem,3vw,2.5rem);overflow:hidden;background:#f3f4f2;
  border:1px solid #dfe3df;border-radius:8px
}
.bm-page-image__img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.bm-page-image--content{margin-bottom:0}
.bm-page-image--content+.bm-pagebody{padding-top:clamp(2.4rem,5vw,4rem)}
.bm-city-intent{padding-block:clamp(1.25rem,3vw,2.25rem);background:#f3f4f2;border-bottom:1px solid #d9ddd9}
.bm-city-intent__grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);padding:0;border:1px solid #c9cfc9;background:#eefbd8}
.bm-city-intent__grid.has-no-image{grid-template-columns:1fr;max-width:920px}
.bm-city-intent__media{position:relative;min-height:560px}
.bm-city-intent__media .bm-page-image{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0}
.bm-city-intent__media .bm-page-image__img{height:100%;min-height:560px;aspect-ratio:auto;object-fit:cover}
.bm-city-intent__copy{padding:clamp(2rem,4vw,4rem);color:#151715}
.bm-city-intent__copy>h2:first-child{max-width:16ch;margin:0 0 1rem;font-size:clamp(2rem,4vw,3.4rem);line-height:.98;letter-spacing:-.03em;text-wrap:balance}
.bm-city-intent__copy>h3{margin:2rem 0 .55rem;font-size:1.25rem}
.bm-city-intent__copy>p{max-width:68ch;color:#3f463f}
.bm-city-address{margin:2rem 0;border-block:1px solid #aeb9a8}
.bm-city-address h3{margin:0;padding:1rem 0 .8rem;font-size:1rem}
.bm-city-address ol{list-style:none;margin:0;padding:0;counter-reset:city-address}
.bm-city-address li{counter-increment:city-address;display:grid;grid-template-columns:2rem minmax(120px,.8fr) minmax(0,1.2fr);gap:.7rem;align-items:baseline;padding:.8rem 0;border-top:1px solid #c9d4c3}
.bm-city-address li::before{content:counter(city-address);font-weight:900;color:#151715}
.bm-city-address strong{font-size:.92rem}
.bm-city-address span{color:#505850;font-size:.88rem;line-height:1.45}
.bm-city-intent__links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem!important}
body.bm-body .bm-city-intent__links a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1rem;border:1px solid #151715;border-radius:4px;background:#151715;color:#fff;text-decoration:none;font-weight:850}
body.bm-body .bm-city-intent__links a+a{background:transparent;color:#151715}
body.bm-body .bm-city-intent__links a:hover{background:#303430;color:#fff}
.bm-city-intent+.bm-merch{border-top:0}
.bm-city-category-market{padding-block:clamp(2.6rem,5vw,4.5rem);background:#f3f4f2;border-block:1px solid #e0e3e0}
.bm-city-category-market .bm-category-shelf{grid-template-columns:repeat(4,minmax(0,1fr))}
.bm-city{padding:0;overflow:hidden}
.bm-city__image{display:block;width:100%;aspect-ratio:8/5;object-fit:cover;border-bottom:1px solid var(--bm-line)}
.bm-city__content{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:1.6rem 1.7rem 1.9rem}
.bm-city__content .bm-go{margin-top:auto}

@media(max-width:1080px){
  .bm-header .bm-header__main{grid-template-columns:auto 1fr auto}
  .bm-header__delivery{display:none}
  .bm-category-shelf{grid-template-columns:repeat(3,1fr)}
  ul.products.bm-product-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
  ul.products.bm-product-rail .bm-prod:nth-child(5){display:none}
  .bm-results ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
	.bm-city-intent__grid{grid-template-columns:1fr}
	.bm-city-intent__media{min-height:0}
	.bm-city-intent__media .bm-page-image{position:static;height:auto}
	.bm-city-intent__media .bm-page-image__img{height:auto;min-height:0;aspect-ratio:16/9}
  .bm-market-lead__grid{grid-template-columns:1fr}
	.bm-market-offer{min-height:178px}
  .bm-market-service{display:grid;grid-template-columns:1fr 1.2fr;gap:.8rem 1.5rem}
  .bm-market-service__status,.bm-market-service h2{grid-column:1}
  .bm-market-service ul{grid-column:2;grid-row:1/4;margin:0}
  .bm-market-service>a{grid-column:1}
  .bm-store-navrow{display:none}
  .bm-delivery-market__grid{grid-template-columns:1fr}
  .bm-delivery-market__grid>a{border-right:0;border-bottom:1px solid #cdd2cd}
  .bm-delivery-market__grid>a:last-child{border-bottom:0}
  .bm-help-market__grid{grid-template-columns:1fr}
}
@media(max-width:760px){
	.bm-city-intent{padding-block:.75rem}
	.bm-city-intent__grid{width:94vw}
	.bm-city-intent__media .bm-page-image__img{aspect-ratio:5/3}
	.bm-city-intent__copy{padding:1.5rem 1.25rem 1.7rem}
	.bm-city-intent__copy>h2:first-child{font-size:clamp(1.8rem,8.4vw,2.45rem)}
	.bm-city-address li{grid-template-columns:1.6rem 1fr;gap:.2rem .6rem}
	.bm-city-address span{grid-column:2}
	.bm-city-intent__links a{flex:1 1 150px}
	.bm-city-category-market .bm-category-shelf{display:flex}
  .bm-topbar{display:none}
  .bm-header .bm-header__main{grid-template-columns:1fr auto;gap:.7rem;padding-block:.65rem}
  .bm-header .bm-logo b{font-size:1rem}
  .bm-header .bm-logo small{display:none}
  .bm-store-search{grid-column:1/-1;grid-row:2}
	body.bm-body .bm-header .bm-searchform input.bm-searchform__input{height:48px}
	.bm-searchform__submit{height:48px}
	.bm-market-lead{padding:.65rem 0 .35rem}
	.bm-market-lead__grid{gap:.45rem}
	.bm-market-offer{grid-template-columns:1fr;min-height:0;padding:1rem 1.1rem}
	.bm-market-offer h1{font-size:clamp(1.8rem,8.5vw,2.45rem);max-width:15ch}
	.bm-market-offer p{margin:.4rem 0 .6rem;font-size:.8rem;line-height:1.35}
	.bm-market-offer .bm-btn{min-height:44px;padding:.55rem .8rem;font-size:.78rem}
	.bm-market-textlink{min-height:44px;font-size:.78rem}
	.bm-market-offer__mark{display:none}
	.bm-market-service{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;padding:.75rem 1rem}
	.bm-market-service__status{grid-column:1/-1;grid-row:1}
	.bm-market-service h2{display:none}
	.bm-market-service ul{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0;border-top:0;overflow:visible}
	.bm-market-service ul::-webkit-scrollbar{display:none}
	.bm-market-service li{display:block;min-width:0;padding:0;border:0}
	.bm-market-service li b{font-size:.68rem;white-space:nowrap}
	.bm-market-service li span{display:none}
	.bm-market-service>a{grid-column:1/-1;grid-row:3;align-self:center;font-size:.7rem;margin-top:.1rem}
  .bm-market-heading{align-items:start}
  .bm-market-heading p{display:none}
  .bm-market-heading>a{font-size:.78rem}
	.bm-market-heading--rail{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem}
	.bm-market-heading--rail .bm-rail-actions{width:100%;justify-content:space-between}
	.bm-category-market{padding-block:.85rem 1.35rem}
	.bm-category-market .bm-market-heading{margin-bottom:.65rem}
	.bm-category-market .bm-market-heading h2{font-size:1.35rem}
  .bm-category-shelf{
    display:flex;overflow-x:auto;margin-inline:0;padding:0;gap:.65rem;
    scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain;
  }
  .bm-category-shelf::-webkit-scrollbar{display:none}
  .bm-category-tile{flex:0 0 clamp(132px,42%,168px);scroll-snap-align:start}
  .bm-merch{padding:2rem 0 2.4rem}
  .bm-rail-actions{gap:.5rem}
  .bm-rail-actions>a{font-size:.76rem}
  .bm-rail-controls{display:flex}
  ul.products.bm-product-rail{
    display:flex;overflow-x:auto;margin-inline:0;padding:0 0 .5rem;gap:.65rem;
    scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain;
  }
  ul.products.bm-product-rail::-webkit-scrollbar{display:none}
  ul.products.bm-product-rail .bm-prod,ul.products.bm-product-rail .bm-prod:nth-child(5){
    display:flex;flex:0 0 clamp(236px,78%,288px);scroll-snap-align:start;
  }
  .bm-market-banner .bm-wrap{display:block}
  .bm-market-banner .bm-btn{margin-top:1.2rem;width:100%}
  .bm-help-market li{grid-template-columns:1fr}
  .bm-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .bm-results .bm-prod__title{font-size:.86rem}
}

/* ==========================================================================
   v1.35 — complete retail page family
   Searchable help/reference pages, image-led education, direct contact and
   denser collection/product transitions. Original Budsmaster composition.
   ========================================================================== */
[hidden]{display:none!important}
.bm-inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
.bm-inline-actions>a:not(.bm-btn){font-weight:850;color:inherit;text-underline-offset:.2em}

.bm-content-hero{background:#fff;border-bottom:1px solid #dfe3df;padding:clamp(2.2rem,5vw,4.8rem) 0}
.bm-content-hero__narrow{max-width:920px;text-align:center}
.bm-content-hero .bm-crumbs{justify-content:center}
.bm-content-hero h1{font-size:clamp(2.7rem,6vw,5.5rem);letter-spacing:-.055em;margin:.2rem 0 .8rem;color:#111311}
.bm-content-hero p{max-width:690px;margin:0 auto;color:#565d58;font-size:clamp(1rem,1.5vw,1.15rem)}
.bm-content-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:clamp(2rem,6vw,6rem);align-items:center}
.bm-content-hero__grid .bm-crumbs{justify-content:flex-start}
.bm-content-hero__grid h1{max-width:10ch}
.bm-content-hero__grid>div>p{margin:0;max-width:610px}

.bm-contact-now{background:#111311;color:#fff;padding:clamp(1.4rem,3vw,2.4rem);display:grid;gap:.65rem;border-bottom:6px solid var(--bm-signal)}
.bm-contact-now strong{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1}
.bm-contact-now a{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:.65rem .85rem;background:#fff;color:#111311;font-weight:850;text-decoration:none}
.bm-contact-now a:first-of-type{background:var(--bm-signal)}
.bm-contact-flow{background:#f3f4f2;padding:clamp(2rem,5vw,5rem) 0}
.bm-contact-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:clamp(1.2rem,5vw,5rem);align-items:start;padding:clamp(2rem,5vw,4.5rem) 0;border-top:1px solid #cfd4cf}
.bm-contact-row:last-child{border-bottom:1px solid #cfd4cf}
.bm-contact-row h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.045em;margin:0 0 1rem;max-width:12ch}
.bm-contact-row__copy p{max-width:680px;margin:0 0 1.4rem;color:#4f5651}
.bm-contact-row__copy>a:not(.bm-btn),.bm-contact-example a{font-weight:850;color:inherit;text-underline-offset:.2em}
.bm-contact-example{border-top:4px solid var(--bm-signal);padding:1.1rem 0}
.bm-contact-example h3{font-size:1.2rem;line-height:1.2;margin:0 0 .7rem;color:#151715}
.bm-contact-example p{margin:0 0 .6rem}
.bm-contact-store address{font-style:normal;font-size:1.2rem;font-weight:850;line-height:1.45;margin-bottom:.7rem;color:#151715}
.bm-contact-store>a{display:inline-block}
.bm-contact-row--dark{background:#111311;color:#fff;margin-inline:calc((100vw - min(1320px,94vw)) / -2);padding-inline:calc((100vw - min(1320px,94vw)) / 2);border:0}
body.bm-body .bm-contact-row--dark h2,body.bm-body .bm-contact-row--dark h3,.bm-contact-row--dark a{color:#fff}
.bm-contact-row--dark .bm-contact-row__copy p{color:#c4cac5}

.bm-library-search{display:block;text-align:left;margin:2rem auto 0;max-width:700px}
.bm-library-search span{display:block;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.45rem;color:#303530}
.bm-library-search input{width:100%;min-height:58px;border:2px solid #111311;background:#fff;color:#111311;border-radius:0;padding:.8rem 1.1rem;font:inherit;font-weight:700}
.bm-library-search input:focus{outline:4px solid color-mix(in srgb,var(--bm-signal) 65%,transparent);outline-offset:2px}
.bm-library{background:#f3f4f2;padding:clamp(2.5rem,6vw,6rem) 0}
.bm-library-count{margin:0 0 1.2rem;color:#626963;font-size:.86rem}
.bm-glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;border-top:1px solid #bdc3bd}
.bm-glossary-item{border-bottom:1px solid #bdc3bd;background:transparent}
.bm-glossary-item summary,.bm-acc--library summary{list-style:none;cursor:pointer;position:relative;padding:1rem 2.5rem 1rem 0;font-weight:800;color:#151715}
.bm-glossary-item summary::-webkit-details-marker,.bm-acc--library summary::-webkit-details-marker{display:none}
.bm-glossary-item summary:after,.bm-acc--library summary:after{content:"+";position:absolute;right:.2rem;top:.72rem;font-size:1.5rem;font-weight:400}
.bm-glossary-item[open] summary:after,.bm-acc--library details[open] summary:after{content:"−"}
.bm-glossary-item p{padding:0 2.5rem 1.3rem 0;margin:0;color:#525954;font-size:.94rem}
.bm-library-empty{background:#fff;border:2px solid #111311;padding:1.1rem;margin-top:1.5rem;font-weight:800}

.bm-faq-layout{display:grid;grid-template-columns:210px minmax(0,820px);gap:clamp(2rem,7vw,7rem);justify-content:center;align-items:start}
.bm-faq-index{position:sticky;top:110px;display:grid;border-top:4px solid #111311}
.bm-faq-index strong,.bm-faq-index a{padding:.8rem 0;border-bottom:1px solid #c6cbc6;color:#151715;text-decoration:none}
.bm-faq-index strong{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em}
.bm-faq-index a{font-size:.9rem;font-weight:750}
.bm-faq-group{scroll-margin-top:130px;margin-bottom:3.5rem}
.bm-faq-group h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 1rem}
.bm-acc--library{border-top:1px solid #aeb5af}
.bm-acc--library details{border-bottom:1px solid #aeb5af;background:transparent}
.bm-acc--library details p{margin:0;padding:0 3rem 1.3rem 0;color:#4e554f;max-width:70ch}
.bm-contact-band{background:#111311;color:#fff;padding:clamp(2rem,4vw,3.3rem) 0}
.bm-contact-band .bm-wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem}
body.bm-body .bm-contact-band h2{color:#fff;margin:0;font-size:clamp(1.7rem,3vw,2.5rem)}
.bm-contact-band p{margin:.4rem 0 0;color:#c8cec9}

.bm-learning-links{background:#fff;padding:clamp(3rem,7vw,6rem) 0;border-top:1px solid #dfe3df}
.bm-learning-links__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.bm-learning-link{position:relative;min-height:330px;overflow:hidden;background:#e8ebe8;color:#111311;text-decoration:none;border:1px solid #d2d6d2}
.bm-learning-link>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:5%;transition:transform .35s var(--bm-ease)}
.bm-learning-link:hover>img{transform:scale(1.04)}
.bm-learning-link>span{position:absolute;left:1rem;right:1rem;bottom:1rem;background:rgba(255,255,255,.94);padding:1rem;border-top:4px solid var(--bm-signal)}
.bm-learning-link small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:850;color:#626963}
.bm-learning-link strong{display:block;font-size:1.08rem;line-height:1.22;margin:.35rem 0 .8rem;max-width:24ch}
.bm-learning-link b{font-size:.8rem;text-decoration:underline;text-underline-offset:.2em}

.bm-guide-hero{background:#111311;color:#fff;padding:clamp(2.4rem,5vw,5rem) 0}
.bm-guide-hero__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.bm-guide-hero .bm-crumbs,.bm-guide-hero .bm-crumbs a,.bm-guide-hero .bm-crumbs span{color:#c4cac5}
body.bm-body .bm-guide-hero h1{color:#fff;font-size:clamp(3rem,6vw,5.7rem);letter-spacing:-.06em;margin:.6rem 0 1rem;max-width:10ch}
.bm-guide-hero__copy>p{color:#cbd0cc;max-width:590px;font-size:1.05rem}
.bm-guide-hero .bm-inline-actions{margin-top:1.5rem}
.bm-guide-hero .bm-menu-window__grid{min-height:440px;background:#fff}
.bm-guide-hero .bm-menu-window__note{background:var(--bm-signal);color:#111311}
.bm-guide-hero .bm-menu-window__note a{color:#111311}
.bm-guide-categories{background:#fff;padding:clamp(3rem,7vw,6rem) 0}
.bm-guide-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.bm-guide-category{display:grid;grid-template-columns:42% 1fr;min-height:230px;border:1px solid #d5dad5;background:#f3f4f2;color:#111311;text-decoration:none;overflow:hidden}
.bm-guide-category__media{background:#e5e8e5;min-width:0}
.bm-guide-category__media img{width:100%;height:100%;object-fit:contain;padding:6%;transition:transform .35s var(--bm-ease)}
.bm-guide-category:hover img{transform:scale(1.05)}
.bm-guide-category>span:last-child{display:flex;flex-direction:column;justify-content:center;padding:1.4rem}
.bm-guide-category strong{font-size:1.35rem}
.bm-guide-category small{display:block;color:#59605a;line-height:1.5;margin:.45rem 0 1rem}
.bm-guide-category b{font-size:.78rem;text-decoration:underline;text-underline-offset:.2em}
.bm-guide-stories{background:#f3f4f2;padding:clamp(3rem,7vw,7rem) 0}
.bm-guide-story{display:grid;grid-template-columns:1fr 1fr;min-height:420px;background:#fff;border-top:1px solid #cbd0cb}
.bm-guide-story:last-child{border-bottom:1px solid #cbd0cb}
.bm-guide-story>div:last-child{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5rem)}
.bm-guide-story h2{font-size:clamp(2.1rem,4vw,4rem);letter-spacing:-.05em;margin:0 0 1rem;max-width:11ch}
.bm-guide-story p{color:#555c56;max-width:610px}
.bm-guide-story a{font-weight:850;color:#111311;text-underline-offset:.2em}
.bm-guide-story--reverse .bm-guide-story__art{order:2}
.bm-guide-story__art{background:#111311;display:grid;place-content:center;gap:.65rem;padding:2rem}
.bm-guide-story__art--facts{grid-template-columns:repeat(2,minmax(100px,150px))}
.bm-guide-story__art--facts span{display:grid;place-items:center;aspect-ratio:1;background:var(--bm-signal);font-size:1.45rem;font-weight:900}
.bm-guide-story__art--facts span:nth-child(2),.bm-guide-story__art--facts span:nth-child(3){background:#fff}
.bm-guide-story__art--order{grid-template-columns:repeat(3,90px)}
.bm-guide-story__art--order b{display:grid;place-items:center;aspect-ratio:1;border:3px solid var(--bm-signal);border-radius:50%;color:#fff;font-size:2.4rem}
.bm-guide-decision{background:var(--bm-signal);padding:clamp(2.2rem,5vw,4rem) 0}
.bm-guide-decision__grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center}
.bm-guide-decision h2{margin:0;color:#111311}
.bm-guide-decision p{margin:.4rem 0 0;color:#303530}
.bm-guide-decision .bm-btn--ghost{border-color:#111311;background:transparent;border-radius:4px}

.bm-shophead__lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,310px);gap:2rem;align-items:center}
.bm-shophead__art{height:210px;background:#fff;border:1px solid #d9ddd9}
.bm-shophead__art img{width:100%;height:100%;object-fit:contain;padding:5%}
.bm-product-learn{background:var(--bm-signal);color:#111311;padding:2rem 0}
.bm-product-learn__grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.5rem;align-items:center}
.bm-product-learn h2{margin:0;color:#111311;font-size:clamp(1.5rem,2.5vw,2.2rem)}
.bm-product-learn p{margin:.35rem 0 0;color:#303530}
.bm-product-learn a{color:#111311;font-weight:850;text-underline-offset:.2em;white-space:nowrap}
.bm-facts-empty{margin-top:1rem;padding:1rem;background:#f3f4f2;border-top:4px solid #111311}
.bm-facts-empty strong{display:block;font-size:1rem;margin-bottom:.35rem}
.bm-facts-empty p{font-size:.86rem;color:#555c56;margin:0 0 .45rem}
.bm-facts-empty a{font-size:.82rem;font-weight:850;color:#111311;text-underline-offset:.2em}
.bm-image-unavailable{width:100%;height:100%;min-height:180px;display:grid;place-content:center;text-align:center;gap:.25rem;background:#e7eae7;color:#111311;padding:1rem}
.bm-image-unavailable b{font-size:.86rem}
.bm-image-unavailable small{font-size:.72rem;color:#5b625d}
body.bm-body .bm-market-banner h2{color:#fff}
body.bm-body .woocommerce-pagination .page-numbers.current,body.bm-body .ct-pagination .page-numbers.current{background:#111311!important;color:#fff!important;border-color:#111311!important}

@media(max-width:960px){
  .bm-guide-hero__grid{grid-template-columns:1fr}
  .bm-guide-hero h1{max-width:12ch}
  .bm-guide-hero .bm-menu-window{max-width:720px}
  .bm-learning-links__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bm-learning-link:last-child{grid-column:1/-1;min-height:280px}
  .bm-contact-row{grid-template-columns:minmax(0,1fr) minmax(220px,.65fr)}
  .bm-faq-layout{grid-template-columns:170px minmax(0,1fr);gap:2rem}
  .bm-product-learn__grid,.bm-guide-decision__grid{grid-template-columns:1fr auto}
  .bm-product-learn__grid>div,.bm-guide-decision__grid>div{grid-column:1/-1}
}

@media(max-width:760px){
  .bm-content-hero{padding:1.7rem 0 2.2rem}
  .bm-content-hero__grid{grid-template-columns:1fr;gap:1.4rem}
  .bm-content-hero h1{font-size:clamp(2.5rem,12vw,4rem);max-width:12ch}
  .bm-content-hero p{font-size:.95rem}
  .bm-contact-now{padding:1.1rem}
  .bm-contact-row{grid-template-columns:1fr;gap:.8rem;padding:2.4rem 0}
  .bm-contact-row h2{font-size:2.3rem}
  .bm-contact-example{grid-column:1}
  .bm-contact-row--dark{margin-inline:-3vw;padding-inline:3vw}
  .bm-library-search{margin-top:1.3rem}
  .bm-library-search input{min-height:52px}
  .bm-glossary-grid{grid-template-columns:1fr}
  .bm-faq-layout{display:block}
  .bm-faq-index{position:static;display:flex;overflow-x:auto;border-top:0;border-bottom:1px solid #c6cbc6;margin-bottom:2.3rem;gap:1rem;scrollbar-width:none}
  .bm-faq-index strong{display:none}
  .bm-faq-index a{white-space:nowrap;border:0}
  .bm-faq-group{margin-bottom:2.5rem}
  .bm-contact-band .bm-wrap{display:block}
  .bm-contact-band .bm-btn{width:100%;margin-top:1.2rem}
  .bm-learning-links{padding:2.8rem 0}
  .bm-learning-links__grid{display:flex;overflow-x:auto;margin-inline:0;padding-inline:0;gap:.7rem;scroll-snap-type:x proximity;scrollbar-width:none}
  .bm-learning-link,.bm-learning-link:last-child{flex:0 0 82vw;min-height:310px;scroll-snap-align:start}
  .bm-guide-hero{padding:1.7rem 0 2.4rem}
  .bm-guide-hero__grid{gap:1.8rem}
  .bm-guide-hero h1{font-size:clamp(2.7rem,12vw,4.4rem)}
  .bm-guide-hero .bm-menu-window__grid{min-height:330px}
  .bm-guide-category-grid{grid-template-columns:1fr}
  .bm-guide-category{min-height:200px}
  .bm-guide-story{grid-template-columns:1fr;min-height:0}
  .bm-guide-story__art,.bm-guide-story--reverse .bm-guide-story__art{order:0;min-height:300px}
  .bm-guide-story>div:last-child{padding:2rem 1.2rem 2.8rem}
  .bm-guide-story h2{font-size:2.5rem}
  .bm-guide-story__art--facts{grid-template-columns:repeat(2,105px)}
  .bm-guide-story__art--order{grid-template-columns:repeat(3,68px)}
  .bm-guide-decision__grid,.bm-product-learn__grid{grid-template-columns:1fr}
  .bm-guide-decision .bm-btn{width:100%}
  .bm-product-learn__grid>a{white-space:normal}
  .bm-shophead__lead{grid-template-columns:1fr}
  .bm-shophead__art{height:170px}
}

/* ==========================================================================
   v1.45.2 — Bud Points rewards page
   ========================================================================== */

.bm-rewards-title{background:#111311;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,4vw,3rem) 0}
body.bm-body .bm-rewards-title h1{color:#fff;font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.1;letter-spacing:-.025em;margin:0}
.bm-rewards-page{
  max-width:min(1320px,94vw);
  padding-block:0;
  background:#fff;
}
body.bm-body .bm-rewards-page h2{margin:0;color:#111311;letter-spacing:-.035em}
body.bm-body .bm-rewards-page p{margin:0;color:#4f5651}
body.bm-body .bm-rewards-page strong{color:inherit}

.bm-rewards-equation{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,1fr);
  gap:clamp(1.5rem,3vw,3rem);
  align-items:center;
  padding:1.25rem clamp(1.25rem,4vw,3rem) 2rem;
  background:#111311;
  color:#fff;
}
body.bm-body .bm-rewards-equation__copy h2{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.25;max-width:28ch;color:#fff}
body.bm-body .bm-rewards-equation__copy p{margin-top:.75rem;color:#e7eae7;max-width:52ch;font-size:1rem;line-height:1.6}
.bm-rewards-equation__math{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.75rem;align-items:center}
.bm-rewards-equation__math>p:empty{display:none}
.bm-rewards-equation__item{min-height:170px;display:flex;flex-direction:column;justify-content:center;padding:1.25rem;background:#fff;border:1px solid rgba(17,19,17,.24)}
.bm-rewards-equation__item.is-signal{background:#111311;color:#fff;border-color:#111311}
.bm-rewards-equation__math strong{font-size:clamp(2.5rem,4.5vw,4.4rem);line-height:.9;letter-spacing:-.04em}
.bm-rewards-equation__math small{margin-top:.75rem;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.bm-rewards-equation__operator{font-size:1.5rem;font-weight:900;color:#111311;text-align:center}
.bm-rewards-equation__math.bm-rewards-rates{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.bm-rewards-rate{padding:1.25rem;background:#fff;color:#151715;border-radius:4px}
.bm-rewards-rate.is-signal{background:var(--bm-signal)}
.bm-rewards-rate h3{margin:0 0 .7rem;font-size:1rem;line-height:1.25;color:#151715}
body.bm-body .bm-rewards-rate p{color:#151715;font-size:.92rem;line-height:1.5}
.bm-rewards-rates strong{display:block;font-size:clamp(2.2rem,4vw,3rem);line-height:1.1;letter-spacing:-.025em;margin-bottom:.4rem}

.bm-rewards-basis{display:grid;grid-template-columns:repeat(3,1fr);background:#111311;color:#fff;padding:0 clamp(1.2rem,4vw,3rem)}
.bm-rewards-basis p{padding:1.35rem clamp(1rem,2.5vw,2rem);border-right:1px solid #3d413e}
.bm-rewards-basis p:last-child{border-right:0}
.bm-rewards-basis strong,.bm-rewards-basis span{display:block}
body.bm-body .bm-rewards-basis strong{color:#fff;font-size:.88rem;text-transform:uppercase;letter-spacing:.07em}
body.bm-body .bm-rewards-basis span{margin-top:.25rem;color:#bfc5c0;font-size:.86rem}

.bm-rewards-steps,.bm-rewards-value{padding:clamp(3rem,7vw,6rem) clamp(1.2rem,5vw,5rem)}
.bm-rewards-steps{background:#f3f4f2}
.bm-rewards-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:2rem;align-items:end;margin-bottom:2rem}
.bm-rewards-heading h2{font-size:clamp(2.2rem,4.5vw,4rem);max-width:12ch}
body.bm-body .bm-rewards-heading p{max-width:50ch}
.bm-rewards-steps ol{counter-reset:reward-step;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border-block:1px solid #cbd0cb}
.bm-rewards-steps li{counter-increment:reward-step;display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-content:start;padding:1.6rem clamp(1rem,2.4vw,2rem);margin:0;border-right:1px solid #cbd0cb}
.bm-rewards-steps li:last-child{border-right:0}
.bm-rewards-steps li::before{content:counter(reward-step);grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border:2px solid #111311;border-radius:50%;font-weight:900;color:#111311}
.bm-rewards-steps li strong{font-size:1.08rem;color:#111311}
.bm-rewards-steps li span{margin-top:.35rem;color:#555c56;font-size:.92rem;line-height:1.55}

.bm-rewards-value{background:#fff}
.bm-rewards-value__grid{display:grid;grid-template-columns:repeat(5,1fr);margin:0;border-block:1px solid #cbd0cb}
.bm-rewards-value__grid>div{padding:1.5rem clamp(.8rem,2vw,1.5rem);border-right:1px solid #cbd0cb;background:#fff}
.bm-rewards-value__grid>div:last-child{border-right:0;background:var(--bm-signal)}
.bm-rewards-value dt{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#555c56}
.bm-rewards-value dd{margin:.45rem 0 0;font-size:clamp(1.45rem,2.8vw,2.4rem);font-weight:900;letter-spacing:-.03em;color:#111311}

.bm-rewards-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(3rem,7vw,6rem) clamp(1.2rem,5vw,5rem);background:#111311;color:#fff}
body.bm-body .bm-rewards-example h2{color:#fff;font-size:clamp(2.2rem,4.5vw,4rem)}
body.bm-body .bm-rewards-example>div:first-child p{margin-top:1rem;color:#c4cac5;max-width:58ch}
.bm-rewards-example__math{border-top:4px solid var(--bm-signal)}
.bm-rewards-example__math p{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0;border-bottom:1px solid #3d413e}
body.bm-body .bm-rewards-example__math span{color:#c4cac5}
body.bm-body .bm-rewards-example__math strong{color:#fff;font-size:1.25rem}

.bm-rewards-join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(2.4rem,5vw,4rem) clamp(1.2rem,5vw,5rem);background:var(--bm-signal);color:#111311}
.bm-rewards-join h2{font-size:clamp(2rem,4vw,3.5rem)}
body.bm-body .bm-rewards-join p{margin-top:.5rem;color:#303530}
body.bm-body .bm-rewards-join .bm-btn{min-height:52px;background:#111311;color:#fff;border-color:#111311;white-space:nowrap}
body.bm-body .bm-rewards-join .bm-btn:hover{background:#2f6600;color:#fff;border-color:#2f6600}

@media(max-width:980px){
  .bm-rewards-equation{grid-template-columns:1fr}
  .bm-rewards-equation__copy h2{max-width:16ch}
  .bm-rewards-value__grid{grid-template-columns:repeat(3,1fr)}
  .bm-rewards-value__grid>div:nth-child(3){border-right:0}
  .bm-rewards-value__grid>div:nth-child(-n+3){border-bottom:1px solid #cbd0cb}
  .bm-rewards-value__grid>div:last-child{grid-column:2/4}
}

@media(max-width:760px){
  .bm-rewards-title{padding:1.5rem 4vw 0}
  .bm-rewards-page{width:100%;max-width:none}
  .bm-rewards-equation,.bm-rewards-steps,.bm-rewards-value,.bm-rewards-example,.bm-rewards-join{padding-inline:4vw}
  .bm-rewards-equation{padding-block:1rem 1.5rem;gap:1.25rem}
  .bm-rewards-equation__math{gap:.38rem}
  .bm-rewards-equation__item{min-height:126px;padding:.75rem}
  .bm-rewards-equation__math strong{font-size:2rem}
  .bm-rewards-equation__math small{font-size:.6rem;letter-spacing:.04em}
  .bm-rewards-equation__operator{font-size:1rem}
  .bm-rewards-basis{grid-template-columns:1fr;padding-inline:4vw}
  .bm-rewards-basis p,.bm-rewards-basis p:last-child{padding:1rem 0;border-right:0;border-bottom:1px solid #3d413e}
  .bm-rewards-basis p:last-child{border-bottom:0}
  .bm-rewards-heading{grid-template-columns:1fr;gap:.8rem}
  .bm-rewards-heading h2{font-size:1.8rem}
  .bm-rewards-steps ol{grid-template-columns:1fr}
  .bm-rewards-steps li,.bm-rewards-steps li:last-child{border-right:0;border-bottom:1px solid #cbd0cb;padding:1.35rem 0}
  .bm-rewards-steps li:last-child{border-bottom:0}
  .bm-rewards-value__grid{grid-template-columns:repeat(2,1fr)}
  .bm-rewards-value__grid>div,.bm-rewards-value__grid>div:nth-child(3){border-right:1px solid #cbd0cb;border-bottom:1px solid #cbd0cb}
  .bm-rewards-value__grid>div:nth-child(even){border-right:0}
  .bm-rewards-value__grid>div:last-child{grid-column:1/3;border:0}
  .bm-rewards-example{grid-template-columns:1fr;gap:2rem}
  .bm-rewards-example__math p{align-items:baseline}
  .bm-rewards-join{grid-template-columns:1fr;gap:1.3rem}
  body.bm-body .bm-rewards-join .bm-btn{width:100%;white-space:normal}
}

/* Editorial pages: compact titles, useful contents links and readable sections. */
body.bm-body .bm-reading-hero{padding-block:clamp(1.25rem,2.5vw,2rem);background:#e7eae7}
body.bm-body .bm-reading-hero h1{max-width:26ch;font-size:clamp(1.8rem,3.2vw,2.75rem);line-height:1.1;margin:0}
.bm-reading-layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding-block:clamp(2rem,4vw,3.5rem)}
.bm-reading-aside{min-width:0}
.bm-reading-aside nav{display:grid}
.bm-reading-toc{border-block:1px solid #c9cfc9}
.bm-reading-toc summary{display:list-item;cursor:pointer;min-height:44px;padding:.65rem 0;font-size:.92rem;font-weight:750;color:#151715}
.bm-reading-toc[open] summary{border-bottom:1px solid #c9cfc9}
.bm-reading-toc nav a:last-child{border-bottom:0}
body.bm-body .bm-reading-aside nav a{display:block;padding:.7rem 0;border-bottom:1px solid #c9cfc9;color:#151715;font-size:.92rem;font-weight:650;text-decoration:none;line-height:1.4;min-height:44px}
body.bm-body .bm-reading-aside nav a:hover{text-decoration:underline;text-underline-offset:3px}
.bm-reading-aside .bm-reading-image{width:100%;margin:1.5rem 0 0;border-radius:4px}
.bm-reading-aside .bm-page-image__img{aspect-ratio:4/3;object-fit:cover}
body.bm-body .bm-reading-copy{max-width:72ch;width:auto;margin:0;color:#151715}
body.bm-body .bm-reading-copy h2{font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.17;margin:2.25rem 0 .85rem;scroll-margin-top:120px}
body.bm-body .bm-reading-copy h2:first-child{margin-top:0}
body.bm-body .bm-reading-copy p,body.bm-body .bm-reading-copy li{color:#3f463f;font-size:1rem;line-height:1.7}
body.bm-body .bm-reading-copy li+li{margin-top:.6rem}
body.bm-body .bm-reading-copy a{text-decoration:underline;text-underline-offset:3px}
body.bm-body .bm-reading-copy .bm-policy-summary{padding:1.25rem 1.4rem;background:#eefbd8;border-left:4px solid #151715;color:#151715;margin:0 0 2rem}
.bm-policy-summary strong{display:block;margin-bottom:.45rem}
.bm-home-local{background:#f3f4f2;border-top:1px solid #c9cfc9}
.bm-city-intent .bm-reading-layout{padding-block:1.4rem}
.bm-address-check{margin-top:1.5rem;padding:1.25rem;background:#fff;border:1px solid #c9cfc9}
body.bm-body .bm-address-check h2{font-size:1.2rem;margin:0 0 .5rem}
.bm-address-check p{font-size:.95rem;margin:0 0 1rem}
body.bm-body .bm-buybar{background:#151715}
body.bm-body .bm-buybar__p b,body.bm-body .bm-buybar__p b .amount,body.bm-body .bm-buybar__p b bdi{color:#fff}
body.bm-body .bm-buybar__p small{color:#e7eae7}
body.bm-body .bm-summary .woocommerce-product-details__short-description{color:#3f463f;font-size:1rem;line-height:1.6;margin-bottom:1rem}
@media(max-width:900px){
  body.bm-body .bm-gallery .woocommerce-product-gallery__image>a>img{max-height:310px;object-fit:contain}
}
.bm-faq-page .bm-content-hero{padding-block:1.5rem 1.75rem}
.bm-faq-page .bm-content-hero h1{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.025em}
.bm-faq-page .bm-library-search{margin-top:1.25rem}
.bm-faq-page .bm-library-search input{border-radius:4px;min-height:52px}
.bm-faq-page .bm-faq-library{padding-block:1.5rem 3rem}
@media(max-width:760px){
  .bm-reading-layout.bm-wrap,.bm-faq-page .bm-wrap,.bm-cityhero .bm-wrap,.bm-delivery-hero .bm-wrap{width:calc(100% - 2rem)}
  .bm-reading-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-block:1.5rem}
  .bm-reading-aside nav{grid-template-columns:1fr}
  body.bm-body .bm-reading-aside nav a{font-size:.84rem}
  .bm-reading-image,.bm-reading-copy .bm-reading-image{width:100%;margin:1.25rem 0}
  .bm-reading-image .bm-page-image__img{aspect-ratio:2/1;max-height:190px;object-fit:cover;margin:0}
  body.bm-body .bm-reading-copy h2{scroll-margin-top:110px}
  .bm-faq-page .bm-faq-index{flex-wrap:wrap;overflow:visible;gap:.4rem .5rem;margin-bottom:1.5rem}
  .bm-faq-page .bm-faq-index a{white-space:normal;padding:.5rem .65rem;border:1px solid #c9cfc9;min-height:44px}
  .bm-faq-page .bm-faq-index strong{display:none}
  .bm-faq-page .bm-content-hero{padding-block:1rem 1.25rem}
  .bm-faq-page .bm-content-hero h1{max-width:18ch}
  .bm-faq-page .bm-faq-group h2{font-size:1.5rem;margin-bottom:.75rem}
  .bm-cityhero .bm-wrap,.bm-delivery-hero .bm-wrap{gap:1.25rem}
  .bm-cityhero .bm-micro,.bm-delivery-hero .bm-micro{margin-top:1rem}
  .bm-cityhero .bm-menu-window__note,.bm-delivery-hero .bm-menu-window__note{flex-wrap:wrap}
  body.bm-body .bm-chip{display:inline-flex;align-items:center;min-height:44px}
  body.bm-body .bm-toolbar select{min-height:44px}
}
.bm-rewards-page .bm-rewards-support{padding:2rem;background:#eefbd8;border-top:3px solid #151715}
.bm-rewards-page .bm-rewards-support h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:0}

/* v1.48 — readable defaults, keyboard isolation and unusual content. */
body.bm-body #main-content{scroll-margin-block-start:180px}
body.bm-body .bm-reading-copy,body.bm-body .bm-faq-groups,
body.bm-body .bm-glossary-item,body.bm-body .bm-rewards-rate{min-inline-size:0}
body.bm-body .bm-reading-copy,body.bm-body .bm-summary__title,
body.bm-body .bm-page-title,body.bm-body .bm-content-hero h1,
body.bm-body .bm-acc summary,body.bm-body .bm-glossary-item,
body.bm-body .bm-footer a,body.bm-body .bm-mobile-nav a{overflow-wrap:anywhere}
body.bm-body .bm-library-clear{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  margin-block-start:.5rem;padding:.55rem .85rem;border:1px solid var(--bm-ink);
  border-radius:4px;background:var(--bm-surface);color:var(--bm-ink);font:inherit;
  font-size:.9rem;font-weight:700;cursor:pointer;white-space:normal;
}
body.bm-body .bm-library-clear:hover{background:var(--bm-surface-2)}
body.bm-body .bm-library-search input:focus,
body.bm-body .bm-header .bm-searchform input.bm-searchform__input:focus{outline:3px solid var(--bm-ink);outline-offset:2px}
body.bm-body .bm-store-navrow a:focus-visible{outline-color:#fff}
body.bm-body textarea:focus-visible{outline:3px solid var(--bm-ink);outline-offset:2px}
[data-bm-rail-section]:not(.bm-rail-ready) .bm-rail-controls{display:none}
html[dir="rtl"] .bm-rail-control svg{transform:scaleX(-1)}
html[dir="rtl"] .bm-reading-toc summary{text-align:start}
@media(max-width:980px){
  .bm-header:not(.bm-nav-ready){position:static}
  .bm-header:not(.bm-nav-ready) .bm-mobile-nav{display:block}
  .bm-header:not(.bm-nav-ready) .bm-burger{display:none}
  .bm-header .bm-mobile-nav{
    max-block-size:max(120px,calc(100vh - 200px));
    max-block-size:max(120px,calc(100dvh - 200px));
    overflow-y:auto;overscroll-behavior:contain;
  }
}
@media(max-width:900px){
  .bm-shop:not(.bm-filters-ready) .bm-filters{display:block}
  .bm-shop:not(.bm-filters-ready) .bm-filterbtn,
  body.bm-body .bm-shop:not(.bm-filters-ready) .bm-close-filters{display:none}
  html[dir="rtl"] .bm-filters.is-open{inset:0 0 0 auto}
  body.bm-body .bm-header .bm-searchform input.bm-searchform__input,
  body.bm-body .bm-library-search input{font-size:1rem}
}
@media(max-width:760px){
  body.bm-body .bm-reading-hero .bm-wrap{width:calc(100% - 2rem);margin-inline:auto}
  .bm-header .bm-header__main{grid-template-columns:minmax(0,1fr) auto}
  .bm-header .bm-logo{min-width:0}
  .bm-header .bm-logo b{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:360px){
  .bm-header .bm-header__main{column-gap:.4rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
}
@media(forced-colors:active){
  body.bm-body .bm-btn,body.bm-body .bm-library-clear,
  body.bm-body .bm-burger,body.bm-body .bm-rail-control{border:1px solid ButtonText}
  body.bm-body a:focus-visible,body.bm-body button:focus-visible,
  body.bm-body input:focus-visible,body.bm-body textarea:focus-visible,
  body.bm-body summary:focus-visible{outline:3px solid Highlight}
}

/* v1.49 — adapt, then layout. One content order, different usable densities. */
html{scroll-padding-block-end:calc(var(--bm-bottom-clearance,0px) + 1rem)}
.admin-bar .bm-header{top:var(--bm-admin-offset,32px)}
body.bm-body #main-content,
body.bm-body .bm-reading-copy h2,
.bm-faq-group,.bm-guide-category-grid{scroll-margin-block-start:calc(var(--bm-header-clearance) + 1rem)}
.bm-faq-index{top:calc(var(--bm-header-clearance) + 1rem)}
.bm-market-heading>div,.bm-rail-actions,.bm-toolbar>*{min-inline-size:0}
.bm-results{min-inline-size:0}
body.bm-body .bm-prod__title{overflow-wrap:anywhere}
.bm-market-heading,.bm-rail-actions{flex-wrap:wrap}
.bm-rail-actions>a,.bm-market-heading>a{white-space:normal}
.bm-rail-controls{flex-shrink:0}
.bm-shophead__lead--text,.bm-shophead__lead:not(:has(>.bm-shophead__art)){grid-template-columns:minmax(0,1fr)}
.bm-shophead__lead--text .bm-shophead__intro{max-width:70ch}
body.bm-body .bm-prod__cart .button{min-height:44px}
body.bm-body .bm-chip{display:inline-flex;align-items:center;min-height:44px}
body.bm-body .bm-toolbar select{min-height:44px;max-inline-size:100%}
.bm-store-navrow .bm-nav__list>li>a,.bm-store-navrow__shop{display:flex;align-items:center;min-height:44px}
.bm-header .bm-store-navrow .bm-wrap{padding-block:.25rem}

/* Answers and available products lead; support imagery remains secondary. */
body.bm-body .bm-deals-hero,body.bm-body .bm-blog-hero,
body.bm-body .bm-rhero,.bm-content-hero,.bm-guide-hero{padding-block:var(--bm-space-section)}
body.bm-body .bm-deals-hero h1,body.bm-body .bm-blog-hero h1,
body.bm-body .bm-rhero h1,.bm-content-hero h1,body.bm-body .bm-guide-hero h1{
  font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.12;letter-spacing:-.025em;max-width:24ch;
}
.bm-deals-products{padding-block:var(--bm-space-group)}
.bm-deals-hero .bm-wrap,.bm-blog-hero .bm-wrap{max-width:1320px;margin-inline:auto}
.bm-rhero--empty .bm-wrap{grid-template-columns:minmax(0,1fr)}
.bm-deals-products .bm-empty{margin:0;padding:var(--bm-space-group);text-align:start}
.bm-contact-flow{padding-block:0}
.bm-contact-row{padding-block:var(--bm-space-section);gap:var(--bm-space-group)}
.bm-contact-row h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.18;letter-spacing:-.025em;max-width:24ch}
.bm-contact-row__copy p{margin-bottom:var(--bm-space-related)}
.bm-contact-row--dark{margin-inline:0;padding-inline:var(--bm-space-group)}
body.bm-body .bm-contact-row--dark a.bm-btn--signal{color:var(--bm-ink)}
.bm-learning-links,.bm-guide-categories,.bm-library,.bm-city-category-market,
.bm-rewards-steps,.bm-rewards-value{padding-block:var(--bm-space-section)}
.bm-rewards-heading{gap:var(--bm-space-related);margin-bottom:var(--bm-space-group)}
.bm-rewards-heading h2{font-size:clamp(1.75rem,2.8vw,2.5rem);max-width:22ch}
.bm-rewards-basis p:first-child{padding-inline-start:0}
.bm-rewards-basis p:last-child{padding-inline-end:0}
.bm-guide-hero__grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:var(--bm-space-group)}
.bm-guide-hero .bm-menu-window__grid{min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:.5rem}
.bm-guide-hero .bm-menu-window__item{display:flex;flex-direction:column;grid-row:auto}
.bm-guide-hero .bm-menu-window__item img{aspect-ratio:1;object-fit:contain;height:auto;padding:8%}
.bm-guide-hero .bm-menu-window__caption{position:static;margin-top:auto;background:#fff;padding:.5rem;border:0;border-top:1px solid var(--bm-line)}
.bm-guide-hero .bm-menu-window__caption strong{font-size:.75rem;line-height:1.3;overflow-wrap:anywhere;display:block}
.bm-guide-hero .bm-menu-window__note{flex-wrap:wrap}
.bm-delivery-page>.bm-page-image--delivery .bm-page-image__img{max-height:320px}
.bm-delivery-page .bm-cities{padding-block:var(--bm-space-section)}
.bm-city__content{padding:var(--bm-space-group)}
.bm-city__content h3{margin:0}
.bm-city__content p{margin:0}
.bm-footer__cols>*{min-inline-size:0}
.bm-footer__col a{display:flex;align-items:center;min-height:44px;line-height:1.45}
.bm-footer__col ul{gap:.25rem}
.bm-footer__col h4{margin-bottom:.5rem}

/* Account navigation is a task list, not ungrouped links above a paragraph. */
.bm-account-page .woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--bm-space-section);align-items:start}
.bm-account-page .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.bm-account-page .woocommerce-notices-wrapper:empty{display:none}
.bm-account-page .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--bm-line)}
.bm-account-page .woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid var(--bm-line)}
.bm-account-page .woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:48px;padding:.65rem 1rem;text-decoration:none;color:var(--bm-ink)}
.bm-account-page .woocommerce-MyAccount-navigation .is-active a{background:var(--bm-ink);color:#fff;font-weight:750}
.bm-account-page .woocommerce-MyAccount-content{min-inline-size:0;overflow-wrap:anywhere}
.bm-account-page .woocommerce-MyAccount-content>p:first-child{margin-top:0}
.bm-account-page .woocommerce-MyAccount-content>p{max-width:72ch}
.bm-account-page .woocommerce-MyAccount-content .woocommerce-Address{margin-block:var(--bm-space-group)}
.bm-account-page form input.input-text,.bm-account-page form select{min-height:48px;font-size:1rem}
.bm-account-page .woocommerce-orders-table{table-layout:fixed}
.bm-account-page .woocommerce-orders-table th,.bm-account-page .woocommerce-orders-table td{overflow-wrap:anywhere}

/* Tablet shelves remain browsable; no fifth product disappears at a breakpoint. */
@media(min-width:761px) and (max-width:1080px){
  [data-bm-rail-section] .bm-rail-controls{display:flex}
  ul.products.bm-product-rail{display:flex;overflow-x:auto;gap:1rem;padding-bottom:.75rem;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  ul.products.bm-product-rail .bm-prod,ul.products.bm-product-rail .bm-prod:nth-child(5){display:flex;flex:0 0 calc((100% - 2.5rem)/3.25);scroll-snap-align:start}
  .bm-guide-category{grid-template-columns:1fr;min-height:0}
  .bm-guide-category__media{height:160px}
  .bm-guide-category>span:last-child{padding:var(--bm-space-related)}
  .bm-guide-category strong{font-size:1.15rem}
}
@media(max-width:980px){
  .bm-store-navrow{display:none}
  .bm-cityhero .bm-hero__visual,.bm-delivery-hero .bm-menu-window{max-width:480px}
  .bm-cityhero .bm-hero__visual{margin-top:0}
  .bm-guide-hero__grid{grid-template-columns:1fr}
  .bm-guide-hero .bm-menu-window{max-width:480px}
}
@media(max-width:900px){
  body.bm-body{padding-bottom:var(--bm-bottom-clearance,calc(5rem + env(safe-area-inset-bottom)))}
  body.bm-body.woocommerce-cart,body.bm-body.woocommerce-checkout{padding-bottom:0}
  .bm-tabbar{padding-inline:max(.5rem,env(safe-area-inset-left)) max(.5rem,env(safe-area-inset-right))}
  .bm-tabbar__item{min-height:44px}
  .bm-buybar{padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}
  .bm-buybar__p{min-inline-size:0;flex:0 1 42%;overflow-wrap:anywhere}
  .bm-buybar .bm-btn{min-inline-size:0;white-space:normal}
  .bm-filters.is-open{padding-block:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-bottom))}
  .bm-toolbar .woocommerce-ordering{min-inline-size:0;max-inline-size:100%}
}
@media(max-width:760px){
  /* Sixteen-pixel reading gutters, kept inside landscape display cutouts. */
  body.bm-body .bm-wrap{width:calc(100% - max(1rem,env(safe-area-inset-left)) - max(1rem,env(safe-area-inset-right)));margin-inline:auto}
  body.bm-body .bm-rewards-page{width:100%}
  .bm-market-offer{padding:1rem}
  .bm-market-offer p{font-size:1rem;line-height:1.5}
  .bm-market-service li b{font-size:.75rem;white-space:normal}
  .bm-market-service>a{font-size:.85rem;min-height:44px;display:flex;align-items:center}
  .bm-content-hero p,.bm-glossary-item p{font-size:1rem}
  .bm-market-heading{gap:.75rem}
  .bm-market-heading>a,.bm-rail-actions>a{display:inline-flex;align-items:center;min-height:44px}
  .bm-content-hero__grid{gap:var(--bm-space-group)}
  .bm-guide-hero .bm-menu-window{max-width:100%}
  .bm-guide-hero .bm-menu-window__caption strong{font-size:.72rem}
  .bm-contact-now strong{font-size:1.5rem;line-height:1.2}
  .bm-contact-row--dark{padding-inline:var(--bm-space-related)}
  .bm-contact-example{padding-block:.75rem}
  .bm-results ul.products{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
  .bm-account-page .woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:minmax(0,1fr);gap:var(--bm-space-group)}
  .bm-account-page .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
  .bm-account-page .woocommerce-MyAccount-navigation a{padding-inline:.5rem;font-size:.95rem}
  .bm-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bm-space-group)}
  .bm-footer__brand,.bm-footer__col:last-child{grid-column:1/-1}
  .bm-footer__col:last-child ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--bm-space-group)}
  .bm-footer__brand p{max-width:55ch}
  .bm-footer__legal{margin-top:var(--bm-space-group)}
}
@media(max-width:380px){
  .bm-header .bm-header__main{column-gap:.25rem}
  .bm-header .bm-logo{gap:.4rem}
  .bm-header .bm-logo b{font-size:.88rem}
  .bm-results .bm-prod__body{padding:.65rem .6rem}
  .bm-results .bm-prod__cart{padding:0 .6rem .65rem}
  .bm-results .bm-prod__title{font-size:.85rem}
}
@media(max-height:540px) and (max-width:980px){
  .bm-header{position:static}
}
@media(hover:none){
  body.bm-body .bm-prod:hover,.bm-category-tile:hover .bm-category-tile__media img,
  .bm-learning-link:hover>img,.bm-guide-category:hover img{transform:none}
}
/* The editable glossary keeps its full-width reference grid; prose stays readable. */
.bm-glossary-content > :not(.bm-glossary-grid){max-width:70ch}
.bm-glossary-content > h2{margin:48px 0 16px}
