/* ==========================================================================
   One Stop Bud Shop — design tokens + header
   Identity: a delivery dispatch. Night-green chrome, a lime "go" accent used
   sparingly (cart, primary actions on dark), warm paper surfaces, and a
   condensed grotesque display face for headings.
   ========================================================================== */

:root{
  --os-ink:#121614;
  --os-ink-2:#2c332f;
  --os-muted:#59635d;
  --os-line:#e4dfd3;
  --os-line-2:#eeeae0;
  --os-surface:#ffffff;
  --os-surface-2:#faf8f3;
  --os-surface-3:#f2eee4;

  --os-green:#13723d;
  --os-green-600:#0e5c31;
  --os-green-700:#0a4324;
  --os-green-050:#e8f3ec;
  --os-leaf:#3db46c;

  --os-night:#0f1512;
  --os-night-2:#151d19;
  --os-night-3:#1f2a24;
  --os-night-line:rgba(255,255,255,.09);
  --os-lime:#c6f16b;
  --os-lime-600:#b4e04f;
  --os-on-dark:#e8efea;
  --os-on-dark-2:#a9b8ae;

  --os-gold:#a3700c;
  --os-gold-050:#fcf2d9;
  --os-star:#f2b01e;
  --os-red:#c0261c;
  --os-red-050:#fdebea;

  --os-r-sm:6px;
  --os-r:10px;
  --os-r-lg:16px;
  --os-r-pill:999px;

  --os-sh-1:0 1px 2px rgba(30,24,10,.06),0 1px 3px rgba(30,24,10,.05);
  --os-sh-2:0 6px 16px rgba(30,24,10,.08),0 2px 4px rgba(30,24,10,.04);
  --os-sh-3:0 16px 40px rgba(30,24,10,.14),0 4px 10px rgba(30,24,10,.06);

  --os-max:1320px;
  --os-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --os-display:"Bricolage Grotesque","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --os-bar-h:76px;
  --os-tabbar:72px;
}

html{background:var(--os-night);}
body.os{background:var(--os-surface);color:var(--os-ink);font-family:var(--os-font);font-size:16px;}
body.os,body.os button,body.os input,body.os select,body.os textarea{font-family:var(--os-font);}
body.os h1,body.os h2,body.os h3,body.os h4{font-family:var(--os-display);font-weight:750;letter-spacing:-.022em;}
body.os a{color:var(--os-green);}
body.os a:hover{color:var(--os-green-600);}

