/** Shopify CDN: Minification failed

Line 4361:0 Expected "}" to go with "{"

**/
:root {
  --bg: #000000;
  --surface: #000000;
  --text: #f5f5f5;
  --muted: #a7a7a7;
  --border: rgba(255, 255, 255, 0.10);
  --line-strong: rgba(255, 255, 255, 0.16);
  --button-bg: #f5f5f5;
  --button-text: #000000;
  --card-bg: rgba(255, 255, 255, 0.03);
  --input-bg: rgba(255, 255, 255, 0.04);
  --transition: 1s ease;
  --page-fade: 0.75s;
  --font: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --stage-w: 1440;
  --stage-h: 990;
  --stage-scale: 1;

  --header-h: 84px;
  --footer-h: 84px;

  --page-pad-x: 130px;
  --page-pad-top: 68px;
  --page-pad-bottom: 44px;
  --page-content-w: 1180px;

  --title-size: 70px;
  --title-track: 0.28em;
  --title-offset-x: 6px;

  --nav-size: 14px;
  --nav-track: 0.22em;
  --utility-size: 12px;
  --utility-track: 0.18em;
  --footer-font: 1rem;
  --footer-track: 0.64em;

  --hero-title-size: 76px;
  --hero-title-track: 0.34em;

  --card-radius: 26px;
  --card-gap: 18px;
  --field-h: 62px;
  --field-track: 0.14em;
  --thin-weight: 200;
}


* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  text-transform: uppercase;
  transition:
    background-color var(--transition),
    color var(--transition),
    border-color var(--transition);
}
a,
button,
input,
select,
textarea,
img,
div,
header,
footer,
main,
section,
article,
span,
h1,
h2,
h3,
p,
label {
  transition:
    background-color var(--transition),
    color var(--transition),
    border-color var(--transition),
    opacity var(--transition),
    transform var(--transition);
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}

.skip-link:focus {
  left: 16px;
  top: 16px;
  z-index: 9999;
  padding: 10px 14px;
  background: #101010;
  border: 1px solid var(--border);
  border-radius: 10px;
}

.viewport {
  position: fixed;
  inset: 0;
  overflow: hidden;
  background: var(--bg);
}

.stage {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--stage-w) * 1px);
  height: calc(var(--stage-h) * 1px);
  transform: translate(-50%, -50%) scale(var(--stage-scale));
  transform-origin: center center;
  background: var(--bg);
  overflow: hidden;
}

.site-header,
.site-footer {
  position: absolute;
  left: 0;
  width: 100%;
  background: var(--surface);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  border-color: var(--border);
}

.site-header {
  top: 0;
  height: var(--header-h);
  border-bottom: 1px solid var(--border);
  padding: 16px 24px;
}

.site-footer {
  bottom: 0;
  height: var(--footer-h);
  border-top: 1px solid var(--border);
  padding: 16px 24px;
}

.site-header-inner,
.site-footer-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.site-header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}

.header-side {
  min-width: 0;
}

.header-side-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
}

.site-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 0;
  white-space: nowrap;
  text-align: center;
}

.site-nav a,
.utility-link,
.footer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

.site-nav a {
  font-size: var(--nav-size);
  letter-spacing: var(--nav-track);
  font-weight: 400;
  padding: 0;
  border: 0;
  background: transparent;
}

.utility-link {
  font-size: var(--utility-size);
  letter-spacing: var(--utility-track);
  font-weight: 400;
}

.footer-link {
  font-size: var(--footer-font);
  letter-spacing: var(--footer-track);
  font-weight: 700;
}

.nav-sep {
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  line-height: 1;
}

.site-nav a:hover,
.utility-link:hover,
.footer-link:hover {
  opacity: 0.7;
}

main {
  position: absolute;
  left: 0;
  top: var(--header-h);
  width: 100%;
  height: calc(100% - var(--header-h) - var(--footer-h));
  background: var(--bg);
  overflow: hidden;
}

.page-view {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding: var(--page-pad-top) var(--page-pad-x) var(--page-pad-bottom);
  scrollbar-width: none;
}

.page-view::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.page-shell {
  width: min(100%, calc(var(--page-content-w) * 1px));
  min-height: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}

.page-title,
.hero-title,
.product-title,
.account-title,
.search-title,
.cart-title,
.about-title,
.collections-title {
  margin: 0;
  font-size: var(--title-size);
  font-weight: var(--thin-weight);
  letter-spacing: var(--title-track);
  line-height: 1;
  text-align: center;
  transform: translateX(var(--title-offset-x));
}

.hero-page-view {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: clamp(14px, 2vh, 22px);
  padding-bottom: clamp(14px, 2vh, 22px);
}

.hero-shell {
  width: min(100%, calc(var(--page-content-w) * 1px));
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-shell-home {
  position: relative;
}

.hero-media-wrap {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-media-home {
  position: relative;
  width: min(100%, 960px);
  aspect-ratio: 16 / 9;
  border-radius: 28px;
  overflow: hidden;
  background: #050505;
  border: 1px solid var(--border);
}

.hero-home-image,
.hero-home-placeholder,
.hero-media-home svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-home-placeholder {
  opacity: 0.5;
}

.hero-title {
  font-size: var(--hero-title-size);
  letter-spacing: var(--hero-title-track);
  line-height: 1.08;
  padding-top: 0.08em;
  transform: translateX(var(--title-offset-x));
}

.hero-title-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 20px;
  text-align: center;
  z-index: 2;
  pointer-events: none;
  text-shadow: 0 10px 40px rgba(0, 0, 0, 0.45);
}

.grid-wrap {
  width: 100%;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
  width: 100%;
}

.product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.collection-card,
.product-card,
.search-card,
.cart-card,
.product-panel,
.search-panel,
.cart-panel,
.state-panel {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
  background: var(--card-bg);
  overflow: hidden;
}

.collection-card:hover,
.product-card:hover,
.search-card:hover {
  border-color: var(--line-strong);
  transform: translateY(-2px);
}

.collection-thumb,
.product-thumb,
.search-thumb,
.product-media {
  background: #050505;
}

.collection-thumb,
.search-thumb {
  aspect-ratio: 16 / 10;
}

.product-thumb,
.product-media {
  aspect-ratio: 1 / 1;
}

.collection-thumb img,
.product-thumb img,
.search-thumb img,
.product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collection-body,
.product-body,
.search-body,
.cart-row,
.product-panel-inner,
.search-panel-inner,
.cart-panel-inner,
.state-panel-inner {
  padding: 22px;
}

.collection-name,
.product-name,
.search-name,
.cart-item-title,
.panel-title,
.price-text,
.quantity-label,
.variant-label {
  margin: 0;
  line-height: 1.25;
  letter-spacing: 0.08em;
}

.collection-name,
.product-name,
.search-name,
.cart-item-title,
.panel-title {
  font-size: 15px;
  font-weight: 500;
}

.price-text {
  color: var(--muted);
  font-size: 13px;
}

.stack-sm {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.stack-md {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.inline-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.input-field,
.select-field,
.quantity-input,
.search-field {
  width: 100%;
  min-height: var(--field-h);
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--input-bg);
  color: var(--text);
  padding: 0 24px;
  outline: none;
  text-transform: uppercase;
  letter-spacing: var(--field-track);
}

.select-field {
  appearance: none;
}

.primary-button,
.secondary-button,
.quantity-button,
.remove-button,
.update-button,
.checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--button-bg);
  color: var(--button-text);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
}

.secondary-button,
.quantity-button,
.remove-button,
.update-button {
  background: transparent;
  color: var(--text);
}

.primary-button:hover,
.secondary-button:hover,
.quantity-button:hover,
.remove-button:hover,
.update-button:hover,
.checkout-button:hover {
  opacity: 0.85;
}

.product-layout {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  gap: 26px;
  align-items: start;
}

.product-info {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.product-price-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.search-form-wrap {
  width: 100%;
  max-width: 760px;
}

.search-form {
  width: 100%;
}

.search-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
  width: 100%;
}

.search-empty,
.cart-empty {
  width: 100%;
  max-width: 720px;
}

.cart-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cart-row {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 18px;
  align-items: center;
}

.cart-media {
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  overflow: hidden;
  background: #050505;
}

.cart-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.cart-summary {
  width: 100%;
  max-width: 520px;
  align-self: flex-end;
}

.account-placeholder {
  width: 100%;
  max-width: 760px;
}

.meta-line {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.12em;
}

