.product-detail {
  --detail-ink: #000;
  --detail-brown: #2b2b2b;
  --detail-gold: #f0a500;
  --detail-gold-dark: #9a5700;
  --detail-orange: #cf7500;
  --detail-cream: #f4f4f4;
  --detail-line: #d4d4d4;
  color: var(--detail-brown);
  background: #fff;
}

.detail-header {
  height: 88px;
  padding: 0 clamp(24px, 5vw, 72px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
  border-bottom: 1px solid #d4d4d4;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
}

.detail-brand img { width: 160px; }
.detail-back { font-size: 13px; font-weight: 600; }
.detail-back span { margin-right: 8px; color: var(--detail-gold-dark); }
.detail-header-wa { justify-self: end; padding: 11px 20px; border-radius: 2px; background: var(--detail-gold); color: #000; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.detail-header-wa span { margin-left: 10px; color: #000; }

.detail-hero {
  padding: 30px clamp(24px, 5vw, 72px) 80px;
  background: linear-gradient(180deg, #fff 0%, var(--detail-cream) 100%);
}

.detail-breadcrumb { margin: 0 0 28px; display: flex; gap: 10px; color: #91836d; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.detail-breadcrumb b { color: var(--detail-gold-dark); font-weight: 600; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); gap: clamp(42px, 6vw, 86px); align-items: center; }
.detail-gallery { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 12px; }
.detail-gallery-main { height: min(570px, 58vw); min-height: 440px; position: relative; overflow: hidden; }
.detail-gallery-main img, .detail-gallery-secondary img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.detail-gallery-single { grid-template-columns: 1fr; }
.detail-gallery-single .detail-gallery-secondary { display: none; }
.detail-gallery-main > span { position: absolute; left: 18px; top: 18px; padding: 7px 13px; background: var(--detail-gold); color: #000; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.detail-gallery-secondary { display: grid; grid-template-rows: 1fr 1fr; gap: 12px; }
.detail-gallery-secondary img { min-height: 0; }
.detail-kicker { margin: 0 0 14px; color: var(--detail-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.detail-kicker.light { color: #e4be61; }
.detail-kicker-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.detail-kicker-row > span { padding: 6px 10px; border: 1px solid #dacdaff0; border-radius: 999px; color: #8a7b60; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.detail-summary h1 { margin: 0; max-width: 640px; color: var(--detail-ink); font-size: clamp(42px, 4.5vw, 68px); font-weight: 800; line-height: 1.03; letter-spacing: -.05em; }
.detail-lead { margin: 24px 0 30px; max-width: 580px; color: #746750; font-size: 16px; }
.detail-facts { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--detail-line); border-left: 1px solid var(--detail-line); }
.detail-facts > div { min-height: 96px; padding: 17px 18px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--detail-line); border-bottom: 1px solid var(--detail-line); }
.detail-facts small { margin-bottom: 4px; color: #91836d; font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }
.detail-facts strong { color: var(--detail-ink); font-size: 15px; font-weight: 600; }
.detail-actions { margin-top: 28px; display: flex; flex-direction: column; gap: 10px; }
.detail-button { min-height: 50px; padding: 12px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; border-radius: 2px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: transform .2s ease, box-shadow .2s ease; }
.detail-button:hover { box-shadow: 6px 6px 0 #000; transform: translate(-2px, -2px); }
.detail-button.primary { background: var(--detail-gold); color: #000; }
.detail-button.primary span { color: var(--detail-gold); }
.detail-button.download { border: 1px solid var(--detail-gold); background: #fffaf0; color: var(--detail-gold-dark); }
.detail-button.download span { font-size: 16px; }
.detail-button.secondary { border: 1px solid #d8cbae; color: var(--detail-brown); }
.detail-button.gold { background: var(--detail-gold); color: var(--detail-ink); }
.detail-disclaimer { margin: 17px 0 0; color: #998c78; font-size: 10px; line-height: 1.6; }

.detail-content { padding: 105px clamp(24px, 7vw, 100px); display: grid; grid-template-columns: 1fr .85fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.detail-overview h2, .detail-applications h2, .detail-process h2, .detail-related h2, .detail-cta h2 { margin: 0; color: var(--detail-ink); font-size: clamp(38px, 4.4vw, 62px); font-weight: 800; line-height: 1.08; letter-spacing: -.05em; }
.detail-overview h2 em, .detail-applications h2 em, .detail-process h2 em, .detail-related h2 em, .detail-cta h2 em { color: var(--detail-orange); font-style: normal; font-weight: 800; }
.detail-overview > p:not(.detail-kicker) { margin: 28px 0 34px; max-width: 680px; color: #746750; font-size: 16px; }
.detail-highlights { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--detail-line); }
.detail-highlights > div { min-height: 110px; padding: 20px 17px 16px 0; display: flex; flex-direction: column; gap: 14px; border-bottom: 1px solid var(--detail-line); }
.detail-highlights span { color: var(--detail-gold-dark); font-size: 10px; }
.detail-highlights strong { color: var(--detail-ink); font-size: 13px; line-height: 1.45; }
.detail-specs { padding: 34px; background: var(--detail-cream); }
.detail-specs-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.detail-specs-heading > span { color: #8c7c62; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.detail-spec-row { min-height: 68px; padding: 15px 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; align-items: center; border-top: 1px solid #dfd5c4; }
.detail-spec-row span { color: #8d806a; font-size: 11px; }
.detail-spec-row strong { color: var(--detail-ink); font-size: 12px; font-weight: 600; }

.detail-applications { padding: 96px clamp(24px, 7vw, 100px); display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; background: var(--detail-ink); color: #fff; }
.detail-applications h2 { color: #fff; }
.detail-applications h2 em { color: var(--detail-gold); }
.application-list { border-top: 1px solid #ffffff2a; }
.application-list > div { min-height: 92px; display: grid; grid-template-columns: 52px 1fr 30px; gap: 18px; align-items: center; border-bottom: 1px solid #ffffff2a; }
.application-list span { color: var(--detail-gold); font-size: 10px; }
.application-list h3 { margin: 0; color: #fff; font-size: 20px; font-weight: 500; }
.application-list b { color: var(--detail-gold); font-size: 20px; font-weight: 400; }

.detail-process { padding: 100px clamp(24px, 7vw, 100px); }
.detail-process-heading { max-width: 800px; }
.detail-process-grid { margin-top: 60px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--detail-line); }
.detail-process-grid article { min-height: 230px; padding: 28px clamp(20px, 3vw, 44px) 30px 0; border-bottom: 1px solid var(--detail-line); }
.detail-process-grid article + article { padding-left: clamp(20px, 3vw, 44px); border-left: 1px solid var(--detail-line); }
.detail-process-grid span { color: var(--detail-gold-dark); font-size: 10px; }
.detail-process-grid h3 { margin: 34px 0 9px; color: var(--detail-ink); font-size: 21px; }
.detail-process-grid p { margin: 0; color: #81735d; font-size: 13px; }

.detail-related { padding: 100px clamp(24px, 7vw, 100px); background: var(--detail-cream); }
.detail-related-heading { margin-bottom: 52px; display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.detail-related-heading > a { padding-bottom: 7px; border-bottom: 1px solid var(--detail-gold-dark); color: var(--detail-gold-dark); font-size: 12px; font-weight: 700; }
.detail-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.detail-related-card { padding-bottom: 24px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.detail-related-card { border: 1px solid #d2d2d2; }
.detail-related-card:hover { border-color: var(--detail-orange); transform: translate(-3px, -3px); box-shadow: 8px 8px 0 #000; }
.detail-related-card > div { height: 260px; position: relative; overflow: hidden; }
.detail-related-card img { width: 100%; height: 100%; object-fit: contain; background: #fff; transition: transform .35s ease; }
.detail-related-card:hover img { transform: scale(1.035); }
.detail-related-card > div span { position: absolute; left: 14px; top: 14px; padding: 6px 10px; background: var(--detail-gold); color: #000; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.detail-related-card > small, .detail-related-card > h3, .detail-related-card > p, .detail-related-card > b { margin-left: 22px; margin-right: 22px; }
.detail-related-card > small { margin-top: 20px; display: block; color: var(--detail-gold-dark); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.detail-related-card h3 { margin-top: 8px; margin-bottom: 7px; color: var(--detail-ink); font-size: 19px; line-height: 1.35; }
.detail-related-card p { min-height: 44px; color: #81735d; font-size: 12px; }
.detail-related-card b { color: var(--detail-gold-dark); font-size: 11px; }

.detail-cta { padding: 90px clamp(24px, 7vw, 100px); display: grid; grid-template-columns: 1fr .8fr; gap: 10vw; align-items: center; background: #000; color: #fff; }
.detail-cta h2 { color: #fff; }
.detail-cta h2 em { color: var(--detail-gold); }
.detail-cta > div:last-child > p { margin: 0 0 24px; color: #ddd2c0; }
.detail-cta .detail-button { width: fit-content; }
.detail-footer { min-height: 120px; padding: 28px clamp(24px, 7vw, 100px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: var(--detail-cream); border-top: 1px solid var(--detail-line); }
.detail-footer img { width: 140px; }
.detail-footer p { color: #8a7b63; font-size: 11px; }
.detail-footer a { justify-self: end; color: var(--detail-gold-dark); font-size: 11px; font-weight: 700; }
.detail-floating-wa { position: fixed; right: 24px; bottom: 24px; z-index: 50; width: 56px; height: 56px; border-radius: 50%; background: #25d366 url("/assets/whatsapp.svg") center / 27px no-repeat; box-shadow: 0 12px 32px #17351f55; transition: transform .2s ease; }
.detail-floating-wa:hover { transform: translateY(-3px) scale(1.04); }
.product-not-found { min-height: 100vh; padding: 15vh 8vw; background: var(--detail-cream, #f7f4ed); }
.product-not-found h1 { color: #30291d; font-size: clamp(40px, 6vw, 76px); }
.product-not-found .detail-button { width: fit-content; }

@media (max-width: 980px) {
  .detail-layout { grid-template-columns: 1fr; }
  .detail-gallery-main { height: 560px; }
  .detail-summary { max-width: 720px; }
  .detail-content { grid-template-columns: 1fr; }
  .detail-applications { grid-template-columns: 1fr; gap: 48px; }
  .detail-related-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-related-card:last-child { display: none; }
}

@media (max-width: 680px) {
  .detail-header { height: 74px; padding: 0 20px; grid-template-columns: 1fr auto; }
  .detail-brand img { width: 130px; }
  .detail-back { display: none; }
  .detail-header-wa { padding: 9px 14px; }
  .detail-hero { padding: 20px 20px 64px; }
  .detail-breadcrumb { margin-bottom: 18px; overflow: hidden; white-space: nowrap; }
  .detail-layout { gap: 34px; }
  .detail-gallery { grid-template-columns: 1fr; }
  .detail-gallery-main { min-height: 0; height: 390px; }
  .detail-gallery-secondary { grid-template-columns: 1fr 1fr; grid-template-rows: 120px; }
  .detail-summary h1 { font-size: 42px; }
  .detail-lead { font-size: 14px; }
  .detail-facts > div { min-height: 84px; padding: 14px; }
  .detail-facts strong { font-size: 13px; }
  .detail-content, .detail-applications, .detail-process, .detail-related, .detail-cta { padding: 70px 22px; }
  .detail-overview h2, .detail-applications h2, .detail-process h2, .detail-related h2, .detail-cta h2 { font-size: 39px; }
  .detail-overview > p:not(.detail-kicker) { font-size: 14px; }
  .detail-highlights { grid-template-columns: 1fr; }
  .detail-highlights > div { min-height: 76px; display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 8px; }
  .detail-specs { padding: 26px 20px; }
  .detail-spec-row { grid-template-columns: .9fr 1.1fr; }
  .detail-process-grid { margin-top: 40px; grid-template-columns: 1fr; }
  .detail-process-grid article { min-height: 0; padding: 25px 0; }
  .detail-process-grid article + article { padding-left: 0; border-left: 0; }
  .detail-process-grid h3 { margin-top: 15px; }
  .detail-related-heading { align-items: start; flex-direction: column; }
  .detail-related-grid { margin-right: -22px; padding-right: 22px; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .detail-related-grid::-webkit-scrollbar { display: none; }
  .detail-related-card, .detail-related-card:last-child { min-width: min(82vw, 330px); display: block; scroll-snap-align: start; }
  .detail-related-card > div { height: 240px; }
  .detail-cta { grid-template-columns: 1fr; gap: 38px; }
  .detail-footer { padding: 34px 22px 96px; grid-template-columns: 1fr; gap: 14px; }
  .detail-footer a { justify-self: start; }
  .detail-floating-wa { right: 16px; bottom: 16px; width: 52px; height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail *, .product-detail *::before, .product-detail *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Keep client photography at its natural proportions, including low-resolution renders. */
.detail-layout { max-width: 1360px; margin-inline: auto; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 60px); align-items: start; }
.detail-summary, .detail-gallery { min-width: 0; }
.detail-summary h1 { font-size: clamp(32px, 3.2vw, 50px); overflow-wrap: anywhere; }
.detail-gallery { display: flex; flex-direction: column; gap: 16px; }
.detail-gallery-main { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; max-height: 440px; padding: 48px 24px 24px; background: #fff; border: 1px solid #e8e8e8; }
.detail-image-open { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; cursor: zoom-in; }
.detail-gallery-main img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.detail-gallery-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 14px; }
.detail-gallery-item { min-width: 0; padding: 12px; background: #fff; border: 1px solid #e8e8e8; cursor: zoom-in; }
.detail-gallery-item > div { height: 200px; display: flex; align-items: center; justify-content: center; }
.detail-gallery-secondary img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.detail-gallery-item > span { display: block; padding-top: 10px; color: var(--detail-gold-dark); font-size: 11px; text-align: center; }
.detail-gallery-item:hover, .detail-gallery-item:focus-visible { border-color: var(--detail-gold-dark); }
.detail-related-card > div { height: auto; aspect-ratio: 4 / 3; padding: 42px 18px 18px; display: flex; align-items: center; justify-content: center; }
.detail-related-card img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.detail-related-card:hover img { transform: none; }
@media (max-width: 980px) {
  .detail-layout { grid-template-columns: minmax(0, 1fr); max-width: 720px; }
  .detail-gallery-main { max-height: 400px; }
}
@media (max-width: 680px) {
  .detail-summary h1 { font-size: clamp(30px, 8vw, 38px); }
  .detail-gallery-main { max-height: 300px; padding: 42px 16px 16px; }
  .detail-gallery-item > div { height: 160px; }
  .detail-gallery-main > span { left: 12px; top: 12px; }
}
.detail-gallery-item:only-child { grid-column: 1 / -1; }
.detail-gallery-item:only-child > div { height: 280px; }
@media (max-width: 680px) {
  .detail-gallery-item:only-child > div { height: 220px; }
}
.detail-price {font-size:clamp(20px,2vw,28px);line-height:1.4;margin:24px 0 10px}
.product-lightbox {border:0;padding:64px 20px 76px;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;background:rgba(0,0,0,.94);color:white}
.product-lightbox::backdrop {background:rgba(0,0,0,.85)}
.product-lightbox[open] {display:flex;align-items:center;justify-content:center}
.product-lightbox .lightbox-photo {max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.product-lightbox button {background:#efa900;color:#111;border:0;border-radius:50%;width:48px;height:48px;font-size:28px;cursor:pointer}
.product-lightbox button:focus-visible {outline:3px solid white;outline-offset:4px}
.product-lightbox .lightbox-close {position:absolute;right:20px;top:12px}
.product-lightbox .lightbox-controls {position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;font-size:16px}
.detail-price + .detail-disclaimer {font-size:14px;line-height:1.6;margin:0 0 24px}
