/* BC Cannabis Home v2.0.2 — design tokens + storefront styles. */

:root{
  --bch-green:#0F3B2E;
  --bch-green-2:#1E5A45;
  --bch-lime:#C6E4A7;
  --bch-sand:#F1EBDD;
  --bch-cream:#FAF6EC;
  --bch-ink:#111111;
  --bch-muted:#6B6B6B;
  --bch-border:#E5DFCF;
  --bch-red:#B23A48;
  --bch-white:#FFFFFF;
  --bch-radius:6px;
  --bch-radius-lg:14px;
  --bch-shadow:0 2px 10px rgba(15,59,46,.08);
  --bch-shadow-lg:0 12px 40px rgba(15,59,46,.14);
  --bch-container:1360px;
  --bch-font-sans:'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bch-font-display:'Fraunces', Georgia, serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html.bch-no-scroll,html.bch-no-scroll body{overflow:hidden}
body{font-family:var(--bch-font-sans);color:var(--bch-ink);background:var(--bch-cream);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--bch-green);text-decoration:none}
a:hover{color:var(--bch-green-2);text-decoration:underline}
h1,h2,h3,h4{font-family:var(--bch-font-display);font-weight:600;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}
h2{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.15}
h3{font-size:1.25rem;line-height:1.25}
p{margin:0 0 1em}

.bch-container{max-width:var(--bch-container);margin:0 auto;padding:0 24px}
.bch-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:14px 22px;border-radius:999px;background:var(--bch-green);color:#fff;font-weight:600;border:1px solid var(--bch-green);cursor:pointer;transition:transform .1s ease, background .15s ease, box-shadow .15s ease;text-decoration:none;font-size:.95rem}
.bch-btn:hover{background:var(--bch-green-2);color:#fff;text-decoration:none;box-shadow:var(--bch-shadow)}
.bch-btn:active{transform:translateY(1px)}
.bch-btn--ghost{background:transparent;color:var(--bch-green)}
.bch-btn--ghost:hover{background:var(--bch-green);color:#fff}
.bch-btn--lime{background:var(--bch-lime);color:var(--bch-green);border-color:var(--bch-lime)}
.bch-btn--lime:hover{background:#b6d996;color:var(--bch-green)}
.bch-btn--block{width:100%}
.bch-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.bch-badge--sale{background:var(--bch-red);color:#fff}
.bch-badge--new{background:var(--bch-lime);color:var(--bch-green)}
.bch-badge--muted{background:var(--bch-sand);color:var(--bch-ink)}

/* ========== HEADER ========== */
.bch-announce{background:var(--bch-green);color:#fff;font-size:.82rem;text-align:center;padding:8px 12px;letter-spacing:.02em}
.bch-announce a{color:var(--bch-lime);font-weight:600}
.bch-header{position:sticky;top:0;z-index:60;background:var(--bch-cream);border-bottom:1px solid var(--bch-border)}
.bch-header__bar{display:flex;align-items:center;gap:24px;padding:16px 0}
.bch-header__logo{font-family:var(--bch-font-display);font-weight:700;font-size:1.35rem;color:var(--bch-green);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.bch-header__logo img{max-height:44px;width:auto}
.bch-header__search{flex:1;max-width:640px;margin:0 auto;position:relative}
.bch-header__search input{width:100%;padding:12px 46px 12px 18px;border:1px solid var(--bch-border);background:#fff;border-radius:999px;font-size:.95rem}
.bch-header__search button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:var(--bch-green);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer}
.bch-header__actions{display:flex;align-items:center;gap:14px;font-size:.9rem}
.bch-header__actions a{color:var(--bch-ink);display:flex;align-items:center;gap:6px}
.bch-cart-toggle{display:inline-flex;align-items:center;gap:8px;background:var(--bch-green);color:#fff;border:0;padding:10px 16px;border-radius:999px;cursor:pointer;font:inherit;font-weight:600}
.bch-cart-toggle:hover{background:var(--bch-green-2)}
.bch-cart-count{background:#fff;color:var(--bch-green);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700;min-width:22px;text-align:center}

.bch-nav{background:var(--bch-cream);border-top:1px solid var(--bch-border)}
.bch-nav__inner{display:flex;gap:22px;overflow-x:auto;padding:12px 24px;max-width:var(--bch-container);margin:0 auto}
.bch-nav a{color:var(--bch-ink);font-weight:500;font-size:.92rem;white-space:nowrap;padding:6px 2px;border-bottom:2px solid transparent}
.bch-nav a:hover,.bch-nav a.current{color:var(--bch-green);border-color:var(--bch-green);text-decoration:none}
.bch-hamburger{display:none;background:none;border:0;font-size:1.4rem;cursor:pointer}

@media (max-width: 900px){
  .bch-header__bar{gap:12px}
  .bch-header__search{order:3;flex-basis:100%;max-width:none}
  .bch-header__actions{margin-left:auto}
  .bch-nav__inner{padding:10px 16px}
  .bch-hamburger{display:inline-flex}
}

/* ========== HERO ========== */
.bch-hero{position:relative;background:var(--bch-green);color:#fff;overflow:hidden;min-height:520px;display:grid;align-items:center}
.bch-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55}
.bch-hero__inner{position:relative;max-width:820px;padding:88px 24px;margin:0 auto;text-align:center}
.bch-hero h1{color:#fff;margin-bottom:.4em}
.bch-hero p{font-size:1.1rem;opacity:.95;max-width:640px;margin:0 auto 1.6em}
.bch-hero .bch-btn{background:var(--bch-lime);color:var(--bch-green);border-color:var(--bch-lime)}
.bch-hero .bch-btn:hover{background:#b6d996;color:var(--bch-green)}

/* ========== SECTIONS ========== */
.bch-section{padding:64px 0}
.bch-section--tight{padding:40px 0}
.bch-section__head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:20px}
.bch-section__head h2{margin:0}
.bch-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--bch-green);font-weight:700;margin-bottom:8px}

/* Category tiles (homepage) — card style with imagery */
.bch-cattiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
@media (max-width:1200px){.bch-cattiles{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){.bch-cattiles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.bch-cattiles{grid-template-columns:repeat(2,1fr)}}
.bch-cattile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);overflow:hidden;color:var(--bch-ink);transition:transform .18s ease, box-shadow .2s ease}
.bch-cattile:hover{transform:translateY(-4px);box-shadow:var(--bch-shadow-lg);text-decoration:none}
.bch-cattile__media{aspect-ratio:4/5;background:var(--bch-sand) center/cover no-repeat}
.bch-cattile__body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:4px}
.bch-cattile h3{font-family:var(--bch-font-display);margin:2px 0;font-size:1.15rem;color:var(--bch-green)}
.bch-cattile p{color:var(--bch-muted);font-size:.86rem;margin:0}
.bch-cattile__cta{margin-top:8px;font-weight:600;color:var(--bch-green);font-size:.86rem}

/* ========== PRODUCT CARD GRID ========== */
.bch-grid,
.woocommerce ul.products,
.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(210px,1fr))!important;gap:22px!important;list-style:none!important;padding:0!important;margin:0!important;min-width:0!important;align-items:stretch!important;clear:both!important}
@media (max-width:1180px){.bch-grid,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(210px,1fr))!important}}
@media (max-width:820px){.bch-grid,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(180px,1fr))!important}}
@media (max-width:480px){.bch-grid,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr!important}}

