:root {
  --gold:           #A67828;
  --gold-light:     #C8973A;
  --page-bg:        #faf8f4;
  --hero-bg:        #f5f0e8;
  --card-bg:        #ffffff;
  --card-border:    #e8e0d0;
  --text-primary:   #2c2416;
  --text-secondary: #7a6a52;
  --text-muted:     #b0a090;
  --font-serif:     "Salter Roman", Georgia, serif;
  --font-sans:      "Salter Roman", Georgia, serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--page-bg);
  color: var(--text-primary);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

/* ── Hero ────────────────────────────────────────────────────── */
.hero {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  padding: 3rem 1.5rem;
  background: var(--hero-bg);
  border-bottom: 1px solid var(--card-border);
}
.hero-grid {
  position: absolute; inset: 0; opacity: .04;
  background-image:
    repeating-linear-gradient(0deg,  var(--gold) 0 1px, transparent 1px 32px),
    repeating-linear-gradient(90deg, var(--gold) 0 1px, transparent 1px 32px);
}
.hero-content { position: relative; text-align: center; }
.overline {
  font-size: .7rem; letter-spacing: .35em;
  text-transform: uppercase; color: var(--gold); margin-bottom: .75rem;
}
.hero-title {
  font-family: var(--font-serif); font-weight: 300;
  font-size: clamp(2rem, 5vw, 3.5rem); color: var(--text-primary); line-height: 1;
}

/* ── Main ────────────────────────────────────────────────────── */
.main { max-width: 62rem; margin: 0 auto; padding: 2.5rem 1.5rem 5rem; }

.back-link {
  display: inline-block; margin-bottom: 2rem;
  font-size: .65rem; letter-spacing: .15em; text-transform: uppercase;
  color: var(--gold); text-decoration: none; transition: opacity .15s;
}
.back-link:hover { opacity: .7; }