.os-wrap{max-width:var(--os-max);margin-inline:auto;padding-inline:clamp(16px,3vw,32px);}
.os-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* -------------------------------------------------------------- strip */
.os-ann{background:var(--os-green-700);color:#d9eedf;font-size:13px;line-height:1.3;position:relative;z-index:505;}
.os-ann__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;}
.os-ann__slides{min-width:0;}
.os-ann__slide{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.os-ann__slide[hidden]{display:none;}
.os-ann__slide b{color:#fff;font-weight:700;}
.os-ann__slide svg{color:var(--os-lime);flex:none;}
.os-ann a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
.os-ann__links{display:flex;align-items:center;gap:18px;flex:none;}
.os-ann__links a{color:#d9eedf;text-decoration:none;font-weight:600;}
.os-ann__links a:hover{color:#fff;}
.os-ann__phone{display:inline-flex;align-items:center;gap:6px;color:var(--os-lime) !important;}

/* ---------------------------------------------------------------- bar */
.os-bar{background:var(--os-night);color:var(--os-on-dark);position:relative;z-index:520;}
.os-bar__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,40px);height:var(--os-bar-h);}
.os-logo{display:flex;align-items:center;flex:none;line-height:0;}
.os-bar .os-logo img{height:56px;width:auto;max-width:210px;object-fit:contain;}

.os-search{position:relative;display:flex;align-items:center;max-width:620px;width:100%;height:48px;margin:0;
  background:#f7f5ef;border:2px solid transparent;border-radius:var(--os-r);transition:border-color .15s ease,box-shadow .15s ease;}
.os-search:focus-within{border-color:var(--os-lime);box-shadow:0 0 0 4px rgba(198,241,107,.18);}
.os-search__ico{display:flex;align-items:center;justify-content:center;width:44px;flex:none;color:var(--os-muted);}
.os-search input[type="search"]{flex:1 1 auto;min-width:0;height:44px;margin:0;padding:0 6px 0 0;border:0;background:transparent;box-shadow:none;outline:none;
  font-size:15.5px;color:var(--os-ink);-webkit-appearance:none;appearance:none;}
.os-search input[type="search"]::placeholder{color:#7d877f;}
.os-search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
.os-search .os-search__btn{flex:none;height:36px;margin:0 5px 0 0;padding:0 18px;border:0;border-radius:8px;cursor:pointer;
  background:var(--os-night);color:#fff;font-size:14px;font-weight:700;line-height:1;text-transform:none;letter-spacing:0;min-height:0;box-shadow:none;}
.os-search .os-search__btn:hover{background:var(--os-green);}

.os-acts{display:flex;align-items:center;gap:4px;}
.os-act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:64px;height:52px;padding:0 8px;border-radius:var(--os-r);
  color:var(--os-on-dark) !important;text-decoration:none;font-size:12px;font-weight:600;transition:background .15s ease,color .15s ease;}
.os-act:hover{background:var(--os-night-3);color:#fff !important;}
.os-act svg{color:var(--os-on-dark-2);}
.os-act:hover svg{color:var(--os-lime);}
.os-cartbtn{flex-direction:row;gap:10px;min-width:0;height:48px;margin-left:8px;padding:0 18px 0 14px;background:var(--os-lime);color:var(--os-night) !important;font-size:15px;font-weight:800;}
.os-cartbtn:hover{background:var(--os-lime-600);color:var(--os-night) !important;}
.os-cartbtn svg{color:var(--os-night) !important;}
.os-cartbtn__ico{position:relative;display:flex;}
.os-act__n{position:absolute;top:-9px;right:-11px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  background:var(--os-night);color:var(--os-lime);font-size:11px;font-weight:800;line-height:19px;text-align:center;box-shadow:0 0 0 2px var(--os-lime);}

/* ---------------------------------------------------------- category row */
.os-nav{background:var(--os-night-2);border-top:1px solid var(--os-night-line);position:relative;z-index:515;}
.os-nav__in{display:flex;align-items:center;gap:2px;height:52px;}
.os-nav__item{position:relative;}
.os-nav__item--end{margin-left:auto;}
.os-nav__link{display:flex;align-items:center;gap:8px;height:38px;padding:0 13px;border-radius:8px;white-space:nowrap;
  color:var(--os-on-dark) !important;font-size:14.5px;font-weight:600;text-decoration:none;}
.os-nav__link svg{color:var(--os-leaf);flex:none;}
.os-nav__link:hover,.os-nav__item:focus-within>.os-nav__link{background:var(--os-night-3);color:#fff !important;}
.os-nav__link--deal{background:var(--os-lime);color:var(--os-night) !important;font-weight:800;}
.os-nav__link--deal svg{color:var(--os-night);}
.os-nav__link--deal:hover{background:var(--os-lime-600) !important;color:var(--os-night) !important;}
.os-caret{display:flex;opacity:.6;margin-left:-2px;}

.os-mega{position:absolute;top:calc(100% + 7px);left:0;z-index:600;min-width:440px;padding:18px;background:#fff;border:1px solid var(--os-line);
  border-radius:var(--os-r-lg);box-shadow:var(--os-sh-3);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease,visibility .15s;}
.os-mega::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px;}
.os-nav__item:hover>.os-mega,.os-nav__item:focus-within>.os-mega{opacity:1;visibility:visible;transform:none;}
.os-mega__k{margin:0 0 10px;font-family:var(--os-display);font-size:18px;font-weight:750;color:var(--os-ink);}
.os-mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;}
.os-mega__link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;color:var(--os-ink-2) !important;
  font-size:14.5px;font-weight:550;text-decoration:none;}
.os-mega__link:hover{background:var(--os-surface-2);color:var(--os-green) !important;}
.os-mega__n{font-size:12px;font-weight:700;color:var(--os-muted);background:var(--os-surface-3);border-radius:999px;padding:2px 8px;}
.os-mega__all{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--os-line);width:100%;
  font-weight:700;font-size:14px;text-decoration:none;}

/* ------------------------------------------------------- sticky (desktop) */
.os-hd{display:contents;}
@media (min-width:1100px){
  .os-bar{position:sticky !important;top:0;}
  .os-nav{position:sticky !important;top:var(--os-bar-h);}
  .os-toolbar{top:calc(var(--os-bar-h) + 52px) !important;}
  #products{scroll-margin-top:150px;}
  .os-mhd,.os-tabbar{display:none !important;}
}
.os-main{display:none !important;}
.os-util{display:none !important;}

/* ---------------------------------------------------------- mobile header */
.os-mhd{display:none;}
.os-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:var(--os-r);
  background:transparent;color:inherit;cursor:pointer;position:relative;min-height:0;box-shadow:none;}
.os-iconbtn:hover{background:rgba(255,255,255,.08);}

@media (max-width:1099px){
  .os-ann__links{display:none;}
  .os-ann__in{justify-content:center;min-height:32px;font-size:12.5px;}
  .os-bar,.os-nav{display:none;}

  .os-mhd{display:block;position:sticky;top:0;z-index:520;background:var(--os-night);color:var(--os-on-dark);box-shadow:0 1px 0 var(--os-night-line);}
  .os-mtop{display:grid !important;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;height:60px;padding:0 8px;position:static !important;box-shadow:none !important;background:transparent !important;}
  .os-mtop .os-logo{justify-self:center;}
  .os-mtop .os-logo img{height:44px;width:auto;max-width:150px;object-fit:contain;}
  .os-mtop__r{display:flex;justify-content:flex-end;align-items:center;gap:0;}
  .os-mtop .os-iconbtn{color:var(--os-on-dark);}
  .os-mtop .os-act__n{top:4px;right:2px;}
  #os-msearch-toggle[aria-expanded="true"]{background:var(--os-night-3);color:var(--os-lime);}

  .os-mchips{display:flex;gap:8px;overflow-x:auto;padding:0 12px 11px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .os-mchips::-webkit-scrollbar{display:none;}
  .os-mchip{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;background:var(--os-night-3);
    color:var(--os-on-dark) !important;font-size:13.5px;font-weight:650;text-decoration:none;white-space:nowrap;}
  .os-mchip svg{color:var(--os-leaf);}
  .os-mchip--deal{background:var(--os-lime);color:var(--os-night) !important;}
  .os-mchip--deal svg{color:var(--os-night);}

  .os-msearch{position:absolute !important;left:0;right:0;top:100% !important;z-index:519;background:var(--os-night-2);padding:12px 12px 14px;
    border-top:1px solid var(--os-night-line);box-shadow:0 18px 30px rgba(0,0,0,.3);}
  .os-msearch[hidden]{display:none !important;}
  .os-search--m{max-width:none;}
}

/* ------------------------------------------------------------- drawer */
.os-drawer{position:fixed;inset:0;z-index:9990;}
.os-drawer[hidden]{display:none;}
.os-drawer__scrim{position:absolute;inset:0;background:rgba(8,12,10,.55);opacity:0;transition:opacity .25s ease;}
.os-drawer__panel{position:absolute;top:0;bottom:0;left:0;width:min(88vw,380px);display:flex;flex-direction:column;background:#fff;
  transform:translateX(-100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:var(--os-sh-3);}
.os-drawer.is-open .os-drawer__scrim{opacity:1;}
.os-drawer.is-open .os-drawer__panel{transform:none;}
.os-drawer__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;background:var(--os-night);}
.os-drawer__hd img{height:44px;width:auto;max-width:170px;object-fit:contain;}
.os-drawer__hd .os-iconbtn{color:#fff;}
.os-drawer__body{flex:1 1 auto;overflow-y:auto;padding:6px 16px 18px;}
.os-drawer__sec{margin:18px 0 6px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--os-muted);}
.os-dnav{list-style:none;margin:0;padding:0;}
.os-dnav>li{border-bottom:1px solid var(--os-line-2);margin:0;}
.os-dnav a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:4px 2px;color:var(--os-ink) !important;
  font-size:16px;font-weight:600;text-decoration:none;}
.os-dnav a>span:first-child{display:inline-flex;align-items:center;gap:10px;}
.os-dnav a svg{color:var(--os-green);}
.os-dnav__toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:8px;
  background:var(--os-surface-2);color:var(--os-ink);cursor:pointer;min-height:0;transition:transform .2s ease;}
