/** Shopify CDN: Minification failed

Line 243:14 Expected identifier but found whitespace
Line 243:15 Unexpected "var("

**/
/* ==========================================================================
   STASH VIBE — Chicago flag colors × high-energy street energy.
   Blue #41B6E6 + Red #E4002B on white. Own flavor, loud spirit.
   Rule: NEVER put color tints/overlays on branded imagery (product tins,
   logos). Colors live in UI chrome and section backgrounds only.
   ========================================================================== */

:root {
  --sv-blue: #41B6E6;
  --sv-red: #E4002B;
  --sv-ink: #111015;
  --sv-paper: #ffffff;
  --sv-sky: #E7F4FC;
  --sv-display-font: 'Barlow Condensed', 'Arial Narrow', Impact, sans-serif;
}

/* ---------------- Display type ---------------- */
.sv-display {
  font-family: var(--sv-display-font);
  font-weight: 800;
  text-transform: uppercase;
  line-height: 0.92;
  letter-spacing: 0.01em;
  margin: 0;
  color: var(--sv-ink);
  text-wrap: balance;
}
.sv-display--xl { font-size: clamp(3.2rem, 9vw, 7.5rem); }
.sv-display--lg { font-size: clamp(2.4rem, 6vw, 4.5rem); }
.sv-display--md { font-size: clamp(1.8rem, 4vw, 3rem); }
.sv-hl-blue { color: var(--sv-blue); }
.sv-hl-red { color: var(--sv-red); }
.sv-hl-outline {
  color: transparent;
  -webkit-text-stroke: 2px var(--sv-ink);
}
.sv-on-dark .sv-display, .sv-display.sv-on-dark { color: #fff; }
.sv-on-dark .sv-hl-outline, .sv-display.sv-on-dark .sv-hl-outline {
  -webkit-text-stroke: 2px #fff;
}

.sv-kicker {
  display: inline-block;
  font-family: var(--sv-display-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.85rem;
  background: var(--sv-ink);
  color: #fff;
  padding: 0.4em 1em;
  border-radius: 999px;
  margin: 0 0 1rem;
}
.sv-kicker--red { background: var(--sv-red); }
.sv-kicker--blue { background: var(--sv-blue); color: var(--sv-ink); }

.sv-sub {
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 34em;
  margin: 1rem 0 0;
}
.sv-on-dark .sv-sub { color: rgba(255, 255, 255, 0.88); }

/* ---------------- Sticker button ---------------- */
.sv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  font-family: var(--sv-display-font);
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--sv-blue);
  color: var(--sv-ink);
  border: 3px solid var(--sv-ink);
  border-radius: 999px;
  padding: 0.55em 1.5em;
  box-shadow: 5px 6px 0 var(--sv-ink);
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
  white-space: nowrap;
}
.sv-btn:hover { transform: translate(-2px, -2px); box-shadow: 7px 8px 0 var(--sv-ink); color: var(--sv-ink); }
.sv-btn:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--sv-ink); }
.sv-btn--red { background: var(--sv-red); color: #fff; }
.sv-btn--red:hover { color: #fff; }
.sv-btn--ink { background: var(--sv-ink); color: #fff; }
.sv-btn--ink:hover { color: #fff; }
.sv-btn--white { background: #fff; color: var(--sv-ink); }
.sv-btn--sm {
  font-size: 1rem;
  padding: 0.45em 1.2em;
  border-width: 2px;
  box-shadow: 4px 5px 0 var(--sv-ink);
}
.sv-btn--sm:hover { box-shadow: 6px 7px 0 var(--sv-ink); }
.sv-btn-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.75rem; }

/* ---------------- Ticker / marquee ---------------- */
.sv-ticker {
  overflow: hidden;
  background: var(--sv-red);
  color: #fff;
  border-top: 3px solid var(--sv-ink);
  border-bottom: 3px solid var(--sv-ink);
}
.sv-ticker--blue { background: var(--sv-blue); color: var(--sv-ink); }
.sv-ticker--ink { background: var(--sv-ink); color: #fff; }
.sv-ticker__track { display: flex; width: max-content; animation: sv-tick 24s linear infinite; }
.sv-ticker__chunk {
  display: flex;
  align-items: center;
  gap: 2.75rem;
  padding: 0.65rem 1.375rem 0.65rem 2.75rem;
  font-family: var(--sv-display-font);
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sv-ticker__chunk .sv-star { font-size: 0.9em; }
@keyframes sv-tick { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .sv-ticker__track { animation: none; }
}

/* ---------------- Cards & badges ---------------- */
.sv-card {
  background: #fff;
  border: 3px solid var(--sv-ink);
  border-radius: 22px;
  box-shadow: 7px 8px 0 var(--sv-ink);
}
.sv-badge {
  display: inline-block;
  font-family: var(--sv-display-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.85rem;
  background: var(--sv-red);
  color: #fff;
  border: 2px solid var(--sv-ink);
  border-radius: 999px;
  padding: 0.3em 1em;
}
.sv-badge--blue { background: var(--sv-blue); color: var(--sv-ink); }
.sv-badge--ink { background: var(--sv-ink); color: #fff; }

/* ---------------- Layout ---------------- */
.sv-section { padding: 76px 20px; }
.sv-wrap { max-width: 1200px; margin: 0 auto; }
.sv-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.sv-center { text-align: center; }
.sv-center .sv-sub { margin-left: auto; margin-right: auto; }
.sv-center .sv-btn-row { justify-content: center; }
@media (max-width: 860px) {
  .sv-split { grid-template-columns: 1fr; gap: 32px; }
  .sv-section { padding: 56px 18px; }
}

/* Imagery stays CLEAN — no color overlays, ever. Shape only. */
.sv-media { margin: 0; }
.sv-media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 24px;
}
.sv-media--card img {
  border: 3px solid var(--sv-ink);
  box-shadow: 7px 8px 0 var(--sv-ink);
}

/* Color-block sections (backgrounds only — never over imagery) */
.sv-block--white { background: var(--sv-paper); }
.sv-block--sky { background: var(--sv-sky); }
.sv-block--blue { background: var(--sv-blue); }
.sv-block--red { background: var(--sv-red); }
.sv-block--ink { background: var(--sv-ink); }
.sv-block--blue .sv-display, .sv-block--red .sv-display, .sv-block--ink .sv-display { color: #fff; }
.sv-block--blue .sv-sub, .sv-block--red .sv-sub, .sv-block--ink .sv-sub { color: rgba(255,255,255,0.9); }
.sv-block--blue .sv-kicker, .sv-block--red .sv-kicker { background: var(--sv-ink); }

/* ---------------- Announcement bar ---------------- */
.announcement-bar {
  background: var(--sv-blue) !important;
  border-bottom: 3px solid var(--sv-ink);
}
.announcement-bar .announcement-bar__text,
.announcement-bar p,
.announcement-bar a,
.announcement-bar span {
  font-family: var(--sv-display-font) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 0.95rem !important;
  color: var(--sv-ink) !important;
}

/* ---------------- Header ---------------- */
.header {
  border-bottom: 3px solid var(--sv-ink);
}
.header__menu-item,
.header-drawer__menu-item {
  font-family: var(--sv-display-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1.05rem;
}

/* ---------------- Footer ---------------- */
#shopify-section-footer_m9NzUG .section-background,
#shopify-section-footer_m9NzUG .section {
  background: var(--sv-ink) !important;
  color: #fff;
  border-top: 4px solid var(--sv-blue);
}
#shopify-section-footer_m9NzUG h2, #shopify-section-footer_m9NzUG h3 {
  font-family: var(--sv-display-font);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #fff;
}
#shopify-section-footer_m9NzUG a { color: rgba(255, 255, 255, 0.82); }
#shopify-section-footer_m9NzUG a:hover { color: var(--sv-blue); }
  font-family: var(--sv-display-font);
  font-weight: 800;
  font-size: clamp(3rem, 10vw, 7rem);
  text-transform: uppercase;
  line-height: 0.9;
  color: #fff;
  margin: 0;
}

/* ---------------- Native theme buttons: sticker treatment ---------------- */
.button:not(.button-unstyled),
.button-custom,
.shopify-payment-button__button--unbranded,
button[name="checkout"],
.cart-drawer__checkout-button {
  border: 3px solid var(--sv-ink) !important;
  box-shadow: 4px 5px 0 var(--sv-ink) !important;
  border-radius: 999px !important;
  font-family: var(--sv-display-font) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  transition: transform 0.12s ease, box-shadow 0.12s ease !important;
}
.button:not(.button-unstyled):hover,
.button-custom:hover,
button[name="checkout"]:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 7px 0 var(--sv-ink) !important;
}
.button:not(.button-unstyled):active,
.button-custom:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--sv-ink) !important;
}

/* ---------------- Product cards ---------------- */
.product-card {
  border: 3px solid var(--sv-ink);
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 6px 7px 0 var(--sv-ink);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.product-card:hover { transform: translate(-2px, -2px); box-shadow: 8px 9px 0 var(--sv-ink); }
.product-card .product-card__title {
  font-family: var(--sv-display-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 1.25rem;
}

/* ---------------- FAQ accordions ---------------- */
.sv-faq { max-width: 820px; margin: 0 auto; }
.sv-faq details {
  background: #fff;
  border: 3px solid var(--sv-ink);
  border-radius: 16px;
  box-shadow: 5px 6px 0 var(--sv-ink);
  margin-bottom: 1rem;
  overflow: hidden;
}
.sv-faq summary {
  font-family: var(--sv-display-font);
  font-weight: 700;
  font-size: 1.3rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 1.1rem 1.4rem;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.sv-faq summary::-webkit-details-marker { display: none; }
.sv-faq summary::after {
  content: "+";
  font-size: 1.8rem;
  line-height: 1;
  color: var(--sv-red);
  flex-shrink: 0;
}
.sv-faq details[open] summary::after { content: "–"; }
.sv-faq .sv-faq__answer { padding: 0 1.4rem 1.3rem; line-height: 1.6; }

/* ---------------- Reviews ---------------- */
.sv-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 900px) { .sv-reviews { grid-template-columns: 1fr; } }
.sv-review {
  background: #fff;
  border: 3px solid var(--sv-ink);
  border-radius: 20px;
  box-shadow: 6px 7px 0 var(--sv-ink);
  padding: 1.6rem;
}
.sv-review__stars { color: var(--sv-red); letter-spacing: 0.15em; font-size: 1.1rem; }
.sv-review__quote { font-size: 1.02rem; line-height: 1.55; margin: 0.8rem 0; }
.sv-review__name {
  font-family: var(--sv-display-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.95rem;
  color: rgba(17, 16, 21, 0.65);
}

/* ---------------- Trust row ---------------- */
.sv-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.75rem;
  align-items: center;
  margin-top: 1.25rem;
}
.sv-trust__item {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sv-display-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.95rem;
}
.sv-trust__item .sv-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  background: var(--sv-blue);
  border: 2px solid var(--sv-ink);
  border-radius: 50%;
  font-size: 0.85em;
}
