/** Shopify CDN: Minification failed

Line 30:0 All "@import" rules must come first

**/
/* =====================================================================
   BELLO VISION — pure B&W streetwear system for 1MIL THE BRAND
   Hard contrast. Tight grids. Brutalist type. No color.
   ===================================================================== */

:root {
  --bv-ink: #000000;
  --bv-ink-2: #0a0a0a;
  --bv-ink-3: #141414;
  --bv-bone: #ffffff;
  --bv-paper: #fafafa;
  --bv-line: #e6e6e6;
  --bv-line-dark: rgba(255, 255, 255, 0.14);
  --bv-muted: #6e6e6e;
  --bv-muted-dark: #a0a0a0;
  --bv-display-font: "Bebas Neue", "Anton", "Oswald", "Helvetica Neue", Inter, system-ui, sans-serif;
  --bv-mono-font: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --bv-body-font: "Inter", "Helvetica Neue", Arial, system-ui, sans-serif;
  --bv-radius: 0px;
  --bv-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --bv-page-max: 1440px;
  --bv-gutter: clamp(16px, 3vw, 32px);
}

@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap");

/* ---------- Global resets that bend Essentials into shape ---------- */
html, body { background: var(--bv-bone); color: var(--bv-ink); }
body { font-family: var(--bv-body-font); -webkit-font-smoothing: antialiased; }

/* Strip rounded corners across the theme */
.button, button, input, select, textarea, .card, .product-card, .image-with-text__heading,
.section, .swiper-slide, .input, .input__field {
  border-radius: 0 !important;
}