/* ── Video ───────────────────────────────────────────────────── */
.video-wrap {
  position: relative; padding-bottom: 46%;
  background: linear-gradient(135deg, #1a1008, #2d1f08);
  border: 1px solid var(--card-border); border-radius: 8px;
  overflow: hidden; margin-bottom: 2.5rem;
}
.video-placeholder {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1.25rem;
}
.play-btn {
  width: 88px; height: 88px; border-radius: 50%;
  background: rgba(166,120,40,.9); border: 2px solid rgba(200,151,58,.6);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.play-btn:hover { background: rgba(166,120,40,1); }
.play-btn svg { margin-left: 4px; }
.video-label {
  color: rgba(200,151,58,.6); font-size: .65rem;
  letter-spacing: .25em; text-transform: uppercase;
}

/* ── Product grid ────────────────────────────────────────────── */
.product-grid {
  display: grid; grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 700px) {
  .product-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Gallery ─────────────────────────────────────────────────── */
.gallery { display: flex; flex-direction: column; gap: .75rem; }

.main-img-wrap {
  position: relative; border-radius: 8px; overflow: hidden;
  border: 1px solid var(--card-border); background: var(--hero-bg);
  cursor: zoom-in;
}
.main-img-wrap img {
  width: 100%; height: 280px; object-fit: cover; display: block;
  transition: transform .35s cubic-bezier(.25,.46,.45,.94);
}
.main-img-wrap:hover img { transform: scale(1.04); }

.enlarge-badge {
  position: absolute; bottom: .75rem; right: .75rem;
  background: rgba(0,0,0,.45); border-radius: 4px;
  padding: .3rem .6rem; display: flex; align-items: center; gap: .35rem;
  backdrop-filter: blur(4px);
}
.enlarge-badge span {
  color: white; font-size: .6rem; letter-spacing: .1em; text-transform: uppercase;
}

.thumbs { display: flex; gap: .5rem; }
.thumb {
  flex: 1; padding: 0; border-radius: 4px; overflow: hidden;
  border: 2px solid var(--card-border); background: none;
  cursor: zoom-in; transition: border-color .15s;
}
.thumb.active { border-color: var(--gold); }
.thumb img {
  width: 100%; height: 72px; object-fit: cover; display: block;
  transition: opacity .15s;
}
.thumb:hover img { opacity: .8; }

/* ── Details ─────────────────────────────────────────────────── */
.details { display: flex; flex-direction: column; gap: 1.5rem; }

.product-subtitle {
  font-size: .65rem; letter-spacing: .15em;
  text-transform: uppercase; color: var(--gold); margin-bottom: .5rem;
}
.product-title {
  font-family: var(--font-serif); font-weight: 300;
  font-size: 2.2rem; color: var(--text-primary); line-height: 1.1;
  margin-bottom: .75rem;
}
.product-price {
  font-family: var(--font-serif); font-weight: 300;
  font-size: 1.8rem; color: var(--gold);
}

.description { display: flex; flex-direction: column; gap: .75rem; }
	.description b { font-weight: 700; text-decoration: underline; }
	.description p { font-size: .875rem; line-height: 1.7; color: var(--text-secondary); }
	.description ul li { font-size: 0.8rem; font-weight: 100; color: var(--text-secondary); list-style: disc; margin-left:12px; }

.product-details {
  list-style: none;
  border-top: 1px solid var(--card-border);
  border-bottom: 1px solid var(--card-border);
  padding: 1rem 0; display: flex; flex-direction: column; gap: .5rem;
}
.product-details li {
  display: flex; align-items: flex-start; gap: .5rem;
  font-size: .8rem; color: var(--text-muted);
}
.bullet { color: var(--gold); margin-top: 1px; flex-shrink: 0; }

/* ── CTA ─────────────────────────────────────────────────────── */
.cta-section { display: flex; flex-direction: column; gap: .875rem; }

.qty-row { display: flex; align-items: center; gap: 1rem; }
.qty-label {
  font-size: .65rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text-muted);
}
.qty-stepper {
  display: flex; align-items: center;
  border: 1.5px solid var(--card-border); border-radius: 4px; overflow: hidden;
}
.qty-btn {
  width: 36px; height: 36px; background: none; border: none;
  color: var(--text-secondary); cursor: pointer; font-size: 1rem;
  transition: color .15s;
}
.qty-btn:hover { color: var(--gold); }
.qty-val {
  width: 40px; text-align: center; font-size: .875rem;
  color: var(--text-primary); line-height: 36px;
  border-left: 1px solid var(--card-border);
  border-right: 1px solid var(--card-border);
}

.gold-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  background: var(--gold); color: #fff; border: none; cursor: pointer;
  font-family: var(--font-sans); font-size: .72rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase; text-decoration: none;
  border-radius: 4px; padding: .875rem 1.5rem;
  transition: background .15s;
}
.gold-btn:hover { background: var(--gold-light); }
.add-btn { width: 100%; padding: 1rem; font-size: .78rem; }

.added-section { display: flex; flex-direction: column; gap: .75rem; }
.added-confirm {
  display: flex; align-items: center; gap: .5rem;
  font-size: .8rem; color: var(--text-secondary);
  padding: .75rem 1rem; border-radius: 4px;
  background: var(--hero-bg); border: 1px solid var(--card-border);
}

/* ── Lightbox ────────────────────────────────────────────────── */
.lightbox {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  animation: lbFadeIn .2s ease;
}
.lightbox[hidden] { display: none; }

.lb-backdrop {
  position: absolute; inset: 0;
  background: rgba(10,6,2,.93);
  backdrop-filter: blur(6px);
}

.lb-content {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  max-width: min(88vw, 960px);
  animation: lbScaleIn .28s cubic-bezier(.16,1,.3,1);
}
.lb-img {
  max-width: 100%; max-height: 78vh; object-fit: contain;
  border-radius: 4px; box-shadow: 0 32px 80px rgba(0,0,0,.6);
  display: block;
}

.lb-dots { display: flex; gap: .5rem; }
.lb-dot {
  height: 6px; border-radius: 3px;
  background: rgba(255,255,255,.3); border: none; cursor: pointer; padding: 0;
  transition: width .25s, background .2s;
  width: 6px;
}
.lb-dot.active { width: 20px; background: var(--gold); }

.lb-close {
  position: fixed; top: 1.25rem; right: 1.25rem; z-index: 2;
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  color: white; cursor: pointer; font-size: 1.1rem;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.lb-close:hover { background: rgba(255,255,255,.18); }

.lb-arrow {
  position: fixed; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  color: white; cursor: pointer; font-size: 1.7rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, opacity .2s;
}
.lb-arrow:hover { background: rgba(255,255,255,.18); }
.lb-arrow.hidden { opacity: 0; pointer-events: none; }
.lb-prev { left: 1.25rem; }
.lb-next { right: 1.25rem; }

@keyframes lbFadeIn  { from { opacity: 0 } to { opacity: 1 } }
@keyframes lbScaleIn { from { opacity: 0; transform: scale(.95) } to { opacity: 1; transform: scale(1) } }

header gaps. */
:root {
  --lo-product-pattern: url("/images/BlackPattern LO.png");
  --lo-product-surface: rgba(247, 241, 226, .94);
  --lo-product-surface-soft: rgba(247, 241, 226, .82);
}

body {
  background:
    linear-gradient(90deg, rgba(132, 106, 33, .9), rgba(92, 74, 24, .9)),
    var(--lo-product-pattern) center top / 560px auto repeat,
    #876b22 !important;
  color: #111 !important;
  font-family: var(--font-body, "Salter Roman", Georgia, serif);
}

.hero {
  background:
    linear-gradient(90deg, rgba(132, 106, 33, .88), rgba(92, 74, 24, .88)),
    var(--lo-product-pattern) center top / 560px auto repeat,
    #876b22 !important;
  border-bottom: 0 !important;
}

.hero-grid {
  display: none !important;
}

.overline {
  color: #fff !important;
  font-family: var(--font-body, "Salter Roman", Georgia, serif);
  font-weight: 800;
}

.hero-title {
  color: #050505 !important;
  font-family: var(--font-display, "Salter Roman", Georgia, serif);
}

.main {
  width: min(1180px, calc(100% - 48px));
  max-width: none !important;
  padding: clamp(34px, 4vw, 58px) 0 clamp(60px, 7vw, 96px) !important;
}

.product-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(22px, 3.4vw, 48px) !important;
  align-items: start !important;
}

.gallery,
.details {
  min-width: 0 !important;
  border: 1px solid rgba(17, 17, 17, .16);
  border-radius: 8px;
  background: var(--lo-product-surface);
  box-shadow: 0 22px 44px rgba(32, 22, 0, .22);
  backdrop-filter: blur(8px);
}

.gallery {
  padding: clamp(14px, 2vw, 22px);
}

.details {
  padding: clamp(22px, 3vw, 38px);
}

.main-img-wrap {
  background:
    radial-gradient(circle at 50% 40%, rgba(255, 255, 255, .62), rgba(244, 199, 31, .16) 42%, rgba(0, 0, 0, .08)),
    url("/images/pattern.png") center / 260px auto repeat,
    #f4c71f !important;
}

.main-img-wrap img {
  height: clamp(360px, 48vw, 620px) !important;
  object-fit: contain !important;
}

.thumb {
  flex: 0 0 clamp(58px, 7vw, 86px) !important;
  background: var(--lo-product-surface-soft) !important;
}

.thumb img {
  height: clamp(54px, 6vw, 76px) !important;
  object-fit: cover !important;
}

.product-title {
  color: #050505 !important;
  font-family: var(--font-display, "Salter Roman", Georgia, serif);
  font-size: clamp(2.6rem, 5vw, 5.4rem) !important;
}

.product-subtitle,
.product-price,
.bullet {
  color: #a67828 !important;
}

.description p,
.description ul li,
.product-details li {
  color: #2c2416 !important;
}

.gold-btn {
  background: #f4c71f !important;
  color: #050505 !important;
  font-family: var(--font-body, "Salter Roman", Georgia, serif);
  font-weight: 900 !important;
}

.gold-btn:hover {
  background: #ffda35 !important;
}

@media (max-width: 760px) {
  .main {
    width: min(100% - 28px, 520px);
  }

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

  .main-img-wrap img {
    height: clamp(300px, 92vw, 480px) !important;
  }

  .details {
    padding: 22px 18px;
  }
}

/* Product pages: darker premium treatment while preserving video/gallery markup. */
:root {
  --lo-product-surface: rgba(17, 14, 8, .82);
  --lo-product-surface-soft: rgba(25, 21, 12, .74);
  --lo-product-border: rgba(244, 199, 31, .24);
}

.hero {
  padding-top: clamp(3.8rem, 6vw, 6.8rem) !important;
  padding-bottom: clamp(2.8rem, 5vw, 5.8rem) !important;
}

.hero-title {
  color: #f4c71f !important;
  text-shadow: 0 12px 34px rgba(0, 0, 0, .45);
}

.main {
  position: relative;
}

.main::before {
  content: "";
  position: absolute;
  inset: 0 max(-4vw, -42px);
  z-index: -1;
  border-radius: 8px;
  background: radial-gradient(circle at 22% 18%, rgba(244, 199, 31, .16), transparent 32rem);
  pointer-events: none;
}

.video-wrap,
.gallery,
.details {
  border-color: var(--lo-product-border) !important;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .28)),
    var(--lo-product-pattern) center top / 520px auto repeat,
    var(--lo-product-surface) !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 224, 84, .12) !important;
  color: #f8eed2 !important;
}

