: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:     'Cormorant Garamond', Georgia, serif;
  --font-sans:      'Inter', system-ui, sans-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) } }

/* Lion Order integration pass: keep the new product template, but remove the
   standalone white page shell that caused footer/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, "Cinzel", 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, "Cinzel", 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, "Cinzel", 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;
}

.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: Georgia, "Times New Roman", 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;
  }
}

/* Footer final: yellow footer only, no dark texture band. */
html,
body {
  overflow-x: hidden !important;
}

body footer {
  --lo-footer-ribbon-top: clamp(18px, 2vw, 30px) !important;
  --lo-footer-ribbon-height: clamp(34px, 3.4vw, 52px) !important;
  --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-top) + (var(--lo-footer-ribbon-height) / 2)) !important;
  --lo-footer-pad-top: calc(var(--lo-footer-ribbon-center) + clamp(92px, 8vw, 126px)) !important;
  margin-top: 0 !important;
  padding-top: var(--lo-footer-pad-top) !important;
  border: 0 !important;
  box-shadow: none !important;
  background-color: #f4c71f !important;
  background-image: url("/images/pattern.png") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 260px auto !important;
}

body footer::before,
body footer::after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}

body footer .lo-footer-brand {
  margin-top: calc(-1 * var(--lo-footer-pad-top)) !important;
  padding-top: calc(var(--lo-footer-ribbon-center) + clamp(64px, 5.6vw, 90px)) !important;
}

body footer .lo-footer-brand__crestline {
  top: 0 !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: none !important;
  height: calc(var(--lo-footer-ribbon-center) + clamp(58px, 5.2vw, 84px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateX(-50%) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body footer .lo-footer-brand__ribbon {
  top: var(--lo-footer-ribbon-top) !important;
  left: 50% !important;
  width: 180vw !important;
  min-width: 180vw !important;
  max-width: none !important;
  height: var(--lo-footer-ribbon-height) !important;
  transform: translateX(-50%) !important;
  object-fit: fill !important;
  object-position: center center !important;
  filter:
    drop-shadow(0 16px 18px rgba(0, 0, 0, .34))
    drop-shadow(0 3px 4px rgba(0, 0, 0, .32)) !important;
}

body footer .lo-footer-brand__medallion {
  top: var(--lo-footer-ribbon-center) !important;
  filter:
    drop-shadow(0 18px 24px rgba(0, 0, 0, .42))
    drop-shadow(0 4px 5px rgba(0, 0, 0, .36)) !important;
}

@media (max-width: 640px) {
  body footer {
    --lo-footer-ribbon-top: 18px !important;
    --lo-footer-ribbon-height: 38px !important;
    --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-top) + (var(--lo-footer-ribbon-height) / 2)) !important;
    --lo-footer-pad-top: calc(var(--lo-footer-ribbon-center) + 112px) !important;
  }
}

/* Footer boundary: cover the previous dark section with the footer texture. */
body footer {
  --lo-footer-bleed: clamp(78px, 6vw, 118px) !important;
  position: relative !important;
  z-index: 20 !important;
  overflow: visible !important;
  isolation: isolate !important;
}

body footer::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: calc(-1 * var(--lo-footer-bleed)) !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  height: var(--lo-footer-bleed) !important;
  transform: translateX(-50%) !important;
  z-index: 0 !important;
  background-color: #f4c71f !important;
  background-image: url("/images/pattern.png") !important;
  background-repeat: repeat !important;
  background-position: center bottom !important;
  background-size: 260px auto !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

body footer::after {
  display: none !important;
  content: none !important;
}

body footer > .container,
body footer .footer-column,
body footer .lo-footer-brand,
body footer .regular-footer {
  position: relative !important;
  z-index: 2 !important;
}

body footer .lo-footer-brand__crestline {
  z-index: 3 !important;
}

body footer .lo-footer-brand__ribbon {
  width: 220vw !important;
  min-width: 220vw !important;
}

/* Footer clean final: flat yellow field and true full-bleed ribbon layer. */
body footer {
  --lo-footer-ribbon-top: clamp(22px, 2.5vw, 34px) !important;
  --lo-footer-ribbon-height: clamp(36px, 3.4vw, 52px) !important;
  --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-top) + (var(--lo-footer-ribbon-height) / 2)) !important;
  --lo-footer-bleed: clamp(86px, 6vw, 118px) !important;
  background-color: #f4c71f !important;
  background-image:
    linear-gradient(rgba(244, 199, 31, .88), rgba(244, 199, 31, .88)),
    url("/images/pattern.png") !important;
  background-repeat: repeat, repeat !important;
  background-position: center top, center top !important;
  background-size: auto, 420px auto !important;
}