/* Individual card (used by content-product.php + homepage) */
li.product.bch-card, .bch-card,.woocommerce ul.products li.product{background:#fff!important;border:1px solid var(--bch-border)!important;border-radius:var(--bch-radius-lg)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;transition:transform .15s ease, box-shadow .2s ease;margin:0!important;padding:0!important;list-style:none!important;position:relative!important;float:none!important;width:auto!important;min-width:0!important;max-width:none!important;clear:none!important;height:100%!important}
li.product.bch-card:hover, .bch-card:hover{transform:translateY(-3px);box-shadow:var(--bch-shadow-lg)}
.bch-card__link{display:flex;flex-direction:column;color:inherit;text-decoration:none;flex:1}
.bch-card__link:hover{text-decoration:none;color:inherit}
.bch-card__media{position:relative;aspect-ratio:4/5;background:var(--bch-sand);overflow:hidden;min-height:210px}
.bch-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.bch-card:hover .bch-card__media img{transform:scale(1.04)}
.bch-card__badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;z-index:2}
.bch-card__body{padding:14px 16px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.bch-card__cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--bch-muted);font-weight:700}
.bch-card__title{font-family:var(--bch-font-sans);font-size:.98rem;font-weight:600;margin:2px 0;line-height:1.3;color:var(--bch-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.bch-card__brand{font-size:.82rem;color:var(--bch-muted)}
.bch-card__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.bch-chip{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--bch-sand);color:var(--bch-ink)}
.bch-card__price{margin-top:auto;padding-top:8px;font-weight:700;color:var(--bch-green);font-size:1.05rem;display:flex;gap:8px;align-items:baseline}
.bch-card__price del{color:var(--bch-muted);font-weight:400;font-size:.9rem}
.bch-card__price ins{background:transparent;text-decoration:none}
.bch-card__cta{padding:0 14px 14px;margin-top:auto}
.bch-card__btn,
.bch-card__cta .button,
.bch-card__cta .add_to_cart_button{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 14px;border-radius:999px;background:var(--bch-green);color:#fff;font-weight:600;font-size:.9rem;border:0;text-decoration:none;cursor:pointer;transition:background .15s ease, transform .1s ease;text-align:center;line-height:1.1;min-height:44px}
.bch-card__btn:hover,
.bch-card__cta .button:hover,
.bch-card__cta .add_to_cart_button:hover{background:var(--bch-green-2);color:#fff;text-decoration:none}
.bch-card__btn.loading{opacity:.7;pointer-events:none}
.bch-card__btn.added{background:var(--bch-lime);color:var(--bch-green)}
.bch-card__cta .added_to_cart{display:none!important}

/* Kill the default Woo grid so our .bch-grid wins */
.woocommerce ul.products li.product{margin:0!important;padding:0!important}
.woocommerce ul.products li.product::before,.woocommerce ul.products li.product::after{display:none}
.woocommerce span.onsale{background:var(--bch-red);border-radius:999px;padding:4px 10px;font-weight:700;min-height:0;min-width:0;line-height:1;position:absolute;top:10px;left:10px}

/* Brand strip */
.bch-brands{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.bch-brands a{padding:12px 22px;border:1px solid var(--bch-border);border-radius:999px;background:#fff;color:var(--bch-ink);font-weight:600;font-size:.9rem}
.bch-brands a:hover{border-color:var(--bch-green);color:var(--bch-green);text-decoration:none}

/* Learn cards */
.bch-editorial{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width: 800px){.bch-editorial{grid-template-columns:1fr}}
.bch-edcard{background:#fff;border-radius:var(--bch-radius-lg);overflow:hidden;border:1px solid var(--bch-border)}
.bch-edcard__media{aspect-ratio:16/10;background:var(--bch-sand) center/cover no-repeat;display:block}
.bch-edcard__body{padding:18px 20px}
.bch-edcard h3{margin:.2em 0}

/* Signup band */
.bch-signup{background:var(--bch-green);color:#fff;padding:56px 20px;text-align:center}
.bch-signup h2{color:#fff}
.bch-signup form{display:flex;gap:8px;max-width:520px;margin:12px auto 0}
.bch-signup input{flex:1;padding:14px 18px;border:0;border-radius:999px;font-size:1rem}
.bch-signup .bch-btn{background:var(--bch-lime);color:var(--bch-green);border-color:var(--bch-lime)}

/* ========== FOOTER ========== */
.bch-footer{background:var(--bch-ink);color:#EDE7D6;padding:56px 0 20px;margin-top:60px}
.bch-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
@media (max-width: 900px){.bch-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width: 500px){.bch-footer__grid{grid-template-columns:1fr}}
.bch-footer h4{color:#fff;font-family:var(--bch-font-sans);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.bch-footer a{color:#EDE7D6}
.bch-footer a:hover{color:var(--bch-lime)}
.bch-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.bch-footer__legal{border-top:1px solid #333;margin-top:36px;padding-top:20px;font-size:.82rem;color:#aaa;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* ========== BREADCRUMBS ========== */
.bch-crumbs{font-size:.82rem;color:var(--bch-muted);padding:16px 0}
.bch-crumbs a{color:var(--bch-muted)}
.bch-crumbs span+span::before{content:"›";margin:0 8px;color:var(--bch-border)}

/* ========== SHOP: sidebar + grid ========== */
.bch-shop{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:24px 0 60px;align-items:start;min-width:0}
@media (max-width: 1180px){.bch-shop{grid-template-columns:minmax(0,1fr)}.bch-filters{position:static!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:14px}.bch-filters h4{margin:0 0 8px}.bch-filters ul{margin-bottom:12px}}
@media (max-width: 760px){.bch-filters{grid-template-columns:1fr}}
.bch-shop__main{min-width:0}
.bch-filters h4{font-family:var(--bch-font-sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bch-muted);margin:20px 0 10px}
.bch-filters ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:.92rem}
.bch-filters a{color:var(--bch-ink)}
.bch-filters a:hover,.bch-filters a.active{color:var(--bch-green);font-weight:600}
.bch-toolbar{display:flex;justify-content:space-between;align-items:center;margin:20px 0;flex-wrap:wrap;gap:10px;color:var(--bch-muted);font-size:.9rem}
.bch-toolbar select{padding:8px 12px;border:1px solid var(--bch-border);border-radius:8px;background:#fff}

/* ========== Category long-form intro ========== */
.bch-cat-intro{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);overflow:hidden;margin:8px 0 28px;display:grid;grid-template-columns:1fr}
.bch-cat-intro__hero{aspect-ratio:4/1;background:var(--bch-sand) center/cover no-repeat;min-height:180px}
.bch-cat-intro__copy{padding:24px 28px;max-width:920px;color:#2b2b2b}
.bch-cat-intro__copy h2{color:var(--bch-green);margin-top:0}
.bch-cat-intro__copy h3{color:var(--bch-green);margin-top:1.4em}
.bch-cat-intro__copy p{color:#2b2b2b;line-height:1.65}
.bch-cat-intro__copy .bch-faq{margin-top:10px}
.bch-crosslinks{background:var(--bch-sand);padding:12px 16px;border-radius:8px;font-size:.9rem}

/* Homepage long copy */
.bch-longcopy{max-width:960px}
.bch-longcopy h3{color:var(--bch-green);margin-top:1.4em}
.bch-longcopy p{color:#2b2b2b;line-height:1.7}

/* ========== PDP ========== */
.bch-pdp{display:grid!important;grid-template-columns:minmax(280px,520px) minmax(0,1fr)!important;gap:40px!important;padding:16px 0 0!important;align-items:start!important}
@media (max-width: 900px){.bch-pdp{grid-template-columns:1fr!important;gap:20px!important}}
.bch-pdp__gallery{position:sticky;top:120px;align-self:start}
@media (max-width: 900px){.bch-pdp__gallery{position:static;top:auto}}
.bch-pdp__gallery img{border-radius:var(--bch-radius-lg)!important;border:1px solid var(--bch-border);background:#fff;width:100%!important;max-width:520px;aspect-ratio:1/1!important;object-fit:cover!important;margin:0;display:block}
.bch-pdp__buy{align-self:start}
.bch-pdp__brand{font-size:.85rem;color:var(--bch-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.bch-pdp h1{font-size:2rem;margin:6px 0 12px}
.bch-pdp__price{font-size:1.4rem;color:var(--bch-green);font-weight:700;margin:8px 0 16px;display:flex;gap:12px;align-items:baseline}
.bch-pdp__price del{color:var(--bch-muted);font-weight:400;font-size:1rem}
.bch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 22px}
.bch-stat{background:var(--bch-sand);border-radius:var(--bch-radius);padding:12px;text-align:center}
.bch-stat__k{font-size:.72rem;color:var(--bch-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.bch-stat__v{font-size:1.05rem;color:var(--bch-green);font-weight:700;margin-top:2px}
.bch-pdp__short{background:#fff;border:1px solid var(--bch-border);padding:16px 18px;border-radius:var(--bch-radius);color:#333}
.bch-tabs{margin-top:20px;border-top:1px solid var(--bch-border);padding-top:18px}
.bch-tabs--pdp{margin-top:16px!important;padding-top:16px!important;max-width:820px}
.bch-tabs__nav{display:flex;gap:26px;border-bottom:1px solid var(--bch-border);margin-bottom:20px}
.bch-tabs__nav button{background:none;border:0;padding:10px 0;font-weight:600;color:var(--bch-muted);cursor:pointer;border-bottom:2px solid transparent}
.bch-tabs__nav button.active{color:var(--bch-green);border-color:var(--bch-green)}
.bch-tabs__panel{display:none}
.bch-tabs__panel.active{display:block}

/* ========== CART (custom) ========== */
.bch-cart__grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
@media (max-width:900px){.bch-cart__grid{grid-template-columns:1fr}}
.bch-cart__items{display:flex;flex-direction:column;gap:14px}
.bch-line{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:16px;min-width:0}
.bch-line__media img{width:120px;height:120px;object-fit:cover;border-radius:var(--bch-radius);background:var(--bch-sand)}
.bch-line__body{display:flex;flex-direction:column;gap:6px}
.bch-line__title a{color:var(--bch-ink);font-weight:600}
.bch-line__brand{color:var(--bch-muted);font-size:.86rem}
.bch-line__meta{display:flex;gap:6px;flex-wrap:wrap}
.bch-line__row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:8px}
.bch-line__qty input{width:70px;padding:8px 10px;border:1px solid var(--bch-border);border-radius:8px;background:#fff}
.bch-line__price{font-weight:700;color:var(--bch-green);font-size:1.05rem}
.bch-line__remove a{color:var(--bch-red);font-size:.86rem;font-weight:600}
.bch-cart__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.bch-coupon{display:flex;gap:8px}
.bch-coupon input{padding:10px 14px;border:1px solid var(--bch-border);border-radius:999px;background:#fff;min-width:180px}
.bch-payment-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.bch-payment-pill{background:#fff;border:1px solid var(--bch-border);border-radius:12px;padding:12px 14px;color:var(--bch-ink);font-weight:700;min-width:0}
.bch-payment-pill span{display:block;color:var(--bch-muted);font-weight:500;font-size:.82rem;margin-top:2px;line-height:1.3}
.bch-payment-pill--btc{border-color:var(--bch-green);box-shadow:0 0 0 3px rgba(15,59,46,.08)}
.bch-payment-pill--btc strong{color:var(--bch-green)}

/* Summary card (shared cart/checkout/ty) */
.bch-summary-card{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:22px}
.bch-summary-card--sticky{position:sticky;top:120px}
.bch-summary-card h3{margin-top:0;color:var(--bch-green)}
.bch-summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--bch-border)}
.bch-summary-row--muted{color:var(--bch-muted)}
.bch-summary-row--total{font-size:1.15rem;color:var(--bch-green);border-bottom:0;padding-top:14px;font-weight:700}
.bch-summary-note{margin:12px 0 14px;color:var(--bch-muted);font-size:.82rem}
.bch-summary-back{display:inline-block;margin-top:12px;color:var(--bch-muted);font-size:.86rem}

.bch-empty{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:36px;text-align:center}
.bch-empty h1,.bch-empty h2{color:var(--bch-green)}

/* ========== CHECKOUT (custom) ========== */
.bch-checkout__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start;min-width:0}
@media (max-width:1000px){.bch-checkout__grid{grid-template-columns:1fr}}
.bch-checkout__main{display:flex;flex-direction:column;gap:20px}
.bch-card-block{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:22px}
.bch-card-block h3{color:var(--bch-green);margin-top:0}
.bch-card-block__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
@media (max-width:800px){.bch-card-block__cols{grid-template-columns:1fr}}
.bch-checkout .form-row{margin-bottom:12px}
.bch-checkout label{display:block;font-size:.86rem;color:var(--bch-ink);font-weight:600;margin-bottom:6px}
.bch-checkout .input-text,.bch-checkout select,.bch-checkout textarea{width:100%;padding:11px 14px;border:1px solid var(--bch-border);border-radius:8px;background:#fff;font:inherit}
.bch-checkout .select2-container--default .select2-selection--single{height:44px;border:1px solid var(--bch-border);border-radius:8px}
.bch-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:42px;padding-left:12px}
.bch-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:42px}
.bch-checkout #payment{background:transparent;padding:0;margin-top:8px}
.bch-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:0;border:0;display:flex;flex-direction:column;gap:10px}
.bch-checkout #payment ul.payment_methods li{background:var(--bch-sand);border-radius:var(--bch-radius);padding:14px;min-width:0}
.bch-checkout #payment .payment_box{background:#fff;border:1px solid var(--bch-border);border-radius:8px;padding:12px 14px;margin-top:10px;color:#333;font-size:.9rem}
.bch-checkout .place-order{margin-top:16px}
.bch-checkout .button,.bch-checkout button[type="submit"]{background:var(--bch-green);color:#fff;border:0;border-radius:999px;padding:14px 24px;font-weight:600;cursor:pointer}
.bch-checkout .button:hover{background:var(--bch-green-2)}

/* Review list (checkout + thankyou) */
.bch-review-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:10px}
.bch-review-item{display:grid;grid-template-columns:56px 1fr;gap:12px;background:var(--bch-sand);border-radius:10px;padding:8px}
.bch-review-item__thumb{position:relative}
.bch-review-item__thumb img{width:56px;height:56px;object-fit:cover;border-radius:8px}
.bch-review-item__qty{position:absolute;top:-6px;right:-6px;background:var(--bch-green);color:#fff;border-radius:999px;font-size:.72rem;padding:1px 7px;font-weight:700}
.bch-review-item__body{display:flex;flex-direction:column;justify-content:center;font-size:.88rem}
.bch-review-item__title{font-weight:600}
.bch-review-item__price{color:var(--bch-green);font-weight:600}

/* ========== THANK YOU ========== */
.bch-thankyou__hero{background:var(--bch-green);color:#fff;border-radius:var(--bch-radius-lg);padding:36px;margin-bottom:24px}
.bch-thankyou__hero h1{color:#fff;margin:6px 0 8px}
.bch-thankyou__hero .bch-lead{color:#EDE7D6}
.bch-thankyou__grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
@media (max-width:900px){.bch-thankyou__grid{grid-template-columns:1fr}}
.bch-thankyou--fail{background:#fff;border:1px solid var(--bch-red);border-radius:var(--bch-radius-lg);padding:26px}
.bch-thankyou{background:var(--bch-sand);border-radius:var(--bch-radius-lg);padding:22px;margin:12px 0}

/* Bitcoin panel (inside thankyou payment card) */
.bch-btc{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:22px;margin:16px 0;display:grid;grid-template-columns:1fr 180px;gap:20px}
@media (max-width:640px){.bch-btc{grid-template-columns:1fr}}
.bch-btc code{background:var(--bch-sand);padding:6px 10px;border-radius:6px;font-size:.85rem;word-break:break-all;display:inline-block}
.bch-btc__qr{background:#fff;border:1px solid var(--bch-border);border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center;min-height:180px}

/* ========== AGE GATE ========== */
.bch-agegate{position:fixed;inset:0;background:rgba(15,59,46,.96);color:#fff;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.bch-agegate__card{background:var(--bch-cream);color:var(--bch-ink);max-width:520px;padding:36px 30px;border-radius:var(--bch-radius-lg);text-align:center}
.bch-agegate h2{color:var(--bch-green);margin-bottom:10px}
.bch-agegate p{color:var(--bch-muted);margin-bottom:24px}
.bch-agegate__buttons{display:flex;gap:12px;justify-content:center}

/* ========== CART DRAWER ========== */
.bch-drawer{position:fixed;inset:0;pointer-events:none;z-index:200}
.bch-drawer__backdrop{position:absolute;inset:0;background:rgba(15,59,46,.55);opacity:0;transition:opacity .25s ease}
.bch-drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(460px, 100%);background:var(--bch-cream);box-shadow:-20px 0 60px rgba(15,59,46,.25);transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;min-width:0}
.bch-drawer.is-open{pointer-events:auto}
.bch-drawer.is-open .bch-drawer__backdrop{opacity:1}
.bch-drawer.is-open .bch-drawer__panel{transform:translateX(0)}
.bch-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--bch-border)}
.bch-drawer__head h3{margin:0;color:var(--bch-green)}
.bch-drawer__close{background:none;border:0;font-size:1.3rem;cursor:pointer;color:var(--bch-ink)}
.bch-drawer__body{flex:1;overflow-y:auto;padding:16px 20px;min-width:0}

.bch-mini{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.bch-mini__item{position:relative!important;display:grid!important;grid-template-columns:84px minmax(0,1fr)!important;gap:12px!important;background:#fff;border:1px solid var(--bch-border);border-radius:12px;padding:12px!important;min-width:0!important;align-items:start!important;width:100%!important;float:none!important;clear:both!important}
.bch-mini__thumb{display:block!important;grid-column:1!important;grid-row:1!important;width:84px!important;min-width:84px!important;float:none!important;margin:0!important}
.bch-mini__thumb img{width:84px!important;height:84px!important;object-fit:cover!important;border-radius:8px!important;background:var(--bch-sand)!important;float:none!important;margin:0!important;max-width:84px!important}
.bch-mini__body{display:flex!important;flex-direction:column!important;gap:3px!important;padding-right:28px!important;min-width:0!important;width:100%!important;grid-column:2!important;grid-row:1!important;float:none!important;margin:0!important}
.bch-mini__title{display:block!important;color:var(--bch-ink);font-weight:700;font-size:.92rem;line-height:1.28;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:auto;text-decoration:none!important}
.bch-mini__brand{color:var(--bch-muted);font-size:.78rem}
.bch-mini__qty{color:var(--bch-green);font-weight:600;font-size:.84rem;margin-top:2px}
.bch-mini__remove{position:absolute;top:6px;right:8px;color:var(--bch-muted);font-size:1.05rem;line-height:1;text-decoration:none;padding:2px 6px}
.bch-mini__remove:hover{color:var(--bch-red);text-decoration:none}
.bch-mini__foot{border-top:1px solid var(--bch-border);margin-top:14px;padding-top:14px}
.bch-mini__total{display:flex;justify-content:space-between;font-size:1.05rem;margin-bottom:12px;color:var(--bch-green);font-weight:700}
.bch-mini__actions{display:flex;flex-direction:column;gap:8px}
.bch-mini__note{color:var(--bch-muted);font-size:.78rem;margin-top:10px;text-align:center}
.bch-mini__empty{text-align:center;padding:24px 0;color:var(--bch-muted)}
.bch-mini__empty .bch-btn{margin-top:12px}
.bch-drawer__body .woocommerce-mini-cart{width:100%!important}
.bch-drawer__body .woocommerce-mini-cart li::before,.bch-drawer__body .woocommerce-mini-cart li::after{display:none!important;content:none!important}

/* Utility */
.bch-mt-40{margin-top:40px}
.bch-center{text-align:center}
.bch-lead{font-size:1.1rem;color:#333}
.bch-page-full .entry-content{max-width:none!important;width:100%}
.bch-province-page .bch-cattiles{grid-template-columns:repeat(4,minmax(210px,1fr))}
@media (max-width:1000px){.bch-province-page .bch-cattiles{grid-template-columns:repeat(3,minmax(190px,1fr))}}
@media (max-width:720px){.bch-province-page .bch-cattiles{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media (max-width:480px){.bch-province-page .bch-cattiles{grid-template-columns:1fr}}
.bch-province-copy{margin-top:36px;max-width:980px;line-height:1.7}
.bch-province-copy h2,.bch-province-copy h3{color:var(--bch-green);margin-top:1.25em}
.bch-faq{background:var(--bch-cream);border:1px solid var(--bch-border);border-radius:var(--bch-radius);padding:14px 18px;margin-bottom:10px}
.bch-faq summary{font-weight:600;cursor:pointer;color:var(--bch-green)}
.bch-faq[open] summary{margin-bottom:10px}

/* Woo notices */
.woocommerce-form-coupon-toggle,.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--bch-sand);border-left:3px solid var(--bch-green);padding:12px 16px;margin-bottom:20px;border-radius:6px;list-style:none}
.woocommerce-error{border-left-color:var(--bch-red)}

/* Admin seeder page */
.bch-seedwrap{max-width:900px;margin:20px auto;background:#fff;padding:24px;border-radius:12px;border:1px solid var(--bch-border)}
.bch-seedwrap pre{background:#0F3B2E;color:#C6E4A7;padding:16px;border-radius:8px;max-height:400px;overflow:auto;font-size:.82rem}

/* ========== v2.0.4 fixes ========== */

/* Product card grid: guarantee minmax(0) so long titles never blow the column. */
.bch-grid, .woocommerce ul.products{min-width:0}
li.product.bch-card, .bch-card{min-width:0}
.bch-card__body{min-width:0}
.bch-card__title{word-wrap:break-word;overflow-wrap:anywhere}

/* If Woo falls back to its default children, still make every product look like a card. */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{display:flex!important;flex-direction:column!important;flex:1!important;color:inherit!important;text-decoration:none!important;min-width:0!important}
.woocommerce ul.products li.product img{width:100%!important;height:auto!important;aspect-ratio:4/5!important;object-fit:cover!important;background:var(--bch-sand)!important;margin:0!important;border-radius:0!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--bch-font-sans)!important;font-size:.98rem!important;line-height:1.3!important;font-weight:700!important;color:var(--bch-ink)!important;padding:14px 16px 4px!important;margin:0!important;overflow-wrap:anywhere!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;min-height:3.2em!important}
.woocommerce ul.products li.product .price{display:block!important;color:var(--bch-green)!important;font-weight:800!important;font-size:1.02rem!important;padding:4px 16px 12px!important;margin:0!important;order:5!important}
.woocommerce ul.products li.product > .button{margin:0 14px 14px!important;width:calc(100% - 28px)!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;border-radius:999px!important;background:var(--bch-green)!important;color:#fff!important;font-weight:700!important;text-align:center!important;line-height:1.1!important;text-decoration:none!important;white-space:normal!important}
.woocommerce ul.products li.product > .button:hover{background:var(--bch-green-2)!important;color:#fff!important}

/* Kill Woo's default per-item add-to-cart injected outside our .bch-card__cta */
.bch-card > .button.add_to_cart_button:not(.bch-card__btn),
.bch-card > .added_to_cart{display:none!important}

/* Styled pagination */
.bch-pagination{margin:32px 0 8px;display:flex;justify-content:center}
.bch-pagination .woocommerce-pagination{width:100%}
.bch-pagination ul.page-numbers,
.woocommerce nav.woocommerce-pagination ul{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;padding:0;margin:0;border:0}
.bch-pagination ul.page-numbers li,
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible}
.bch-pagination .page-numbers,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--bch-border);color:var(--bch-ink);font-weight:600;text-decoration:none;transition:all .15s ease}
.bch-pagination a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--bch-sand);border-color:var(--bch-green);color:var(--bch-green)}
.bch-pagination .page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--bch-green);color:#fff;border-color:var(--bch-green)}
.bch-pagination .page-numbers.dots{background:transparent;border:0}

/* Cart line — keep it from spilling on narrow columns */
.bch-line{grid-template-columns:100px minmax(0,1fr);gap:14px}
.bch-line__body{min-width:0}
.bch-line__row{display:grid;grid-template-columns:auto 1fr auto;gap:10px 14px;align-items:center;padding-top:10px}
.bch-line__qty{min-width:0}
.bch-line__price{justify-self:end}
.bch-line__remove{grid-column:1 / -1;justify-self:end;padding-top:4px}
.bch-line__remove a{background:transparent;border:0;color:var(--bch-muted);font-size:.82rem}
.bch-line__remove a:hover{color:var(--bch-red);text-decoration:underline}
@media (max-width:520px){
  .bch-line{grid-template-columns:80px minmax(0,1fr)}
  .bch-line__media img{width:80px;height:80px}
}

/* Checkout label safety — never wrap single letters vertically */
.bch-checkout .form-row{display:block;width:100%}
.bch-checkout .form-row label{display:block;white-space:normal;word-spacing:normal;font-size:.86rem;line-height:1.35;margin-bottom:6px}
.bch-checkout .form-row-first,.bch-checkout .form-row-last{width:100%;float:none}
@media (min-width:720px){
  .bch-checkout .form-row-first{width:calc(50% - 8px);float:left;clear:left;margin-right:16px}
  .bch-checkout .form-row-last{width:calc(50% - 8px);float:left;clear:none}
  .bch-checkout .woocommerce-billing-fields__field-wrapper::after,
  .bch-checkout .woocommerce-shipping-fields__field-wrapper::after{content:"";display:block;clear:both}
}

/* Payment method tiles */
.bch-checkout #payment ul.payment_methods > li{background:#fff;border:1px solid var(--bch-border);border-radius:12px;padding:16px;transition:border-color .15s ease, box-shadow .15s ease}
.bch-checkout #payment ul.payment_methods > li:has(input:checked){border-color:var(--bch-green);box-shadow:0 0 0 3px rgba(15,59,46,.08)}
.bch-checkout #payment ul.payment_methods > li label{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--bch-ink);margin:0;line-height:1.25;white-space:normal}
.bch-checkout #payment ul.payment_methods > li[class*="bch_bitcoin"] label::after{content:"Save 10%";background:var(--bch-lime);color:var(--bch-green);font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;margin-left:8px;text-transform:uppercase;letter-spacing:.06em}

/* Thankyou BTC discount badge */
.bch-btc__saved{display:inline-block;background:var(--bch-lime);color:var(--bch-green);font-weight:700;font-size:.78rem;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;margin-left:8px}

/* Category intro card (below grid) */
.bch-cat-intro{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:8px 0;margin:32px 0 40px}
.bch-cat-intro__copy{padding:24px 28px;max-width:920px;color:#2b2b2b}

/* Filter block spacing */
.bch-filters{position:sticky;top:120px;min-width:0}
@media (max-width:1180px){.bch-filters{position:static}}

/* ========== v2.0.6 additions ========== */

/* Unified qty controller (cart, mini-cart, PDP) */
.bch-qty{display:inline-flex;align-items:center;gap:0;background:#fff;border:1px solid var(--bch-border);border-radius:999px;padding:2px;overflow:hidden;min-height:40px}
.bch-qty__btn{width:34px;height:34px;border:0;background:transparent;color:var(--bch-green);font-size:1.1rem;font-weight:700;cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease}
.bch-qty__btn:hover{background:var(--bch-sand)}
.bch-qty__btn:disabled{opacity:.5;cursor:not-allowed}
.bch-qty__input{width:44px;height:34px;border:0;background:transparent;text-align:center;font-weight:700;color:var(--bch-ink);font-size:.95rem;-moz-appearance:textfield;padding:0}
.bch-qty__input::-webkit-outer-spin-button,.bch-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bch-qty__num{min-width:28px;text-align:center;font-weight:700;color:var(--bch-ink)}
.bch-qty__solo{padding:0 12px;color:var(--bch-muted);font-weight:600}
.bch-qty--sm{min-height:32px;padding:1px}
.bch-qty--sm .bch-qty__btn{width:28px;height:28px;font-size:1rem}

/* Remove × icon (cart) */
.bch-line__remove{grid-column:auto;justify-self:end;padding-top:0}
.bch-line__x{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:transparent;color:var(--bch-muted);font-size:1.15rem;line-height:1;text-decoration:none;border:1px solid transparent;transition:all .12s ease}
.bch-line__x:hover{background:#fff;color:var(--bch-red);border-color:var(--bch-red);text-decoration:none}
.bch-line__row{grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px}
@media (max-width:520px){
  .bch-line__row{grid-template-columns:auto 1fr auto;grid-auto-flow:row}
  .bch-line__price{grid-column:2}
  .bch-line__remove{grid-column:3;grid-row:1}
}

/* Mini cart price + meta */
.bch-mini-meta{display:flex;justify-content:space-between;font-size:.78rem;color:var(--bch-muted);padding:0 4px 8px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.bch-mini__price{color:var(--bch-green);font-weight:700;font-size:.9rem;margin-top:2px}
.bch-mini__body{padding-right:28px}

/* PDP: theme the Woo add-to-cart form */
.bch-pdp__cart{margin-top:22px}
.bch-pdp__cart form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}
.bch-pdp__cart form.cart .quantity{margin:0}
.bch-pdp__cart .single_add_to_cart_button,
.bch-pdp__cart button.single_add_to_cart_button{flex:1;min-width:200px;display:inline-flex;align-items:center;justify-content:center;background:var(--bch-green)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 26px!important;font-weight:700!important;font-size:1rem!important;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,transform .1s ease;text-transform:none;min-height:48px;box-shadow:var(--bch-shadow)}
.bch-pdp__cart .single_add_to_cart_button:hover{background:var(--bch-green-2)!important;color:#fff!important}
.bch-pdp__cart .single_add_to_cart_button.disabled,
.bch-pdp__cart .single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.bch-pdp__cart .single_add_to_cart_button.loading{opacity:.75;pointer-events:none;position:relative}
.bch-pdp__cart .single_add_to_cart_button.loading::after{content:'';display:inline-block;width:14px;height:14px;margin-left:10px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:bch-spin .7s linear infinite}
.bch-pdp__cart .single_add_to_cart_button.added{background:var(--bch-lime)!important;color:var(--bch-green)!important}
@keyframes bch-spin{to{transform:rotate(360deg)}}

/* ========== FAQ page ========== */
.bch-faq-wrap{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:36px}
.bch-faq-group h2{color:var(--bch-green);border-bottom:1px solid var(--bch-border);padding-bottom:10px;margin-bottom:16px}
.bch-faq-list{display:flex;flex-direction:column;gap:10px}
.bch-faq-list .bch-faq{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:16px 20px;transition:border-color .15s ease,box-shadow .15s ease}
.bch-faq-list .bch-faq[open]{border-color:var(--bch-green);box-shadow:var(--bch-shadow)}
.bch-faq-list summary{list-style:none;cursor:pointer;font-weight:600;color:var(--bch-ink);position:relative;padding-right:32px}
.bch-faq-list summary::-webkit-details-marker{display:none}
.bch-faq-list summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--bch-green);font-weight:700;line-height:1}
.bch-faq-list .bch-faq[open] summary::after{content:'−'}
.bch-faq-list .bch-faq[open] summary{color:var(--bch-green);margin-bottom:10px}
.bch-faq-list p{margin:0;color:#3a3a3a;line-height:1.6}
.bch-faq-cta{background:var(--bch-green);color:#fff;border-radius:var(--bch-radius-lg);padding:28px;text-align:center;margin-top:12px}
.bch-faq-cta h3{color:#fff;margin:0 0 6px}
.bch-faq-cta p{margin:0;color:#EDE7D6}
.bch-faq-cta a{color:var(--bch-lime);font-weight:700}

/* ========== Reviews page ========== */
.bch-reviews{max-width:1200px;margin:0 auto}
.bch-reviews__summary{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:28px;margin-bottom:28px;align-items:center}
@media (max-width:720px){.bch-reviews__summary{grid-template-columns:1fr;text-align:center}}
.bch-reviews__score{font-family:var(--bch-font-display);font-size:3.4rem;font-weight:700;color:var(--bch-green);line-height:1}
.bch-reviews__score span{font-size:1.2rem;color:var(--bch-muted);margin-left:4px;font-weight:400}
.bch-stars{color:#E8A93A;letter-spacing:2px;font-size:1rem}
.bch-stars--lg{font-size:1.4rem;margin:6px 0 4px}
.bch-reviews__count{color:var(--bch-muted);font-size:.9rem;margin-top:6px}
.bch-reviews__bars{display:flex;flex-direction:column;gap:8px}
.bch-bar{display:grid;grid-template-columns:36px 1fr 44px;align-items:center;gap:12px;font-size:.85rem;color:var(--bch-muted);font-weight:600}
.bch-bar__track{background:var(--bch-sand);border-radius:999px;height:10px;overflow:hidden}
.bch-bar__fill{background:linear-gradient(90deg,var(--bch-green),var(--bch-green-2));height:100%;border-radius:999px}
.bch-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:980px){.bch-reviews__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.bch-reviews__grid{grid-template-columns:1fr}}
.bch-review-card{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:20px;display:flex;flex-direction:column;gap:10px;transition:transform .15s ease,box-shadow .2s ease}
.bch-review-card:hover{transform:translateY(-3px);box-shadow:var(--bch-shadow-lg)}
.bch-review-card.is-hidden{display:none}
.bch-review-card__head{display:flex;align-items:center;gap:12px}
.bch-avatar{width:42px;height:42px;border-radius:50%;background:var(--bch-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--bch-font-display);flex-shrink:0}
.bch-review-card__name{font-weight:700;color:var(--bch-ink);font-size:.95rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bch-verified{background:var(--bch-lime);color:var(--bch-green);font-size:.68rem;padding:2px 8px;border-radius:999px;font-weight:700;letter-spacing:.04em}
.bch-review-card__meta{font-size:.78rem;color:var(--bch-muted);margin-top:2px}
.bch-review-card__body{margin:0;color:#333;line-height:1.55;font-size:.92rem;flex:1}
.bch-review-card__product{font-size:.8rem;color:var(--bch-muted);border-top:1px dashed var(--bch-border);padding-top:10px}
.bch-review-card__product strong{color:var(--bch-green)}
.bch-reviews__more{text-align:center;margin:28px 0}

/* Location pages: reuse category intro styling under the products */
.bch-location-page .bch-cat-intro--copyonly{margin-top:32px}
.bch-location-page .bch-cat-intro__copy .bch-lead{font-size:1.05rem;color:#333}
.bch-location-page .bch-cat-intro__copy h2,
.bch-location-page .bch-cat-intro__copy h3{color:var(--bch-green);margin-top:1.25em}
.bch-location-page .bch-cat-intro__copy .bch-faq{margin-top:10px}

/* Location page: intro products heading spacing */
.bch-location-products{margin:8px 0 20px}
.bch-location-products .bch-section__head{margin-bottom:18px}

/* Learn page */
.bch-learn{max-width:1100px;margin:0 auto}
.bch-learn__hero{background:#fff;border:1px solid var(--bch-border);border-radius:var(--bch-radius-lg);padding:28px;margin-bottom:24px}
.bch-learn__hero h2{color:var(--bch-green);margin-bottom:8px}
.bch-learn__hero p{max-width:720px;color:#333;margin:0}
.bch-learn-card .bch-edcard__body{min-height:220px;display:flex;flex-direction:column}
.bch-card__cta-link{margin-top:auto;color:var(--bch-green);font-weight:700;font-size:.9rem;text-decoration:none}
.bch-card__cta-link:hover{text-decoration:underline}

/* ========== v2.0.8 additions ========== */

/* --- Compact mini-cart items (drawer) --- */
.bch-mini__item{grid-template-columns:60px minmax(0,1fr)!important;gap:10px!important;padding:8px 10px!important;border-radius:10px!important}
.bch-mini__thumb{width:60px!important;min-width:60px!important}
.bch-mini__thumb img{width:60px!important;height:60px!important;max-width:60px!important;border-radius:6px!important}
.bch-mini__title{font-size:.85rem!important;line-height:1.25!important;font-weight:600!important;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.bch-mini__price{font-size:.82rem!important;margin-top:1px!important}
.bch-mini__body{gap:2px!important;padding-right:22px!important}
.bch-mini__remove{top:4px!important;right:6px!important;font-size:.95rem!important;padding:0 4px!important}
.bch-mini__foot{margin-top:10px;padding-top:10px}
.bch-mini__note{font-size:.72rem;margin-top:8px}
.bch-qty--xs{min-height:26px;padding:1px}
.bch-qty--xs .bch-qty__btn{width:24px;height:24px;font-size:.9rem}
.bch-qty--xs .bch-qty__num{min-width:22px;font-size:.82rem}

/* --- Header (mobile) --- */
.bch-hamburger{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;padding:6px 8px;color:var(--bch-green)}
@media (max-width:900px){
  .bch-header__bar{gap:8px;padding:10px 0;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo logo logo" "ham . actions" "search search search";align-items:center}
  .bch-hamburger{display:inline-flex;grid-area:ham;flex:0 0 auto}
  .bch-header__logo{grid-area:logo;justify-self:center;text-align:center;font-size:1.15rem;line-height:1.15;white-space:nowrap;padding:2px 0 4px}
  .bch-header__logo img{max-height:36px}
  .bch-header__actions{grid-area:actions;justify-self:end;gap:8px;margin-left:0;flex:0 0 auto}
  .bch-header__account{display:inline-flex;align-items:center;justify-content:center;padding:6px}
  .bch-cart-toggle{padding:8px 12px;font-size:.85rem}
  .bch-cart-toggle__label{display:none}
  .bch-cart-count{background:#fff;color:var(--bch-green)}
  .bch-header__search{grid-area:search;flex-basis:100%;max-width:none;margin:4px 0 0}
  .bch-header__search input{padding:9px 42px 9px 14px;font-size:.9rem}
  .bch-header__search button{width:32px;height:32px}

  .bch-nav{position:fixed;top:0;left:0;bottom:0;width:min(320px,86%);z-index:120;background:var(--bch-cream);box-shadow:20px 0 60px rgba(0,0,0,.2);transform:translateX(-100%);transition:transform .28s ease;overflow-y:auto;border:0;padding:64px 0 24px}
  .bch-nav.is-open{transform:translateX(0)}
  .bch-nav__inner{flex-direction:column;gap:0;padding:0;overflow:visible}
  .bch-nav a{padding:14px 22px;border-bottom:1px solid var(--bch-border);border-left:3px solid transparent;font-size:1rem;width:100%}
  .bch-nav a:hover,.bch-nav a.current{border-left-color:var(--bch-green);background:var(--bch-sand)}
  body.bch-nav-open{overflow:auto}
  body.bch-nav-open .bch-header{z-index:130}
   .bch-nav-backdrop,.bch-nav-backdrop.is-open{display:none!important;background:transparent!important;opacity:0!important;pointer-events:none!important}
   .bch-nav-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;width:36px;height:36px;background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--bch-ink);z-index:2}
}
@media (min-width:781px){
  .bch-nav-close{display:none}
  .bch-header__account{display:inline-flex;align-items:center;gap:6px;color:var(--bch-ink);padding:6px}
}

/* --- Product grid: 2/row on mobile --- */
@media (max-width:480px){
  .bch-grid,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .bch-card__body{padding:10px 10px 8px}
  .bch-card__title{font-size:.85rem;min-height:2.4em}
  .bch-card__brand,.bch-card__cat{font-size:.7rem}
  .bch-card__price{font-size:.92rem;padding-top:4px}
  .bch-card__cta{padding:0 8px 10px}
  .bch-card__btn,.bch-card__cta .button{padding:9px 8px;font-size:.78rem;min-height:38px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.85rem!important;padding:10px 10px 4px!important;min-height:2.6em!important}
  .woocommerce ul.products li.product .price{font-size:.9rem!important;padding:2px 10px 8px!important}
  .woocommerce ul.products li.product > .button{margin:0 8px 10px!important;width:calc(100% - 16px)!important;min-height:38px!important;font-size:.78rem!important;padding:6px 4px!important}
}

/* --- Homepage product cards: slightly smaller & tighter --- */
@media (min-width:900px){
  .bch-section .bch-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
  .bch-section .bch-card__media{aspect-ratio:1/1}
  .bch-section .bch-card__title{font-size:.9rem;min-height:2.4em}
  .bch-section .bch-card__body{padding:12px 14px 10px}
}

/* --- Shop sidebar as collapsible dropdown on mobile --- */
.bch-filters__toggle{display:none}
@media (max-width:1180px){
  .bch-filters__toggle{display:flex;width:100%;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--bch-border);border-radius:12px;padding:12px 16px;font-weight:600;color:var(--bch-green);cursor:pointer;margin-bottom:10px;font-size:.95rem}
  .bch-filters--collapsible{display:block!important;grid-template-columns:none!important;overflow:hidden;transition:max-height .3s ease}
  .bch-filters--collapsible.is-collapsed{max-height:0;padding:0!important;border:0!important;margin:0!important;visibility:hidden}
}

/* --- Footer collapsed on mobile --- */
@media (max-width:640px){
  .bch-footer{padding:32px 0 16px;margin-top:36px}
  .bch-footer__grid{grid-template-columns:1fr;gap:0}
  .bch-footer__col{border-bottom:1px solid #2a2a2a;padding:14px 0}
  .bch-footer__col h4{margin:0;position:relative;padding-right:28px}
  .bch-footer__col h4::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--bch-lime);font-weight:400;line-height:1}
  .bch-footer__col:not(.is-collapsed) h4::after{content:'−'}
  .bch-footer__col.is-collapsed > *:not(h4){display:none}
  .bch-footer__col > ul,.bch-footer__col > p{margin-top:12px}
}

/* PDP meta line (SKU) */
.bch-pdp__meta{margin-top:14px;font-size:.85rem;color:var(--bch-muted);letter-spacing:.02em}
.bch-pdp__short{margin-top:18px}

/* Variation swatches */
.bch-pdp__cart form.cart .variations{width:100%;margin:0 0 14px;border:0}
.bch-pdp__cart form.cart .variations td,
.bch-pdp__cart form.cart .variations th{display:block;padding:0;border:0;background:transparent;width:auto}
.bch-pdp__cart form.cart .variations tr{display:block;margin-bottom:14px}
.bch-pdp__cart form.cart .variations th.label label{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--bch-ink);margin-bottom:8px;display:block}
.bch-pdp__cart form.cart .reset_variations{display:inline-block;margin-top:6px;font-size:.8rem;color:var(--bch-muted);text-decoration:underline}
.bch-pdp__cart form.cart .single_variation_wrap{width:100%;margin-top:6px}
.bch-pdp__cart form.cart .woocommerce-variation-price{margin-bottom:10px;font-weight:700;color:var(--bch-green);font-size:1.1rem}

.bch-swatches{display:block}
.bch-swatches__buttons{display:flex;flex-wrap:wrap;gap:8px}
.bch-swatch{appearance:none;background:#fff;border:1.5px solid var(--bch-border);border-radius:999px;padding:9px 16px;font-size:.9rem;font-weight:600;color:var(--bch-ink);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .1s ease;line-height:1.1;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.bch-swatch:hover{border-color:var(--bch-green);color:var(--bch-green)}
.bch-swatch.is-selected{background:var(--bch-green);border-color:var(--bch-green);color:#fff}
.bch-swatch.is-disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.bch-swatch--color{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;position:relative;overflow:hidden}
.bch-swatch--color .bch-swatch__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bch-swatch--color.is-selected{box-shadow:0 0 0 2px #fff inset,0 0 0 2px var(--bch-green)}

/* Hide native variation dropdowns/orphan option nodes; swatches are the only visible chooser. */
.bch-swatches select,
.bch-swatches .bch-swatch-select,
.bch-pdp__cart form.cart .variations select.bch-swatch-select,
.woocommerce div.product form.cart .variations select.bch-swatch-select,
.woocommerce div.product form.cart .variations select[hidden]{display:none!important;position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;min-width:1px!important;max-width:1px!important;height:1px!important;min-height:1px!important;max-height:1px!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;appearance:none!important;-webkit-appearance:none!important}
.bch-swatches option,
.bch-swatches > option{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important}
@supports selector(td:has(.bch-swatches)){
  .woocommerce div.product form.cart .variations td.value:has(.bch-swatches) > select,
  .woocommerce div.product form.cart .variations .value:has(.bch-swatches) > select{display:none!important;visibility:hidden!important;position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
}