@media (max-width: 1180px) and (min-width: 768px) and (orientation: landscape) {
  .hero-media-home {
    width: min(100%, 860px);
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .hero-media-home {
    width: min(100%, 700px);
    border-radius: 24px;
  }

  .hero-title-overlay {
    padding: 18px;
  }
}

@media (max-width: 767px) {
  .hero-page-view {
    padding: 0;
  }

  .hero-shell-home {
    width: 100%;
  }

  .hero-media-wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .hero-media-home {
    width: auto;
    min-width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }

  .hero-title-overlay {
    padding: 24px;
  }
}

@media (max-width: 1180px) and (min-width: 768px) and (orientation: landscape) {
  :root {
    --stage-w: 1180;
    --stage-h: 860;
    --header-h: 82px;
    --footer-h: 82px;
    --page-pad-x: 82px;
    --page-pad-top: 58px;
    --page-pad-bottom: 34px;
    --page-content-w: 1016px;
    --title-size: 58px;
    --title-track: 0.24em;
    --title-offset-x: 5px;
    --hero-title-size: 64px;
    --hero-title-track: 0.30em;
    --footer-font: 0.95rem;
    --footer-track: 0.34em;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  :root {
    --stage-w: 820;
    --stage-h: 1020;
    --header-h: 92px;
    --footer-h: 92px;
    --page-pad-x: 58px;
    --page-pad-top: 86px;
    --page-pad-bottom: 48px;
    --page-content-w: 700px;
    --title-size: 62px;
    --title-track: 0.18em;
    --title-offset-x: 4px;
    --hero-title-size: 72px;
    --hero-title-track: 0.22em;
    --footer-font: 1.05rem;
    --footer-track: 0.26em;
    --nav-size: 13px;
    --utility-size: 11px;
  }

  .site-header-inner {
    grid-template-columns: 1fr;
    gap: 10px;
    justify-items: center;
  }

  .header-side-left {
    display: none;
  }

  .header-side-right {
    justify-content: center;
  }

  .card-grid,
  .product-grid,
  .search-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  :root {
    --stage-w: 390;
    --stage-h: 744;
    --header-h: 74px;
    --footer-h: 74px;
    --page-pad-x: 22px;
    --page-pad-top: 42px;
    --page-pad-bottom: 24px;
    --page-content-w: 346px;
    --title-size: 34px;
    --title-track: 0.12em;
    --title-offset-x: 2px;
    --hero-title-size: 40px;
    --hero-title-track: 0.16em;
    --footer-font: 0.84rem;
    --footer-track: 0.16em;
    --nav-size: 10px;
    --nav-track: 0.12em;
    --utility-size: 10px;
    --utility-track: 0.10em;
    --field-h: 52px;
    --card-gap: 12px;
  }

  .site-header-inner {
    grid-template-columns: 1fr;
    gap: 8px;
    justify-items: center;
  }

  .header-side-left {
    display: none;
  }

  .site-nav {
    gap: 8px;
    max-width: 100%;
  }

  .header-side-right {
    gap: 18px;
    justify-content: center;
  }

  .page-shell {
    gap: 18px;
  }

  .card-grid,
  .product-grid,
  .search-results-grid {
    grid-template-columns: 1fr;
  }

  .product-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .cart-row {
    grid-template-columns: 1fr;
  }

  .cart-controls {
    justify-content: flex-start;
  }

  .collection-body,
  .product-body,
  .search-body,
  .cart-row,
  .product-panel-inner,
  .search-panel-inner,
  .cart-panel-inner,
  .state-panel-inner {
    padding: 18px;
  }
}

@media (max-width: 932px) and (max-height: 500px) and (orientation: landscape) {
  :root {
    --stage-w: 932;
    --stage-h: 430;
    --header-h: 58px;
    --footer-h: 58px;
    --page-pad-x: 44px;
    --page-pad-top: 22px;
    --page-pad-bottom: 14px;
    --page-content-w: 842px;
    --title-size: 28px;
    --title-track: 0.12em;
    --title-offset-x: 2px;
    --hero-title-size: 36px;
    --hero-title-track: 0.16em;
    --footer-font: 0.72rem;
    --footer-track: 0.14em;
    --nav-size: 10px;
    --utility-size: 10px;
  }

  .site-header-inner {
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
  }

  .header-side-left {
    display: block;
  }

  .page-shell {
    gap: 14px;
  }

  .card-grid,
  .product-grid,
  .search-results-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .product-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  }
}
.hero-page-view {
  overflow-y: auto;
  overflow-x: hidden;
  display: block;
  padding-top: clamp(14px, 2vh, 22px);
  padding-bottom: clamp(14px, 2vh, 22px);
}

.hero-shell.hero-shell--stack {
  width: min(100%, calc(var(--page-content-w) * 1px));
  min-height: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.6vh, 28px);
}

.hero-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #050505;
}

.hero-image,
.hero-image-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-title.hero-title--overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  z-index: 2;
  text-align: center;
  line-height: 1.08;
  padding: 0 0.12em;
  transform: translateX(var(--title-offset-x));
  pointer-events: none;
}

.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.18);
  pointer-events: none;
  z-index: 1;
}

.hero-media--secondary .hero-title.hero-title--overlay {
  display: none;
}

/* iPad + desktop: image is a centered object */
@media (min-width: 768px) {
  .hero-media {
    max-width: 100%;
  }
}

/* mobile: each image fills the full visible home area */
@media (max-width: 767px) {
  .hero-page-view {
    padding-top: 0;
    padding-bottom: 0;
  }

  .hero-shell.hero-shell--stack {
    width: 100%;
    gap: 0;
  }

  .hero-media {
    width: calc(100% + (var(--page-pad-x) * 2));
    margin-left: calc(var(--page-pad-x) * -1);
    margin-right: calc(var(--page-pad-x) * -1);
    min-height: calc(100svh - var(--header-h) - var(--footer-h));
    aspect-ratio: auto;
  }

  .hero-title.hero-title--overlay {
    padding: 0 18px;
  }
}
.hero-page-view--double {
  position: relative;
  padding-bottom: 696px;
}

.hero-extra-media {
  position: absolute;
  left: 50%;
  top: calc(100% + 32px);
  width: min(100%, calc(var(--page-content-w) * 1px));
  aspect-ratio: 16 / 9;
  transform: translateX(-50%);
  overflow: hidden;
  background: #050505;
}

.hero-extra-media .hero-image,
.hero-extra-media .hero-image-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 1180px) and (min-width: 768px) and (orientation: landscape) {
  .hero-page-view--double {
    padding-bottom: 600px;
  }

  .hero-extra-media {
    top: calc(100% + 28px);
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .hero-page-view--double {
    padding-bottom: 422px;
  }

  .hero-extra-media {
    top: calc(100% + 24px);
  }
}

@media (max-width: 767px) {
  .hero-page-view--double {
    padding-bottom: calc(100svh - var(--header-h) - var(--footer-h));
  }

  .hero-extra-media {
    top: 100%;
    left: calc(var(--page-pad-x) * -1);
    width: calc(100% + (var(--page-pad-x) * 2));
    min-height: calc(100svh - var(--header-h) - var(--footer-h));
    aspect-ratio: auto;
    transform: none;
  }
}
.hero-home-actions {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% + 86px));
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  pointer-events: auto;
}

.hero-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 176px;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.34);
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
  backdrop-filter: blur(8px);
}

.hero-home-btn:hover {
  opacity: 0.82;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .hero-home-actions {
    transform: translate(-50%, calc(-50% + 78px));
    gap: 12px;
  }

  .hero-home-btn {
    min-width: 168px;
    min-height: 52px;
    font-size: 11px;
    letter-spacing: 0.16em;
  }
}

@media (max-width: 767px) {
  .hero-home-actions {
    width: calc(100% - 44px);
    transform: translate(-50%, calc(-50% + 58px));
    gap: 10px;
  }

  .hero-home-btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 48px;
    padding: 0 14px;
    font-size: 10px;
    letter-spacing: 0.14em;
  }
}
.hero-top-banner {
  position: absolute;
  left: 50%;
  top: 25%;
  width: min(calc(100% - 48px), 1120px);
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
}

.hero-top-banner-track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  overflow: hidden;
}

.hero-top-slot {
  flex: 0 0 clamp(120px, 14vw, 190px);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #050505;
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.hero-top-slot-image,
.hero-top-slot-placeholder {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .hero-top-banner {
    width: min(calc(100% - 36px), 760px);
  }

  .hero-top-banner-track {
    gap: 10px;
  }

  .hero-top-slot {
    flex: 0 0 clamp(118px, 20vw, 168px);
  }
}

@media (max-width: 767px) {
  .hero-top-banner {
    width: calc(100% - 20px);
  }

  .hero-top-banner-track {
    gap: 8px;
  }

  .hero-top-slot {
    flex: 0 0 clamp(92px, 28vw, 132px);
  }
}
.hero-media--primary {
  --hero-actions-offset: 86px;
}

.hero-home-actions {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% + var(--hero-actions-offset)));
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  pointer-events: auto;
}

.hero-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 176px;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.34);
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
  backdrop-filter: blur(8px);
}

.hero-home-btn:hover {
  opacity: 0.82;
}

.hero-bottom-banner {
  position: absolute;
  left: 50%;
  top: calc(75% + (var(--hero-actions-offset) / 2));
  width: min(calc(100% - 48px), 1120px);
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
}

.hero-bottom-banner-track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  overflow: hidden;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .hero-media--primary {
    --hero-actions-offset: 78px;
  }

  .hero-home-actions {
    gap: 12px;
  }

  .hero-home-btn {
    min-width: 168px;
    min-height: 52px;
    font-size: 11px;
    letter-spacing: 0.16em;
  }

  .hero-bottom-banner {
    width: min(calc(100% - 36px), 760px);
  }

  .hero-bottom-banner-track {
    gap: 10px;
  }
}