/* Headings: brutalist display caps everywhere */
h1, h2, h3, .h1, .h2, .h3,
.section__heading, .hero__heading, .slideshow__heading,
.section-heading, .heading,
.shopify-section h1, .shopify-section h2, .shopify-section h3 {
  font-family: var(--bv-display-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.005em !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
}

/* Override theme buttons to brutalist B&W slabs */
.button,
button.button,
.button--primary,
.button--secondary,
.button--tertiary,
.shopify-payment-button__button--unbranded {
  border-radius: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-family: var(--bv-mono-font) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 16px 22px !important;
  border-width: 1px !important;
  transition: all 0.2s var(--bv-ease) !important;
}

.button--primary,
button.button--primary {
  background: var(--bv-ink) !important;
  color: var(--bv-bone) !important;
  border: 1px solid var(--bv-ink) !important;
}

.button--primary:hover {
  background: var(--bv-bone) !important;
  color: var(--bv-ink) !important;
  border-color: var(--bv-ink) !important;
}

.button--secondary {
  background: var(--bv-bone) !important;
  color: var(--bv-ink) !important;
  border: 1px solid var(--bv-ink) !important;
}

.button--secondary:hover {
  background: var(--bv-ink) !important;
  color: var(--bv-bone) !important;
}

.button--tertiary {
  background: transparent !important;
  color: inherit !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  padding: 6px 0 !important;
  text-decoration: none !important;
}

/* =====================================================================
   HEADER / NAVBAR — clean centered-logo streetwear
   Flex row with absolute-positioned center logo (guaranteed centered
   regardless of menu width). Menu LEFT · logo CENTER · icons RIGHT.
   ===================================================================== */
.header-wrapper {
  background: var(--bv-bone);
  border-bottom: 1px solid var(--bv-ink);
  position: relative;
}

.header {
  background: var(--bv-bone) !important;
  color: var(--bv-ink) !important;
  padding: 0 !important;
}

.header .header-top { padding: 0 !important; }
.header .header-top > .container,
.header .header-top > .page-width {
  max-width: var(--bv-page-max);
  margin: 0 auto;
  padding: 0 var(--bv-gutter) !important;
}

/* The wrapper: relative box, flex children on the edges, abs-centered logo */
.header-top__wrapper,
.header-top__wrapper-left {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  min-height: 75px !important;
  flex-wrap: nowrap !important;
}

/* Mobile burger (header-drawer) — hidden on desktop, shown on tablet/mobile */
header-drawer { display: none !important; }
@media (max-width: 989px) {
  header-drawer {
    display: inline-flex !important;
    align-items: center !important;
    order: 1 !important;
  }
}

header-drawer summary.header__icon {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  list-style: none !important;
  cursor: pointer !important;
}
header-drawer summary.header__icon svg { width: 20px !important; height: 20px !important; color: var(--bv-ink) !important; }

/* MENU — left side (desktop only) */
.header__menu {
  order: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

@media (max-width: 989px) {
  .header__menu { display: none !important; }
}

.header__menu .list-menu,
.header__menu .list-menu--inline,
.header__menu ul {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  flex-wrap: nowrap !important;
}

.header__menu .list-menu li,
.header__menu ul li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.header__menu a,
.header__menu .header__menu-item,
.header__menu .list-menu__item {
  font-family: var(--bv-mono-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--bv-ink) !important;
  text-decoration: none !important;
  padding: 8px 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  white-space: nowrap !important;
}

.header__menu a > span { position: relative; display: inline-block; }

.header__menu a > span::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 1px;
  background: var(--bv-ink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s var(--bv-ease);
}

.header__menu a:hover > span::after { transform: scaleX(1); }

/* LOGO — absolutely centered in the wrapper. Always horizontally and vertically
   centered. Sized via the section setting (logo_width). */
.header-top__left,
.header-top__left.header-top__left-center {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important; /* clicks pass to the link inside */
  z-index: 2;
}

.header-top__logo {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

.header-top__logo h1.header__heading,
.header-top__logo .header__heading {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.header__heading-link {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

.header__heading-logo {
  width: var(--header-logo-width, 110px) !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* When the section was configured as logo_position: 'center', kill the
   localization rendering that Essentials puts in header-top__left. */
.header-top__left-center > * { display: none !important; }
.header-top__left-center > .header-top__logo { display: inline-flex !important; }

/* Center column placeholder so flex layout reserves space for the abs-logo */
.header-top__center {
  flex: 0 0 auto !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* RIGHT — icons (search, account, cart) */
.header-top__right {
  order: 99 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

.header-top__right .header__icon,
.header-top__right summary.header__icon {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--bv-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  list-style: none !important;
  cursor: pointer !important;
  position: relative !important;
}

.header-top__right .header__icon svg,
.header-top__right summary.header__icon svg {
  width: 18px !important;
  height: 18px !important;
}

.header-top__right .header__localization,
.header-top__right .header__info,
.header__country-selector,
.header__language-selector { display: none !important; }

.header-top__right .cart-count-bubble {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  background: var(--bv-ink) !important;
  color: var(--bv-bone) !important;
  font-family: var(--bv-mono-font) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  border-radius: 999px !important;
  padding: 1px 5px !important;
  min-width: 14px !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Sticky state — keep the same compact look */
sticky-header.shopify-section-header-sticky .header-top__wrapper {
  min-height: 64px !important;
}
sticky-header.shopify-section-header-sticky .header__heading-logo {
  width: calc(var(--header-logo-width, 110px) * 0.78) !important;
}

/* Mobile — burger left, logo center, icons right */
@media (max-width: 989px) {
  .header-top__wrapper,
  .header-top__wrapper-left {
    min-height: 60px !important;
  }
  .header__heading-logo {
    width: calc(var(--header-logo-width, 110px) * 0.85) !important;
    max-width: 44vw !important;
  }
  .header-top__right { gap: 6px !important; }
  .header-top__right .header__icon,
  .header-top__right summary.header__icon { width: 32px !important; height: 32px !important; }
}

/* Forms */
.input__field, input, textarea, select {
  border-radius: 0 !important;
  border: 1px solid var(--bv-ink) !important;
  background: transparent !important;
  font-family: var(--bv-mono-font) !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
}

/* Page max-width container helper */
.bv-container {
  max-width: var(--bv-page-max);
  margin: 0 auto;
  padding: 0 var(--bv-gutter);
}

.bv-eyebrow {
  font-family: var(--bv-mono-font);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--bv-muted);
  font-weight: 600;
  margin: 0 0 12px;
}

[data-scheme="dark"] .bv-eyebrow { color: var(--bv-muted-dark); }

.bv-display {
  font-family: var(--bv-display-font);
  text-transform: uppercase;
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0.005em;
}

/* ==========================================================
   HERO
   ========================================================== */
.bv-hero {
  position: relative;
  width: 100%;
  height: clamp(560px, 92vh, 920px);
  background: var(--bv-ink);
  overflow: hidden;
  color: var(--bv-bone);
}

/* Force white text inside hero — overrides Essentials' color scheme cascade
   that sets h1/p to the active scheme's text color. */
.bv-hero,
.bv-hero h1, .bv-hero h2, .bv-hero h3,
.bv-hero p, .bv-hero a,
.bv-hero .bv-hero__title,
.bv-hero .bv-hero__sub,
.bv-hero .bv-hero__eyebrow,
.bv-hero .bv-hero__meta { color: var(--bv-bone) !important; }

.bv-hero .bv-hero__cta { color: var(--bv-ink) !important; background: var(--bv-bone) !important; }
.bv-hero .bv-hero__cta:hover { color: var(--bv-bone) !important; background: transparent !important; }

.bv-hero__media {
  position: absolute;
  inset: 0;
}

.bv-hero__media img,
.bv-hero__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(100%) contrast(1.06);
}

.bv-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.10) 0%, rgba(0, 0, 0, 0.45) 70%, rgba(0, 0, 0, 0.75) 100%);
}

.bv-hero__content {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;            /* vertical = justify-content, horizontal = align-items */
  justify-content: flex-end;          /* default vertical = bottom (overridden inline) */
  align-items: flex-start;            /* default horizontal = left (overridden inline) */
  padding: var(--bv-gutter);
  padding-bottom: clamp(40px, 8vh, 80px);
}

.bv-hero__inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.bv-hero__eyebrow {
  font-family: var(--bv-mono-font);
  font-size: 11px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  opacity: 0.85;
  margin: 0 0 16px;
}

.bv-hero__title {
  font-family: var(--bv-display-font);
  font-size: clamp(56px, 11vw, 180px);
  line-height: 0.85;
  text-transform: uppercase;
  margin: 0 0 16px;
  letter-spacing: -0.005em;
}

.bv-hero__sub {
  font-size: clamp(14px, 1.4vw, 18px);
  max-width: 620px;
  margin: 0 0 28px;
  line-height: 1.5;
  opacity: 0.92;
}

.bv-hero__cta {
  display: inline-block;
  background: var(--bv-bone);
  color: var(--bv-ink);
  padding: 18px 28px;
  font-family: var(--bv-mono-font);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s var(--bv-ease);
  border: 1px solid var(--bv-bone);
}

.bv-hero__cta:hover {
  background: transparent;
  color: var(--bv-bone);
}

.bv-hero__meta {
  position: absolute;
  top: var(--bv-gutter);
  right: var(--bv-gutter);
  font-family: var(--bv-mono-font);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  opacity: 0.85;
}

/* ==========================================================
   MARQUEE
   ========================================================== */
.bv-marquee {
  background: var(--bv-ink);
  color: var(--bv-bone);
  padding: 18px 0;
  overflow: hidden;
  border-top: 1px solid var(--bv-ink);
  border-bottom: 1px solid var(--bv-ink);
  white-space: nowrap;
}

.bv-marquee__track {
  display: inline-flex;
  align-items: center;
  gap: 60px;
  animation: bv-marquee 30s linear infinite;
  padding-right: 60px;
}

.bv-marquee__item {
  font-family: var(--bv-display-font);
  font-size: clamp(28px, 4vw, 56px);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 60px;
}

.bv-marquee__item::after {
  content: "";
  width: 12px;
  height: 12px;
  background: var(--bv-bone);
  border-radius: 50%;
  flex-shrink: 0;
}

@keyframes bv-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ==========================================================
   DROP GRID (featured products)
   ========================================================== */
.bv-drop {
  padding: clamp(60px, 10vh, 120px) 0;
  background: var(--bv-bone);
}

.bv-drop__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding: 0 var(--bv-gutter);
  max-width: var(--bv-page-max);
  margin: 0 auto 40px;
  gap: 24px;
  flex-wrap: wrap;
}

.bv-drop__title {
  font-family: var(--bv-display-font);
  font-size: clamp(48px, 8vw, 120px);
  text-transform: uppercase;
  line-height: 0.85;
  margin: 0;
}

.bv-drop__link {
  font-family: var(--bv-mono-font);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--bv-ink);
  border-bottom: 1px solid var(--bv-ink);
  padding-bottom: 4px;
}

.bv-drop__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--bv-ink);
}