.video-wrap video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-placeholder {
  background: linear-gradient(180deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .54));
}

.play-btn {
  background: #f4c71f !important;
  border-color: rgba(255, 238, 116, .72) !important;
  color: #050505 !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .34);
}

.main-img-wrap {
  border-color: var(--lo-product-border) !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(244, 199, 31, .16), rgba(0, 0, 0, .2) 48%, rgba(0, 0, 0, .48)),
    url("/images/pattern.png") center / 260px auto repeat,
    #d1a816 !important;
}

.product-title {
  color: #fff8dc !important;
  text-shadow: 0 14px 34px rgba(0, 0, 0, .46);
}

.product-subtitle,
.product-price,
.video-label,
.bullet {
  color: #f4c71f !important;
}

.description p,
.description ul li,
.product-details li {
  color: rgba(255, 248, 220, .84) !important;
}

.product-details {
  border-color: rgba(244, 199, 31, .22) !important;
}

.thumb {
  border-color: rgba(244, 199, 31, .2) !important;
  background: rgba(0, 0, 0, .32) !important;
}

.thumb.active {
  border-color: #f4c71f !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .3);
}

.back-link {
  color: #f4c71f !important;
}

@media (max-width: 760px) {
  .video-wrap {
    margin-bottom: 1.2rem !important;
  }

  .gallery,
  .details {
    box-shadow: 0 18px 40px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 224, 84, .1) !important;
  }
}

