/* =========================================================================
   Product description kit
   Styles for rich product descriptions written in the editor's Text tab.
   The description only carries class names (they survive WordPress's HTML
   filter, which strips <style> blocks and some inline styles), and every
   colour comes from the theme tokens, so it follows the store style and
   dark mode. Wrap the description in <div class="pd">; building blocks:
   .pd-hero (+ .pd-lead, .pd-facts), .pd-sec (+ .pd-intro), .pd-ledger with
   .pd-col.pd-in / .pd-col.pd-out (+ .pd-list, .pd-mark, .pd-note),
   .pd-month (+ .pd-day), .pd-split, .pd-steps, dl, details/summary FAQ,
   .pd-close. Loaded on single product pages only.
   ========================================================================= */
.pd{--pd-ink:var(--color-heading,#0B2E24);--pd-text:var(--color-text,#12241F);--pd-muted:var(--color-text-muted,#6B7280);--pd-line:var(--color-border,#E3EAE7);--pd-in:var(--color-accent-blue,#0E9F6E);--pd-out:var(--color-danger,#B91C1C);--pd-out-bg:var(--color-danger-bg,#FEF2F2);--pd-paper:var(--color-surface,#FFFFFF);--pd-tint:var(--color-tint-grey,#F2F5F3);color:var(--pd-text);font-size:1.0625rem;line-height:1.65;max-width:62rem}
.pd *{box-sizing:border-box}
.pd p{margin:0 0 1rem;max-width:68ch}
.pd h2,.pd h3{font-family:var(--font-heading,inherit);color:var(--pd-ink);letter-spacing:-.01em}
.pd .pd-sec{margin:0 0 3.25rem}
.pd .pd-sec>h2{font-size:clamp(1.35rem,1.15rem + .8vw,1.75rem);line-height:1.25;margin:0 0 .5rem}
.pd .pd-sec>.pd-intro{color:var(--pd-muted);margin-bottom:1.5rem}
.pd .pd-hero{margin:0 0 3.25rem;padding:0 0 2.25rem;border-bottom:1px solid var(--pd-line)}
.pd .pd-hero h2{font-size:clamp(1.9rem,1.35rem + 2.4vw,3rem);line-height:1.08;font-weight:800;letter-spacing:-.025em;margin:0 0 1.1rem;max-width:18ch}
.pd .pd-lead{font-size:1.1875rem;line-height:1.6;max-width:58ch;margin:0 0 1.75rem}
.pd .pd-facts{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.pd .pd-facts li{margin:0;padding:.15rem 1.25rem;border-left:2px solid var(--pd-line);font-size:.9375rem;line-height:1.35}
.pd .pd-facts li:first-child{padding-left:0;border-left:0}
.pd .pd-facts strong{display:block;color:var(--pd-ink);font-size:1rem}
.pd .pd-facts span{color:var(--pd-muted)}
.pd .pd-ledger{display:grid;grid-template-columns:1.35fr 1fr;border-top:3px double var(--pd-ink);border-bottom:3px double var(--pd-ink);background:var(--pd-paper)}
.pd .pd-col{padding:0 0 .5rem}
.pd .pd-col+.pd-col{border-left:2px solid var(--pd-ink)}
.pd .pd-col h3{font-size:1.0625rem;margin:0;padding:.85rem 1.1rem;border-bottom:2px solid var(--pd-ink);display:flex;justify-content:space-between;align-items:baseline}
.pd .pd-col h3 small{font-family:var(--font-body,inherit);font-weight:500;font-size:.8125rem;color:var(--pd-muted);letter-spacing:0}
.pd .pd-col ul{list-style:none;margin:0;padding:0}
.pd .pd-col li{display:grid;grid-template-columns:1.5rem 1fr;gap:.35rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--pd-line);margin:0}
.pd .pd-col li:last-child{border-bottom:0}
.pd .pd-mark{font-weight:800;line-height:1.5}
.pd .pd-in .pd-mark{color:var(--pd-in)}
.pd .pd-out .pd-mark{color:var(--pd-out)}
.pd .pd-col li strong{display:block;color:var(--pd-ink);line-height:1.4}
.pd .pd-col li span{display:block;font-size:.9375rem;color:var(--pd-muted);line-height:1.5}
.pd .pd-note{margin:.5rem 1.1rem .6rem;padding:.9rem 1rem;background:var(--pd-out-bg);border-left:3px solid var(--pd-out);font-size:.9375rem;line-height:1.55}
.pd .pd-note strong{color:var(--pd-ink)}
.pd .pd-month{list-style:none;margin:0;padding:0;border-top:1px solid var(--pd-line)}
.pd .pd-month li{display:grid;grid-template-columns:6.5rem 1fr;gap:1.25rem;padding:1.15rem 0;border-bottom:1px solid var(--pd-line);margin:0}
.pd .pd-day{font-family:var(--font-heading,inherit);color:var(--pd-ink);font-size:2.25rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.pd .pd-day small{display:block;font-family:var(--font-body,inherit);font-size:.8125rem;font-weight:500;color:var(--pd-muted);letter-spacing:0;margin-bottom:.3rem}
.pd .pd-month h3{font-size:1.125rem;margin:0 0 .25rem}
.pd .pd-month p{margin:0;color:var(--pd-text)}
.pd .pd-split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.pd .pd-split h2{font-size:1.25rem;margin:0 0 1rem}
.pd .pd-steps{margin:0;padding:0;list-style:none;counter-reset:pd}
.pd .pd-steps li{counter-increment:pd;position:relative;padding:0 0 1.1rem 2.75rem;margin:0}
.pd .pd-steps li::before{content:counter(pd);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border:2px solid var(--pd-ink);border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.9375rem;color:var(--pd-ink);line-height:1}
.pd .pd-steps strong{display:block;color:var(--pd-ink)}
.pd .pd-steps span{color:var(--pd-muted);font-size:.9375rem}
.pd dl{margin:0;display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--pd-line)}
.pd dt,.pd dd{margin:0;padding:.7rem 0;border-bottom:1px solid var(--pd-line);font-size:.9375rem}
.pd dt{font-weight:700;color:var(--pd-ink);padding-right:1.25rem}
.pd details{border-bottom:1px solid var(--pd-line)}
.pd details:first-of-type{border-top:1px solid var(--pd-line)}
.pd summary{list-style:none;cursor:pointer;padding:1rem 2.5rem 1rem 0;position:relative;font-weight:700;color:var(--pd-ink);font-size:1.0625rem}
.pd summary::-webkit-details-marker{display:none}
.pd summary::after{content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;line-height:1;color:var(--pd-muted);transition:transform .2s ease}
.pd details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.pd summary:focus-visible{outline:2px solid var(--pd-in);outline-offset:3px;border-radius:2px}
.pd details p{margin:0 0 1.1rem;color:var(--pd-text)}
.pd .pd-close{border:2px solid var(--pd-ink);padding:1.75rem 1.5rem}
.pd .pd-close h2{font-size:clamp(1.35rem,1.15rem + .8vw,1.75rem);margin:0 0 .4rem;line-height:1.2}
.pd .pd-close p{margin:0;color:var(--pd-muted)}
@media (max-width:720px){
.pd{font-size:1rem}
.pd .pd-ledger{grid-template-columns:1fr}
.pd .pd-col+.pd-col{border-left:0;border-top:3px double var(--pd-ink)}
.pd .pd-col h3,.pd .pd-col li{padding-left:.25rem;padding-right:.25rem}
.pd .pd-note{margin-left:0;margin-right:0}
.pd .pd-facts li{flex:1 1 100%;padding:.6rem 0;border-left:0;border-top:1px solid var(--pd-line)}
.pd .pd-facts li:first-child{border-top:0}
.pd .pd-month li{grid-template-columns:4.25rem 1fr;gap:.9rem}
.pd .pd-day{font-size:1.75rem}
.pd .pd-split{grid-template-columns:1fr;gap:2.5rem}
}
@media (prefers-reduced-motion:reduce){.pd summary::after{transition:none}}