@media (max-width: 900px) {
  .bv-drop__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .bv-drop__grid { grid-template-columns: 1fr; }
}

.bv-drop__card {
  display: block;
  text-decoration: none;
  color: inherit;
  border-right: 1px solid var(--bv-ink);
  border-bottom: 1px solid var(--bv-ink);
  background: var(--bv-bone);
  transition: background 0.25s var(--bv-ease);
  position: relative;
}

.bv-drop__card:nth-child(3n) { border-right: 0; }

@media (max-width: 900px) {
  .bv-drop__card { border-right: 1px solid var(--bv-ink); }
  .bv-drop__card:nth-child(3n) { border-right: 1px solid var(--bv-ink); }
  .bv-drop__card:nth-child(2n) { border-right: 0; }
}

@media (max-width: 560px) {
  .bv-drop__card { border-right: 0 !important; }
}

.bv-drop__card:hover { background: var(--bv-paper); }

.bv-drop__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--bv-paper);
  position: relative;
}

.bv-drop__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.4s var(--bv-ease), transform 0.6s var(--bv-ease);
}

.bv-drop__card:hover .bv-drop__media img {
  filter: grayscale(0%);
  transform: scale(1.02);
}

.bv-drop__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--bv-ink);
  color: var(--bv-bone);
  font-family: var(--bv-mono-font);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 5px 9px;
  font-weight: 700;
}