body footer::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: calc(-1 * var(--lo-footer-bleed)) !important;
  left: 50% !important;
  width: 100vw !important;
  height: var(--lo-footer-bleed) !important;
  transform: translateX(-50%) !important;
  z-index: 0 !important;
  background-color: #f4c71f !important;
  background-image:
    linear-gradient(rgba(244, 199, 31, .88), rgba(244, 199, 31, .88)),
    url("/images/pattern.png") !important;
  background-repeat: repeat, repeat !important;
  background-position: center bottom, center bottom !important;
  background-size: auto, 420px auto !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

body footer::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: var(--lo-footer-ribbon-top) !important;
  left: 50% !important;
  width: 100vw !important;
  height: var(--lo-footer-ribbon-height) !important;
  transform: translateX(-50%) !important;
  z-index: 4 !important;
  background-image:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .16) 0 1px, rgba(0, 0, 0, .14) 1px 2px, transparent 2px 4px),
    linear-gradient(to bottom, #006b45 0 33.333%, #f4c71f 33.333% 66.666%, #cf2027 66.666% 100%) !important;
  background-repeat: repeat, no-repeat !important;
  background-position: left center, center center !important;
  background-size: 4px 100%, 100% 100% !important;
  box-shadow: 0 16px 18px rgba(0, 0, 0, .26) !important;
  pointer-events: none !important;
}

body footer .lo-footer-brand__ribbon {
  display: none !important;
}

body footer .lo-footer-brand__medallion {
  z-index: 6 !important;
}

body footer .lo-footer-brand__crestline {
  z-index: 6 !important;
}

body footer .lo-footer-brand__medallion {
  z-index: 7 !important;
}

body footer .lo-footer-brand {
  z-index: 6 !important;
}

body footer .lo-footer-brand__crestline {
  z-index: 7 !important;
}

body footer .lo-footer-brand__medallion {
  z-index: 8 !important;
}

body footer::after {
  display: none !important;
  content: none !important;
}

body footer .lo-footer-brand__crestline::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: var(--lo-footer-ribbon-top) !important;
  left: 50% !important;
  width: 100vw !important;
  height: var(--lo-footer-ribbon-height) !important;
  transform: translateX(-50%) !important;
  z-index: 1 !important;
  background-image: url("/images/footer/Rebbon web footer.png") !important;
  background-repeat: repeat-x !important;
  background-position: left center !important;
  background-size: auto 100% !important;
  box-shadow: 0 16px 18px rgba(0, 0, 0, .26) !important;
  pointer-events: none !important;
}

body footer::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: var(--lo-footer-ribbon-top) !important;
  left: 50% !important;
  width: 100vw !important;
  height: var(--lo-footer-ribbon-height) !important;
  transform: translateX(-50%) !important;
  z-index: 1 !important;
  background-image: url("/images/footer/Rebbon web footer.png") !important;
  background-repeat: repeat-x !important;
  background-position: left center !important;
  background-size: auto 100% !important;
  box-shadow: 0 16px 18px rgba(0, 0, 0, .26) !important;
  pointer-events: none !important;
}

body footer .lo-footer-brand__crestline::before {
  display: none !important;
  content: none !important;
}

/* Footer ribbon absolute final: CSS-rendered, edge-to-edge, no PNG edge gaps. */
body footer::after {
  background-image:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .16) 0 1px, rgba(0, 0, 0, .14) 1px 2px, transparent 2px 4px),
    linear-gradient(to bottom, #006b45 0 33.333%, #f4c71f 33.333% 66.666%, #cf2027 66.666% 100%) !important;
  background-repeat: repeat, no-repeat !important;
  background-position: left center, center center !important;
  background-size: 4px 100%, 100% 100% !important;
}

/* Footer final clean rebuild: real assets, no washed overlay, no clipped ribbon. */
html,
body {
  overflow-x: hidden !important;
}