@media (max-width: 767px) {
  .hero-media--primary {
    --hero-actions-offset: 58px;
  }

  .hero-home-actions {
    width: calc(100% - 44px);
    gap: 10px;
  }

  .hero-home-btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 48px;
    padding: 0 14px;
    font-size: 10px;
    letter-spacing: 0.14em;
  }

  .hero-bottom-banner {
    width: calc(100% - 20px);
  }

  .hero-bottom-banner-track {
    gap: 8px;
  }
}
.hero-top-slot {
  flex: 0 0 clamp(160px, 18vw, 260px);
  aspect-ratio: 15 / 15;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .hero-top-slot {
    flex: 0 0 clamp(150px, 24vw, 220px);
  }
}

@media (max-width: 767px) {
  .hero-top-slot {
    flex: 0 0 clamp(120px, 34vw, 180px);
  }
}
.hero-top-banner,
.hero-bottom-banner {
  pointer-events: auto;
}

.hero-top-banner-track,
.hero-bottom-banner-track {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

.hero-top-banner-track::-webkit-scrollbar,
.hero-bottom-banner-track::-webkit-scrollbar {
  display: none;
}

/* mobile: allow finger swipe left/right */
@media (max-width: 767px) {
  .hero-top-banner-track,
  .hero-bottom-banner-track {
    touch-action: pan-x;
  }
}

/* desktop/tablet: no visible scrollbar, auto-pan on hover zones */
@media (min-width: 768px) {
  .hero-top-banner,
  .hero-bottom-banner {
    overflow: hidden;
  }

  .hero-top-banner::before,
  .hero-top-banner::after,
  .hero-bottom-banner::before,
  .hero-bottom-banner::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 18%;
    z-index: 4;
    pointer-events: auto;
  }

  .hero-top-banner::before,
  .hero-bottom-banner::before {
    left: 0;
  }

  .hero-top-banner::after,
  .hero-bottom-banner::after {
    right: 0;
  }
}
.hero-banner-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  pointer-events: auto;
}

.hero-banner-link:hover {
  opacity: 0.9;
}
.hero-page-view[data-page="home"] {
  overflow-y: hidden !important;
  overflow-x: hidden !important;
  touch-action: pan-x;
}
.page-view[data-page="collections"] {
  overflow-x: hidden;
}

.page-view[data-page="collections"] .card-grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

/* tablet and desktop: 3 per row, locked */
@media (min-width: 768px) {
  .page-view[data-page="collections"] {
    overflow-y: hidden !important;
    touch-action: none;
  }

  .page-view[data-page="collections"] .card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* mobile only: 2 per row, vertical scroll allowed */
@media (max-width: 767px) {
  .page-view[data-page="collections"] {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    padding-bottom: 24px;
  }

  .page-view[data-page="collections"] .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .page-view[data-page="collections"] .collection-body {
    padding: 14px;
  }

  .page-view[data-page="collections"] .collection-name {
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
  }
}
/* PRODUCT LISTING PAGES: allow full vertical scrolling on all devices */
.page-view[data-page="products"] {
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain;
  touch-action: pan-y !important;
  padding-bottom: 80px;
}

.page-view[data-page="products"] .page-shell {
  min-height: max-content !important;
  height: auto !important;
  justify-content: flex-start !important;
}

.page-view[data-page="products"] .grid-wrap {
  width: 100%;
  height: auto !important;
}

.page-view[data-page="products"] .product-grid {
  width: 100%;
  height: auto !important;
  align-content: start;
}

/* stop any desktop/tablet lock from overriding it */
@media (min-width: 768px) {
  .page-view[data-page="products"] {
    overflow-y: auto !important;
    touch-action: pan-y !important;
  }
}

/* mobile */
@media (max-width: 767px) {
  .page-view[data-page="products"] {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }
}
@media (max-width: 767px) {
  .page-view[data-page="products"] .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px;
  }

  .page-view[data-page="products"] .product-body {
    padding: 14px;
  }

  .page-view[data-page="products"] .product-name {
    font-size: 9px;
    line-height: 1.2;
  }

  .page-view[data-page="products"] .price-text {
    font-size: 11px;
  }
}
/* SEARCH PAGE: allow full vertical scrolling on all devices */
.page-view[data-page="search"] {
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain;
  touch-action: pan-y !important;
  padding-bottom: 40px;
}

.page-view[data-page="search"] .page-shell {
  min-height: max-content !important;
  height: auto !important;
  justify-content: flex-start !important;
}

.page-view[data-page="search"] .grid-wrap {
  width: 100%;
  height: auto !important;
}

.page-view[data-page="search"] .search-results-grid {
  width: 100%;
  height: auto !important;
  align-content: start;
}

/* mobile only: 2 results per row */
@media (max-width: 767px) {
  .page-view[data-page="search"] .search-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  .page-view[data-page="search"] .search-body {
    padding: 14px;
  }

  .page-view[data-page="search"] .search-name {
    font-size: 12px;
    line-height: 1.2;
  }

  .page-view[data-page="search"] .price-text {
    font-size: 11px;
  }
}
/* SEARCH PAGE: keep product images fully visible */
.page-view[data-page="search"] .search-thumb {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #050505;
}

.page-view[data-page="search"] .search-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  display: block;
}

/* tighter text box */
.page-view[data-page="search"] .search-body {
  padding: 10px 12px !important;
  min-height: 0 !important;
  gap: 4px !important;
}

/* clamp title with ellipsis */
.page-view[data-page="search"] .search-name {
  font-size: 12px;
  line-height: 1.15;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

/* compact price */
.page-view[data-page="search"] .price-text {
  font-size: 11px;
  line-height: 1;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* mobile: keep 2 per row and compact */
@media (max-width: 767px) {
  .page-view[data-page="search"] .search-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  .page-view[data-page="search"] .search-body {
    padding: 8px 10px !important;
  }

  .page-view[data-page="search"] .search-name {
    font-size: 11px;
  }

  .page-view[data-page="search"] .price-text {
    font-size: 10px;
  }
}
.page-view[data-page="search"] .search-name {
  font-size: 12px;
  line-height: 1.15;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.page-view[data-page="products"] .product-name {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.2;
}
:root {
  --mobile-page-y-offset: -26px;
}

@media (max-width: 767px) {
  .page-view[data-page="collections"] .page-shell,
  .page-view[data-page="products"] .page-shell,
  .page-view[data-page="search"] .page-shell,
  .page-view[data-page="cart"] .page-shell,
  .page-view[data-page="about"] .page-shell,
  .page-view[data-page="product"] .page-shell {
    transform: translateY(var(--mobile-page-y-offset));
  }
}
:root {
  --desktop-page-y-offset: -38px;
}

@media (min-width: 768px) {
  .page-view[data-page="collections"] .page-shell,
  .page-view[data-page="products"] .page-shell,
  .page-view[data-page="search"] .page-shell,
  .page-view[data-page="cart"] .page-shell,
  .page-view[data-page="about"] .page-shell {
    transform: translateY(var(--desktop-page-y-offset));
  }
}
.nav-sep-mobile-only,
.utility-link--mobile-nav {
  display: none;
}

.utility-link--desktop {
  display: inline-flex;
}

@media (max-width: 767px) {
  .site-header-inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    justify-items: center;
  }

  .header-side-left,
  .header-side-right {
    display: none !important;
  }

  .site-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 6px;
    max-width: 100%;
    overflow: hidden;
  }

  .site-nav a,
  .site-nav .utility-link--mobile-nav {
    font-size: 9px;
    letter-spacing: 0.08em;
  }

  .nav-sep {
    font-size: 9px;
  }

  .nav-sep-mobile-only,
  .utility-link--mobile-nav {
    display: inline-flex;
  }

  .utility-link--desktop {
    display: none !important;
  }
}
.nav-sep-mobile-only,
.utility-link--mobile-nav {
  display: none !important;
}

.utility-link--desktop {
  display: inline-flex !important;
}

@media (max-width: 767px) {
  .site-header-inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    justify-items: center;
  }

  .header-side-left,
  .header-side-right {
    display: none !important;
  }

  .site-nav {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 6px;
    max-width: 100%;
    overflow: hidden;
  }

  .site-nav a,
  .site-nav .utility-link--mobile-nav {
    font-size: 9px;
    letter-spacing: 0.08em;
  }

  .site-nav .nav-sep {
    font-size: 9px;
    line-height: 1;
  }

  .nav-sep-mobile-only,
  .utility-link--mobile-nav {
    display: inline-flex !important;
  }

  .utility-link--desktop {
    display: none !important;
  }
}
.page-view[data-page="product"] > .page-shell > .product-title {
  display: none !important;
}

.page-view[data-page="product"] .product-title--panel {
  display: block;
  margin: 0;
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.15;
  letter-spacing: 0.08em;
  font-weight: var(--thin-weight);
  text-align: left;
  transform: none;
}

@media (max-width: 767px) {
  .page-view[data-page="product"] .product-title--panel {
    font-size: 16px;
    line-height: 1.15;
    letter-spacing: 0.06em;
  }
}
.page-view[data-page="product"] > .page-shell > .product-title {
  display: none !important;
}