.bv-drop__info {
  padding: 20px 18px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.bv-drop__name {
  font-family: var(--bv-display-font);
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0 0 4px;
  line-height: 1;
}

.bv-drop__cat {
  font-family: var(--bv-mono-font);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bv-muted);
  margin: 0;
}

.bv-drop__price {
  font-family: var(--bv-mono-font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

/* ==========================================================
   LOOKBOOK (editorial photo grid)
   ========================================================== */
.bv-lookbook {
  padding: clamp(60px, 10vh, 120px) 0;
  background: var(--bv-ink);
  color: var(--bv-bone);
}

.bv-lookbook__head {
  max-width: var(--bv-page-max);
  margin: 0 auto;
  padding: 0 var(--bv-gutter);
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 40px;
}

.bv-lookbook__title {
  font-family: var(--bv-display-font);
  font-size: clamp(48px, 8vw, 120px);
  text-transform: uppercase;
  line-height: 0.85;
  margin: 0;
}

.bv-lookbook__sub {
  max-width: 380px;
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.7;
  margin: 0;
}

.bv-lookbook__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 22vw;
  gap: 4px;
  padding: 0 4px;
}

.bv-lookbook__cell {
  position: relative;
  overflow: hidden;
  background: #1a1a1a;
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(255, 255, 255, 0.03) 0,
      rgba(255, 255, 255, 0.03) 1px,
      transparent 1px,
      transparent 14px
    );
  outline: 1px solid rgba(255, 255, 255, 0.06);
  outline-offset: -1px;
}

.bv-lookbook__cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.08);
  transition: transform 0.6s var(--bv-ease), filter 0.4s var(--bv-ease);
  position: relative;
  z-index: 1;
}

.bv-lookbook__cell:hover img {
  transform: scale(1.04);
  filter: grayscale(0%) contrast(1.0);
}

/* Empty-state placeholder shown when the cell has no image */
.bv-lookbook__empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  font-family: var(--bv-mono-font);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
  padding: 12px;
  z-index: 0;
}

.bv-lookbook__empty::before {
  content: "";
  width: 36px;
  height: 36px;
  border: 1px dashed rgba(255, 255, 255, 0.25);
  display: inline-block;
}

.bv-lookbook__cell--xl  { grid-column: span 7; grid-row: span 2; }
.bv-lookbook__cell--md1 { grid-column: span 5; grid-row: span 1; }
.bv-lookbook__cell--md2 { grid-column: span 5; grid-row: span 1; }
.bv-lookbook__cell--lg  { grid-column: span 5; grid-row: span 2; }
.bv-lookbook__cell--sm1 { grid-column: span 4; grid-row: span 1; }
.bv-lookbook__cell--sm2 { grid-column: span 3; grid-row: span 1; }

@media (max-width: 900px) {
  .bv-lookbook__grid { grid-auto-rows: 44vw; }
  .bv-lookbook__cell--xl  { grid-column: span 12; grid-row: span 1; }
  .bv-lookbook__cell--md1 { grid-column: span 6; grid-row: span 1; }
  .bv-lookbook__cell--md2 { grid-column: span 6; grid-row: span 1; }
  .bv-lookbook__cell--lg  { grid-column: span 12; grid-row: span 1; }
  .bv-lookbook__cell--sm1 { grid-column: span 6; grid-row: span 1; }
  .bv-lookbook__cell--sm2 { grid-column: span 6; grid-row: span 1; }
}

.bv-lookbook__caption {
  position: absolute;
  bottom: 14px;
  left: 14px;
  z-index: 2;
  font-family: var(--bv-mono-font);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bv-ink);
  background: var(--bv-bone);
  padding: 6px 10px;
}

/* ==========================================================
   UGC CAROUSEL
   ========================================================== */
.bv-ugc {
  padding: clamp(60px, 10vh, 120px) 0;
  background: var(--bv-bone);
  border-top: 1px solid var(--bv-ink);
  border-bottom: 1px solid var(--bv-ink);
}

.bv-ugc__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 24px;
  max-width: var(--bv-page-max);
  margin: 0 auto 28px;
  padding: 0 var(--bv-gutter);
}

.bv-ugc__title {
  font-family: var(--bv-display-font);
  font-size: clamp(40px, 6vw, 96px);
  text-transform: uppercase;
  line-height: 0.85;
  margin: 0;
}

.bv-ugc__handle {
  font-family: var(--bv-mono-font);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--bv-ink);
  border-bottom: 1px solid var(--bv-ink);
  padding-bottom: 4px;
}