body footer {
  --lo-footer-ribbon-top: clamp(24px, 2.7vw, 38px) !important;
  --lo-footer-ribbon-height: clamp(38px, 3.6vw, 56px) !important;
  --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-top) + (var(--lo-footer-ribbon-height) / 2)) !important;
  --lo-footer-bleed: clamp(96px, 7vw, 132px) !important;
  position: relative !important;
  z-index: 20 !important;
  isolation: isolate !important;
  overflow: visible !important;
  background-color: #f4c71f !important;
  background-image: url("/images/pattern.png") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 260px auto !important;
}

body footer::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: calc(-1 * var(--lo-footer-bleed)) !important;
  left: 50% !important;
  width: 100vw !important;
  height: var(--lo-footer-bleed) !important;
  transform: translateX(-50%) !important;
  z-index: 0 !important;
  background-color: #f4c71f !important;
  background-image: url("/images/pattern.png") !important;
  background-repeat: repeat !important;
  background-position: center bottom !important;
  background-size: 260px auto !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

body footer::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: var(--lo-footer-ribbon-top) !important;
  left: 50% !important;
  width: calc(100vw + 96px) !important;
  height: var(--lo-footer-ribbon-height) !important;
  transform: translateX(-50%) !important;
  z-index: 1 !important;
  background-image: url("/images/footer/Rebbon web footer.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  box-shadow: 0 16px 18px rgba(0, 0, 0, .30) !important;
  pointer-events: none !important;
}

body footer .lo-footer-brand {
  z-index: 6 !important;
}

body footer .lo-footer-brand__crestline {
  z-index: 7 !important;
}

body footer .lo-footer-brand__ribbon,
body footer .lo-footer-brand__crestline::before {
  display: none !important;
  content: none !important;
}

body footer .lo-footer-brand__medallion {
  z-index: 8 !important;
}

@media (max-width: 640px) {
  body footer {
    --lo-footer-ribbon-top: 22px !important;
    --lo-footer-ribbon-height: 42px !important;
    --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-top) + (var(--lo-footer-ribbon-height) / 2)) !important;
    --lo-footer-bleed: 104px !important;
  }
}

/* QA responsive cleanup 2026-06-30: single product rhythm, media scale and footer boundary. */
body .main,
body main,
body .product-grid,
body .product-container,
body .product-container--commerce {
  position: relative !important;
  z-index: 2 !important;
}

body footer {
  --lo-footer-bleed: 0px !important;
  margin-top: clamp(26px, 4vw, 60px) !important;
}

body footer::before {
  display: none !important;
  content: none !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;
  }
}

/* Footer clean build: the ribbon is the boundary; no external texture strip. */
body footer {
  --lo-footer-bleed: 0px !important;
  --lo-footer-ribbon-top: 0px !important;
  --lo-footer-ribbon-height: clamp(44px, 4vw, 62px) !important;
  --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-height) / 2) !important;
  margin-top: 0 !important;
  padding-top: calc(var(--lo-footer-ribbon-height) + clamp(72px, 6vw, 98px)) !important;
}

body footer::before {
  display: none !important;
  content: none !important;
  top: 0 !important;
  height: 0 !important;
  background: none !important;
}

body footer::after {
  top: 0 !important;
  left: 50% !important;
  width: calc(100vw + 120px) !important;
  height: var(--lo-footer-ribbon-height) !important;
  transform: translateX(-50%) !important;
  background-image: url("/images/footer/Rebbon web footer.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  box-shadow:
    0 16px 18px rgba(0, 0, 0, .34),
    0 4px 7px rgba(0, 0, 0, .26) !important;
}

body footer .lo-footer-brand {
  position: relative !important;
  z-index: 5 !important;
  margin-top: calc(-1 * (var(--lo-footer-ribbon-height) + clamp(72px, 6vw, 98px))) !important;
  padding-top: calc(var(--lo-footer-ribbon-height) + clamp(72px, 6vw, 98px)) !important;
}

body footer .lo-footer-brand__crestline {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 100vw !important;
  height: calc(var(--lo-footer-ribbon-height) + clamp(58px, 5vw, 82px)) !important;
  transform: translateX(-50%) !important;
  z-index: 6 !important;
  pointer-events: none !important;
}

body footer .lo-footer-brand__ribbon,
body footer .lo-footer-brand__crestline::before {
  display: none !important;
  content: none !important;
}

body footer .lo-footer-brand__medallion {
  position: absolute !important;
  top: var(--lo-footer-ribbon-center) !important;
  left: 50% !important;
  width: clamp(76px, 7vw, 112px) !important;
  max-width: clamp(76px, 7vw, 112px) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 8 !important;
}

body footer .lo-footer-brand__wordmark {
  position: relative !important;
  z-index: 5 !important;
  display: block !important;
  width: clamp(180px, 18vw, 292px) !important;
  max-width: min(72vw, 292px) !important;
  margin: 0 auto !important;
}

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

  body footer {
    --lo-footer-bleed: 0px !important;
  }
}