.page-view[data-page="product"] .product-layout {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  gap: 26px;
  align-items: stretch;
}

.page-view[data-page="product"] .product-panel {
  height: 100%;
}

.page-view[data-page="product"] .product-panel--details,
.page-view[data-page="product"] .product-panel--details .product-panel-inner {
  height: 100%;
}

.page-view[data-page="product"] .product-panel--details .product-panel-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.page-view[data-page="product"] .product-media {
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
}

.page-view[data-page="product"] .product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-view[data-page="product"] .product-title--panel {
  display: block;
  margin: 0;
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.15;
  letter-spacing: 0.08em;
  font-weight: var(--thin-weight);
  text-align: left;
  transform: none;
}

.page-view[data-page="product"] .product-desc-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}

.page-view[data-page="product"] .product-desc {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-transform: none;
}

.page-view[data-page="product"] .product-desc--clamped {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-view[data-page="product"] .product-show-more {
  align-self: flex-start;
  min-height: 42px;
  padding: 0 18px;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.product-popup[hidden] {
  display: none !important;
}

.product-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.product-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(8px);
}

.product-popup-dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(1120px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  transform: translate(-50%, -50%);
  border: 1px solid var(--border);
  background: var(--surface);
  overflow: auto;
}

.product-popup-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  min-height: 100%;
}

.product-popup-media {
  background: #050505;
}

.product-popup-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-popup-info {
  padding: 24px;
}

.product-popup-title {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1.15;
  letter-spacing: 0.06em;
  font-weight: var(--thin-weight);
  text-transform: uppercase;
}

.product-popup-description {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.03em;
  text-transform: none;
}

.product-popup-close {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid var(--border);
  background: rgba(0, 0, 0, 0.45);
  color: var(--text);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

body.product-popup-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .page-view[data-page="product"] .product-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .page-view[data-page="product"] .product-title--panel {
    font-size: 16px;
    line-height: 1.15;
    letter-spacing: 0.06em;
  }

  .page-view[data-page="product"] .product-desc {
    font-size: 11px;
  }

  .product-popup-dialog {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
  }

  .product-popup-grid {
    grid-template-columns: 1fr;
  }

  .product-popup-media {
    aspect-ratio: 1 / 1;
  }

  .product-popup-info {
    padding: 18px;
  }

  .product-popup-description {
    font-size: 12px;
  }
}
.product-popup-dialog {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.product-popup-dialog::-webkit-scrollbar {
  display: none;
}

.product-popup-description {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.product-popup-description::-webkit-scrollbar {
  display: none;
}
.product-popup-media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #050505;
  min-height: 0;
  overflow: hidden;
}

.product-popup-media img {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: min(72vh, 820px);
  object-fit: contain;
  display: block;
}
.page-view[data-page="product"] > .page-shell > .product-title {
  display: none !important;
}

.page-view[data-page="product"] .product-layout {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  gap: 26px;
  align-items: stretch;
}

.page-view[data-page="product"] .product-panel {
  height: 100%;
}

.page-view[data-page="product"] .product-panel--details,
.page-view[data-page="product"] .product-panel--details .product-panel-inner {
  height: 100%;
}

.page-view[data-page="product"] .product-panel--details .product-panel-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.page-view[data-page="product"] .product-media {
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
}

.page-view[data-page="product"] .product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-view[data-page="product"] .product-title--panel {
  display: block;
  margin: 0;
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.15;
  letter-spacing: 0.08em;
  font-weight: var(--thin-weight);
  text-align: left;
  transform: none;
}

.page-view[data-page="product"] .product-desc-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}

:root {
  --product-desc-lines: 2;
}

.page-view[data-page="product"] .product-desc {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-transform: none;
}

.page-view[data-page="product"] .product-desc--clamped {
  display: -webkit-box;
  -webkit-line-clamp: var(--product-desc-lines);
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-view[data-page="product"] .product-show-more {
  align-self: flex-start;
  min-height: 42px;
  padding: 0 18px;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.product-popup[hidden] {
  display: none !important;
}

.product-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.product-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(8px);
}

.product-popup-dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(1120px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  transform: translate(-50%, -50%);
  border: 1px solid var(--border);
  background: var(--surface);
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.product-popup-dialog::-webkit-scrollbar,
.product-popup-dialog *::-webkit-scrollbar {
  display: none;
}

.product-popup-dialog,
.product-popup-dialog * {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.product-popup-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 0;
  align-items: start;
}

.product-popup-media-column {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
}

.product-popup-media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #050505;
  overflow: hidden;
}

.product-popup-media img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.product-popup-info {
  padding: 24px;
}

.product-popup-title {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1.15;
  letter-spacing: 0.06em;
  font-weight: var(--thin-weight);
  text-transform: uppercase;
}

.product-popup-description {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.03em;
  text-transform: none;
}

.product-popup-close {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 1px solid var(--border);
  background: rgba(0, 0, 0, 0.45);
  color: var(--text);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

body.product-popup-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .page-view[data-page="product"] .product-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .page-view[data-page="product"] .product-title--panel {
    font-size: 16px;
    line-height: 1.15;
    letter-spacing: 0.06em;
  }

  .page-view[data-page="product"] .product-desc {
    font-size: 11px;
  }

  .product-popup-dialog {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
  }

  .product-popup-grid {
    grid-template-columns: 1fr;
  }

  .product-popup-media-column {
    padding: 14px;
    gap: 10px;
  }

  .product-popup-info {
    padding: 18px;
  }

  .product-popup-description {
    font-size: 12px;
  }
}
.product-popup-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 0;
  align-items: start;
}

.product-popup-media-column {
  padding: 18px;
}

.product-popup-media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-popup-media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #050505;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}

.product-popup-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@media (max-width: 767px) {
  .product-popup-grid {
    grid-template-columns: 1fr;
  }

  .product-popup-media-column {
    padding: 14px;
  }

  .product-popup-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}
.product-popup-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 0;
  align-items: start;
}

.product-popup-media-column {
  padding: 18px;
}

.product-popup-media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-popup-media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #050505;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}

.product-popup-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.product-popup-info img,
.product-popup-info .product-popup-media,
.product-popup-info .product-media,
.product-popup-info .product-thumb {
  display: none !important;
}

@media (max-width: 767px) {
  .product-popup-grid {
    grid-template-columns: 1fr;
  }

  .product-popup-media-column {
    padding: 14px;
  }

  .product-popup-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}
.product-popup-media {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}

.product-popup-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.28s ease, opacity 0.28s ease;
  transform-origin: center center;
}

.product-popup-image.is-zoomed {
  position: fixed;
  inset: 18px;
  width: calc(100vw - 36px);
  height: calc(100vh - 36px);
  max-width: none;
  max-height: none;
  z-index: 10020;
  background: rgba(0, 0, 0, 0.96);
  cursor: zoom-out;
  padding: 18px;
  object-fit: contain;
}

.product-popup.popup-image-expanded .product-popup-grid,
.product-popup.popup-image-expanded .product-popup-close,
.product-popup.popup-image-expanded .product-popup-info {
  position: relative;
}

.product-popup.popup-image-expanded .product-popup-info {
  opacity: 0;
  pointer-events: none;
}

.product-popup.popup-image-expanded .product-popup-media-column {
  opacity: 1;
}

body.product-popup-image-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .product-popup-image.is-zoomed {
    inset: 10px;
    width: calc(100vw - 20px);
    height: calc(100vh - 20px);
    padding: 10px;
  }
}
.product-popup-media {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}

.product-popup-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.28s ease, opacity 0.28s ease;
  transform-origin: center center;
  will-change: transform;
}

.product-popup-image.is-zoomed {
  position: fixed;
  left: 50%;
  top: 50%;
  width: min(92vw, 92vh);
  height: min(92vw, 92vh);
  max-width: calc(100vw - 36px);
  max-height: calc(100vh - 36px);
  z-index: 10020;
  background: rgba(0, 0, 0, 0.96);
  cursor: grab;
  padding: 18px;
  object-fit: contain;
  transform: translate(-50%, -50%) scale(1);
}

.product-popup-image.is-zoomed.is-dragging {
  cursor: grabbing;
}

.product-popup.popup-image-expanded .product-popup-info {
  opacity: 0;
  pointer-events: none;
}

body.product-popup-image-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .product-popup-image.is-zoomed {
    width: calc(100vw - 20px);
    height: calc(100vh - 20px);
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    padding: 10px;
  }
}
.product-popup.popup-image-expanded .product-popup-close {
  display: none !important;
}
:root {
  --product-page-desktop-y-offset: -32px;
}

