/* ==========================================================================
   One Stop Bud Shop — global skin (loads last)
   Squared, ticket-like controls instead of pills; night + lime for the
   things that move an order forward; paper panels behind product photos.
   ========================================================================== */

/* -------------------------------------------------------------- buttons */
.os-btn{border-radius:var(--os-r) !important;font-weight:750;letter-spacing:-.005em;min-height:46px;padding:0 20px;}
.os-btn--primary{background:var(--os-green);color:#fff !important;}
.os-btn--primary:hover{background:var(--os-green-600);color:#fff !important;}
.os-btn--lime{background:var(--os-lime);color:var(--os-night) !important;border-color:var(--os-lime);}
.os-btn--lime:hover{background:var(--os-lime-600);border-color:var(--os-lime-600);color:var(--os-night) !important;}
.os-btn--outline-light{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.32);}
.os-btn--outline-light:hover{background:rgba(255,255,255,.08);border-color:var(--os-lime);color:#fff !important;}
.os-btn--ghost{border-color:var(--os-line);color:var(--os-ink) !important;}
.os-btn--light{background:#fff;color:var(--os-green-700) !important;}
.os-btn--lg{min-height:54px;padding:0 26px;font-size:16.5px;}

/* ---------------------------------------------------------------- chips */
.os-chip{border-radius:8px;border-width:1px;padding:8px 13px;font-weight:650;background:#fff;}
.os-chip:hover{background:var(--os-night);border-color:var(--os-night);color:var(--os-lime) !important;}
.os-chip[aria-current="true"],.os-chip.is-on{background:var(--os-night);border-color:var(--os-night);color:var(--os-lime) !important;}
a.os-chip--deal{background:var(--os-lime);border-color:var(--os-lime);color:var(--os-night) !important;}

/* --------------------------------------------------------------- badges */
.os-badge{border-radius:6px;font-weight:800;letter-spacing:.02em;}
.os-badge--sale{background:var(--os-red);}
.os-badge--new{background:var(--os-night);color:var(--os-lime);}

/* ------------------------------------------------------------ product cards */
.os-pc{border-radius:14px;border-color:var(--os-line);box-shadow:none;}
.os-pc:hover{border-color:var(--os-ink);box-shadow:var(--os-sh-2);transform:translateY(-3px);}
.os-pc__imgwrap{background:#f5f3ec !important;}
.os-pc__eyebrow{font-size:11px !important;font-weight:800 !important;letter-spacing:.09em !important;text-transform:uppercase;color:var(--os-muted) !important;}
.os-pc__t{font-family:var(--os-font) !important;font-weight:650 !important;color:var(--os-ink) !important;letter-spacing:-.01em;}
.os-pc__price{font-family:var(--os-display);font-weight:800;letter-spacing:-.02em;}
.os-pc__pg{color:var(--os-green) !important;}
.os-pc__buy a.button,
.os-pc__buy a.add_to_cart_button,
.os-pc__buy button,
.os-pc__buy .qvp .qvp-btn,
.os-pc__buy .qvp button{
  border-radius:var(--os-r) !important;background:var(--os-night) !important;color:#fff !important;border:0 !important;
  height:46px !important;min-height:46px !important;font-size:14.5px !important;letter-spacing:.01em !important;text-transform:none !important;}
.os-pc__buy a.button:hover,
.os-pc__buy a.add_to_cart_button:hover,
.os-pc__buy button:hover,
.os-pc__buy .qvp .qvp-btn:hover{background:var(--os-green) !important;color:#fff !important;}
.os-pc__buy a.added,.os-pc__buy a.add_to_cart_button.added{background:var(--os-green) !important;}
.os-pc__buy .qvp-select,.os-pc .qvp .qvp-select{border-radius:var(--os-r) !important;height:44px !important;border:1px solid var(--os-line) !important;
  background-color:var(--os-surface-2) !important;font-weight:650 !important;}
.os-pc__buy .added_to_cart{color:var(--os-green) !important;font-weight:700;}

/* ------------------------------------------------------------ category hero */
.os-cathero{position:relative;overflow:hidden;background:var(--os-night) !important;color:var(--os-on-dark);border-bottom:0 !important;padding:30px 0 0 !important;}
.os-cathero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(640px 260px at 100% 0%,rgba(61,180,108,.22),transparent 60%),
             radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.3px) 0 0/22px 22px;}
.os-cathero__in{position:relative;max-width:var(--os-max) !important;padding-inline:clamp(16px,3vw,32px) !important;}
.os-cathero .os-crumbs,.os-cathero .os-crumbs a{color:var(--os-on-dark-2) !important;}
.os-cathero .os-crumbs a:hover{color:var(--os-lime) !important;}
.os-cathero .os-crumbs span[aria-current]{color:#fff !important;}
.os-cathero__t{font-family:var(--os-display) !important;font-size:clamp(30px,3.6vw,48px) !important;font-weight:800 !important;line-height:1.02;color:#fff !important;letter-spacing:-.035em !important;}
.os-cathero__count{color:var(--os-lime) !important;}
.os-cathero__count svg{color:var(--os-lime);}
.os-cathero__desc{color:#c4d2c9 !important;font-size:15.5px !important;}
.os-cathero__more{color:var(--os-lime) !important;}
.os-cathero__flag{color:var(--os-lime) !important;}
.os-cathero__chips{padding-bottom:20px !important;}
.os-cathero .os-chip{background:var(--os-night-3);border-color:transparent;color:var(--os-on-dark) !important;}
.os-cathero .os-chip:hover{background:var(--os-night-2);border-color:var(--os-lime);color:#fff !important;}
.os-cathero .os-chip.is-on,.os-cathero .os-chip[aria-current="true"]{background:var(--os-lime);color:var(--os-night) !important;}
.os-cathero .os-chip__n{opacity:.65;}
.os-toolbar{background:rgba(250,248,243,.96) !important;border-bottom:1px solid var(--os-line) !important;}

/* ------------------------------------------------------------- breadcrumbs */
.os-pdp-crumbs{background:var(--os-surface-2);border-bottom:1px solid var(--os-line-2);}

/* --------------------------------------------------------------- product page */
.woocommerce div.product .product_title{font-family:var(--os-display) !important;font-weight:800 !important;letter-spacing:-.03em !important;}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--os-display);font-weight:800;color:var(--os-ink);}
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button{border-radius:var(--os-r) !important;background:var(--os-night) !important;color:#fff !important;}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover{background:var(--os-green) !important;}
.os-pdp-trust li svg{color:var(--os-green);}
.os-facts{border-radius:16px !important;}
.os-tier.is-best{border-color:var(--os-green) !important;background:var(--os-green-050) !important;}

/* ------------------------------------------------------------ page content */
.os-page__t{font-family:var(--os-display);font-weight:800;letter-spacing:-.03em;}
.os-utitle{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:8px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--os-ink);}
.os-utitle__t{margin:0;font-family:var(--os-display);font-size:clamp(22px,2.2vw,28px);font-weight:780;letter-spacing:-.02em;}
.os-utitle__more{font-size:14px;font-weight:700;text-decoration:none;}
.os-fbox{display:flex;gap:14px;align-items:flex-start;}
.os-fbox__img{width:56px;height:56px;object-fit:contain;flex:none;}
.os-fbox__t{margin:0 0 4px;font-size:18px;}

/* ----------------------------------------------------------------- mini cart */
.os-mc__hd{background:var(--os-night) !important;color:#fff !important;}
.os-mc__hd .os-iconbtn{color:#fff !important;}
.os-mc__t{color:#fff !important;font-family:var(--os-display);font-size:20px !important;}
.os-prog__fill{background:var(--os-green) !important;}
.os-prog__tick.is-hit{background:var(--os-green) !important;}

/* ------------------------------------------------------------- checkout flow */
.os-flow__i.is-on .os-flow__n{background:var(--os-night) !important;color:var(--os-lime) !important;}
.os-flow__i.is-done .os-flow__n{background:var(--os-green) !important;color:#fff !important;}

/* ================================================================= footer */
.os-footer{position:relative;background:var(--os-night) !important;color:var(--os-on-dark-2);margin-top:0;padding:0;}
.os-footer__road{height:4px;background:repeating-linear-gradient(90deg,var(--os-lime) 0 28px,transparent 28px 44px);opacity:.75;}
.os-footer__top{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);padding-block:clamp(40px,5vw,64px) 36px;}
.os-footer__word{display:inline-block;font-family:var(--os-display);font-size:30px;font-weight:800;letter-spacing:-.035em;line-height:1;color:#fff !important;text-decoration:none;}
.os-footer__word span{color:var(--os-lime);}
.os-footer__blurb{margin:14px 0 16px;font-size:14.5px;line-height:1.65;color:var(--os-on-dark-2);max-width:40ch;}
.os-footer__phone{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--os-r);background:var(--os-night-3);
  color:#fff !important;font-weight:700;font-size:15px;text-decoration:none;}
.os-footer__phone svg{color:var(--os-lime);}
.os-footer__phone:hover{background:var(--os-green);}
.os-footer__badge{margin-top:18px;max-width:320px;}
.os-footer__badge .cr-badge{margin:0 !important;}
.os-footer__ct{margin:0 0 14px;font-family:var(--os-font) !important;font-size:12px !important;font-weight:800 !important;letter-spacing:.12em !important;
  text-transform:uppercase;color:var(--os-lime) !important;}
.os-footer__col ul{list-style:none;margin:0;padding:0;}
.os-footer__col li{margin:0;}
.os-footer__col a{display:inline-block;padding:5px 0;color:var(--os-on-dark) !important;font-size:14.5px;text-decoration:none;}
.os-footer__col a:hover{color:var(--os-lime) !important;}
.os-footer__col--areas ul{columns:2;column-gap:18px;}
.os-footer__bar{border-top:1px solid var(--os-night-line);}
.os-footer__barin{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-block:18px;font-size:13px;}
.os-footer__barin p{margin:0;}
.os-footer__barin a{color:var(--os-on-dark-2) !important;}
.os-footer__legal{display:flex;align-items:center;gap:8px;}
.os-footer__age{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 7px;border-radius:5px;background:var(--os-lime);
  color:var(--os-night);font-weight:800;font-size:11.5px;}

@media (max-width:1099px){
  .os-footer__top{grid-template-columns:1fr 1fr;}
  .os-footer__brand{grid-column:1 / -1;}
}
@media (max-width:560px){
  .os-footer__top{grid-template-columns:1fr;gap:26px;}
  .os-footer__col--areas ul{columns:2;}
}

/* ------------------------------------------------------- notices & forms */
.woocommerce-message,.woocommerce-info{border-top-color:var(--os-green) !important;border-radius:var(--os-r);}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button{border-radius:var(--os-r);}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #place_order{background:var(--os-night) !important;color:#fff !important;border-radius:var(--os-r) !important;}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover{background:var(--os-green) !important;}

/* ---------------------------------------------------- category article */
.os-catcopy{max-width:880px;margin:44px auto 8px;padding:clamp(20px,3vw,32px);background:var(--os-surface-2);border:1px solid var(--os-line-2);border-radius:18px;}
.os-catcopy__in h2{font-size:clamp(22px,2.2vw,28px);margin:22px 0 10px;}
.os-catcopy__in h2:first-child{margin-top:0;}
.os-catcopy__in p{font-size:15.5px;line-height:1.7;color:var(--os-ink-2);}
.os-catcopy__in.is-clamped{max-height:300px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent);}
.os-catcopy__more{margin-top:12px;padding:10px 16px;border:1.5px solid var(--os-ink);border-radius:var(--os-r);background:#fff;color:var(--os-ink);
  font:inherit;font-size:14px;font-weight:750;cursor:pointer;min-height:0;text-transform:none;letter-spacing:0;}
.os-catcopy__more:hover{background:var(--os-night);color:var(--os-lime);border-color:var(--os-night);}

/* Old location-links strip printed after the footer; the footer column carries the same links. */
.osbs-footer-loc{display:none !important;}

/* ================================================================ city pages */
.os-cityhero{position:relative;overflow:hidden;background:var(--os-night);color:var(--os-on-dark);padding:26px 0 34px;}
.os-cityhero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(640px 280px at 100% 0%,rgba(61,180,108,.24),transparent 60%),
             radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.3px) 0 0/22px 22px;}
.os-cityhero .os-wrap{position:relative;}
.os-cityhero .os-crumbs{margin-bottom:18px;}
.os-cityhero .os-crumbs,.os-cityhero .os-crumbs a{color:var(--os-on-dark-2) !important;}
.os-cityhero .os-crumbs span[aria-current]{color:#fff !important;}
.os-cityhero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(24px,4vw,56px);align-items:center;}
.os-cityhero__t{margin:0 0 14px;font-family:var(--os-display);font-size:clamp(34px,4.6vw,60px);font-weight:800;line-height:1;letter-spacing:-.035em;color:#fff !important;}
.os-cityhero__lede{margin:0 0 24px;max-width:56ch;font-size:17px;line-height:1.6;color:#c4d2c9 !important;}
.os-cityfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;}
.os-cityfact{margin:0;padding:16px;border-radius:14px;background:var(--os-night-3);border:1px solid var(--os-night-line);}
.os-cityfact dt{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--os-on-dark-2);}
.os-cityfact dd{margin:0;font-size:16px;font-weight:750;color:#fff;}
.os-cityfact:first-child dd{font-family:var(--os-display);font-size:30px;color:var(--os-lime);letter-spacing:-.02em;line-height:1;}
.os-cityhero__near{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:26px 0 0;padding-top:18px;border-top:1px dashed var(--os-night-line);font-size:13.5px;color:var(--os-on-dark-2);}
.os-cityhero__near .os-mchip{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--os-night-3);color:var(--os-on-dark) !important;text-decoration:none;font-weight:650;}
.os-cityhero__near .os-mchip:hover{background:var(--os-lime);color:var(--os-night) !important;}
/* The pages' own bright green call-to-action band becomes the house night band. */
body.os-is-city .os-page__body section[style*="#22c55e"]{background:var(--os-night) !important;color:#fff;}
body.os-is-city .os-page__body section[style*="#22c55e"] *{color:#fff;}
body.os-is-city .os-page__body section[style*="#22c55e"] .os-btn{background:var(--os-lime) !important;color:var(--os-night) !important;}
body.os-is-city .os-page__body section[style*="#f9fafb"]{background:var(--os-surface-2) !important;}
@media (max-width:899px){
  .os-cityhero__grid{grid-template-columns:1fr;}
  .os-cityhero__t{font-size:clamp(32px,9vw,42px);}
}
body.os-is-city .os-page__body .os-sec{padding-top:clamp(28px,4vw,48px) !important;padding-bottom:clamp(28px,4vw,48px) !important;}
body.os-is-city .os-page__body h2{font-family:var(--os-display);font-size:clamp(24px,2.6vw,34px);font-weight:780;letter-spacing:-.025em;line-height:1.1;}
body.os-is-city .os-page__body h3{font-family:var(--os-display);letter-spacing:-.015em;}
body.os-is-city .os-banner[style*="#22c55e"],body.os-is-city .os-banner[style*="34, 197, 94"]{background:var(--os-night) !important;border-radius:18px;}
body.os-is-city .os-banner[style*="#22c55e"] *{color:#fff !important;}
body.os-is-city .os-grid{margin-top:8px;}

/* ------------------------------------------- floating promo tabs on phones
   The SALE tab (#cpf) and the Spin & Win tab (#osbs-wheel-tab) are vertical
   strips pinned to the screen edges, which on a 390px phone sit on top of
   product text. Turn them into two small pills stacked bottom-right, above the
   dock and clear of the chat bubble (left). Desktop keeps the edge tabs. */
@media (max-width:1099px){
  #cpf{top:auto !important;left:auto !important;right:12px !important;bottom:calc(var(--os-tabbar) + 70px + env(safe-area-inset-bottom,0px)) !important;transform:none !important;z-index:880 !important;}
  #cpf-tab{writing-mode:horizontal-tb !important;padding:8px 13px !important;border-radius:999px !important;background:var(--os-night) !important;color:var(--os-lime) !important;
    font-size:11.5px !important;letter-spacing:.12em !important;box-shadow:0 6px 16px rgba(0,0,0,.25) !important;border:0 !important;}
  #osbs-wheel-tab{top:auto !important;right:12px !important;left:auto !important;bottom:calc(var(--os-tabbar) + 28px + env(safe-area-inset-bottom,0px)) !important;transform:none !important;
    writing-mode:horizontal-tb !important;flex-direction:row !important;gap:6px !important;width:auto !important;height:36px !important;padding:0 13px !important;border-radius:999px !important;
    background:var(--os-lime) !important;color:var(--os-night) !important;box-shadow:0 6px 16px rgba(0,0,0,.25) !important;z-index:880 !important;}
  #osbs-wheel-tab *{writing-mode:horizontal-tb !important;transform:none !important;font-size:12px !important;color:var(--os-night) !important;}
  #gamesFlag{display:none !important;}
}
@media (max-width:1099px){
  #cpf-box{display:none !important;left:auto !important;right:0 !important;top:auto !important;bottom:calc(100% + 10px) !important;transform:none !important;
    width:230px !important;border-radius:14px !important;border:1px solid rgba(198,241,107,.3) !important;box-shadow:0 12px 30px rgba(0,0,0,.35) !important;}
  #cpf.is-open #cpf-box{display:block !important;}
  #cpf:hover #cpf-tab,#cpf.is-open #cpf-tab{opacity:1 !important;pointer-events:auto !important;}
}