.bv-ugc__track {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0 var(--bv-gutter);
  -webkit-overflow-scrolling: touch;
}

.bv-ugc__track::-webkit-scrollbar { display: none; }

.bv-ugc__card {
  flex: 0 0 clamp(220px, 22vw, 360px);
  aspect-ratio: 4 / 5;
  background: var(--bv-paper);
  scroll-snap-align: start;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.bv-ugc__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.3s var(--bv-ease), transform 0.5s var(--bv-ease);
}

.bv-ugc__card:hover img {
  filter: grayscale(0%);
  transform: scale(1.03);
}

.bv-ugc__handle-tag {
  position: absolute;
  left: 12px;
  bottom: 12px;
  font-family: var(--bv-mono-font);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bv-bone);
  background: var(--bv-ink);
  padding: 5px 8px;
}

/* ==========================================================
   FAQ + Trust + Sticky ATC + Size Guide
   ========================================================== */
.bv-faq { margin: 60px 0; }

.bv-faq__head {
  font-family: var(--bv-display-font);
  font-size: clamp(40px, 6vw, 88px);
  text-transform: uppercase;
  margin: 0 0 24px;
  line-height: 0.9;
}

.bv-faq__item { border-bottom: 1px solid var(--bv-line); }
[data-scheme="dark"] .bv-faq__item { border-color: var(--bv-line-dark); }

.bv-faq__q {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 22px 0;
  cursor: pointer;
  font-family: var(--bv-display-font);
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: inherit;
  line-height: 1;
}

.bv-faq__q::after {
  content: "+";
  font-family: var(--bv-mono-font);
  font-size: 22px;
  transition: transform 0.25s var(--bv-ease);
}

.bv-faq__item[data-open="true"] .bv-faq__q::after { transform: rotate(45deg); }

.bv-faq__a {
  display: none;
  padding: 0 0 24px;
  font-size: 15px;
  line-height: 1.65;
  max-width: 720px;
  opacity: 0.82;
}

.bv-faq__item[data-open="true"] .bv-faq__a { display: block; }

.bv-trust-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0;
  margin: 24px 0;
  border-top: 1px solid var(--bv-line);
  border-bottom: 1px solid var(--bv-line);
}

.bv-trust__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 12px;
  font-family: var(--bv-mono-font);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-right: 1px solid var(--bv-line);
  font-weight: 600;
}

.bv-trust__item:last-child { border-right: 0; }

.bv-trust__icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.bv-size-trigger {
  background: none;
  border: 0;
  padding: 0;
  font-family: var(--bv-mono-font);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
  color: inherit;
  font-weight: 600;
}

.bv-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 20px;
}

.bv-modal[data-open="true"] { display: flex; }

.bv-modal__panel {
  background: var(--bv-bone);
  color: var(--bv-ink);
  max-width: 760px;
  width: 100%;
  max-height: 88vh;
  overflow: auto;
  padding: 40px;
  border: 1px solid var(--bv-ink);
  position: relative;
}

.bv-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: 0;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  font-family: var(--bv-mono-font);
}

.bv-size-table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.bv-size-table th, .bv-size-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--bv-line);
  text-align: left;
  font-family: var(--bv-mono-font);
  font-size: 12px;
}
.bv-size-table thead th {
  background: var(--bv-ink);
  color: var(--bv-bone);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 10px;
  font-weight: 700;
}

/* Sticky ATC */
.bv-sticky-atc {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: var(--bv-ink);
  color: var(--bv-bone);
  padding: 14px 20px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  transform: translateY(110%);
  transition: transform 0.35s var(--bv-ease);
  z-index: 8000;
  border-top: 1px solid var(--bv-ink);
}

.bv-sticky-atc[data-visible="true"] { transform: translateY(0); }

.bv-sticky-atc__title {
  font-family: var(--bv-display-font);
  font-size: 20px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1;
}

.bv-sticky-atc__meta {
  font-family: var(--bv-mono-font);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-top: 4px;
}