@media (min-width: 768px) {
  .page-view[data-page="product"] .page-shell {
    transform: translateY(var(--product-page-desktop-y-offset));
  }
}
.page-view[data-page="product"] .select-field {
  width: 100%;
  min-height: var(--field-h);
  border-radius: 999px;
  border: 1px solid var(--border);
  background-color: var(--input-bg);
  color: var(--text);
  padding: 0 48px 0 24px;
  outline: none;
  text-transform: uppercase;
  letter-spacing: var(--field-track);
  font-family: var(--font);
  font-size: 12px;
  font-weight: 400;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-shadow: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--text) 50%),
    linear-gradient(135deg, var(--text) 50%, transparent 50%);
  background-position:
    calc(100% - 24px) calc(50% - 3px),
    calc(100% - 18px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.page-view[data-page="product"] .select-field:hover {
  border-color: var(--line-strong);
}

.page-view[data-page="product"] .select-field:focus {
  border-color: var(--line-strong);
  background-color: rgba(255, 255, 255, 0.06);
}

.page-view[data-page="product"] .select-field option {
  background: #000000;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .page-view[data-page="product"] .select-field {
    font-size: 11px;
    padding: 0 42px 0 18px;
    background-position:
      calc(100% - 20px) calc(50% - 3px),
      calc(100% - 14px) calc(50% - 3px);
  }
}
.search-filters {
  position: relative;
  flex: 0 0 auto;
  margin-left: auto;
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.search-filters--waiting {
  opacity: 0;
  transform: translateX(24px);
  pointer-events: none;
}

.search-performed .search-filters {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.search-filter-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, 88vw);
  padding: 16px;
  border: 1px solid currentColor;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 20;
}
.cart-empty .state-panel-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.cart-empty .panel-title {
  margin: 0;
  text-align: center;
}
:root {
  --site-header-height: 72px; /* change if your header is taller */
  --site-footer-height: 72px; /* change if your footer is taller */
}

html,
body {
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.page-view[data-page="products"] {
  position: fixed;
  top: var(--site-header-height);
  bottom: var(--site-footer-height);
  left: 0;
  right: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.page-view[data-page="products"] .page-shell {
  min-height: 100%;
  box-sizing: border-box;
  padding: 24px 20px 32px;
}

.page-view[data-page="products"] .grid-wrap {
  overflow: visible;
}

.products-pagination {
  margin-top: 28px;
  padding-bottom: 12px;
}

.products-pagination-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.pagination-btn,
.pagination-page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 10px 14px;
  text-decoration: none;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.pagination-btn:hover,
.pagination-page:hover {
  transform: translateY(-1px);
}

.pagination-btn.disabled,
.pagination-page.is-current,
.pagination-page.is-ellipsis {
  opacity: 0.5;
  pointer-events: none;
}

.pagination-pages {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 749px) {
  :root {
    --site-header-height: 58px;
    --site-footer-height: 64px;
  }

  .page-view[data-page="products"] .page-shell {
    padding: 18px 14px 24px;
  }

  .products-pagination {
    margin-top: 22px;
  }

  .products-pagination-inner {
    gap: 8px;
  }

  .pagination-btn,
  .pagination-page {
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px;
  }
}
@media (max-width: 767px) {
  .page-view[data-page="products"] {
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }

  .page-view[data-page="products"] .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }

  .page-view[data-page="products"] .product-thumb {
    aspect-ratio: 1 / 1;
  }

  .page-view[data-page="products"] .product-body {
    padding: 16px;
  }

  .page-view[data-page="products"] .product-name {
    font-size: 12px;
    line-height: 1.2;
  }

  .page-view[data-page="products"] .price-text {
    font-size: 11px;
  }
}


@media (max-width: 767px) {
  .page-view[data-page="product"] {
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain;
    touch-action: pan-y !important;
  }

  .page-view[data-page="product"] .page-shell {
    min-height: max-content !important;
    height: auto !important;
    justify-content: flex-start !important;
  }

  .page-view[data-page="product"] .product-layout {
    width: 100%;
    height: auto !important;
    align-items: start !important;
  }

  .page-view[data-page="product"] .product-panel,
  .page-view[data-page="product"] .product-panel--details,
  .page-view[data-page="product"] .product-panel--details .product-panel-inner,
  .page-view[data-page="product"] .product-media {
    height: auto !important;
    min-height: 0 !important;
  }
}
:root {
  --d1esktop-page-y-offset: -50px;
}

@media (min-width: 768px) {
  .page-view[data-page="products"] .page-shell {
    transform: translateY(var(--d1esktop-page-y-offset));
  }
}
@media (max-width: 768px) {
  .site-footer {
    height: 38px;
  }

  .site-footer-inner {
    min-height: 38px;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .site-footer-inner {
    min-height: 38px;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .site-footer-inner .footer-link {
    position: relative;
    top: 5px;
  }
}
.page-view[data-page="search"] {
  padding-bottom: 96px;
}

.page-view[data-page="search"] .page-shell {
  padding-bottom: 72px;
}

.page-view[data-page="search"] .products-pagination {
  padding-bottom: 48px;
}
@media (max-width: 767px) {
  :root {
    --page-pad-bottom: 24px; /* lower this */
  }
}
@media (max-width: 767px) {
  :root {
    --footer-h: 38px;
  }
}
@media (max-width: 767px) {
  .page-view[data-page="products"] .page-shell {
    padding-bottom: 0;
    margin-bottom: -11px; /* allow negative */
  }

  .page-view[data-page="products"] .products-pagination {
    padding-bottom: 0;
    margin-bottom: -26px; /* allow negative */
  }
}
body.page-enter.page-exit {
  opacity: 1;
}
.page-view[data-page="cart"] form {
  display: flex;
  flex-direction: column;
  gap: 24px; /* adjust this number */
}
.page-view[data-page="cart"] form {
  display: flex;
  flex-direction: column;
  gap: 24px; /* adjust */
}

.page-view[data-page="cart"] .cart-summary {
  align-self: flex-start !important;
  margin-right: auto;
  margin-left: 0;
}
.page-view[data-page="search"].search-has-active-filters {
  padding-bottom: 96px !important; /* adjust as needed */
}
/* iPad / tablet: move Search + Cart into the main nav group */
@media (min-width: 768px) and (max-width: 1024px) {
  .site-header-inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    justify-items: center;
  }

  .header-side-left,
  .header-side-right {
    display: none !important;
  }

  .site-nav {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 8px;
    max-width: 100%;
    overflow: hidden;
  }

  .site-nav a,
  .site-nav .utility-link--mobile-nav {
    font-size: 11px;
    letter-spacing: 0.10em;
  }

  .site-nav .nav-sep {
    font-size: 11px;
    line-height: 1;
  }

  .nav-sep-mobile-only,
  .utility-link--mobile-nav {
    display: inline-flex !important;
  }

  .utility-link--desktop {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="product"] .product-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .page-view[data-page="product"] .product-panel,
  .page-view[data-page="product"] .product-panel--details,
  .page-view[data-page="product"] .product-panel--details .product-panel-inner,
  .page-view[data-page="product"] .product-media {
    height: auto !important;
    min-height: 0 !important;
  }
}
@media (min-width: 1025px) {
  .page-view[data-page="collections"] .collections-mobile-centerpiece {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="collections"] {
    --collections-mobile-centerpiece-offset-y: 20px;   /* vertical position */
    --collections-mobile-centerpiece-gap: 16px;        /* gap between lines and image */
    --collections-mobile-centerpiece-size: 84px;       /* image size */
    --collections-mobile-line-length: 240px;           /* line length */
    --collections-mobile-line-thickness: 1px;          /* line thickness */
  }

  .page-view[data-page="collections"] .collections-mobile-centerpiece {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--collections-mobile-centerpiece-gap);
    margin-top: var(--collections-mobile-centerpiece-offset-y);
    margin-bottom: 18px;
  }

  .page-view[data-page="collections"] .collections-mobile-centerpiece-line {
    flex: 0 0 var(--collections-mobile-line-length);
    width: var(--collections-mobile-line-length);
    height: var(--collections-mobile-line-thickness);
    background: currentColor;
    opacity: 0.45;
  }

  .page-view[data-page="collections"] .collections-mobile-centerpiece-image-wrap {
    flex: 0 0 var(--collections-mobile-centerpiece-size);
    width: var(--collections-mobile-centerpiece-size);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: transparent;
  }

  .page-view[data-page="collections"] .collections-mobile-centerpiece-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="collections"] {
    --collections-mobile-centerpiece-offset-y: 70px; /* move down */
  }
}
/* phone-only landscape block for tall/narrow phones */
html.phone-rotation-locked,
html.phone-rotation-locked body {
  overflow: hidden !important;
}

html.phone-rotation-locked .viewport {
  visibility: hidden !important;
  pointer-events: none !important;
}

html.phone-rotation-locked body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #000000;
  color: #f5f5f5;
  text-align: center;
  letter-spacing: 0.18em;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
}
/* mobile + iPad: Search and Cart become icon-only buttons in main nav */
.utility-link--mobile-icon {
  position: relative;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1;
}

.header-icon {
  width: 16px;
  height: 16px;
  display: block;
  stroke: currentColor;
}

.mobile-cart-count {
  position: absolute;
  top: -7px;
  right: -9px;
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0;
}

/* remove the extra separator lines tied to mobile Search/Cart */
.nav-sep-mobile-only {
  display: none !important;
}

/* phone */
@media (max-width: 767px) {
  .site-nav {
    gap: 8px !important;
  }

  .utility-link--mobile-nav.utility-link--mobile-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 4px;
  }

  .utility-link--mobile-nav.utility-link--mobile-icon .header-icon {
    width: 16px;
    height: 16px;
  }
}