/* Mobile containment: prevent text or media from pushing the page wider. */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.main,
.product-grid,
.video-wrap,
.gallery,
.details,
.description,
.product-details,
.cta-section,
.added-section {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.video-wrap,
.gallery,
.details {
  width: 100% !important;
}

.description p,
.description ul li,
.product-details li,
.product-title,
.product-price {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.description,
.description p,
.description ul,
.product-details,
.product-details li {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .main {
    width: min(calc(100vw - 48px), 520px) !important;
  }

  .details {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Readability pass: keep product cards premium but mostly texture-free. */
.video-wrap,
.gallery,
.details {
  position: relative !important;
  background: rgba(16, 14, 9, .92) !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 224, 84, .1) !important;
}

.video-wrap,
.gallery {
  overflow: hidden !important;
}

.details {
  overflow: visible !important;
}

.video-wrap::before,
.gallery::before,
.details::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--lo-product-pattern) center top / 620px auto repeat;
  opacity: .045;
  pointer-events: none;
}

.video-wrap > *,
.gallery > *,
.details > * {
  position: relative;
  z-index: 1;
}

.video-wrap video {
  z-index: 0;
}

.video-placeholder {
  z-index: 1;
}

.main-img-wrap {
  background: #14120d !important;
}

.details {
  color: #fff5d4 !important;
}

.product-title {
  color: #fff7df !important;
}


/* variant selector */
.gold-btn:disabled { opacity: 0.4; cursor: not-allowed; }

.size-selector { margin: 1rem 0; }
.size-label { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.5rem; }
.size-options { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.size-btn { padding: 0.4rem 1rem; border: 1px solid currentColor; background: transparent; color: currentColor; cursor: pointer; font-size: 0.9rem; transition: all 0.2s; }
	.size-btn.active { background: var(--gold); border-color: var(--gold); color: #000; }
	.size-btn.out-of-stock { opacity: 0.4; cursor: not-allowed; text-decoration: line-through; }
.size-error { color: red; font-size: 0.85rem; margin-top: 0.5rem; }


.description p,
.description ul li,
.product-details li {
  color: rgba(255, 247, 223, .92) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .32);
}

.description b {
  color: #fff7df !important;
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  margin-bottom: .2rem !important;
}

.product-details {
  border-color: rgba(244, 199, 31, .18) !important;
}

.thumb {
  background: rgba(12, 10, 6, .84) !important;
}

.gallery {
  background: rgba(16, 14, 9, .86) !important;
}

@media (max-width: 760px) {
  .video-wrap,
  .gallery,
  .details {
    box-shadow: 0 18px 38px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 224, 84, .08) !important;
  }

  .product-title {
    font-size: clamp(2.2rem, 10vw, 3rem) !important;
  }

  .description p,
  .description ul li,
  .product-details li {
    font-size: .82rem !important;
    line-height: 1.42 !important;
  }

  .description,
  .product-details {
    max-width: min(280px, 100%) !important;
  }

  .description p,
  .description ul,
  .product-details li {
    max-width: min(280px, 100%) !important;
  }

  .description b {
    display: block !important;
    font-size: .84rem !important;
    line-height: 1.35 !important;
  }

  .details {
    width: min(calc(100vw - 48px), 520px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
  }

  .video-wrap,
  .gallery {
    width: min(calc(100vw - 48px), 520px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Final product page rhythm: tighter title area, cleaner background, unified type. */
:root {
  --lo-display: "Salter Roman", Georgia, serif;
  --lo-body: "Salter Roman", Georgia, serif;
}

body,
button,
input,
textarea,
select,
.overline,
.back-link,
.product-subtitle,
.product-price,
.description,
.description p,
.description ul li,
.product-details,
.product-details li,
.gold-btn,
.video-label {
  font-family: var(--lo-body) !important;
}

.hero-title,
.product-title {
  font-family: var(--lo-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.hero {
  min-height: 0 !important;
  padding-top: clamp(2.4rem, 3.8vw, 4.2rem) !important;
  padding-bottom: clamp(1.7rem, 3vw, 3rem) !important;
}

.hero-content {
  max-width: min(900px, calc(100% - 48px)) !important;
}

.overline {
  margin-bottom: .45rem !important;
  font-size: clamp(.68rem, .8vw, .8rem) !important;
  letter-spacing: .22em !important;
}

.hero-title {
  font-size: clamp(2.15rem, 3.7vw, 4.2rem) !important;
  line-height: .98 !important;
  max-width: 13ch !important;
  margin-inline: auto !important;
}

.main {
  padding-top: clamp(18px, 2.2vw, 32px) !important;
}

.main::before {
  display: none !important;
}

.back-link {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 0 clamp(18px, 2vw, 28px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f4c71f !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
}

.back-link::before,
.back-link::after {
  display: none !important;
  content: none !important;
}

.product-grid {
  gap: clamp(20px, 2.6vw, 36px) !important;
}

.gallery,
.details,
.video-wrap {
  border-radius: 8px !important;
}

.gallery::before,
.details::before,
.video-wrap::before {
  opacity: .025 !important;
}

.product-title {
  font-size: clamp(2.45rem, 4.1vw, 4.6rem) !important;
  line-height: .98 !important;
  margin-bottom: .6rem !important;
}

.product-price {
  font-size: clamp(1.55rem, 2vw, 2rem) !important;
  letter-spacing: .02em !important;
}

.description,
.product-details {
  gap: .65rem !important;
}

.description p,
.description ul li,
.product-details li {
  font-size: clamp(.92rem, .98vw, 1rem) !important;
  line-height: 1.48 !important;
}

@media (max-width: 760px) {
  .hero {
    padding-top: 2.1rem !important;
    padding-bottom: 1.45rem !important;
  }

  .hero-content {
    max-width: min(100% - 32px, 420px) !important;
  }

  .hero-title {
    font-size: clamp(2rem, 10vw, 3.05rem) !important;
    max-width: 12ch !important;
  }

  .main {
    width: min(calc(100vw - 32px), 520px) !important;
    padding-top: 16px !important;
  }

  .back-link {
    margin-bottom: 16px !important;
    font-size: .68rem !important;
  }

  .product-grid {
    gap: 16px !important;
  }

  .gallery,
  .details,
  .video-wrap {
    width: 100% !important;
  }

  .details {
    padding: 20px 16px !important;
  }

  .product-title {
    font-size: clamp(2.05rem, 9vw, 2.8rem) !important;
  }
}

.hero {
  padding-top: clamp(38px, 4vw, 68px) !important;
  padding-bottom: clamp(24px, 3vw, 44px) !important;
}

.hero-title {
  max-width: 16ch !important;
  font-size: clamp(2.4rem, 5vw, 5rem) !important;
  line-height: .95 !important;
}

.main {
  width: min(100% - 40px, 1420px) !important;
  padding-top: clamp(18px, 2vw, 34px) !important;
  padding-bottom: clamp(42px, 5vw, 86px) !important;
}

.back-link {
  margin-bottom: clamp(14px, 1.6vw, 24px) !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.product-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr) !important;
  gap: clamp(18px, 2.5vw, 40px) !important;
  align-items: start !important;
}

.gallery,
.details,
.video-wrap,
.product-container--commerce .product-gallery,
.product-container--commerce .product-details {
  border-radius: 8px !important;
  background:
    linear-gradient(135deg, rgba(19, 16, 9, .9), rgba(9, 8, 5, .96)),
    var(--lo-black-pattern, url("/images/BlackPattern LO.png")) center / 520px auto repeat !important;
}

.gallery::before,
.details::before,
.video-wrap::before,
.product-container--commerce .product-gallery::before,
.product-container--commerce .product-details::before {
  opacity: .018 !important;
}

.product-title {
  font-size: clamp(2.5rem, 4.4vw, 5.4rem) !important;
  line-height: .96 !important;
}

.description p,
.description li,
.description ul li,
.product-details li {
  font-size: clamp(.98rem, 1.08vw, 1.12rem) !important;
  line-height: 1.52 !important;
  letter-spacing: 0 !important;
}

.main-img-wrap img,
.product-container--commerce .product-gallery > #productImage,
.product-container--commerce .product-gallery img,
.product-gallery img {
  max-height: min(72svh, 760px) !important;
  object-fit: contain !important;
}

.thumbs,
.product-thumbnails,
.product-gallery__thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
}

.thumb,
.product-gallery__thumb {
  width: clamp(46px, 5.5vw, 72px) !important;
  height: clamp(46px, 5.5vw, 72px) !important;
  flex: 0 0 clamp(46px, 5.5vw, 72px) !important;
}

@media (max-width: 980px) {
  .product-grid {
    grid-template-columns: 1fr !important;
  }

  .main {
    width: min(100% - 28px, 720px) !important;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-top: 86px !important;
    padding-bottom: 22px !important;
  }

  .hero-title {
    font-size: clamp(2.25rem, 10vw, 3.4rem) !important;
    max-width: 12ch !important;
  }

  .main {
    width: min(100% - 22px, 460px) !important;
    padding-top: 14px !important;
    padding-bottom: 44px !important;
  }

  .back-link {
    margin-bottom: 14px !important;
    font-size: .68rem !important;
    letter-spacing: .12em !important;
  }

  .gallery,
  .details,
  .video-wrap,
  .product-container--commerce .product-gallery,
  .product-container--commerce .product-details {
    padding: 14px !important;
    border-radius: 10px !important;
  }

  .main-img-wrap img,
  .product-container--commerce .product-gallery > #productImage,
  .product-container--commerce .product-gallery img,
  .product-gallery img {
    width: 100% !important;
    height: auto !important;
    max-height: min(58svh, 520px) !important;
    object-fit: contain !important;
  }

  .product-title {
    font-size: clamp(2.15rem, 10vw, 3.1rem) !important;
    line-height: .98 !important;
  }

  .product-price {
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
  }

  .description p,
  .description li,
  .description ul li,
  .product-details li {
    font-size: clamp(.98rem, 4vw, 1.05rem) !important;
    line-height: 1.48 !important;
  }

  .gold-btn,
  .add-btn {
    min-height: 52px !important;
    font-size: .9rem !important;
    letter-spacing: .1em !important;
  }
}

@media (max-width: 760px) {
  .main {
    padding-bottom: 0 !important;
  }
}

/* Single product quantity contrast on dark product panels. */
body .product-container--commerce .qty-row,
body .product-grid .qty-row,
body .details .qty-row {
  color: #f8f2e3 !important;
}

body .product-container--commerce .qty-label,
body .product-grid .qty-label,
body .details .qty-label {
  color: rgba(248, 242, 227, .78) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .45) !important;
}

body .product-container--commerce .qty-stepper,
body .product-grid .qty-stepper,
body .details .qty-stepper {
  border-color: rgba(248, 242, 227, .46) !important;
  background: rgba(255, 255, 255, .035) !important;
}

body .product-container--commerce .qty-btn,
body .product-grid .qty-btn,
body .details .qty-btn,
body #qtyMinus,
body #qtyPlus {
  color: #f8f2e3 !important;
  background: rgba(255, 255, 255, .02) !important;
}

body .product-container--commerce .qty-btn:hover,
body .product-grid .qty-btn:hover,
body .details .qty-btn:hover,
body #qtyMinus:hover,
body #qtyPlus:hover {
  color: #f4c71f !important;
  background: rgba(244, 199, 31, .12) !important;
}

body .product-container--commerce .qty-val,
body .product-grid .qty-val,
body .details .qty-val,
body #qtyVal {
  color: #f4c71f !important;
  border-color: rgba(248, 242, 227, .36) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .55) !important;
}

/* Single product title band: tighter rhythm before the product content. */
body .hero {
  min-height: 0 !important;
  padding-top: clamp(22px, 2.8vw, 42px) !important;
  padding-bottom: clamp(14px, 1.8vw, 26px) !important;
}

body .hero-content {
  margin: 0 auto !important;
}

body .hero-title {
  margin: 0 auto !important;
  max-width: min(92vw, 15ch) !important;
  font-size: clamp(2.25rem, 4.5vw, 4.45rem) !important;
  line-height: .92 !important;
}

body .main {
  padding-top: clamp(10px, 1.2vw, 22px) !important;
}

body .back-link {
  margin-bottom: clamp(10px, 1.1vw, 18px) !important;
}

@media (max-width: 640px) {
  body .hero {
    padding-top: 70px !important;
    padding-bottom: 14px !important;
  }

  body .hero-title {
    font-size: clamp(2rem, 9vw, 2.85rem) !important;
    max-width: 12ch !important;
  }

  body .main {
    padding-top: 10px !important;
  }
}

/* Single product polish: character-style chocolate cards, fine page pattern, fluid titles. */
body {
  background:
    linear-gradient(180deg, rgba(138, 109, 34, .72), rgba(86, 68, 20, .84)),
    url("/images/pattern.png") center top / 220px auto repeat !important;
}

body .hero,
body .main {
  background: transparent !important;
}

body .hero-title {
  width: min(calc(100vw - 44px), 1180px) !important;
  font-size: clamp(2.35rem, 4.15vw, 4.8rem) !important;
  line-height: .94 !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

body .gallery,
body .details,
body .video-wrap,
body .product-container--commerce .product-gallery,
body .product-container--commerce .product-details {
  border: 1px solid rgba(244, 199, 31, .14) !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(116, 89, 30, .28), transparent 34%),
    linear-gradient(135deg, rgba(42, 33, 16, .96), rgba(20, 16, 8, .98) 58%, rgba(10, 8, 5, .99)) !important;
  box-shadow:
    0 28px 70px rgba(0, 0, 0, .26),
    inset 0 1px 0 rgba(255, 234, 140, .08) !important;
}

body .gallery::before,
body .details::before,
body .video-wrap::before,
body .product-container--commerce .product-gallery::before,
body .product-container--commerce .product-details::before {
  display: none !important;
  content: none !important;
}

body .product-title,
body .product-container--commerce .product-details h2,
body .details h2 {
  max-width: none !important;
  width: 100% !important;
  font-size: clamp(2.45rem, 4.25vw, 5.15rem) !important;
  line-height: .95 !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

body .product-grid,
body .product-container--commerce {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(18px, 3vw, 48px) !important;
}

@media (max-width: 980px) {
  body .product-grid,
  body .product-container--commerce {
    grid-template-columns: 1fr !important;
  }

  body .hero-title,
  body .product-title,
  body .product-container--commerce .product-details h2,
  body .details h2 {
    text-wrap: balance !important;
  }
}

@media (max-width: 640px) {
  body {
    background-size: 190px auto !important;
  }

  body .hero-title {
    width: min(calc(100vw - 28px), 440px) !important;
    font-size: clamp(2rem, 8.6vw, 3rem) !important;
    line-height: .96 !important;
  }

  body .product-title,
  body .product-container--commerce .product-details h2,
  body .details h2 {
    font-size: clamp(2.15rem, 9vw, 3.25rem) !important;
    line-height: .98 !important;
  }
}

/* Canonical single product layout. One template, one title, no full-width video. */
body:has(.product-single) {
  --product-bg-pattern: var(--lo-black-pattern, url("/images/BlackPattern LO.png"));
  --product-gold: #f4c71f;
  --product-cream: #fff6dc;
  --product-muted: rgba(255, 246, 220, .76);
  --product-panel: rgba(10, 9, 5, .92);
  --product-panel-soft: rgba(28, 22, 10, .88);
  --product-border: rgba(244, 199, 31, .22);
  background:
    linear-gradient(180deg, rgba(7, 7, 4, .91), rgba(7, 7, 4, .95)),
    var(--product-bg-pattern) center top / 460px auto repeat !important;
  color: var(--product-cream);
}

body:has(.product-single) .hero {
  display: none !important;
}

.product-single {
  width: min(100% - 48px, 1540px) !important;
  margin: 0 auto !important;
  padding-top: clamp(136px, 10vw, 178px) !important;
  padding-bottom: clamp(56px, 6vw, 96px) !important;
}

.product-single::before {
  display: none !important;
}

.product-single .back-link {
  margin-bottom: clamp(18px, 2vw, 28px) !important;
  color: var(--product-gold) !important;
}

.product-single .product-mobile-heading {
  display: none !important;
}

.product-single .product-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
  align-items: start !important;
  gap: clamp(24px, 3.2vw, 56px) !important;
}

.product-single .gallery,
.product-single .details,
.product-single .product-description-panel {
  border: 1px solid var(--product-border) !important;
  border-radius: 8px !important;
  background:
    radial-gradient(circle at 20% 12%, rgba(244, 199, 31, .1), transparent 34%),
    linear-gradient(145deg, rgba(38, 30, 12, .92), rgba(9, 8, 5, .97) 62%) !important;
  box-shadow:
    0 30px 72px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 230, 120, .08) !important;
}

