/* Brewsmith redesign layer for the EasyStore "Muse" theme.
   Loaded in layout/theme.liquid after base.css. Visual direction: white ground, one sans-serif family
   (Roboto Condensed), tiny tracked uppercase nav/labels/headings, full-width photography, thin outline buttons,
   cool greys, borderless name-and-price product tiles.
   Section 1: tokens + global look on Muse markup (prefixed with body.bs-theme so it beats Muse's
   asynchronously loaded section CSS). Section 2: redesign components, scoped to .bs wrappers.
   Section 3: Muse component overrides (header, menu drawer, search, collection, product, cart, footer).
   Note: Muse sets html{font-size:62.5%}, so all sizes below are in px, not rem. */

/* ===== 1. Tokens and global look ===== */
:root{
  --bs-bg:#FFFFFF; --bs-alt:#F7F7F7; --bs-ink:#1A1A1A; --bs-muted:#767676; --bs-line:#E2E2E2;
  --bs-cond:"Roboto Condensed","Arial Narrow",Helvetica,Arial,sans-serif;
  --bs-serif:var(--bs-cond); --bs-sans:var(--bs-cond);
  --bs-pad:clamp(20px,4.4vw,56px); --bs-hh:64px;
  /* 2i: single vertical section-spacing token (was clamp(120px,14vw,200px); mobile <=700px: 60px, was 112px).
     Every between-section gap derives from it: .section, .bs-split-sec, .spaced-section, .bs-section-roasts,
     .section+.section (x.5), equipment .brand-group (x.65), footer top (x.55), product page top (x.33). */
  /* 2t: roughly halved again (Isaac: too much empty space): was clamp(64px,7.5vw,108px) = 96px at 1280; mobile 60px -> 36px (build_css.py) */
  --bs-sec:clamp(40px,4vw,56px);
  --font-body-family:var(--bs-cond); --font-heading-family:var(--bs-cond);
  --font-body-weight:400; --font-heading-weight:400;
}
body.bs-theme{background:#fff;color:var(--bs-ink);font-family:var(--bs-cond);font-weight:400;font-size:15px;line-height:1.6;letter-spacing:.01em;-webkit-font-smoothing:antialiased}
body.bs-theme h1,body.bs-theme h2,body.bs-theme h3,body.bs-theme h4,
body.bs-theme .h0,body.bs-theme .h1,body.bs-theme .h2,body.bs-theme .h3,body.bs-theme .h4{font-family:var(--bs-cond);font-weight:400;text-transform:uppercase;letter-spacing:.08em;line-height:1.25;color:var(--bs-ink)}
body.bs-theme h1,body.bs-theme .h0,body.bs-theme .h1{font-size:clamp(20px,1.9vw,25.6px)}
body.bs-theme h2,body.bs-theme .h2{font-size:clamp(16.8px,1.4vw,20px)}
body.bs-theme h3,body.bs-theme .h3{font-size:14.4px}
body.bs-theme a{color:inherit}
body.bs-theme .rte a{border-bottom:1px solid currentColor;text-decoration:none}
/* Buttons: thin outline only */
body.bs-theme .button,body.bs-theme .btn,body.bs-theme .customer button,body.bs-theme .shopify-challenge__button{
  border-radius:0;box-shadow:none;background:transparent;border:1px solid var(--bs-ink);color:var(--bs-ink);
  min-width:0;min-height:42px;padding:11px 18px;font:400 11.5px/1.2 var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;transition:background .2s,color .2s}
body.bs-theme .button:not([disabled]):hover,body.bs-theme .btn:hover,body.bs-theme .customer button:hover{background:var(--bs-ink);color:#fff;box-shadow:none}
body.bs-theme .button:focus,body.bs-theme .button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--bs-ink)}
body.bs-theme .btn--radius{border-radius:0}
body.bs-theme .field__input,body.bs-theme .select__select,body.bs-theme .customer .field input,body.bs-theme .search__input{border-radius:0}
body.bs-theme .badge{border-radius:0;background:#fff;color:var(--bs-muted);border:0;font:400 10.5px/1.4 var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;padding:4px 8px}
body.bs-theme .page-width{max-width:1180px;padding-left:var(--bs-pad);padding-right:var(--bs-pad)}

/* ===== 2. Redesign components (from preview styles.css, scoped to .bs) ===== */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bs-hh) + 16px)}
.bs{margin:0;color:var(--bs-ink);font:400 15px/1.6 var(--bs-cond);-webkit-font-smoothing:antialiased;}
.bs img{max-width:100%;height:auto;display:block}
.bs a{color:inherit;text-decoration:none}
.bs button{font:inherit;color:inherit}
.bs h1,.bs h2,.bs h3,.bs h4{font-family:var(--bs-cond);font-weight:400;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .8em;line-height:1.25}
.bs h1{font-size:clamp(20px,1.9vw,25.6px)}
.bs h2{font-size:clamp(16.8px,1.4vw,20px)}
.bs h3{font-size:14.4px}
.bs h4{font-size:11.52px;letter-spacing:.14em;color:var(--bs-muted)}
.bs p{margin:0 0 1em;max-width:58ch}
.bs ul{padding:0;margin:0;list-style:none}
.bs .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bs .wrap{max-width:1180px;margin:0 auto;padding:0 var(--bs-pad)}
.bs .wrap.narrow{max-width:680px}
.bs .center{text-align:center;margin-top:72px;max-width:none}
.bs .note,.bs .sources,.bs .opt{color:var(--bs-muted);font-size:13.12px}
.bs .lead{font-size:16px;line-height:1.6}
.bs .eyebrow{display:none}
.bs .ph{background:#E9E3CF;color:#5a4a1e;border:1px dashed #B8A878;padding:0 5px;font:400 .76em/1.6 var(--bs-cond);letter-spacing:.02em;overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.bs .link,.bs .btn{display:inline-block;background:none;border:1px solid var(--bs-ink);padding:11px 18px;cursor:pointer;font:400 11.52px/1.2 var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-ink);text-align:center;transition:background .2s,color .2s}
.bs .link:hover,.bs .btn:hover{background:var(--bs-ink);color:#fff}
.bs .link--light{color:#fff;border-color:#fff}
.bs .link--light:hover{background:#fff;color:var(--bs-ink)}
.bs .btn--outline{padding:13px 22px}
.bs .btn--block{display:block;width:100%}
.bs .text-btn{background:none;border:0;padding:0;cursor:pointer;font:400 11.2px var(--bs-cond);text-transform:uppercase;letter-spacing:.16em;color:var(--bs-muted)}
.bs .text-btn:hover{color:var(--bs-ink)}
.bs .inline,.bs .src a{border-bottom:1px solid currentColor}
.bs .link-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.bs .btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bs .hero{position:relative}
.bs .hero__media img{width:100%;object-fit:cover}
.bs .hero--full{position:relative;height:calc(100vh - var(--bs-hh));min-height:520px;max-height:860px;color:#fff;overflow:hidden}
.bs .hero--full .hero__media{position:absolute;inset:0}
.bs .hero--full .hero__media img{height:100%}
.bs .hero--full .hero__media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18)}
.bs .hero--full .hero__content{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);max-width:1180px;margin:0 auto;padding:0 var(--bs-pad)}
.bs .hero--full h1{font-size:clamp(17.6px,1.6vw,22.4px);margin-bottom:28px}
.bs .hero:not(.hero--full) .hero__media img{aspect-ratio:21/8;height:auto}
.bs .hero:not(.hero--full) .hero__content{max-width:680px;padding:72px 0 0}
.bs .hero .lead{font-size:16px}
.bs .breadcrumb{font:400 10.56px var(--bs-cond);text-transform:uppercase;letter-spacing:.16em;color:var(--bs-muted);margin-bottom:22px}
.bs .hero .link{margin-top:12px}
.bs .hero .note{margin-top:4px}
.bs .section{padding:var(--bs-sec) 0}
.bs .section--tint{background:var(--bs-alt)}
.bs .section--dark{background:#fff;border-top:1px solid var(--bs-line);border-bottom:1px solid var(--bs-line)}
.bs .section + .section:not(.section--tint):not(.section--dark){padding-top:calc(var(--bs-sec)*.5)}
.bs .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.bs .section-head h2{margin:0}
.bs .section-head{border-bottom:1px solid var(--bs-line);padding-bottom:20px}
.bs .section-head .lead{margin-top:12px}
.bs .grid{display:grid;gap:56px 24px}
.bs .grid--2{grid-template-columns:repeat(2,1fr)}
.bs .grid--3{grid-template-columns:repeat(3,1fr)}
.bs .grid--4{grid-template-columns:repeat(4,1fr)}
.bs .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center}
.bs .split--rev > :first-child{order:2}
.bs .split__media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.bs .section--dark .split__media img{aspect-ratio:16/10;object-fit:contain}
.bs .feature h3{margin-bottom:.5em}
.bs .feature p{color:var(--bs-muted);font-size:14.72px}
.bs .grid--products{gap:64px 28px}
.bs .card{position:relative}
.bs .card[hidden]{display:none}
.bs .card__open{display:block;width:100%;text-align:left;background:none;border:0;padding:0;cursor:pointer}
.bs .card__media{display:block}
.bs .card__media img{width:100%;height:auto;transition:opacity .3s}
.bs .card__open:hover .card__media img{opacity:.88}
.bs .card__media--empty{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--bs-line)}
.bs .card__media--empty span{font:400 10.88px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
.bs .card__title{display:block;margin-top:16px;font:400 12.16px var(--bs-cond);text-transform:uppercase;letter-spacing:.12em}
.bs .card__price{display:block;margin-top:12px;font:400 11.52px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
.bs .card__title + .card__price{margin-top:4px}
.bs .card__detail{display:none}
.bs .pd{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px}
.bs .pd[hidden]{display:none}
.bs .pd__bg{position:absolute;inset:0;background:rgba(255,255,255,.86)}
.bs .pd__panel{position:relative;background:#fff;border:1px solid var(--bs-line);width:min(980px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;grid-template-columns:1fr 1fr;align-items:start}
.bs .pd__close{position:absolute;top:20px;right:22px;z-index:2}
.bs .pd__media img{width:100%;height:auto}
.bs .pd__media .card__media--empty{border:0}
.bs .pd__body{padding:64px 44px 44px;display:flex;flex-direction:column;gap:16px}
.bs .pd__body > *{margin:0}
.bs .pd__meta{font:400 10.56px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
.bs .pd__title{font-size:17.6px}
.bs .price{font:400 14.4px var(--bs-cond);letter-spacing:.08em}
.bs .price small{color:var(--bs-muted);font-size:11.84px;margin-left:6px}
.bs .sizes{display:flex;gap:10px}
.bs .sizes button{background:none;border:1px solid var(--bs-line);padding:8px 14px;cursor:pointer;font:400 10.88px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
.bs .sizes button[aria-pressed=true]{color:var(--bs-ink);border-color:var(--bs-ink)}
.bs .field-label{font:400 10.56px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
.bs .specs-list{display:grid;gap:6px;font-size:14.08px}
.bs .specs-list li{padding-bottom:6px;border-bottom:1px solid var(--bs-line)}
.bs .src{font-size:12.48px;color:var(--bs-muted)}
.bs .tabs,.bs .chip-row{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.bs .tabs{margin-bottom:22px}
.bs .filters{display:grid;gap:12px;margin-bottom:28px}
.bs .tabs button,.bs .chip{background:none;border:0;border-bottom:1px solid transparent;padding:3px 0;cursor:pointer;font:400 10.88px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
.bs .tabs button[aria-selected=true],.bs .chip[aria-pressed=true]{color:var(--bs-ink);border-color:var(--bs-ink)}
.bs .chip-row .label{display:inline;font:400 10.56px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-ink);min-width:72px}
.bs .result-count{font-size:12px;color:var(--bs-muted);margin:0 0 32px}
.bs .empty{display:none;padding:60px 0;text-align:center;color:var(--bs-muted)}
.bs .brand-group{margin-bottom:calc(var(--bs-sec)*.65)}
.bs .brand-group[hidden]{display:none}
.bs .brand-head{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-bottom:36px;align-items:baseline}
.bs .brand-head h2{margin:0}
.bs .brand-head p{color:var(--bs-muted);font-size:13.76px;margin:0}
.bs .model{display:flex;flex-direction:column;gap:14px}
.bs .model__media{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bs .model__media img{width:100%;height:100%;object-fit:contain}
.bs .model__media--ph{flex-direction:column;gap:10px;color:var(--bs-muted);border:1px solid var(--bs-line)}
.bs .model__media--ph svg{width:28px;height:28px}
.bs .model__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bs .model__name{font-size:17.6px;margin:0}
.bs .model__class{font-size:10.88px;text-transform:uppercase;letter-spacing:.12em;color:var(--bs-muted)}
.bs .model p{font-size:13.76px}
.bs .specs{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:12.8px}
.bs .specs dt{color:var(--bs-muted)}
.bs .specs dd{margin:0}
.bs .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bs table{border-collapse:collapse;width:100%;min-width:640px;font-size:12.8px}
.bs th,.bs td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--bs-line);font-weight:400}
.bs thead th{font:400 10.56px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em}
.bs tbody th{color:var(--bs-muted)}
.bs .yes,.bs .no{color:var(--bs-ink)}
.bs .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bs .gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.bs .steps{list-style:none;padding:0;counter-reset:s}
.bs .steps li{counter-increment:s}
.bs .steps li::before{content:counter(s,decimal-leading-zero);display:block;font-size:11.2px;color:var(--bs-muted);margin-bottom:10px;letter-spacing:.1em}
.bs .stat-row{display:flex;flex-wrap:wrap;gap:40px;margin-top:40px;padding-top:24px;border-top:1px solid var(--bs-line)}
.bs .stat strong{display:block;font:400 16.8px var(--bs-cond);letter-spacing:.08em;text-transform:uppercase}
.bs .stat span{font-size:12px;color:var(--bs-muted)}
.bs .checks li{padding:6px 0}
.bs .contact-list{display:grid;gap:22px}
.bs .contact-list li{display:block}
.bs .contact-list svg{display:none}
.bs .map-ph{border:1px solid var(--bs-line);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--bs-muted);font-size:12.8px}
.bs .map-ph svg{display:none}
.bs .poa{font-size:12.8px;color:var(--bs-muted)}
.bs .poa-banner{font-size:16px;text-align:center;margin-left:auto;margin-right:auto}
.bs .callout svg{display:none}
.bs .form-card{background:none;padding:0}
.bs .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.bs .form-grid .full,.bs .form-grid fieldset{grid-column:1/-1}
.bs label,.bs legend{display:block;font:400 10.56px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted);margin-bottom:6px}
.bs fieldset{border:0;padding:0;margin:0;min-width:0}
.bs input,.bs select,.bs textarea{width:100%;border:0;border-bottom:1px solid var(--bs-line);background:transparent;color:var(--bs-ink);font:400 15.2px var(--bs-cond);padding:8px 0;border-radius:0;-webkit-appearance:none;appearance:none}
.bs input:focus,.bs select:focus,.bs textarea:focus{outline:none;border-color:var(--bs-ink)}
.bs textarea{min-height:96px;resize:vertical}
.bs select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231E1E1E'/%3E%3C/svg%3E") right 2px center/10px no-repeat;padding-right:20px}
.bs .checkgrid{display:flex;flex-wrap:wrap;gap:10px 22px}
.bs .checkgrid label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font:400 14.72px var(--bs-cond);color:var(--bs-ink);margin:0}
.bs .checkgrid input{width:14px;height:14px;padding:0;border:1px solid var(--bs-ink);-webkit-appearance:auto;appearance:auto;accent-color:#1E1E1E}
.bs .form-success{display:none;margin-top:16px;font-size:13.76px}
.bs .form-success.show{display:block}
.bs .form-grid .form-grid{grid-column:auto}
.bs .site-footer{border-top:1px solid var(--bs-line);padding:calc(var(--bs-sec)*.55) 0 32px;font-size:12.8px}
.bs .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px}
.bs .footer-brand{font:400 12.8px var(--bs-cond);letter-spacing:.3em}
.bs .site-footer p{color:var(--bs-muted);max-width:34ch}
.bs .site-footer li{margin-bottom:8px}
.bs .site-footer a:hover{opacity:.6}
.bs .legal{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:80px;color:var(--bs-muted);font-size:11.52px}
.bs .wa-float{position:fixed;right:20px;bottom:20px;z-index:30;background:#fff;border:1px solid var(--bs-ink);padding:9px 14px;font:400 10.56px var(--bs-cond);text-transform:uppercase;letter-spacing:.12em}
.bs .toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--bs-ink);color:var(--bs-bg);padding:10px 16px;font-size:12.48px;z-index:90;transition:.3s;pointer-events:none;max-width:90vw}
.bs .toast.show{opacity:1;transform:translate(-50%,0)}
.js .bs .reveal{opacity:0;transform:translateY(12px);transition:opacity .8s,transform .8s}
.js .bs .reveal.in{opacity:1;transform:none}
@media (max-width:1000px){
.bs .hide-sm{display:none}
.bs .grid--4{grid-template-columns:repeat(2,1fr)}
.bs .grid--3{grid-template-columns:repeat(2,1fr)}
.bs .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
:root{--bs-sec:36px;--bs-hh:56px}
.bs{font-size:14.5px}
.bs .grid--2,.bs .grid--3,.bs .split,.bs .form-grid,.bs .brand-head,.bs .gallery{grid-template-columns:1fr}
.bs .grid--products{gap:44px 14px}
.bs .split--rev > :first-child{order:0}
.bs .section-head{flex-direction:column;align-items:flex-start}
.bs .hero--full{height:78vh;height:78svh;min-height:440px}
.bs .hero:not(.hero--full) .hero__media img{aspect-ratio:4/3}
.bs .hero:not(.hero--full) .hero__content{padding-top:48px}
.bs .pd{padding:0;align-items:flex-end}
.bs .pd__panel{grid-template-columns:1fr;max-height:94vh;border:0;border-top:1px solid var(--bs-line)}
.bs .pd__body{padding:32px 22px 28px}
.bs .footer-grid{grid-template-columns:1fr}
}
.bs .subtitle{font:400 10.88px var(--bs-cond);text-transform:uppercase;letter-spacing:.16em;color:var(--bs-muted);margin:0 0 10px}
.bs .variant-prices li{display:flex;justify-content:space-between;gap:16px}
.bs .variant-prices li span:last-child{white-space:nowrap;font-family:var(--bs-cond);letter-spacing:.06em}
.bs .section-title{margin-bottom:48px}
.bs .site-footer .footer-h{font:400 11.52px var(--bs-cond);letter-spacing:.14em;color:var(--bs-muted);text-transform:uppercase;margin:0 0 .8em}
.bs .map-embed{border:1px solid var(--bs-line);aspect-ratio:4/3}
.bs .map-embed iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(1)}

/* ===== 2b. Resets where Muse base.css uses the same class names ===== */
.bs .grid{margin:0;padding:0;list-style:none;flex-wrap:initial}
.bs .link{text-decoration:none;min-width:0;box-shadow:none}
.bs .btn{border-radius:0;box-shadow:none;min-width:0;min-height:0}
.bs .note{margin:0 0 1em;padding:0;background:none}
.bs .card{overflow:visible;border:0;background:none;box-shadow:none;border-radius:0}
.bs .price{display:block}
.bs table th,.bs table td{border:0;border-bottom:1px solid var(--bs-line);padding:12px 14px 12px 0}
.bs table{box-shadow:none;table-layout:auto;font-size:12.8px}
.bs .section--dark .link--light{color:var(--bs-ink);border-color:var(--bs-ink)}
.bs .section--dark .link--light:hover{background:var(--bs-ink);color:#fff}
.bs .hero:not(.hero--full) .link--light{color:var(--bs-ink);border-color:var(--bs-ink)}
.bs .hero:not(.hero--full) .link--light:hover{background:var(--bs-ink);color:#fff}
.bs .rte-content > :first-child{margin-top:0}
.bs-page{display:block}
.bs-page .page-width{max-width:none;padding:0}

/* ===== 3. Muse component overrides ===== */
/* Header: white, logo left, tiny tracked text nav, text actions */
body.bs-theme .bs-header .header-wrapper{background:#fff;border-bottom:1px solid var(--bs-line);box-shadow:none}
body.bs-theme .bs-header .header{display:flex;align-items:center;gap:40px;height:var(--bs-hh);max-width:1180px;margin:0 auto;padding:0 var(--bs-pad)}
body.bs-theme .bs-header .header__heading-link{order:-1;margin:0;padding:0;display:flex;align-items:center}
body.bs-theme .bs-header .header__heading{order:-1;margin:0;font:400 12.8px/1 var(--bs-cond);letter-spacing:.3em;text-transform:uppercase}
body.bs-theme .bs-header .header__heading-logo{height:16px;width:auto;max-width:none;filter:brightness(0)}
body.bs-theme .bs-header .header__inline-menu{order:0;margin:0}
body.bs-theme .bs-header .list-menu--inline{display:flex;gap:26px;flex-wrap:nowrap}
body.bs-theme .bs-header .header__icons{order:1;margin-left:auto;display:flex;align-items:center;gap:26px;padding:0}
body.bs-theme .bs-header .header__left-icon{order:2;display:flex;align-items:center;gap:20px;margin:0}
body.bs-theme .bs-header .header__menu-item,
body.bs-theme .bs-header .header__menu-item a,
body.bs-theme .bs-header .bs-header__text,
body.bs-theme .bs-header .header__icon{font:400 10.9px/1 var(--bs-cond);text-transform:uppercase;letter-spacing:.16em;color:var(--bs-muted);text-decoration:none;padding:4px 0;min-width:0;min-height:0;width:auto;height:auto;background:none;box-shadow:none}
body.bs-theme .bs-header .header__menu-item:hover,body.bs-theme .bs-header .header__menu-item a:hover,
body.bs-theme .bs-header .bs-header__text:hover,body.bs-theme .bs-header .header__icon:hover,
body.bs-theme .bs-header .header__active-menu-item{color:var(--bs-ink);text-decoration:none}
body.bs-theme .bs-header .header__icon .icon,
body.bs-theme .bs-header .header__icon svg,
body.bs-theme .bs-header .header__icon--menu .icon{display:none}
body.bs-theme .bs-header .header__icon span{display:inline;width:auto;height:auto}
body.bs-theme .bs-header .bs-label{display:inline}
body.bs-theme .bs-header details[open] > summary .bs-label--open{display:none}
body.bs-theme .bs-header details:not([open]) > summary .bs-label--close{display:none}
body.bs-theme .bs-header .header__icon--cart{display:inline-flex;align-items:center}
body.bs-theme .bs-header .cart-count-bubble{display:none !important}
body.bs-theme .bs-header summary .icon-caret{display:none}
body.bs-theme .bs-header summary.header__menu-item{padding-right:0}
body.bs-theme .bs-header .header__submenu{background:#fff;border:1px solid var(--bs-line);border-radius:0;box-shadow:none;padding:16px 20px;min-width:200px}
body.bs-theme .bs-header .header__submenu .header__menu-item{padding:6px 0}
body.bs-theme header-drawer{margin:0}
@media (max-width:989px){
  body.bs-theme .bs-header .header{gap:20px}
}
/* Search panel */
body.bs-theme .bs-header .search-modal{background:#fff;border-bottom:1px solid var(--bs-line);min-height:0}
body.bs-theme .bs-header .search-modal__content{max-width:1180px;margin:0 auto;padding:22px var(--bs-pad)}
body.bs-theme .bs-header .search-modal .field__input,body.bs-theme .bs-header .search__input{border:0;border-bottom:1px solid var(--bs-ink);border-radius:0;background:none;box-shadow:none;font:400 16px var(--bs-cond);padding:8px 0}
body.bs-theme .bs-header .search-modal .field:after,body.bs-theme .bs-header .search-modal .field:before{display:none}
body.bs-theme .bs-header .search-modal .field__label{font:400 10.6px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
/* Menu drawer */
body.bs-theme .menu-drawer{background:#fff;border-right:1px solid var(--bs-line);box-shadow:none}
body.bs-theme .menu-drawer__menu-item{font:400 18.4px/1.4 var(--bs-cond);letter-spacing:-.01em;text-transform:none;color:var(--bs-ink);padding:8px 24px}
body.bs-theme .menu-drawer__account{font:400 11px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
body.bs-theme .menu-drawer .bs-drawer-links{display:grid;gap:14px;padding:24px}
body.bs-theme .menu-drawer .bs-drawer-links .link{display:inline-block;border:1px solid var(--bs-ink);padding:11px 18px;font:400 11.5px/1.2 var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;text-decoration:none;color:var(--bs-ink);width:max-content}
/* Cart notification popup */
body.bs-theme .cart-notification{border-radius:0;border:1px solid var(--bs-line);box-shadow:none}

/* Product tiles: borderless, image + name + price */
body.bs-theme .product-card-wrapper{border-radius:0;background:none !important;box-shadow:none}
body.bs-theme .card--product .media,body.bs-theme .product-card-wrapper .media{border-radius:0;background:none}
body.bs-theme .product-card-wrapper .card__inner{background:none}
body.bs-theme .product-card-wrapper:hover .media img{opacity:.88}
body.bs-theme .product-card-wrapper .media img{transition:opacity .3s}
body.bs-theme .product-card-wrapper .card-information{padding:16px 0 0;text-align:left}
body.bs-theme .bs-card__title{display:block;font:400 12.2px/1.4 var(--bs-cond);text-transform:uppercase;letter-spacing:.12em;color:var(--bs-ink)}
body.bs-theme .bs-card__price{display:block;margin-top:4px;font:400 11.5px/1.4 var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
body.bs-theme .bs-card__price s{margin-left:6px;opacity:.7}
body.bs-theme .product-card-wrapper .badge-ribbon{position:static;display:inline-block}
body.bs-theme .product-grid{row-gap:0}
body.bs-theme .product-grid .grid__item{margin-bottom:48px}
body.bs-theme .title-wrapper-with-link{border-bottom:1px solid var(--bs-line);padding-bottom:20px;margin-bottom:48px;justify-content:space-between}
body.bs-theme .title-wrapper-with-link .title{margin:0}
body.bs-theme .slider-button{border-radius:0;box-shadow:none;background:none}
body.bs-theme .spaced-section{margin-top:var(--bs-sec)}
body.bs-theme .bs-section-roasts{padding:var(--bs-sec) 0 0}
body.bs-theme .bs-section-roasts .spaced-section{margin-top:0}
body.bs-theme .bs-section-roasts .center{margin-top:24px;text-align:center}

/* Collection page */
body.bs-theme .bs-collection .collection-filters{margin:0}
body.bs-theme .bs-collection .facets__disclosure,body.bs-theme .bs-collection select{border-radius:0}
body.bs-theme .bs-collection .bs-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:32px}
body.bs-theme .bs-collection .bs-toolbar .tabs{margin:0}
body.bs-theme .bs-collection .tabs a{border-bottom:1px solid transparent;padding:3px 0;font:400 10.9px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted);text-decoration:none}
body.bs-theme .bs-collection .tabs a[aria-current]{color:var(--bs-ink);border-color:var(--bs-ink)}
body.bs-theme .bs-collection .collection.page-width{padding-left:0;padding-right:0}
body.bs-theme .bs-collection .pagination-wrapper{margin-top:24px}

/* Product page */
body.bs-theme .bs-product{margin-top:calc(var(--bs-sec)*.33)}
body.bs-theme .bs-product .breadcrumb{font:400 10.6px var(--bs-cond);text-transform:uppercase;letter-spacing:.16em;color:var(--bs-muted);margin-bottom:28px}
body.bs-theme .bs-product .product-wrapper_color{background:none !important;padding:0;border-radius:0}
body.bs-theme .bs-product .product__info-wrapper .product-card-wrapper{background:none !important}
body.bs-theme .bs-product .product__info-container > * + *{margin-top:16px}
body.bs-theme .bs-product .product__text{font:400 10.6px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted);margin:0 0 12px}
body.bs-theme .bs-product .product__title{font-size:17.6px;margin:0 0 12px}
body.bs-theme .bs-product .price,body.bs-theme .bs-product .price--large{font:400 14.4px var(--bs-cond);letter-spacing:.08em}
body.bs-theme .bs-product .product__media-wrapper img{border-radius:0}
body.bs-theme .bs-product .product-form__input .form__label,body.bs-theme .bs-product .form__label{font:400 10.6px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted)}
body.bs-theme .bs-product .product-form__input input[type='radio'] + label{border-radius:0;border:1px solid var(--bs-line);background:none;padding:8px 14px;font:400 10.9px var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-muted);box-shadow:none}
body.bs-theme .bs-product .product-form__input input[type='radio']:checked + label{border-color:var(--bs-ink);color:var(--bs-ink);background:none}
body.bs-theme .bs-product .product-form__input select,body.bs-theme .bs-product .select__select{border:0;border-bottom:1px solid var(--bs-line);border-radius:0;background-color:transparent;box-shadow:none}
body.bs-theme .bs-product .quantity{border:1px solid var(--bs-line);border-radius:0;box-shadow:none}
body.bs-theme .bs-product .quantity:after,body.bs-theme .bs-product .quantity:before{display:none}
body.bs-theme .bs-product .product-form__submit{width:100%;min-height:46px}
body.bs-theme .bs-product .product__description{font-size:14px;color:var(--bs-ink);max-width:58ch}
body.bs-theme .bs-product .product__description h2,body.bs-theme .bs-product .product__description h3{font-size:12px;letter-spacing:.14em;color:var(--bs-muted)}
body.bs-theme .bs-product .slider-buttons{border:0}

/* Default page template */
body.bs-theme .bs-page-default .rte{max-width:680px;margin:0 auto}
body.bs-theme .bs-page-default h1{margin:72px 0 40px}

/* Footer: light, quiet (markup in sections/footer.liquid uses .bs .site-footer) */
body.bs-theme .bs .site-footer a{text-decoration:none}
body.bs-theme .bs .site-footer ul{margin:0;padding:0;list-style:none}
body.bs-theme .bs .legal a{color:var(--bs-muted)}
body.bs-theme .bs .legal .currency-picker,body.bs-theme .bs .legal select{border-radius:0;font:400 11.5px var(--bs-cond)}
@media (max-width:749px){
  body.bs-theme{font-size:14.5px}
}

/* ===== 4. Fixes found in local render QA ===== */
body.bs-theme .bs .hero--full h1,body.bs-theme .bs .hero--full h2{color:#fff}
body.bs-theme .bs .breadcrumb a,body.bs-theme .bs-product .breadcrumb a{text-decoration:none;border:0}
/* Muse product grid inside .bs wrappers: use the preview's 4/2/2 column grid */
body.bs-theme .bs .grid.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:64px 28px;margin:0;padding:0}
body.bs-theme .bs .grid.product-grid .grid__item{width:auto;max-width:none;padding:0;margin:0}
@media (max-width:1000px){body.bs-theme .bs .grid.product-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){body.bs-theme .bs .grid.product-grid{gap:44px 14px}}
/* Mobile header: compact logo, single-line text actions */
body.bs-theme .bs-header .bs-header__text,body.bs-theme .bs-header .bs-label{white-space:nowrap}
@media (max-width:989px){
  body.bs-theme .bs-header .header{gap:16px}
  body.bs-theme .bs-header .header__icons,body.bs-theme .bs-header .header__left-icon{gap:16px}
  body.bs-theme .bs-header .header__heading-logo{height:14px;max-width:42vw;object-fit:contain;object-position:left center}
}
body.bs-theme .bs-header details-modal.header__search,body.bs-theme .bs-header .header__search summary{display:flex;align-items:center}
body.bs-theme .bs-header .header__icons > *{display:flex;align-items:center}
/* QA fix (live preview): no extra gap under the collection title; empty app slot collapses */
body.bs-theme .bs-collection .hero + .section{padding-top:40px}
body.bs-theme .bs-collection .top-wrapper-section:empty{display:none}
/* content is never hidden waiting for scroll (full-page captures, no-JS, crawlers) */
.js .bs .reveal{opacity:1;transform:none}

/* Brewsmith image + text section (sections/bs-split.liquid: home Stronghold + boutique roaster). One shared frame for both:
   equal columns, square (1:1) frame, text vertically centred beside it, same section padding. Photos fill the frame (cover); the
   "White with rules" style shows a cut-out product shot contained on a light grey panel of the same size.
   Mobile: image first, then text, whichever side the image is on at desktop. Scoped to .bs-split-sec so page-body splits are unchanged. */
.bs .section.bs-split-sec{padding:var(--bs-sec) 0}
.bs .bs-split-sec .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.bs .bs-split-sec .split__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f2f2f2;margin:0}
.bs .bs-split-sec .split__media img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;display:block;padding:0}
.bs .bs-split-sec.section--dark .split__media img{object-fit:contain;padding:8%;box-sizing:border-box}
.bs .bs-split-sec .split__body > :first-child{margin-top:0}
.bs .bs-split-sec .split__body > :last-child{margin-bottom:0}
@media (max-width:700px){
.bs .bs-split-sec .split{grid-template-columns:1fr}
.bs .bs-split-sec .split > .split__media{order:0}
.bs .bs-split-sec .split > .split__body{order:1}
}

/* 2j (2 Oct 2026): large section images ~15% smaller. Layout, columns, gaps and crops are unchanged.
   - Page heroes (.hero:not(.hero--full): Wholesale, Mobile Coffee Bar, Stronghold, About, Machines & Grinders, collections) stay
     full width; their height is 15% lower (desktop 21/8 -> 21/6.8, <=700px 4/3 -> 4/2.55). The full-screen home hero is unchanged.
   - Image + text splits (home bs-split-sec squares, About 4:5 image): the image column is 85% of its old width (.85fr / 1.15fr),
     same gap, the image's outer edge stays on the page margin, the text column takes the freed width and stays vertically
     centred (align-items:center). Square frames stay square. <=700px (stacked): image 85% wide, left-aligned with the text.
   - Not changed: product grid tiles, equipment/Stronghold model tiles (.model__media), the Stronghold gallery strip, the map. */
.bs .hero:not(.hero--full) .hero__media img{aspect-ratio:21/6.8}
@media (min-width:701px){
.bs .bs-split-sec .split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.bs .bs-split-sec .split.split--rev{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.bs .split:not(.split--rev):has(> .split__media:first-child),.bs .split.split--rev:has(> .split__media:last-child){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.bs .split:not(.split--rev):has(> .split__media:last-child),.bs .split.split--rev:has(> .split__media:first-child){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
}
@media (max-width:700px){
.bs .hero:not(.hero--full) .hero__media img{aspect-ratio:4/2.55}
.bs .split > .split__media{width:85%;justify-self:start}
}
/* 2l: coffee collection text tabs under the heading (All / Espresso / Filter) */
body.bs-theme .bs-collection .hero__content .bs-coffee-tabs{margin:28px 0 0;gap:8px 28px}
body.bs-theme .bs-collection .bs-coffee-tabs a:hover{color:var(--bs-ink)}
/* 2m: Mobile Coffee Bar pricing block: left-aligned on the page grid, small heading + body-size note + text link */
.bs .bs-poa{margin:56px 0 0;padding-top:28px;border-top:1px solid var(--bs-line);text-align:left}
.bs .bs-poa__title{font-size:14.4px;margin:0 0 .6em}
.bs .bs-poa__note{font-size:15px;line-height:1.6;color:var(--bs-ink);margin:0 0 16px}
.bs .bs-textlink{display:inline-block;padding:3px 0;border-bottom:1px solid var(--bs-ink);font:400 11.52px/1.2 var(--bs-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bs-ink);text-decoration:none}
.bs .bs-textlink:hover{color:var(--bs-muted);border-color:var(--bs-muted)}
@media (max-width:700px){
.bs .bs-poa{margin-top:40px}
.bs .bs-poa__note{font-size:14.5px}
}

/* 2n. Header: top nav = Coffee / Stronghold / Equipment / Wholesale; Search, Account, Cart as one compact cluster of
   minimal 1.5px line icons (18px, muted grey, ink on hover), cart count as a small ink badge (hidden at 0, Muse JS toggles it) */
body.bs-theme .bs-header .header__icons.bs-header__actions{gap:4px}
body.bs-theme .bs-header .header__icon svg.bs-ico{display:block;width:18px;height:18px;flex:none;color:currentColor}
body.bs-theme .bs-header details[open] > summary svg.bs-ico--when-closed,
body.bs-theme .bs-header details:not([open]) > summary svg.bs-ico--when-open{display:none}
body.bs-theme .bs-header .header__icon--search,
body.bs-theme .bs-header .bs-header__actions a.header__icon{display:inline-flex;align-items:center;justify-content:center;padding:7px;color:var(--bs-muted);line-height:0}
body.bs-theme .bs-header .bs-header__actions .header__icon--account{padding:0;margin:0;position:relative}
body.bs-theme .bs-header .bs-header__actions .header__icon--account summary{padding:0;list-style:none}
body.bs-theme .bs-header .bs-header__actions .header__icon--account summary::-webkit-details-marker{display:none}
body.bs-theme .bs-header .header__icon--search:hover,body.bs-theme .bs-header .bs-header__actions a.header__icon:hover{color:var(--bs-ink)}
body.bs-theme .bs-header .header__icon--search:focus-visible,body.bs-theme .bs-header .bs-header__actions a.header__icon:focus-visible{outline:1px solid var(--bs-ink);outline-offset:0;box-shadow:none}
body.bs-theme .bs-header .header__icon--cart{position:relative}
body.bs-theme .bs-header .header__icon--cart .cart-count-bubble:not(.hidden){display:flex !important}
body.bs-theme .bs-header .header__icon--cart .cart-count-bubble{position:absolute;top:2px;right:0;left:auto;bottom:auto;min-width:14px;width:auto;height:14px;padding:0 3px;border-radius:7px;background:var(--bs-ink);color:#fff;align-items:center;justify-content:center;font:400 9px/1 var(--bs-cond);letter-spacing:0;box-sizing:border-box}
body.bs-theme .bs-header .header__icon--cart .cart-count-bubble span{display:block;color:#fff;font:inherit;line-height:1}
body.bs-theme .bs-header .header__icon .visually-hidden{position:absolute !important;width:1px !important;height:1px !important;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:989px){
  body.bs-theme .bs-header .header__left-icon{gap:4px}
}
body.bs-theme .bs-header .bs-header__actions a.header__icon.p-2{padding:7px !important}
body.bs-theme .bs-header .header__icon--cart .cart-count-bubble{top:3px;right:1px}
/* 2n mobile/tablet (<=989px): logo left; Search + Cart icons, then the Menu toggle, grouped on the right */
@media (max-width:989px){
  body.bs-theme .bs-header .header{gap:6px}
  body.bs-theme .bs-header .header > .header__left-icon{display:contents}
  body.bs-theme .bs-header .header__left-icon > details-modal.header__search{order:1;margin-left:auto}
  body.bs-theme .bs-header .header__icons.bs-header__actions{order:2;margin-left:0}
  body.bs-theme .bs-header .header__left-icon > header-drawer{order:3;margin-left:8px}
}

/* 2o. Coffee tabs: 4 tabs (All / Espresso / Filter / Drip Bag); labels never break, tighter gap on small phones */
body.bs-theme .bs-collection .bs-coffee-tabs a{white-space:nowrap}
@media (max-width:700px){body.bs-theme .bs-collection .hero__content .bs-coffee-tabs{gap:8px 22px}}

/* 2q. Home hero (bs-hero only; page/collection heroes are .hero:not(.hero--full) and unaffected).
   Focal point from the section settings (--bs-hero-pos / --bs-hero-pos-m). "hero--dark": bright photo, so no dimming layer,
   ink heading + ink outline button. "hero--text-top": text block sits in the upper area (clear white wall on the bar shot). */
.bs .hero--full .hero__media img{object-position:var(--bs-hero-pos,50% 50%)}
.bs .hero--full.hero--dark{color:var(--bs-ink)}
.bs .hero--full.hero--dark .hero__media::after{display:none}
body.bs-theme .bs .hero--full.hero--dark h1,body.bs-theme .bs .hero--full.hero--dark h2{color:var(--bs-ink)}
.bs .hero--full.hero--dark .link--light{color:var(--bs-ink);border-color:var(--bs-ink)}
.bs .hero--full.hero--dark .link--light:hover{background:var(--bs-ink);color:#fff}
.bs .hero--full.hero--text-top .hero__content{top:18%;transform:none}
@media (max-width:700px){
.bs .hero--full .hero__media img{object-position:var(--bs-hero-pos-m,var(--bs-hero-pos,50% 50%))}
.bs .hero--full.hero--text-top .hero__content{top:40px}
.bs .hero--full.hero--text-top h1,.bs .hero--full.hero--text-top h2{max-width:9em}
}

/* 2s (revised in 2t). Image + text splits: square photo in a 40% column, vertically centred with the text.
   Home bs-split sections + page-body splits that have a .split__media (only the About & Contact intro); text + form splits untouched.
   Desktop/tablet (>=701px): the photo fills its 40% column as a square (1280: 391px), max 440px, sitting on the side next to the text;
   no longer sized from the text height (the 2s min/max logic left Stronghold stuck at 240px). Mobile (<=700px): full width x 70vw, cover. */
@media (min-width:701px){
.bs .split:has(> .split__media){grid-template-columns:minmax(0,40%) minmax(0,1fr);align-items:center}
.bs .split:has(> .split__media:last-child),.bs .bs-split-sec .split.split--rev{grid-template-columns:minmax(0,1fr) minmax(0,40%)}
.bs .bs-split-sec .split:not(.split--rev){grid-template-columns:minmax(0,40%) minmax(0,1fr)}
.bs .split > .split__media,.bs .bs-split-sec .split__media{position:relative;align-self:center;aspect-ratio:1/1;width:100%;max-width:440px;height:auto;min-height:0;justify-self:end;overflow:hidden;background:none;margin:0}
.bs .split > .split__media:last-child,.bs .bs-split-sec .split--rev .split__media{justify-self:start}
.bs .split > .split__media img,.bs .bs-split-sec .split__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;transform:none;object-fit:cover;object-position:center;display:block}
.bs .bs-split-sec.section--dark .split__media{background:#f2f2f2}
.bs .bs-split-sec.section--dark .split__media img{object-fit:contain}
}
@media (max-width:700px){
.bs .split > .split__media,.bs .bs-split-sec .split__media{width:100%;aspect-ratio:auto;height:70vw;max-height:70vw;justify-self:stretch;position:relative;overflow:hidden}
.bs .split > .split__media img,.bs .bs-split-sec .split__media img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.bs .bs-split-sec.section--dark .split__media img{object-fit:contain}
}

/* 2t. Tighter home page. --bs-sec is roughly halved (brewsmith-head.css; 1280: 96 -> 51px, <=700px: 60 -> 36px), which
   tightens every section gap sitewide. Floors keep the derived gaps from getting cramped. "This season's roasts": Muse's
   grid items carried 50px bottom padding + 48px margin + 20px grid margin (118px of space above VIEW ALL); now 56px. */
body.bs-theme .bs-product{margin-top:max(24px,calc(var(--bs-sec)*.33))}
.bs .site-footer{padding-top:max(40px,calc(var(--bs-sec)*.55))}
.bs .brand-group{margin-bottom:max(48px,calc(var(--bs-sec)*.65))}
body.bs-theme .bs-featured .product-grid > .grid__item{padding-bottom:0;margin-bottom:32px}
body.bs-theme .bs-featured .product-grid{margin-bottom:0}
body.bs-theme .bs-featured .center{margin-top:24px}
