/* ==========================================================================
   OERL Legal pages — Privacy Policy and Terms of Service.
   Scoped .pv-* ; uses shared theme tokens from oerl-enhance.css.

   Lifted verbatim from the <style> block in dev-files/html/web/privacy.html.
   The static templates carried their page CSS inline; the conversion to Django
   moved most of it into these files and missed this one, so the page has been
   rendering unstyled. Nothing here is new — only the file it lives in.

   One file for both pages: privacy.html and terms.html shipped byte-identical
   style blocks — the same layout with different prose.
   ========================================================================== */
.pv-toc{position:sticky;top:120px;border:1px solid var(--oerl-border-soft);border-radius:16px;padding:24px;background:var(--oerl-surface);}
.pv-toc h2{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tg-body-color);margin:0 0 16px;}
.pv-toc a{display:flex;gap:10px;align-items:center;padding:9px 0;color:var(--tg-heading-color);font-weight:600;font-size:15px;border-bottom:1px solid var(--oerl-border-soft);}
.pv-toc a:last-child{border-bottom:0;}
.pv-toc a span{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:rgba(63,163,215,.12);color:#3fa3d7;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;}
.pv-toc a:hover{color:#3fa3d7;}
.pv-card{border:1px solid var(--oerl-border-soft);border-radius:16px;padding:34px;margin-bottom:24px;background:var(--oerl-surface);transition:.3s;}
.pv-card:hover{box-shadow:0 18px 45px rgba(20,24,60,.07);}
.pv-card .pv-head{display:flex;gap:16px;align-items:center;margin-bottom:16px;}
.pv-card .pv-icon{flex:0 0 52px;width:52px;height:52px;border-radius:13px;background:rgba(63,163,215,.12);color:#3fa3d7;display:flex;align-items:center;justify-content:center;font-size:22px;}
.pv-card h3{font-size:23px;font-weight:700;color:var(--tg-heading-color);margin:0;}
.pv-card p{color:var(--tg-body-color);margin:0 0 12px;font-size:16px;line-height:1.7;}
.pv-card p:last-child{margin-bottom:0;}
.pv-card ul{margin:0 0 12px;padding:0;list-style:none;}
.pv-card ul li{position:relative;padding-left:28px;color:var(--tg-body-color);margin-bottom:10px;font-size:16px;line-height:1.6;}
.pv-card ul li::before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900;position:absolute;left:0;top:2px;color:#3fa3d7;font-size:13px;}
.pv-intro{background:linear-gradient(135deg,#0a1830,#123a52 55%,#1c6a97);border-radius:18px;padding:44px;color:#fff;margin-bottom:36px;}
.pv-intro h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 14px;}
.pv-intro p{color:rgba(255,255,255,.82);margin:0 0 10px;line-height:1.7;}
.pv-updated{display:inline-block;background:rgba(255,255,255,.15);color:#fff;font-weight:600;font-size:14px;padding:7px 16px;border-radius:30px;margin-bottom:18px;}
.pv-contact{border:1px solid var(--oerl-border-soft);border-radius:16px;padding:34px;background:var(--oerl-surface-2);}
.pv-contact a{color:#3fa3d7;font-weight:600;}
@media(max-width:991px){.pv-toc{position:static;margin-bottom:24px;}}

[data-bs-theme="dark"] .pv-card p, [data-bs-theme="dark"] .pv-card ul li{color:var(--oerl-text);}
.pv-toc a.active{color:var(--tg-theme-primary-500);}
.pv-toc a.active span{background:var(--tg-theme-primary-500);color:#fff;}
.pv-notice{display:flex;gap:14px;align-items:flex-start;background:rgba(63,163,215,.09);border:1px solid rgba(63,163,215,.28);border-left:4px solid var(--tg-theme-primary-500);border-radius:12px;padding:18px 22px;margin-bottom:30px;color:var(--tg-body-color);font-size:15px;line-height:1.65;}
.pv-notice i{flex:0 0 22px;width:22px;height:22px;color:var(--tg-theme-primary-500);margin-top:2px;}
.pv-notice strong{color:var(--tg-heading-color);}
[data-bs-theme="dark"] .pv-notice{color:var(--oerl-text);}
html{scroll-behavior:smooth;}