.product-single .gallery::before,
.product-single .details::before,
.product-single .product-description-panel::before {
  display: none !important;
  content: none !important;
}

.product-single .gallery {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1vw, 14px) !important;
  padding: clamp(12px, 1.2vw, 18px) !important;
}

.product-single .main-img-wrap {
  grid-column: 1 / -1 !important;
  aspect-ratio: 1.18 / 1 !important;
  border: 1px solid rgba(244, 199, 31, .2) !important;
  border-radius: 6px !important;
  background: #11100c !important;
}

.product-single .main-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  padding: clamp(8px, 1vw, 16px) !important;
}

.product-single .thumbs {
  display: contents !important;
}

.product-single .thumb {
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  flex: initial !important;
  aspect-ratio: 1 / .78 !important;
  border: 1px solid rgba(244, 199, 31, .2) !important;
  border-radius: 6px !important;
  background: #11100c !important;
}

.product-single .thumb:first-child,
.product-single .thumb:nth-child(n+4) {
  display: none !important;
}

.product-single .thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.product-single .details {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(16px, 1.8vw, 24px) !important;
  padding: clamp(22px, 2.2vw, 34px) !important;
  position: sticky !important;
  top: 112px !important;
}

.product-single .product-subtitle,
.product-single .size-label,
.product-single .product-video-heading {
  color: var(--product-gold) !important;
  font-size: clamp(.78rem, .86vw, .92rem) !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.product-single .product-title {
  color: var(--product-cream) !important;
  font-size: clamp(3rem, 4.8vw, 5.7rem) !important;
  line-height: .94 !important;
  margin: .25rem 0 .7rem !important;
  text-shadow: 0 16px 36px rgba(0, 0, 0, .36) !important;
}

.product-single .product-price {
  color: var(--product-gold) !important;
  font-size: clamp(1.8rem, 2.2vw, 2.4rem) !important;
}

.product-single .size-selector {
  margin: 0 !important;
}

.product-single .size-options {
  gap: 10px !important;
}

.product-single .size-btn {
  min-width: 54px !important;
  min-height: 42px !important;
  border-color: rgba(244, 199, 31, .35) !important;
  border-radius: 999px !important;
  color: var(--product-cream) !important;
  background: rgba(255, 255, 255, .03) !important;
}

.product-single .size-btn.active {
  color: #050505 !important;
  background: var(--product-gold) !important;
}

.product-single .cta-section {
  gap: 14px !important;
}

.product-single .qty-row {
  justify-content: space-between !important;
  color: var(--product-cream) !important;
}

.product-single .gold-btn {
  color: #050505 !important;
  background: var(--product-gold) !important;
  border-radius: 999px !important;
  min-height: 54px !important;
  box-shadow: 0 16px 34px rgba(244, 199, 31, .14) !important;
}

.product-single .product-video-panel {
  border-top: 1px solid rgba(244, 199, 31, .18);
  padding-top: clamp(16px, 1.6vw, 22px);
}

.product-single .product-video-heading {
  margin-bottom: 10px !important;
}

.product-single .video-wrap {
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 16 / 9 !important;
  max-height: 340px !important;
  border: 1px solid rgba(244, 199, 31, .2) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #080806 !important;
}

.product-single .video-wrap video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.product-single .video-placeholder {
  background: linear-gradient(180deg, rgba(0, 0, 0, .22), rgba(0, 0, 0, .5)) !important;
}

.product-single .play-btn {
  width: 66px !important;
  height: 66px !important;
  color: #050505 !important;
}

.product-single .video-label {
  color: var(--product-gold) !important;
}

.product-single .product-description-panel {
  margin-top: clamp(24px, 3vw, 48px) !important;
  padding: clamp(24px, 3vw, 42px) !important;
}

.product-single .description {
  display: block !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  color: var(--product-muted) !important;
}

.product-single .description p,
.product-single .description li,
.product-single .description ul li {
  max-width: none !important;
  color: var(--product-muted) !important;
  font-size: clamp(1.08rem, 1.12vw, 1.22rem) !important;
  line-height: 1.58 !important;
  letter-spacing: .012em !important;
}

.product-single .description b,
.product-single .description strong {
  color: var(--product-cream) !important;
  font-size: clamp(1.18rem, 1.2vw, 1.32rem) !important;
  text-decoration: none !important;
  margin-top: 1rem !important;
}

@media (max-width: 980px) {
  .product-single {
    width: min(100% - 28px, 720px) !important;
    padding-top: 92px !important;
  }

  .product-single .product-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .product-single .details {
    position: relative !important;
    top: auto !important;
  }

  .product-single .product-mobile-heading {
    display: block !important;
    margin: 0 0 10px !important;
    text-align: left !important;
  }

  .product-single .product-mobile-heading + .back-link {
    display: inline-flex !important;
    margin: 0 0 14px !important;
  }

  .product-single .product-mobile-heading .product-subtitle {
    margin: 0 0 6px !important;
  }

  .product-single .product-mobile-heading .product-title {
    margin: 0 0 8px !important;
    color: var(--product-cream) !important;
    font-size: clamp(2.65rem, 9vw, 4rem) !important;
    line-height: .92 !important;
  }

  .product-single .product-mobile-heading .product-price {
    color: var(--product-gold) !important;
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }

  .product-single .details .product-header {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .product-single {
    width: min(100% - 20px, 460px) !important;
    padding-top: 82px !important;
    padding-bottom: 48px !important;
  }

  .product-single .gallery {
    gap: 8px !important;
    padding: 10px !important;
  }

  .product-single .main-img-wrap {
    aspect-ratio: 1 / 1 !important;
  }

  .product-single .thumb {
    aspect-ratio: 1 / .82 !important;
  }

  .product-single .details,
  .product-single .product-description-panel {
    padding: 18px !important;
  }

  .product-single .product-title {
    font-size: clamp(2.5rem, 11vw, 3.55rem) !important;
  }

  .product-single .product-mobile-heading {
    margin-bottom: 8px !important;
  }

  .product-single .video-wrap {
    max-height: 240px !important;
  }
}

/* Product page final background: keep the pattern present, not screaming. */
body:has(.product-single) {
  background:
    linear-gradient(180deg, rgba(5, 5, 3, .975), rgba(5, 5, 3, .985)),
    var(--product-bg-pattern) center top / 560px auto repeat !important;
}

body .product-single {
  background: transparent !important;
}

/* Product page final polish: branded video control and related products. */
.product-single .play-btn {
  width: 74px !important;
  height: 74px !important;
  border: 1px solid rgba(87, 64, 10, .35) !important;
  border-radius: 999px !important;
  color: #050402 !important;
  background:
    radial-gradient(circle at 34% 24%, rgba(255, 245, 180, .72), transparent 28%),
    linear-gradient(180deg, #ffd431 0%, #fac20a 62%, #d99b00 100%) !important;
  box-shadow:
    0 18px 34px rgba(0, 0, 0, .34),
    0 0 0 7px rgba(250, 194, 10, .12),
    inset 0 1px 0 rgba(255, 250, 205, .72),
    inset 0 -2px 0 rgba(82, 54, 0, .28) !important;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease !important;
}

.product-single .play-btn:hover,
.product-single .play-btn:focus-visible {
  transform: translateY(-1px) scale(1.035) !important;
  filter: saturate(1.05) contrast(1.03) !important;
  box-shadow:
    0 22px 42px rgba(0, 0, 0, .40),
    0 0 0 8px rgba(250, 194, 10, .16),
    inset 0 1px 0 rgba(255, 250, 205, .78),
    inset 0 -2px 0 rgba(82, 54, 0, .30) !important;
}

.product-single .play-btn svg {
  width: 30px !important;
  height: 30px !important;
  margin-left: 4px !important;
  color: #050402 !important;
  fill: currentColor !important;
  filter: drop-shadow(0 1px 0 rgba(255, 238, 150, .44)) !important;
}

.product-single .play-btn svg path {
  fill: currentColor !important;
}

.product-single .related-products {
  margin-top: clamp(28px, 4vw, 64px) !important;
  padding: clamp(26px, 3vw, 44px) clamp(28px, 3.6vw, 56px) !important;
  border: 1px solid rgba(244, 199, 31, .16) !important;
  border-radius: 10px !important;
  background:
    linear-gradient(180deg, rgba(250, 194, 10, .045), rgba(250, 194, 10, .018)),
    rgba(5, 5, 3, .58) !important;
  box-shadow: 0 24px 46px rgba(0, 0, 0, .24) !important;
}

.product-single .related-products__header {
  margin-bottom: clamp(18px, 2.2vw, 30px) !important;
  display: grid !important;
  gap: 6px !important;
  text-align: center !important;
}

.product-single .related-products__header p {
  margin: 0 !important;
  color: var(--product-gold) !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.product-single .related-products__header h2 {
  margin: 0 !important;
  color: var(--product-cream) !important;
  font-size: clamp(2.4rem, 4vw, 4.8rem) !important;
  line-height: .9 !important;
}

.product-single .related-products__grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-items: stretch !important;
}

.product-single .related-product-card {
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(244, 199, 31, .18) !important;
  border-radius: 8px !important;
  background: rgba(246, 240, 219, .96) !important;
  color: #050402 !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .18) !important;
}

.product-single .related-product-card__image-link {
  display: block !important;
  aspect-ratio: 5 / 4 !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(250, 194, 10, .14), rgba(250, 194, 10, .03)),
    #15110a !important;
}

.product-single .related-product-card__image {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  transition: transform 220ms ease !important;
}

.product-single .related-products--apparel .related-product-card__image {
  object-fit: cover !important;
}

.product-single .related-product-card:hover .related-product-card__image,
.product-single .related-product-card:focus-within .related-product-card__image {
  transform: scale(1.035) !important;
}

.product-single .related-product-card__body {
  min-height: 210px !important;
  padding: clamp(16px, 1.6vw, 22px) !important;
  display: grid !important;
  grid-template-rows: auto minmax(2.1em, auto) auto 1fr !important;
  gap: 10px !important;
}

.product-single .related-product-card__category,
.product-single .related-product-card__price {
  margin: 0 !important;
  color: #8a6405 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.product-single .related-product-card__title {
  min-height: 2.1em !important;
  margin: 0 !important;
  color: #050402 !important;
  font-size: clamp(1.28rem, 1.45vw, 1.7rem) !important;
  line-height: 1.02 !important;
}

.product-single .related-product-card__cta {
  width: max-content !important;
  min-height: 34px !important;
  align-self: end !important;
  margin-top: 8px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: #050402 !important;
  background: var(--product-gold) !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

@media (max-width: 980px) {
  .product-single .related-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .product-single .play-btn {
    width: 64px !important;
    height: 64px !important;
  }

  .product-single .related-products {
    padding: 18px !important;
  }

  .product-single .related-products__grid {
    grid-template-columns: 1fr !important;
  }
}

/* Single product header clearance: keep content out from under the hanging medallion. */
body:has(.product-single) main.product-single {
  padding-top: calc(var(--lo-site-header-height, var(--headerHeight, 76px)) + clamp(104px, 6.5vw, 132px)) !important;
}

body:has(.product-single) main.product-single .back-link {
  margin-left: max(0px, calc(var(--lo-header-logo-left, 0px) + (var(--lo-header-logo-width, 0px) / 2) - 24px)) !important;
}

body:has(.product-single) main.product-single .product-grid {
  clear: both !important;
}

@media (max-width: 980px) {
  body:has(.product-single) main.product-single {
    padding-top: calc(var(--lo-site-header-height, var(--headerHeight, 72px)) + 10px) !important;
  }

  body:has(.product-single) main.product-single .back-link {
    margin-left: 0 !important;
  }
}

@media (max-width: 640px) {
  body:has(.product-single) main.product-single {
    padding-top: calc(var(--lo-site-header-height, var(--headerHeight, 72px)) + 8px) !important;
  }
}
