/* Structured product descriptions (lib/product-description.ts .sfpd-* / .sfbd-*).
   The same rules the description used to carry inline; the builder strips <style> blocks
   before pushing (WordPress keeps their text), so the theme ships them here. */
.sfpd{max-width:820px;margin:0 auto;font-family:inherit;color:#1f2937;line-height:1.6}
.sfpd *{box-sizing:border-box}
/* Transparent, light card — NEVER a solid dark fill (the theme forces dark text
   inside product descriptions, so a dark bg = dark-on-dark). Readable everywhere. */
.sfpd-hero{background:transparent;border:1px solid #e6e9ee;border-radius:16px;padding:24px 24px 20px;color:#0f172a;margin:0 0 26px}
.sfpd-hero__eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-weight:700;margin:0 0 10px}
.sfpd-hero__h{font-size:26px;line-height:1.25;font-weight:700;margin:0 0 18px;color:#0f172a}
.sfpd-pills{display:flex;flex-wrap:wrap;gap:9px}
.sfpd-pill{display:inline-block;background:transparent;border:1px solid #d0d5dd;color:#1f2937;font-size:13.5px;font-weight:600;padding:8px 13px;border-radius:9px}
.sfpd-feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 26px}
.sfpd-feat{background:#f6f7f9;border:1px solid #eceef1;border-left:4px solid #1e3a5f;border-radius:10px;padding:16px 18px}
.sfpd-feat__t{font-size:15.5px;font-weight:700;color:#0f172a;margin:0 0 6px;display:flex;align-items:center;gap:8px;line-height:1.3}
.sfpd-feat__i{font-size:18px;line-height:1;flex:none}
.sfpd-feat__x{font-size:14px;color:#4b5563;margin:0}
.sfpd h3.sfpd-sec{font-size:18px;font-weight:700;color:#0f172a;margin:26px 0 12px}
.sfpd-tech{width:100%;border-collapse:collapse;font-size:14px;border:1px solid #e6e9ee;border-radius:12px;overflow:hidden}
.sfpd-tech th,.sfpd-tech td{text-align:left;padding:11px 14px;border-bottom:1px solid #eef1f4;vertical-align:top}
.sfpd-tech th{width:42%;color:#374151;font-weight:600;background:#f8fafc}
.sfpd-tech tr:last-child th,.sfpd-tech tr:last-child td{border-bottom:none}
.sfpd-box{margin:0;padding:0 0 0 20px}
.sfpd-box li{margin:6px 0;font-size:14.5px}
.sfpd-summary{font-size:15px;color:#374151;margin:22px 0 0}
.sfpd-compliance{margin:26px 0 0;padding:16px 18px;background:#f8fafc;border:1px solid #e6e9ee;border-radius:12px;font-size:12.5px;color:#6b7280;line-height:1.55}
.sfpd-compliance p{margin:0 0 8px}.sfpd-compliance p:last-child{margin:0}
.sfpd-warn{color:#92400e}
@media(max-width:640px){
  .sfpd-hero{padding:20px 18px 18px;border-radius:14px}
  .sfpd-hero__h{font-size:21px}
  .sfpd-feats{grid-template-columns:1fr}
  .sfpd-tech th{width:48%}
}

.sfbd{font-family:inherit;color:#1f2937;max-width:820px;margin:0 auto;line-height:1.6}
.sfbd-lead{font-size:18px;font-weight:600;color:#111;margin:0 0 12px}
.sfbd-body{font-size:15px;margin:0 0 18px}
.sfbd-checks{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.sfbd-checks li{position:relative;padding-left:26px;font-size:15px}
.sfbd-checks li::before{content:"✓";position:absolute;left:0;top:0;color:#2f6b52;font-weight:800}
.sfbd-grid{margin:26px 0;padding:24px;background:#f7f8f7;border-radius:16px}
.sfbd-grid h3{font-size:20px;font-weight:700;color:#111;margin:0 0 20px;text-align:center}
.sfbd-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 12px}
.sfbd-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.sfbd-tile__i{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;font-size:24px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.sfbd-tile__l{font-size:12.5px;font-weight:600;color:#374151}
.sfbd-trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 4px;margin:18px 0;font-size:13px;font-weight:600;color:#374151}
.sfbd-trust i{width:1px;height:14px;background:#d1d5db;margin:0 12px;display:inline-block}
.sfbd-close{font-size:15px;margin:18px 0 6px}
.sfbd-tag{font-size:17px;font-weight:700;color:#2f6b52;text-align:center;margin:8px 0 4px}
.sfbd-legal{margin-top:20px;border-top:1px solid #eee;padding-top:10px}
.sfbd-legal summary{cursor:pointer;font-size:13px;font-weight:600;color:#6b7280}
.sfbd-legal .sfpd-compliance{font-size:12px;color:#6b7280;margin-top:8px}
.sfbd-legal .sfpd-compliance p{margin:4px 0}
@media(max-width:600px){.sfbd-checks{grid-template-columns:1fr}.sfbd-tiles{grid-template-columns:repeat(2,1fr)}}