/* iPad / tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .site-nav {
    gap: 10px !important;
  }

  .utility-link--mobile-nav.utility-link--mobile-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 6px;
  }

  .utility-link--mobile-nav.utility-link--mobile-icon .header-icon {
    width: 18px;
    height: 18px;
  }
}
/* base icon size */
.header-icon {
  width: 22px;
  height: 22px;
}

/* phone */
@media (max-width: 767px) {
  .utility-link--mobile-nav.utility-link--mobile-icon {
    width: 22px;
    height: 22px;
  }

  .utility-link--mobile-nav.utility-link--mobile-icon .header-icon {
    width: 22px;
    height: 22px;
  }

  .mobile-cart-count {
    top: -8px;
    right: -10px;
    font-size: 9px;
  }
}

/* iPad / tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .utility-link--mobile-nav.utility-link--mobile-icon {
    width: 24px;
    height: 24px;
  }

  .utility-link--mobile-nav.utility-link--mobile-icon .header-icon {
    width: 24px;
    height: 24px;
  }

  .mobile-cart-count {
    top: -8px;
    right: -10px;
    font-size: 9px;
  }
}
/* PRODUCT PAGE: desktop scroll using the same pattern as Products page */
@media (min-width: 1025px) {
  .page-view[data-page="product"] {
    height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain;
  }

  .page-view[data-page="product"] .page-shell {
    min-height: 100% !important;
    height: auto !important;
    padding-bottom: 32px !important;
  }
}
/* PRODUCT PAGE: desktop scroll using the same pattern as Products page */
@media (min-width: 768px) {
  .page-view[data-page="product"] .product-layout {
    align-items: start !important;
  }
}
/* DESKTOP ONLY: large centered similar-products panel under the main product area */
@media (min-width: 1025px) {
  .page-view[data-page="product"] .product-panel--similar-mobile {
    display: none !important;
  }

  .page-view[data-page="product"] .product-panel--similar-desktop {
    display: block;
    width: 100%;
    margin: 26px auto 0;
    align-self: center;
  }

  .page-view[data-page="product"] .product-panel--similar-desktop .product-panel-inner {
    padding: 22px;
  }

  .page-view[data-page="product"] .similar-products-title {
    margin: 0 0 18px 0;
    text-align: center;
    letter-spacing: 0.16em;
    font-size: 14px;
    line-height: 1;
  }

  .page-view[data-page="product"] .similar-products-grid--desktop {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: var(--card-gap);
    width: 100%;
    margin-top: 6px;
  }

  .page-view[data-page="product"] .similar-products-grid--desktop .similar-product-card .product-thumb {
    aspect-ratio: 1 / 1;
  }

  .page-view[data-page="product"] .similar-products-grid--desktop .similar-product-card .product-body {
    padding: 16px;
  }

  .page-view[data-page="product"] .similar-products-grid--desktop .similar-product-card .product-name {
    font-size: 12px;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
  }

  .page-view[data-page="product"] .similar-products-grid--desktop .similar-product-card .price-text {
    font-size: 11px;
  }
}

@media (max-width: 1024px) {
  .page-view[data-page="product"] .product-panel--similar-desktop {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .page-view[data-page="product"] .product-panel--similar-desktop {
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch;
  }

  .page-view[data-page="product"] .product-panel--similar-desktop .product-panel-inner {
    height: auto !important;
    min-height: 0 !important;
  }

  .page-view[data-page="product"] .similar-products-grid--desktop {
    height: auto !important;
    min-height: 0 !important;
    align-content: start;
  }
}
.page-view[data-page="product"] .similar-products-empty {
  width: 100%;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.16em;
  font-size: 12px;
  line-height: 1.2;
}
.page-view[data-page="product"] .similar-products-empty[hidden] {
  display: none !important;
}
  @media (min-width: 768px) {
    .page-view[data-page="cart"] {
      height: 100dvh !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      -webkit-overflow-scrolling: touch;
    }

    .page-view[data-page="cart"] .page-shell {
      min-height: 100%;
      height: auto !important;
      padding-bottom: 48px !important;
    }

    .page-view[data-page="cart"] form {
      display: block !important;
      min-height: 0;
    }

    .page-view[data-page="cart"] .cart-list {
      min-height: 0;
      overflow: visible !important;
    }

    .page-view[data-page="cart"] .cart-summary {
      display: block !important;
      position: relative !important;
      top: auto !important;
      right: auto !important;
      width: 100% !important;
      margin-top: 24px !important;
      clear: both;
    }
  }
    @media (max-width: 767px) {
    .page-view[data-page="product"] .product-popup .product-popup-dialog {
      padding-bottom: calc(var(--footer-h, 74px) + env(safe-area-inset-bottom, 0px) + 28px) !important; /* adjust this number */
    }

    .page-view[data-page="product"] .product-popup .product-popup-grid {
      padding-bottom: 40px !important; /* adjust this number */
    }
  }
  @media (max-width: 767px) {
    .page-view[data-page="product"] .product-popup .product-popup-dialog {
      padding-top: 50px !important; /* adjust this number */
    }

    .page-view[data-page="product"] .product-popup .product-popup-grid {
      padding-top: 50px !important; /* adjust this number */
    }
  }

  .page-view[data-page="cart"] .cart-card[data-product-url] {
  cursor: pointer;
}

.page-view[data-page="cart"] .cart-card[data-product-url] .cart-media,
.page-view[data-page="cart"] .cart-card[data-product-url] .cart-item-title,
.page-view[data-page="cart"] .cart-card[data-product-url] .price-text,
.page-view[data-page="cart"] .cart-card[data-product-url] .stack-sm {
  cursor: pointer;
}
@media (min-width: 768px) {
  .page-view[data-page="cart"] .page-shell {
    padding-bottom: 80px !important; /* adjust as needed */
  }
}
.page-view[data-page="cart"] .cart-item-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.25;
}
.page-view[data-page="search"] .search-name {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.15;
}
.page-view[data-page="search"] .search-body {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.page-view[data-page="search"] .search-name,
.page-view[data-page="search"] .price-text {
  padding-left: 2px;
  padding-right: 2px;
}

@media (max-width: 767px) {
  .page-view[data-page="search"] .search-body {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
@media (min-width: 768px) {
  .page-view[data-page="product"] .product-layout {
    gap: 15px !important; /* decrease side-by-side gap */
  }

.page-view[data-page="product"] .product-panel:first-child {
  min-width: 0;
}

.page-view[data-page="product"] .product-media {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto !important;
  min-height: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #050505;
}

.page-view[data-page="product"] .product-media img,
.page-view[data-page="product"] .main-product-image {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  display: block;
}

/* keep similar product image tiles fixed too */
.page-view[data-page="product"] .similar-product-card .product-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #050505;
}

.page-view[data-page="product"] .similar-product-card .product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  display: block;
}
.page-view[data-page="product"] .product-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto !important;
  min-height: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #050505;
}

.page-view[data-page="product"] .product-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--product-media-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: blur(28px);
  transform: scale(1.18);
  opacity: 0.9;
  pointer-events: none;
}

.page-view[data-page="product"] .product-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.16);
  pointer-events: none;
}

.page-view[data-page="product"] .main-product-image,
.page-view[data-page="product"] .product-media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  display: block;
}
@media (max-width: 767px) {
  .page-view[data-page="search"] {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    padding-bottom: 65px !important; /* increase this number as needed */
  }

  .page-view[data-page="search"] .page-shell {
    padding-bottom: 72px !important; /* optional extra inner spacing */
  }

  .page-view[data-page="search"] .search-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }
}
/* blurred image fill behind product thumbnails */
.product-thumb,
.search-thumb {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
}

.product-thumb::before,
.search-thumb::before {
  content: '';
  position: absolute;
  inset: -14px;
  background-image: var(--tile-fill-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(26px);
  transform: scale(1.12);
  opacity: 0.92;
  z-index: 0;
  pointer-events: none;
}

.product-thumb::after,
.search-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.06);
  z-index: 1;
  pointer-events: none;
}

.product-thumb img,
.search-thumb img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* keeps blur softer on smaller screens */
@media (max-width: 767px) {
  .product-thumb::before,
  .search-thumb::before {
    filter: blur(20px);
    transform: scale(1.08);
    opacity: 0.9;
  }
}
.page-view[data-page="search"] .search-thumb {
  position: relative;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #050505;
}

.page-view[data-page="search"] .search-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--search-thumb-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: blur(28px);
  transform: scale(1.18);
  opacity: 0.9;
  pointer-events: none;
}

.page-view[data-page="search"] .search-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.16);
  pointer-events: none;
}

.page-view[data-page="search"] .search-thumb img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  display: block;
}
/* blur-fill base */
.product-thumb,
.search-thumb {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
}

/* hidden by default so mobile never shows the blur too early */
.product-thumb::before,
.search-thumb::before {
  content: '';
  position: absolute;
  inset: -14px;
  background-image: var(--tile-fill-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(26px);
  transform: scale(1.12) translateZ(0);
  opacity: 0;
  z-index: 0;
  pointer-events: none;
}

/* only show once the real image is fully ready */
.product-thumb.tile-fill-ready::before,
.search-thumb.tile-fill-ready::before {
  opacity: 0.92;
}

.product-thumb::after,
.search-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.06);
  z-index: 1;
  pointer-events: none;
  opacity: 0;
}

