/* Controlled CMS storefront components — no editor-authored CSS */
body.sly-v2 .sly-cms-page {
  max-width: var(--sly-max, 1440px);
  margin: 0 auto;
}

body.sly-v2 .sly-cms-hero,
body.sly-v2 .sly-cms-campaign {
  position: relative;
  min-height: 70vh;
  display: grid;
  align-items: end;
  background: var(--sly-bg-soft, #18181b);
  overflow: hidden;
}

body.sly-v2 .sly-cms-hero__media img,
body.sly-v2 .sly-cms-hero__media video,
body.sly-v2 .sly-cms-campaign img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 70vh;
}

body.sly-v2 .sly-cms-hero__mobile { display: none; }
@media (max-width: 767px) {
  body.sly-v2 .sly-cms-hero__mobile { display: block; }
  body.sly-v2 .sly-cms-hero__desktop:not(:only-child) { display: none; }
}

body.sly-v2 .sly-cms-hero--soft .sly-cms-hero__content,
body.sly-v2 .sly-cms-campaign__content {
  background: linear-gradient(transparent, rgba(0,0,0,.72));
}

body.sly-v2 .sly-cms-hero__content,
body.sly-v2 .sly-cms-campaign__content {
  position: absolute;
  inset: auto 0 0;
  padding: var(--sly-space-7, 3rem) var(--sly-space-5, 1.5rem);
  color: var(--sly-fg, #f2f2f2);
}

body.sly-v2 .sly-cms-align-center { text-align: center; }
body.sly-v2 .sly-cms-align-right { text-align: right; }

body.sly-v2 .sly-cms-split {
  display: grid;
  gap: var(--sly-space-5, 1.5rem);
  padding: var(--sly-space-7, 3rem) var(--sly-space-5, 1.5rem);
}
@media (min-width: 768px) {
  body.sly-v2 .sly-cms-split { grid-template-columns: 1fr 1fr; align-items: center; }
  body.sly-v2 .sly-cms-split--right .sly-cms-split__media { order: 2; }
}

body.sly-v2 .sly-cms-split__media img,
body.sly-v2 .sly-cms-split__media video {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: var(--sly-bg-soft, #18181b);
}

body.sly-v2 .sly-cms-editorial,
body.sly-v2 .sly-cms-collection,
body.sly-v2 .sly-cms-carousel,
body.sly-v2 .sly-cms-grid,
body.sly-v2 .sly-cms-services,
body.sly-v2 .sly-cms-newsletter {
  padding: var(--sly-space-7, 3rem) var(--sly-space-5, 1.5rem);
}

body.sly-v2 .sly-cms-eyebrow {
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sly-fg-muted, #b3b3b3);
  font-size: var(--sly-fs-xs, .75rem);
}

body.sly-v2 .sly-cms-cta {
  display: inline-flex;
  min-height: var(--sly-touch, 44px);
  align-items: center;
  padding: 0 var(--sly-space-5, 1.5rem);
  border: 1px solid var(--sly-fg, #f2f2f2);
  color: var(--sly-bg, #0b0b0c);
  background: var(--sly-fg, #f2f2f2);
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none;
}

body.sly-v2 .sly-cms-products,
body.sly-v2 .sly-cms-grid__items {
  display: grid;
  gap: var(--sly-space-4, 1rem);
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  margin-top: var(--sly-space-5, 1.5rem);
}

body.sly-v2 .sly-cms-product,
body.sly-v2 .sly-cms-grid__item {
  border: 1px solid var(--sly-line, rgba(255,255,255,.12));
  padding: var(--sly-space-4, 1rem);
  color: inherit;
  text-decoration: none;
  min-height: var(--sly-touch, 44px);
}

body.sly-v2 .sly-cms-empty-media {
  min-height: 50vh;
  display: grid;
  place-items: center;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--sly-fg-subtle, #7a7a7f);
  background: var(--sly-bg-soft, #18181b);
}

body.sly-v2 .sly-cms-spacer--sm { height: var(--sly-space-4, 1rem); }
body.sly-v2 .sly-cms-spacer--md { height: var(--sly-space-7, 3rem); }
body.sly-v2 .sly-cms-spacer--lg { height: var(--sly-space-8, 4rem); }

body.sly-v2 .sly-cms-note { color: var(--sly-fg-muted, #b3b3b3); font-size: var(--sly-fs-sm, .875rem); }