.bv-sticky-atc__cta {
  background: var(--bv-bone);
  color: var(--bv-ink);
  border: 0;
  padding: 14px 24px;
  font-family: var(--bv-mono-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
}

.bv-sticky-atc__cta:hover { background: transparent; color: var(--bv-bone); outline: 1px solid var(--bv-bone); }

/* ==========================================================
   PRODUCT PAGE — accordion in info column + hide duplicate desc
   ========================================================== */
body.template-product .product-details { display: none !important; }

.bv-pdp-accordion {
  margin: 0;
  border-top: 1px solid var(--bv-line, #e6e6e6);
}

.bv-pdp-accordion + .bv-pdp-accordion {
  border-top: 0;
  margin-top: -1px;
}

.bv-pdp-accordion:last-of-type {
  border-bottom: 1px solid var(--bv-line, #e6e6e6);
}

.bv-pdp-acc__item { width: 100%; }

.bv-pdp-acc__q {
  width: 100%;
  background: transparent;
  border: 0;
  padding: 18px 0;
  cursor: pointer;
  font-family: var(--bv-mono-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: inherit;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1;
  text-align: left;
}

.bv-pdp-acc__icon {
  position: relative;
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.bv-pdp-acc__icon::before,
.bv-pdp-acc__icon::after {
  content: "";
  position: absolute;
  background: currentColor;
}

.bv-pdp-acc__icon::before {
  top: 50%;
  left: 0;
  right: 0;
  height: 1.5px;
  transform: translateY(-50%);
}

.bv-pdp-acc__icon::after {
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1.5px;
  transform: translateX(-50%);
  transition: transform 0.25s var(--bv-ease);
}

.bv-pdp-acc__item[data-open="true"] .bv-pdp-acc__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.bv-pdp-acc__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s var(--bv-ease), padding 0.35s var(--bv-ease);
  font-size: 14px;
  line-height: 1.65;
  opacity: 0.88;
}

.bv-pdp-acc__item[data-open="true"] .bv-pdp-acc__a {
  max-height: 2000px;
  padding: 0 0 22px;
}

.bv-pdp-acc__a p { margin: 0 0 12px; }
.bv-pdp-acc__a p:last-child { margin-bottom: 0; }
.bv-pdp-acc__a ul, .bv-pdp-acc__a ol { padding-left: 18px; margin: 0 0 12px; }
.bv-pdp-acc__a a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================
   PRODUCT PAGE OPTIMIZATION (overrides Essentials main-product)
   ========================================================== */
body.template-product .shopify-section--main-product,
body.template-product .main-product {
  padding-top: 32px !important;
}

body.template-product .main-product__title,
body.template-product .product__title,
body.template-product .product-title,
body.template-product [data-block-id="title"] h1,
body.template-product h1.section-heading {
  font-family: var(--bv-display-font) !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.005em !important;
  line-height: 0.92 !important;
  margin: 0 0 8px !important;
}

body.template-product .product__price,
body.template-product .price__regular,
body.template-product .price-item,
body.template-product .price {
  font-family: var(--bv-mono-font) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

body.template-product .product-form,
body.template-product .product__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

body.template-product .product__variants,
body.template-product .variant-picker label,
body.template-product .variant-input-wrap label {
  font-family: var(--bv-mono-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

body.template-product .variant-input-wrap input[type="radio"] + label,
body.template-product .product-form__input--swatch input[type="radio"] + label,
body.template-product .variant-input label {
  border-radius: 0 !important;
  border: 1px solid var(--bv-ink) !important;
  padding: 12px 16px !important;
  font-family: var(--bv-mono-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}

body.template-product .product__media img,
body.template-product .product-media img,
body.template-product .main-product__media img {
  filter: grayscale(0%);
  border-radius: 0 !important;
}

body.template-product .button.button--primary,
body.template-product button[name="add"],
body.template-product .product-form__submit {
  width: 100% !important;
  padding: 22px !important;
  font-size: 14px !important;
  letter-spacing: 0.2em !important;
}

/* Hide red urgency strip on product pages — pure B&W only */
.bv-urgency {
  background: var(--bv-ink);
  color: var(--bv-bone);
  text-align: center;
  padding: 12px 16px;
  font-family: var(--bv-mono-font);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
}

.bv-urgency span { font-weight: 700; }

/* ==========================================================
   LOADING SCREEN — white bg + black wordmark
   ========================================================== */
.bv-loader {
  position: fixed;
  inset: 0;
  background: var(--bv-bone);
  color: var(--bv-ink);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 28px;
  transition: opacity 0.7s var(--bv-ease), visibility 0.7s var(--bv-ease);
}

.bv-loader[data-state="done"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

body.bv-loading { overflow: hidden; }

.bv-loader__mark {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.bv-loader__logo {
  width: clamp(220px, 36vw, 420px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(8px);
  animation: bv-loader-rise 0.7s var(--bv-ease) 0.15s forwards;
}

.bv-loader__logo img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0); /* force pure black even if logo has off-black inks */
}

@keyframes bv-loader-rise {
  to { opacity: 1; transform: translateY(0); }
}

.bv-loader__bar {
  width: min(240px, 56vw);
  height: 1px;
  background: var(--bv-line);
  position: relative;
  overflow: hidden;
}

.bv-loader__bar::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 0%;
  background: var(--bv-ink);
  animation: bv-load 1.6s var(--bv-ease) forwards;
}

@keyframes bv-load {
  0%   { width: 0%; }
  60%  { width: 72%; }
  100% { width: 100%; }
}

.bv-loader__label {
  font-family: var(--bv-mono-font);
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--bv-muted);
}

/* ==========================================================
   MUSIC TOGGLE — icon-only circle, right-center
   ========================================================== */
.bv-music {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9000;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--bv-bone);
  color: var(--bv-ink);
  border: 1px solid var(--bv-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
  transition: background 0.25s var(--bv-ease), color 0.25s var(--bv-ease), transform 0.25s var(--bv-ease);
  padding: 0;
  position: fixed;
}

.bv-music:hover {
  transform: translateY(-50%) scale(1.08);
}

.bv-music[data-playing="true"] {
  background: var(--bv-ink);
  color: var(--bv-bone);
  border-color: var(--bv-ink);
}

.bv-music svg {
  position: absolute;
  inset: 0;
  margin: auto;
  transition: opacity 0.15s var(--bv-ease);
}

.bv-music .bv-music__play  { opacity: 1; }
.bv-music .bv-music__pause { opacity: 0; }

.bv-music[data-playing="true"] .bv-music__play  { opacity: 0; }
.bv-music[data-playing="true"] .bv-music__pause { opacity: 1; }

/* Mobile — move to bottom-right so it doesn't block content */
@media (max-width: 720px) {
  .bv-music {
    top: auto;
    bottom: 20px;
    right: 16px;
    transform: none;
  }
  .bv-music:hover { transform: scale(1.08); }
}

/* ==========================================================
   MOBILE OPTIMIZATION — global overrides for ≤720px
   ========================================================== */
@media (max-width: 720px) {
  :root {
    --bv-gutter: 14px;
  }

  /* HERO */
  .bv-hero { height: clamp(420px, 78vh, 720px) !important; }
  .bv-hero__title { font-size: clamp(48px, 13vw, 72px) !important; line-height: 0.88 !important; }
  .bv-hero__sub { font-size: 13px !important; max-width: 100% !important; }
  .bv-hero__eyebrow { font-size: 10px !important; letter-spacing: 0.3em !important; }
  .bv-hero__meta { font-size: 9px !important; top: 12px !important; right: 12px !important; letter-spacing: 0.18em !important; }
  .bv-hero__cta { padding: 14px 18px !important; font-size: 11px !important; }
  .bv-hero__content { padding-bottom: clamp(24px, 5vh, 48px) !important; }

  /* MARQUEE — smaller body marquee */
  .bv-marquee { padding: 12px 0 !important; }
  .bv-marquee__item { font-size: clamp(22px, 5vw, 32px) !important; gap: 36px !important; }
  .bv-marquee__item::after { width: 8px !important; height: 8px !important; }

  /* TOP banner — slightly tighter on mobile */
  .bv-topbar { height: 32px !important; line-height: 32px !important; }
  .bv-topbar__item { font-size: 10px !important; letter-spacing: 0.18em !important; gap: 24px !important; }

  /* DROP GRID — handled by section's inline media query, this is just safety */
  .bv-drop { padding: 40px 0 !important; }
  .bv-drop__title { font-size: clamp(40px, 12vw, 64px) !important; }
  .bv-drop__head { margin-bottom: 24px !important; gap: 14px !important; }
  .bv-drop__name { font-size: 18px !important; }
  .bv-drop__cat { font-size: 9px !important; letter-spacing: 0.16em !important; }
  .bv-drop__price { font-size: 12px !important; }
  .bv-drop__info { padding: 14px 12px !important; gap: 10px !important; }
  .bv-drop__badge { font-size: 9px !important; padding: 4px 7px !important; top: 10px !important; left: 10px !important; }

  /* LOOKBOOK */
  .bv-lookbook { /* padding handled inline */ }
  .bv-lookbook__title { font-size: clamp(44px, 13vw, 64px) !important; }
  .bv-lookbook__head { margin-bottom: 24px !important; flex-direction: column !important; align-items: flex-start !important; }
  .bv-lookbook__sub { font-size: 13px !important; max-width: 100% !important; }
  .bv-lookbook__grid { grid-auto-rows: 56vw !important; gap: 3px !important; padding: 0 3px !important; }
  .bv-lookbook__cell--xl,
  .bv-lookbook__cell--md1,
  .bv-lookbook__cell--md2,
  .bv-lookbook__cell--lg,
  .bv-lookbook__cell--sm1,
  .bv-lookbook__cell--sm2 { grid-column: span 12 !important; grid-row: span 1 !important; }
  .bv-lookbook__caption { font-size: 9px !important; padding: 4px 8px !important; letter-spacing: 0.18em !important; bottom: 10px !important; left: 10px !important; }

  /* WORN BY (also UGC carousel cards) */
  .bv-worn .bv-container { padding: 0 var(--bv-gutter) !important; }
  .bv-worn h2,
  .bv-ugc__title,
  .bv-ugc h2 { font-size: clamp(36px, 11vw, 56px) !important; }

  /* REVIEWS — stack single column */
  .bv-reviews .bv-container { padding: 0 var(--bv-gutter) !important; }
  .bv-reviews h2 { font-size: clamp(36px, 11vw, 56px) !important; }
  .bv-reviews [style*="grid-template-columns: repeat(auto-fit"] { grid-template-columns: 1fr !important; }

  /* FAQ */
  .bv-faq__head { font-size: clamp(36px, 11vw, 56px) !important; }
  .bv-faq__q { font-size: 16px !important; padding: 16px 0 !important; }
  .bv-faq__q::after { font-size: 18px !important; }
  .bv-faq__a { font-size: 14px !important; padding-bottom: 18px !important; }

  /* QUOTE / statement */
  .bv-quote h2,
  .bv-quote .bv-display { font-size: clamp(34px, 11vw, 56px) !important; }
  .bv-quote { padding: 60px 0 !important; }

  /* STATS strip */
  .bv-stats [style*="grid-template-columns: repeat(auto-fit"] { grid-template-columns: repeat(2, 1fr) !important; }
  .bv-stats [style*="font-family: var(--bv-display-font)"][style*="font-size: clamp(56px"] { font-size: clamp(40px, 13vw, 64px) !important; }

  /* NEWSLETTER stack already handled inline; tighten heading */
  .bv-newsletter h2 { font-size: clamp(36px, 11vw, 56px) !important; }
  .bv-newsletter input[type="email"] { font-size: 11px !important; padding: 14px 14px !important; }

  /* PRESS — smaller logos */
  .bv-press [style*="grid-template-columns: repeat(auto-fit"] { gap: 18px !important; }
  .bv-press span[style*="font-size: clamp(20px"] { font-size: clamp(16px, 5vw, 22px) !important; }

  /* SPLIT — image-text already stacks at 800px; tighten heading */
  .bv-split h2 { font-size: clamp(34px, 11vw, 56px) !important; }
  .bv-split [style*="padding: clamp(40px"] { padding: 32px 20px !important; }

  /* COLLECTION HERO */
  .bv-collection-hero { height: clamp(320px, 50vh, 460px) !important; }
  .bv-collection-hero h1 { font-size: clamp(44px, 14vw, 80px) !important; }

  /* COLLECTION GRID — 2 cols default on phones (collection-grid already has 2-col @ 900) */
  .bv-collection-grid [class*="bv-coll-grid"] { grid-template-columns: repeat(2, 1fr) !important; }
  .bv-collection-grid h3 { font-size: 14px !important; }
  .bv-collection-grid [style*="padding: 18px"] { padding: 12px !important; }

  /* PRODUCT extras — tighter urgency strip */
  .bv-urgency { font-size: 10px !important; letter-spacing: 0.16em !important; padding: 10px 12px !important; }
  .bv-trust__item { font-size: 10px !important; letter-spacing: 0.12em !important; padding: 14px 8px !important; }

  /* STICKY ATC */
  .bv-sticky-atc { padding: 10px 14px !important; gap: 12px !important; }
  .bv-sticky-atc__title { font-size: 16px !important; }
  .bv-sticky-atc__meta { font-size: 9px !important; letter-spacing: 0.14em !important; }
  .bv-sticky-atc__cta { padding: 12px 16px !important; font-size: 11px !important; letter-spacing: 0.14em !important; }

  /* PDP ACCORDION */
  .bv-pdp-acc__q { font-size: 11px !important; padding: 16px 0 !important; }
  .bv-pdp-acc__a { font-size: 13px !important; }

  /* MUSIC TOGGLE already collapses to bottom-right on mobile */
}

/* Even tighter on very small screens */
@media (max-width: 380px) {
  .bv-hero__title { font-size: 44px !important; }
  .bv-marquee__item { font-size: 22px !important; }
  .bv-lookbook__grid { grid-auto-rows: 70vw !important; }
}

/* ==========================================================
   Reduced motion
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  .bv-marquee__track,
  .bv-loader__monogram svg .bv-mono-fill,
  .bv-loader__bar::after,
  .bv-music[data-playing="true"] .bv-music__bars span,
  .bv-drop__media img,
  .bv-lookbook__cell img,
  .bv-ugc__card img {
    animation: none !important;
    transition: none !important;
  }
}