.product-thumb.tile-fill-ready::after,
.search-thumb.tile-fill-ready::after {
  opacity: 1;
}

.product-thumb img,
.search-thumb img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: none !important;
}

@media (max-width: 767px) {
  .product-thumb::before,
  .search-thumb::before {
    filter: blur(18px);
    transform: scale(1.08) translateZ(0);
  }
}
 @media (max-width: 767px) {
    .page-view[data-page="search"] {
      padding-bottom: 68px !important; /* adjust this */
    }

    .page-view[data-page="search"] .page-shell {
      padding-bottom: 6px !important; /* adjust this */
    }
  }
    @media (min-width: 768px) {
    .page-view[data-page="search"].search-no-pagination {
      padding-bottom: 62px !important; /* adjust this */
    }

    .page-view[data-page="search"].search-no-pagination .page-shell {
      padding-bottom: 62px !important; /* adjust this */
    }
  }
  @media (max-width: 767px) {
    .page-view[data-page="search"].search-mobile-no-pagination {
      padding-bottom: 56px !important; /* adjust this */
    }

    .page-view[data-page="search"].search-mobile-no-pagination .page-shell {
      padding-bottom: 74px !important; /* adjust this */
    }
  }
    @media (max-width: 767px) {
    .page-view[data-page="search"].search-mobile-filtered-padding {
      padding-bottom: 56px !important; /* adjust this */
    }

    .page-view[data-page="search"].search-mobile-filtered-padding .page-shell {
      padding-bottom: 80px !important; /* adjust this */
    }
  }
  /* IPAD ONLY: normalize page bottoms to the footer without resizing objects */
@media (min-width: 768px) and (max-width: 1024px) {
  :root {
    --ipad-bottom-align-space: 64px; /* only number to adjust */
  }

  /* standard pages */
  .page-view[data-page="collections"],
  .page-view[data-page="products"],
  .page-view[data-page="search"],
  .page-view[data-page="cart"],
  .page-view[data-page="about"],
  .page-view[data-page="product"],
  .page-view[data-page="account"] {
    padding-bottom: var(--ipad-bottom-align-space) !important;
  }

  /* remove uneven extra bottom space added page-by-page */
  .page-view[data-page="collections"] .page-shell,
  .page-view[data-page="products"] .page-shell,
  .page-view[data-page="search"] .page-shell,
  .page-view[data-page="cart"] .page-shell,
  .page-view[data-page="about"] .page-shell,
  .page-view[data-page="product"] .page-shell,
  .page-view[data-page="account"] .page-shell {
    min-height: 100% !important;
    height: auto !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box;
  }

  /* pagination should not add a second bottom length */
  .page-view[data-page="products"] .products-pagination,
  .page-view[data-page="search"] .products-pagination {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="products"] {
    padding-bottom: 120px !important; /* adjust this number */
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="search"].search-ipad-pagination-padding {
    padding-bottom: 93px !important; /* adjust this number */
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="cart"] {
    padding-bottom: 110px !important; /* adjust this number */
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="products"] .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-view[data-page="search"] .search-results-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
  /* PRODUCT PAGE ONLY — 1920x1080 desktop bottom alignment */
  @media (min-width: 1600px) and (max-width: 1920px) and (min-height: 900px) and (max-height: 1080px) {
    :root {
      --product-desktop-bottom-align-space: 32px; /* adjust this number only */
    }

    .page-view[data-page="product"] {
      height: 100% !important; /* important: not 100dvh */
      overflow-y: auto !important;
      overflow-x: hidden !important;
      -webkit-overflow-scrolling: touch !important;
      overscroll-behavior-y: contain;
      padding-bottom: var(--product-desktop-bottom-align-space) !important;
    }

    .page-view[data-page="product"] .page-shell {
      min-height: 100% !important;
      height: auto !important;
      padding-bottom: 0 !important;
      margin-bottom: 0 !important;
      box-sizing: border-box;
    }
  }
    @media (min-width: 1025px) {
    .page-view[data-page="product"] {
      padding-bottom: 100 !important;
    }

    .page-view[data-page="product"] .page-shell {
      padding-bottom: 12px !important; /* decrease this number more if needed */
    }

    .page-view[data-page="product"] .product-panel--similar-desktop {
      margin-bottom: 0px !important; /* lowers extra bottom gap */
    }
  }
  .site-footer-inner .footer-link--checkout {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #ffffff;
  background: #ffffff;
  color: #000000 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  white-space: nowrap;
  box-sizing: border-box;
}

.site-footer-inner .footer-link--checkout:hover {
  opacity: 0.82;
}
@media (min-width: 1025px) {
  .product-card .product-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
  }
}
.site-footer-inner--shipping {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
}

.site-footer-inner--shipping .footer-main {
  justify-self: center;
}

.site-footer-inner--shipping .footer-side-right {
  justify-self: end;
  display: flex;
  align-items: center;
}

.footer-shipping-wrap {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.footer-shipping-trigger {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.footer-shipping-trigger:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

.footer-shipping-status {
  font: inherit;
  letter-spacing: 0.04em;
  opacity: 0.7;
  white-space: nowrap;
}

.bv-shipping-modal[hidden] {
  display: none !important;
}

.bv-shipping-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.bv-shipping-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.bv-shipping-dialog {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: min(460px, calc(100vw - 32px));
  border: 1px solid currentColor;
  border-radius: 28px;
  background: inherit;
  color: inherit;
}

.bv-shipping-dialog-inner {
  padding: 24px;
}

.bv-shipping-copy,
.bv-shipping-label,
.bv-shipping-error,
.shipping-text,
.cart-shipping-estimate {
  font: inherit;
  letter-spacing: 0.04em;
}

.bv-shipping-input {
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  outline: none;
}

.bv-shipping-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.bv-shipping-error {
  opacity: 0.8;
}

.shipping-text,
.cart-shipping-estimate {
  margin-top: 4px;
  opacity: 0.72;
}

.shipping-text[hidden],
.cart-shipping-estimate[hidden],
.footer-shipping-status[hidden],
.bv-shipping-error[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  .site-footer-inner--shipping {
    grid-template-columns: 1fr auto auto;
    gap: 10px;
  }

  .footer-shipping-trigger {
    min-height: 38px;
    padding: 0 14px;
  }

  .footer-shipping-status {
    display: none !important;
  }

  .bv-shipping-dialog-inner {
    padding: 20px;
  }
}
.hero-slogan {
  width: 100%;
  text-align: center;
  margin: 60px 0 0;
  padding: 0 16px;
  font-size: clamp(12px, 1.2vw, 18px);
  line-height: 1.2;
  letter-spacing: 0.08em;
  display: block;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .hero-slogan {
    margin-top: 14px;
    font-size: 12px;
    letter-spacing: 0.06em;
    
  }
}
@media screen and (min-width: 768px) {
  .hero-slogan1 {
    display: none !important;
  } 
}
@media screen and (max-width: 767px) {
  .hero-slogan1 {
        display: block !important;
    width: 100%;
    text-align: left !important;
    margin: 6px 0 0 !important;
    padding: 0 16px !important;
    align-self: flex-start !important;
  }
}
/* iPad only: spread home hero objects downward one by one */
@media (max-width: 1024px) and (min-width: 768px) {
  .hero-page-view[data-page="home"] .hero-media--primary {
    min-height: 620px;
  }

  /* top row of images */
  .hero-page-view[data-page="home"] .hero-top-banner {
    top: 21% !important;
  }

  /* title */
  .hero-page-view[data-page="home"] .hero-title.hero-title--overlay {
    transform: translate(var(--title-offset-x), 26px) !important;
  }

  /* two buttons */
  .hero-page-view[data-page="home"] .hero-home-actions {
    transform: translate(-50%, calc(-0% + 248px)) !important;
  }

  /* bottom row of images */
  .hero-page-view[data-page="home"] .hero-bottom-banner {
    top: calc(75% + 8px) !important;
  }

  /* bottom visible slogan only */
  .hero-page-view[data-page="home"] .hero-slogan {
    margin-top: 78px !important;
  }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .hero-page-view[data-page="home"] .hero-slogan {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .hero-page-view[data-page="home"] .hero-slogan {
    letter-spacing: 0.38em !important;
  }
}
@media (max-width: 767px) {
  .hero-page-view[data-page="home"] .hero-slogan1 {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, calc(-50% - 34px)) !important;
    width: calc(100% - 40px) !important;
    margin: 0 !important;
    text-align: center !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }
}
/* desktop only: scale only the collections group */
@media (min-width: 1025px) {
  .page-view[data-page="collections"] {
    --collections-desktop-group-scale: 1.16; /* adjust this */
  }

  .page-view[data-page="collections"] .grid-wrap {
    transform: scale(var(--collections-desktop-group-scale));
    transform-origin: top center;
  }
}
/* desktop only: 4 per row, centered last row */
@media (min-width: 1025px) {
  .page-view[data-page="collections"] {
    --collections-desktop-columns: 4;
  }

  .page-view[data-page="collections"] .card-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start;
    gap: var(--card-gap) !important;
  }

  .page-view[data-page="collections"] .collection-card,
  .page-view[data-page="collections"] .state-panel {
    flex: 0 0 calc(
      (100% - ((var(--collections-desktop-columns) - 1) * var(--card-gap)))
      / var(--collections-desktop-columns)
    );
    max-width: calc(
      (100% - ((var(--collections-desktop-columns) - 1) * var(--card-gap)))
      / var(--collections-desktop-columns)
    );
  }
}
/* iPad only: center any incomplete final row */
@media (max-width: 1024px) and (min-width: 768px) {
  .page-view[data-page="collections"] {
    --collections-ipad-columns: 3; /* adjust if needed */
  }

  .page-view[data-page="collections"] .card-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start;
    gap: var(--card-gap) !important;
  }

  .page-view[data-page="collections"] .collection-card,
  .page-view[data-page="collections"] .state-panel {
    flex: 0 0 calc(
      (100% - ((var(--collections-ipad-columns) - 1) * var(--card-gap)))
      / var(--collections-ipad-columns)
    );
    max-width: calc(
      (100% - ((var(--collections-ipad-columns) - 1) * var(--card-gap)))
      / var(--collections-ipad-columns)
    );
  }
}
@media (max-width: 767px) {
  .page-view[data-page="collections"] .collections-mobile-centerpiece {
    margin-bottom: 4px;
  }
}

:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --text: #0f0f0f;
  --muted: #5f5f5f;
  --border: rgba(0, 0, 0, 0.08);
  --line-strong: rgba(0, 0, 0, 0.14);
  --button-bg: #111111;
  --button-text: #ffffff;
  --card-bg: rgba(0, 0, 0, 0.025);
  --input-bg: rgba(0, 0, 0, 0.03);
  --transition: 1s ease;
  --page-fade: 0.75s;
  --footer-toggle-w: 78px;
  --footer-toggle-h: 42px;
  --footer-toggle-pad: 4px;
  --footer-toggle-knob: 32px;
  --footer-toggle-shift: 36px;
  --page-fade-color: #ffffff;
}

html[data-fade-theme="dark"] {
  --page-fade-color: #000000;
}

body.dark {
  --bg: #000000;
  --surface: #000000;
  --text: #f5f5f5;
  --muted: #a7a7a7;
  --border: rgba(255, 255, 255, 0.10);
  --line-strong: rgba(255, 255, 255, 0.16);
  --button-bg: #f5f5f5;
  --button-text: #000000;
  --card-bg: rgba(255, 255, 255, 0.03);
  --input-bg: rgba(255, 255, 255, 0.04);
}

html,
body,
.viewport,
.stage,
main {
  background: var(--bg) !important;
  color: var(--text) !important;
}

body.page-enter,
body.page-exit,
body.page-enter.page-exit {
  opacity: 1 !important;
}

a,
button,
input,
select,
textarea,
img,
div,
header,
footer,
main,
section,
article,
span,
h1,
h2,
h3,
p,
label {
  transition:
    background-color var(--transition),
    color var(--transition),
    border-color var(--transition),
    transform var(--transition);
}

.site-header,
.site-footer {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.site-nav a,
.utility-link,
.footer-link,
.site-header-inner,
.site-footer-inner,
.page-title,
.hero-title,
.product-title,
.account-title,
.search-title,
.cart-title,
.about-title,
.collections-title {
  color: var(--text);
}

.nav-sep {
  color: var(--muted) !important;
}

.site-footer,
.site-footer-inner {
  background: var(--surface);
  border-color: var(--border);
}

.site-footer-inner {
  position: relative;
  width: 100%;
}

.footer-theme-toggle {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.footer-theme-toggle__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.footer-theme-toggle__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: var(--footer-toggle-w);
  height: var(--footer-toggle-h);
  background: var(--switch-bg, #dcdcdc);
  border-radius: 999px;
  cursor: pointer;
  border: 1px solid var(--border);
  padding: var(--footer-toggle-pad);
}

.footer-theme-toggle__knob {
  position: absolute;
  width: var(--footer-toggle-knob);
  height: var(--footer-toggle-knob);
  border-radius: 50%;
  background: var(--switch-knob, #ffffff);
  top: var(--footer-toggle-pad);
  left: var(--footer-toggle-pad);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

body.dark .footer-theme-toggle__knob {
  transform: translateX(var(--footer-toggle-shift));
}

.site-footer-inner .footer-link--checkout,
.site-footer-inner .footer-link--checkout:link,
.site-footer-inner .footer-link--checkout:visited,
body.dark .site-footer-inner .footer-link--checkout,
body.dark .site-footer-inner .footer-link--checkout:link,
body.dark .site-footer-inner .footer-link--checkout:visited {
  color: #000000 !important;
}

#page-transition-overlay {
  position: fixed;
  inset: 0;
  background: var(--page-fade-color);
  opacity: 1;
  pointer-events: none;
  z-index: 2147483647;
  will-change: opacity;
  transition: opacity var(--page-fade) ease;
}

#page-transition-overlay:not(.is-visible) {
  opacity: 0;
}

@media (max-width: 767px) {
  :root {
    --footer-toggle-w: 72px;
    --footer-toggle-h: 40px;
    --footer-toggle-pad: 4px;
    --footer-toggle-knob: 30px;
    --footer-toggle-shift: 32px;
  }

  .footer-theme-toggle {
    right: 16px;
  }
}

@media (max-width: 932px) and (max-height: 500px) and (orientation: landscape) {
  :root {
    --footer-toggle-w: 62px;
    --footer-toggle-h: 34px;
    --footer-toggle-pad: 4px;
    --footer-toggle-knob: 24px;
    --footer-toggle-shift: 28px;
  }
}

/* HOME ONLY: make the main inner hero box transparent */
.page-view[data-page="home"] .hero-media.hero-media--primary {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* remove the dark overlay sitting on that box */
.page-view[data-page="home"] .hero-media.hero-media--primary::after {
  display: none !important;
  background: transparent !important;
}
/* HOME ONLY: remove border lines from all hero images/tiles */
.page-view[data-page="home"] .hero-top-slot,
.page-view[data-page="home"] .hero-media.hero-media--primary,
.page-view[data-page="home"] .hero-extra-media,
.page-view[data-page="home"] .hero-media,
.page-view[data-page="home"] .hero-image,
.page-view[data-page="home"] .hero-top-slot-image {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
/* HOME BUTTONS: always keep text white in all modes */
.page-view[data-page="home"] .hero-home-btn,
.page-view[data-page="home"] .hero-home-btn:link,
.page-view[data-page="home"] .hero-home-btn:visited,
body.dark .page-view[data-page="home"] .hero-home-btn,
body.dark .page-view[data-page="home"] .hero-home-btn:link,
body.dark .page-view[data-page="home"] .hero-home-btn:visited {
  color: #ffffff !important;
}
/* SEARCH FILTER PANEL: keep text white in all modes */
.page-view[data-page="search"] .search-filter-panel,
.page-view[data-page="search"] .search-filter-panel .search-filter-label,
.page-view[data-page="search"] .search-filter-panel .search-filter-check,
.page-view[data-page="search"] .search-filter-panel .search-filter-check span,
.page-view[data-page="search"] .search-filter-panel p,
.page-view[data-page="search"] .search-filter-panel label,
.page-view[data-page="search"] .search-filter-panel input,
.page-view[data-page="search"] .search-filter-panel input::placeholder,
body.dark .page-view[data-page="search"] .search-filter-panel,
body.dark .page-view[data-page="search"] .search-filter-panel .search-filter-label,
body.dark .page-view[data-page="search"] .search-filter-panel .search-filter-check,
body.dark .page-view[data-page="search"] .search-filter-panel .search-filter-check span,
body.dark .page-view[data-page="search"] .search-filter-panel p,
body.dark .page-view[data-page="search"] .search-filter-panel label,
body.dark .page-view[data-page="search"] .search-filter-panel input,
body.dark .page-view[data-page="search"] .search-filter-panel input::placeholder {
  color: #ffffff !important;
}
/* PRODUCT POPUP: remove background blur behind popup */
.page-view[data-page="product"] .product-popup-backdrop {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* PRODUCT POPUP: no blur and no darkening behind popup */
.page-view[data-page="product"] .product-popup-backdrop {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* PRODUCT POPUP: centered perfectly + 0.25s fade in/out */
.page-view[data-page="product"] .product-popup[hidden] {
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.page-view[data-page="product"] .product-popup {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.25s ease,
    visibility 0s linear 0.25s;
}

.page-view[data-page="product"] .product-popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity 0.25s ease,
    visibility 0s linear 0s;
}

/* keep the dialog perfectly centered */
.page-view[data-page="product"] .product-popup-dialog {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  opacity: 1 !important;
  transition: opacity 0.25s ease !important;
}

/* optional: fade buttons only, no movement */
.page-view[data-page="product"] .product-popup-close--desktop,
.page-view[data-page="product"] .product-popup-back-button {
  transition: opacity 0.25s ease !important;
}