/* Footer rebuild final override: one shared structure after capture is moved into footer-column. */
body footer {
  --lo-footer-ribbon-top: 0px !important;
  --lo-footer-ribbon-height: clamp(44px, 4vw, 62px) !important;
  --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-height) / 2) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body footer::before {
  display: none !important;
  content: none !important;
  height: 0 !important;
  background: none !important;
}

body footer::after {
  top: 0 !important;
  height: var(--lo-footer-ribbon-height) !important;
}

body footer .footer-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(14px, 1.7vw, 22px) !important;
}

body footer .lo-footer-brand {
  margin: 0 0 clamp(10px, 1.4vw, 18px) !important;
  padding-top: calc(var(--lo-footer-ribbon-height) + clamp(64px, 5.6vw, 92px)) !important;
}

body footer .lo-footer-brand__medallion {
  top: var(--lo-footer-ribbon-center) !important;
  transform: translate(-50%, -50%) !important;
}

body footer .footer-column > .join-the-order,
body footer .footer-column > .join-the-order[hidden] {
  display: block !important;
  width: min(100% - 28px, 980px) !important;
  margin: 0 auto clamp(6px, 1vw, 12px) !important;
  padding: 0 !important;
  background: transparent !important;
}

body footer .footer-column > .join-the-order .container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

/* Footer hard reset: the ribbon is the first footer pixel; no bleed or stray crestline texture. */
body footer {
  --lo-footer-bleed: 0px !important;
  --lo-footer-ribbon-top: 0px !important;
  --lo-footer-ribbon-height: clamp(44px, 4vw, 62px) !important;
  --lo-footer-ribbon-center: calc(var(--lo-footer-ribbon-height) / 2) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  background-color: #f4c71f !important;
  background-image: url("/images/pattern.png") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 260px auto !important;
}

body footer::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

body footer::after {
  top: 0 !important;
  width: calc(100vw + 160px) !important;
  height: var(--lo-footer-ribbon-height) !important;
}

body footer .lo-footer-brand,
body footer .lo-footer-brand::before,
body footer .lo-footer-brand::after,
body footer .lo-footer-brand__crestline,
body footer .lo-footer-brand__crestline::before,
body footer .lo-footer-brand__crestline::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body footer .lo-footer-brand__crestline {
  height: 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 footer for product pages: same structure as home. */
html,
body {
  overflow-x: hidden !important;
}

body footer {
  --lo-footer-ribbon-height: clamp(42px, 3.8vw, 62px) !important;
  --lo-footer-medallion: clamp(84px, 7.2vw, 118px) !important;
  --lo-footer-clearance: calc(var(--lo-footer-ribbon-height) + (var(--lo-footer-medallion) / 2) + clamp(12px, 1.4vw, 22px)) !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 clamp(16px, 3vw, 32px) clamp(34px, 4.4vw, 60px) !important;
  background-color: #f4c71f !important;
  background-image: url("/images/pattern.png") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 260px auto !important;
  color: #0b0906 !important;
}

body footer::before,
body footer .lo-footer-brand__crestline::before,
body footer .lo-footer-brand__crestline::after,
body footer .lo-footer-brand::before,
body footer .lo-footer-brand::after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}

body footer::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: calc(100vw + 4px) !important;
  height: var(--lo-footer-ribbon-height) !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
  background: url("/images/footer/Rebbon web footer.png") center center / 100% 100% no-repeat !important;
  box-shadow: 0 22px 28px rgba(0, 0, 0, .38), 0 6px 9px rgba(0, 0, 0, .28) !important;
  pointer-events: none !important;
}

