/* =============================================================================
 * DEER EDGE — Landing-page product description (.de-pd)
 * Single-product long description, rendered full-bleed by .de-description
 * (brand.css). All markup is generated by tools/listing/pipeline.py from a
 * validated JSON draft — the class contract here is the render contract there.
 * Tokens come from brand.css (:root --de-*). Loads only on is_product().
 * ========================================================================== */

.de-pd{font-family:var(--de-sans);color:var(--de-ink-soft);}
.de-pd section{padding:56px 24px;}
.de-pd .de-pd__in{max-width:1080px;margin:0 auto;}

/* --- 1. Intro: eyebrow + benefit headline + lede ------------------------- */
.de-pd__intro{background:var(--de-bone);border-top:1px solid var(--de-line);text-align:center;}
.de-pd__eyebrow{
  display:inline-block;font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--de-brass);margin-bottom:14px;
}
.de-pd__intro h2{
  font-family:var(--de-serif);font-weight:600;color:var(--de-iron);
  font-size:clamp(26px,4vw,40px);line-height:1.12;letter-spacing:-.01em;
  max-width:22ch;margin:0 auto 16px;
}
.de-pd__lede{font-size:17px;line-height:1.65;max-width:62ch;margin:0 auto;color:var(--de-ink-soft);}

/* --- 2. Feature grid ------------------------------------------------------ */
.de-pd__features{background:var(--de-parchment);}
.de-pd__features .de-pd__in{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;
}
.de-pd__feature{
  background:var(--de-bone);border:1px solid var(--de-line);border-radius:var(--de-r);
  padding:26px 22px;box-shadow:var(--de-shadow);
}
.de-pd__feature h3{
  font-family:var(--de-serif);font-weight:600;color:var(--de-iron);
  font-size:19px;margin:0 0 8px;line-height:1.25;
}
.de-pd__feature p{margin:0;font-size:15px;line-height:1.6;color:var(--de-ink-soft);}

/* --- 3. Forge band: dark brand/story moment ------------------------------- */
.de-pd__band{background:var(--de-iron);text-align:center;}
.de-pd__band p{
  font-family:var(--de-serif);font-style:italic;font-weight:500;
  color:var(--de-parchment);font-size:clamp(19px,2.6vw,26px);line-height:1.45;
  max-width:34ch;margin:0 auto;
}
.de-pd__band .de-pd__band-note{
  font-family:var(--de-sans);font-style:normal;font-weight:400;
  color:var(--de-spark);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  margin-top:18px;
}

/* --- 4. Specs + what's included ------------------------------------------- */
.de-pd__specs{background:var(--de-bone);}
.de-pd__specs .de-pd__in{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;
}
.de-pd__specs h3{
  font-family:var(--de-serif);font-weight:600;color:var(--de-iron);
  font-size:21px;margin:0 0 16px;
}
.de-pd__specs table{width:100%;border-collapse:collapse;margin:0;}
.de-pd__specs th,.de-pd__specs td{
  text-align:left;padding:10px 4px;font-size:15px;border-bottom:1px solid var(--de-line);
}
.de-pd__specs th{font-weight:600;color:var(--de-iron);width:46%;}
.de-pd__specs td{color:var(--de-ink-soft);}
.de-pd__included{list-style:none;margin:0;padding:0;}
.de-pd__included li{
  position:relative;padding:10px 4px 10px 26px;font-size:15px;
  border-bottom:1px solid var(--de-line);
}
.de-pd__included li::before{
  content:"";position:absolute;left:2px;top:50%;width:12px;height:2px;
  background:var(--de-ember);transform:translateY(-50%);
}

/* --- 5. Videos (preserved from the original listing) ---------------------- */
.de-pd__videos{background:var(--de-parchment);}
.de-pd__videos h3{
  font-family:var(--de-serif);font-weight:600;color:var(--de-iron);
  font-size:21px;text-align:center;margin:0 0 22px;
}
.de-pd__videos .de-pd__in{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;
}
.de-pd__videos video{
  width:100%;height:auto;display:block;border-radius:var(--de-r);
  border:1px solid var(--de-line);background:var(--de-iron);
}

/* --- 6. Closing ------------------------------------------------------------ */
.de-pd__closing{background:var(--de-bone);border-bottom:1px solid var(--de-line);text-align:center;}
.de-pd__closing p{
  font-size:16px;line-height:1.6;max-width:56ch;margin:0 auto;color:var(--de-ink-soft);
}
.de-pd__closing .de-pd__assure{
  display:block;margin-top:14px;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--de-brass);font-weight:600;
}

@media (max-width:640px){
  .de-pd section{padding:40px 18px;}
}