.os-dnav__n{font-size:12px;font-weight:700;color:var(--os-muted);background:var(--os-surface-3);border-radius:999px;padding:2px 8px;}
.os-dnav__sub{list-style:none;margin:0 0 8px;padding:0 0 0 30px;display:none;}
.os-dnav__sub.is-open{display:block;}
.os-dnav__sub a{min-height:42px;font-size:15px;font-weight:500;color:var(--os-ink-2) !important;}
.os-drawer__foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--os-line);}

/* ------------------------------------------------------- phone dock */
.os-tabbar{display:none;}
@media (max-width:1099px){
  .os-tabbar{display:block;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:900;}
  .os-tabbar__in{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;height:62px;padding:0 6px;border-radius:20px;
    background:var(--os-night);box-shadow:0 10px 30px rgba(0,0,0,.28),0 0 0 1px var(--os-night-line) inset;}
  .os-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:62px;
    color:var(--os-on-dark-2) !important;font-size:11px;font-weight:650;text-decoration:none;}
  .os-tab.is-on{color:var(--os-lime) !important;}
  .os-tab.is-on::before{content:"";position:absolute;top:0;width:22px;height:3px;border-radius:0 0 3px 3px;background:var(--os-lime);}
  .os-tab--cart{justify-content:flex-start;}
  .os-tab__bubble{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-top:-18px;border-radius:50%;
    background:var(--os-lime);color:var(--os-night);box-shadow:0 0 0 5px var(--os-night),0 8px 20px rgba(0,0,0,.3);}
  .os-tab__bubble .os-act__n{top:2px;right:0;}

  /* room under the page for the floating dock */
  body.os{padding-bottom:0 !important;}
  body.os::after{content:"";display:block;height:calc(var(--os-tabbar) + 18px + env(safe-area-inset-bottom,0px)) !important;background:var(--os-night) !important;}

  /* Chatwoot bubble sits above the dock */
  .woot-widget-bubble{bottom:calc(var(--os-tabbar) + 22px + env(safe-area-inset-bottom,0px)) !important;}
}

/* Skip link */
.os-skip{position:absolute;left:-9999px;top:8px;z-index:10000;padding:10px 14px;background:var(--os-lime);color:var(--os-night) !important;border-radius:8px;font-weight:700;}
.os-skip:focus{left:8px;}