body footer > .container {
  position: relative !important;
  z-index: 3 !important;
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body footer .footer-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(12px, 1.4vw, 18px) !important;
  text-align: center !important;
}

body footer .lo-footer-brand {
  order: 1 !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: var(--lo-footer-clearance) !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 4 !important;
}

body footer .lo-footer-brand__crestline {
  position: absolute !important;
  inset: 0 auto auto 50% !important;
  width: 100vw !important;
  height: 0 !important;
  transform: translateX(-50%) !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

body footer .lo-footer-brand__ribbon {
  display: none !important;
}

body footer .lo-footer-brand__medallion {
  position: absolute !important;
  top: calc(var(--lo-footer-ribbon-height) / 2) !important;
  left: 50% !important;
  width: var(--lo-footer-medallion) !important;
  max-width: none !important;
  height: var(--lo-footer-medallion) !important;
  transform: translate(-50%, -50%) !important;
  object-fit: contain !important;
  filter: drop-shadow(0 16px 18px rgba(0, 0, 0, .42)) !important;
  z-index: 6 !important;
}

body footer .lo-footer-brand__wordmark {
  display: block !important;
  width: clamp(150px, 14vw, 220px) !important;
  max-width: 68vw !important;
  height: auto !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 8px 9px rgba(0, 0, 0, .34)) !important;
}

body footer .footer-column > p:not(.footer-mailing-address),
body footer .footer-mailing-address,
body footer .footer-column > .join-the-order,
body footer .socials,
body footer .regular-footer {
  color: #0b0906 !important;
}

body footer .footer-column > .join-the-order {
  order: 4 !important;
  display: block !important;
  width: min(100%, 980px) !important;
  margin: clamp(4px, .8vw, 10px) auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body footer .footer-column > .join-the-order .container,
body footer .footer-column > .join-the-order .mailer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

body footer .footer-column > .join-the-order .mailer .input {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
  gap: 10px !important;
  width: min(100%, 880px) !important;
  margin: 0 auto !important;
}

body footer .socials {
  order: 5 !important;
}

body footer .regular-footer {
  order: 6 !important;
  display: flex !important;
  justify-content: center !important;
  gap: clamp(18px, 3vw, 44px) !important;
}

@media (max-width: 720px) {
  body footer {
    --lo-footer-ribbon-height: 42px !important;
    --lo-footer-medallion: 88px !important;
    padding-inline: 16px !important;
    background-size: 230px auto !important;
  }

  body footer .footer-column > .join-the-order .mailer .input {
    grid-template-columns: 1fr !important;
    width: min(100%, 430px) !important;
  }
}

/* Footer compact rhythm: keep the classic footer, remove oversized vertical air. */
body footer {
  --lo-footer-ribbon-height: clamp(38px, 3.1vw, 54px) !important;
  --lo-footer-medallion: clamp(74px, 6vw, 102px) !important;
  --lo-footer-clearance: calc(var(--lo-footer-ribbon-height) + (var(--lo-footer-medallion) / 2) + clamp(0px, .7vw, 10px)) !important;
  padding-bottom: clamp(20px, 2.4vw, 34px) !important;
}

body footer .footer-column {
  gap: clamp(7px, .8vw, 12px) !important;
}

body footer .lo-footer-brand__wordmark {
  width: clamp(132px, 11vw, 190px) !important;
}

body footer .footer-column > p:not(.footer-mailing-address),
body footer .footer-mailing-address {
  max-width: 760px !important;
  font-size: clamp(.92rem, .92vw, 1.04rem) !important;
  line-height: 1.24 !important;
}

body footer .footer-column > .join-the-order {
  width: min(100%, 860px) !important;
  margin-top: 2px !important;
}

body footer .footer-column > .join-the-order .mailer {
  border: 0 !important;
  box-shadow: none !important;
}

body footer .footer-column > .join-the-order .mailer h3 {
  max-width: 720px !important;
  margin-bottom: 8px !important;
  font-size: clamp(.96rem, 1vw, 1.1rem) !important;
  line-height: 1.22 !important;
}

body footer .footer-column > .join-the-order .mailer .input {
  gap: 8px !important;
}

body footer .footer-column > .join-the-order .mailer input,
body footer .footer-column > .join-the-order .mailer button {
  min-height: 38px !important;
  height: 38px !important;
}

body footer .socials {
  margin-top: 6px !important;
}

body footer .socials a {
  width: clamp(36px, 3vw, 44px) !important;
  height: clamp(36px, 3vw, 44px) !important;
}

body footer .regular-footer {
  margin-top: clamp(8px, 1.2vw, 16px) !important;
  gap: clamp(14px, 2.2vw, 32px) !important;
  font-size: clamp(.84rem, .88vw, .98rem) !important;
}

@media (max-width: 720px) {
  body footer {
    --lo-footer-ribbon-height: 38px !important;
    --lo-footer-medallion: 76px !important;
    padding-bottom: 22px !important;
  }

  body footer .footer-column > .join-the-order .mailer .input {
    gap: 6px !important;
  }
}

/* Footer symmetric rhythm final: every footer group shares one spacing scale. */
body footer {
  --lo-footer-gap: clamp(10px, .85vw, 14px) !important;
  --lo-footer-ribbon-height: clamp(38px, 2.8vw, 50px) !important;
  --lo-footer-medallion: clamp(74px, 5.6vw, 96px) !important;
  --lo-footer-clearance: calc(var(--lo-footer-ribbon-height) + (var(--lo-footer-medallion) / 2) + var(--lo-footer-gap)) !important;
  margin: 0 !important;
  padding: 0 clamp(16px, 3vw, 32px) clamp(20px, 2vw, 30px) !important;
}

body footer::after {
  top: 0 !important;
  height: var(--lo-footer-ribbon-height) !important;
}

body footer > .container {
  padding: 0 !important;
}

body footer .footer-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--lo-footer-gap) !important;
  text-align: center !important;
}

body footer .lo-footer-brand {
  margin: 0 !important;
  padding-top: var(--lo-footer-clearance) !important;
}

body footer .lo-footer-brand__medallion {
  top: calc(var(--lo-footer-ribbon-height) / 2) !important;
  width: var(--lo-footer-medallion) !important;
  height: var(--lo-footer-medallion) !important;
}

body footer .lo-footer-brand__wordmark {
  width: clamp(126px, 9vw, 174px) !important;
  margin: 0 auto !important;
}

body footer .footer-column > p:not(.footer-mailing-address),
body footer .footer-mailing-address {
  margin: 0 auto !important;
  padding: 0 !important;
  max-width: 760px !important;
  font-size: clamp(.9rem, .88vw, 1rem) !important;
  line-height: 1.24 !important;
}

body footer .footer-column > .join-the-order,
body footer .footer-mailer {
  display: block !important;
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

body footer .join-the-order .container,
body footer .join-the-order .mailer,
body footer .footer-mailer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body footer .join-the-order .mailer h3,
body footer .footer-mailer h3 {
  margin: 0 auto calc(var(--lo-footer-gap) * .65) !important;
  color: #0b0906 !important;
  font-family: var(--font-body, Georgia, serif) !important;
  font-size: clamp(.95rem, .92vw, 1.05rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  text-transform: none !important;
}

body footer .join-the-order .mailer .input,
body footer .footer-mailer .input {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
  gap: 8px !important;
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
}

body footer .join-the-order .mailer input,
body footer .join-the-order .mailer button,
body footer .footer-mailer input,
body footer .footer-mailer button {
  min-height: 36px !important;
  height: 36px !important;
  font-size: .92rem !important;
  line-height: 1 !important;
}

body footer .socials {
  margin: 0 !important;
  gap: 10px !important;
}

body footer .socials a {
  width: clamp(36px, 2.8vw, 42px) !important;
  height: clamp(36px, 2.8vw, 42px) !important;
}

body footer .regular-footer {
  margin: 0 !important;
  padding: 0 !important;
  gap: clamp(14px, 2vw, 28px) !important;
  font-size: clamp(.82rem, .82vw, .94rem) !important;
  line-height: 1.2 !important;
}

@media (max-width: 720px) {
  body footer {
    --lo-footer-gap: 10px !important;
    --lo-footer-ribbon-height: 38px !important;
    --lo-footer-medallion: 74px !important;
    padding-inline: 14px !important;
    padding-bottom: 20px !important;
  }

  body footer .join-the-order .mailer .input,
  body footer .footer-mailer .input {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
}
