/* legal.css (2026-11-07): TOC, cross-link bar, glossary and the Affiliate Terms of Service blocks. Scoped under body.ws-mod .wsm. Palette: navy #0B1F3A, maroon #680000, gold #F5B800, green #17703d, paper #fbf7ee. */
body.ws-mod .wsm .lg-wrap{max-width:1100px;margin:0 auto;padding:0 16px;box-sizing:border-box}
body.ws-mod .wsm .lg-wrap *{box-sizing:border-box}
body.ws-mod .wsm .lg-block{margin:26px 0}
body.ws-mod .wsm .lg-h2{font-family:var(--f-display);font-weight:800;color:#680000;font-size:clamp(1.6rem,1.1rem + 1.8vw,2.4rem);line-height:1.12;margin:0 0 14px;scroll-margin-top:90px}
body.ws-mod .wsm .lg-h3{font-family:var(--f-display);font-weight:800;color:#0B1F3A;font-size:1.25rem;margin:0 0 6px;scroll-margin-top:90px}
body.ws-mod .wsm p.lg-lead{font-size:1.15rem;line-height:1.6;color:#1f2d3d;margin:0 0 14px}
/* cross-link bar */
body.ws-mod .wsm .lg-links{background:#0B1F3A;color:#fff;border-radius:12px;padding:14px 18px;margin:18px 0}
body.ws-mod .wsm .lg-links b{display:block;font-family:var(--f-display);font-size:1rem;color:#FFD54A;margin:0 0 8px}
body.ws-mod .wsm .lg-links ul.lg-linklist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
body.ws-mod .wsm .lg-links ul.lg-linklist li{margin:0;padding:0;background:none;border:0}
body.ws-mod .wsm .lg-links a{display:inline-block;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-weight:600;font-size:.98rem;border:1px solid rgba(255,255,255,.25);transition:background .2s,transform .2s}
body.ws-mod .wsm .lg-links a:hover,body.ws-mod .wsm .lg-links a:focus-visible{background:#F5B800;color:#0B1F3A;transform:translateY(-1px)}
body.ws-mod .wsm .lg-links a[aria-current=page]{background:#F5B800;color:#0B1F3A;border-color:#F5B800}
/* table of contents */
body.ws-mod .wsm .lg-toc{background:#fbf7ee;border:2px solid #cfdceb;border-left:8px solid #680000;border-radius:12px;padding:18px 22px;margin:18px 0}
body.ws-mod .wsm .lg-toc>b{display:block;font-family:var(--f-display);font-size:1.3rem;color:#0B1F3A;margin:0 0 10px}
body.ws-mod .wsm .lg-toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:28px;counter-reset:lgt}
body.ws-mod .wsm .lg-toc li{break-inside:avoid;counter-increment:lgt;margin:0 0 6px;padding-left:34px;position:relative;line-height:1.35}
body.ws-mod .wsm .lg-toc li::before{content:counter(lgt);position:absolute;left:0;top:1px;width:25px;height:25px;border-radius:50%;background:#0B1F3A;color:#fff;font-weight:800;font-size:.8rem;display:grid;place-items:center}
body.ws-mod .wsm .lg-toc a{color:#0B1F3A;font-weight:600;text-decoration:none;border-bottom:1px solid transparent}
body.ws-mod .wsm .lg-toc a:hover,body.ws-mod .wsm .lg-toc a:focus-visible{border-bottom-color:#680000;color:#680000}
/* glossary */
body.ws-mod .wsm .lg-gloss{background:#f3e8d3;border-radius:14px;padding:22px clamp(16px,3vw,30px);margin:34px 0 10px}
body.ws-mod .wsm .lg-gloss h2{font-family:var(--f-display);font-weight:800;color:#680000;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);margin:0 0 6px}
body.ws-mod .wsm .lg-gloss p.lg-gnote{margin:0 0 14px;color:#33404d}
body.ws-mod .wsm .lg-gloss dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin:0}
body.ws-mod .wsm .lg-gloss .lg-term{background:#fff;border:2px solid #e3d3b4;border-radius:10px;padding:12px 14px;margin:0}
body.ws-mod .wsm .lg-gloss dt{font-family:var(--f-display);font-weight:800;color:#0B1F3A;font-size:1.05rem;margin:0 0 3px}
body.ws-mod .wsm .lg-gloss dt::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#F5B800;margin-right:8px;vertical-align:middle}
body.ws-mod .wsm .lg-gloss dd{margin:0;line-height:1.45;color:#1f2d3d}
/* affiliate TOS blocks */
body.ws-mod .wsm .lg-features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 16px}
body.ws-mod .wsm .lg-feat{background:#fff;border:2px solid #cfdceb;border-top:6px solid #17703d;border-radius:12px;padding:14px 16px}
body.ws-mod .wsm .lg-feat h3{margin:0 0 4px;font-family:var(--f-display);font-size:1.15rem;color:#17703d}
body.ws-mod .wsm .lg-feat p{margin:0;line-height:1.45;color:#1f2d3d}
body.ws-mod .wsm .lg-cta{text-align:center;margin:8px 0 0}
body.ws-mod .wsm .lg-cta .btn{font-size:1.15rem;padding:14px 34px}
body.ws-mod .wsm .lg-imp-intro{font-size:1.1rem;font-weight:600;color:#0B1F3A;margin:0 0 12px}
body.ws-mod .wsm .lg-important{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;counter-reset:lgi}
body.ws-mod .wsm .lg-imp{background:#fff7de;border:3px solid #F5B800;border-radius:14px;padding:16px 18px 16px 62px;position:relative;counter-increment:lgi}
body.ws-mod .wsm .lg-imp::before{content:counter(lgi);position:absolute;left:14px;top:14px;width:36px;height:36px;border-radius:50%;background:#680000;color:#fff;font-family:var(--f-display);font-weight:800;font-size:1.2rem;display:grid;place-items:center}
body.ws-mod .wsm .lg-imp h3{margin:0 0 6px;font-family:var(--f-display);font-size:1.25rem;color:#680000}
body.ws-mod .wsm .lg-imp p{margin:0;line-height:1.5;color:#1f2d3d}
body.ws-mod .wsm .lg-penalty{background:linear-gradient(135deg,#680000,#3d0000);color:#fff;border-radius:16px;padding:22px clamp(18px,3vw,34px);border-left:12px solid #F5B800;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
body.ws-mod .wsm .lg-penalty svg{width:64px;height:64px;flex:none}
body.ws-mod .wsm .lg-penalty h2{margin:0 0 8px;font-family:var(--f-display);font-weight:800;font-size:clamp(1.4rem,1rem + 1.4vw,2rem);color:#FFD54A}
body.ws-mod .wsm .lg-penalty p.lg-big{margin:0 0 10px;font-size:clamp(1.15rem,1rem + .6vw,1.5rem)!important;line-height:1.4;font-weight:700;color:#fff!important}
body.ws-mod .wsm .lg-penalty ul.lg-ul{margin:0;padding-left:22px;color:#fff;list-style:disc}
body.ws-mod .wsm .lg-penalty ul.lg-ul li{margin:0 0 4px;color:#fff!important;font-size:1.08rem}
body.ws-mod .wsm .lg-sec{margin:0 0 22px;padding:0 0 4px}
body.ws-mod .wsm .lg-sec h2{font-family:var(--f-display);font-weight:800;color:#0B1F3A;font-size:clamp(1.3rem,1rem + 1vw,1.7rem);margin:0 0 8px;scroll-margin-top:90px}
body.ws-mod .wsm .lg-sec h2 span{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 6px;border-radius:8px;background:#680000;color:#fff;font-size:1rem;margin-right:10px;vertical-align:middle}
body.ws-mod .wsm .lg-sec p,body.ws-mod .wsm .lg-sec li{line-height:1.6;color:#1f2d3d}
body.ws-mod .wsm .lg-sec ol.lg-ul,body.ws-mod .wsm .lg-sec ul.lg-ul{margin:6px 0 8px;padding-left:26px;display:block}
body.ws-mod .wsm .lg-sec ul.lg-ul{list-style:disc}
body.ws-mod .wsm .lg-sec ol.lg-ul{list-style:decimal}
body.ws-mod .wsm .lg-sec li{margin:0 0 5px}
body.ws-mod .wsm .lg-sec:target h2{animation:lgFlash 1.6s ease}
@keyframes lgFlash{0%,100%{background:transparent}30%{background:#fff0b3}}
body.ws-mod .wsm .lg-why{background:#e3ecf7;border-radius:14px;padding:22px clamp(16px,3vw,30px);margin:30px 0}
body.ws-mod .wsm .lg-why>p{margin:0 0 14px}
body.ws-mod .wsm .lg-whygrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
body.ws-mod .wsm .lg-whyc{background:#fff;border-left:6px solid #17703d;border-radius:10px;padding:12px 16px}
body.ws-mod .wsm .lg-whyc h3{margin:0 0 4px;font-family:var(--f-display);font-size:1.12rem;color:#0B1F3A}
body.ws-mod .wsm .lg-whyc p{margin:0;line-height:1.55;color:#1f2d3d}
body.ws-mod .wsm .lg-updated{color:#33404d;font-size:.98rem;margin:6px 0 0}
body.ws-mod .wsm .lg-affbox{background:#fff7de;border:3px solid #F5B800;border-radius:12px;padding:14px 18px;margin:22px 0}
body.ws-mod .wsm .lg-affbox b{font-family:var(--f-display);color:#680000;font-size:1.2rem}
body.ws-mod .wsm .lg-affbox p{margin:6px 0 0}
body.ws-mod .wsm .lg-agree{font-size:.98rem;margin:10px 0 0;color:#1f2d3d}
/* lightbox (landing page link, agree line) */
.lg-lb{position:fixed;inset:0;z-index:99999;background:rgba(7,16,31,.78);display:grid;place-items:center;padding:3vh 3vw}
.lg-lb[hidden]{display:none}
.lg-lb-box{background:#fff;border-radius:14px;width:min(960px,100%);height:min(88vh,100%);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lg-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0B1F3A;color:#fff;padding:10px 14px;font-family:Arial,sans-serif;font-weight:700}
.lg-lb-bar button{font-family:Arial,sans-serif;background:#F5B800;color:#0B1F3A;border:0;border-radius:8px;padding:8px 16px;font-weight:800;cursor:pointer;font-size:1rem}
.lg-lb-bar button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.lg-lb-box iframe{flex:1;width:100%;border:0;background:#fff}
@media (max-width:900px){
 body.ws-mod .wsm .lg-features{grid-template-columns:repeat(2,1fr)}
 body.ws-mod .wsm .lg-important,body.ws-mod .wsm .lg-whygrid{grid-template-columns:1fr}
 body.ws-mod .wsm .lg-toc ol{columns:1}
 body.ws-mod .wsm .lg-penalty{grid-template-columns:1fr}
}
@media (max-width:560px){body.ws-mod .wsm .lg-features{grid-template-columns:1fr}.lg-lb{padding:0}.lg-lb-box{height:100%;border-radius:0}}
@media (prefers-reduced-motion:reduce){body.ws-mod .wsm .lg-sec:target h2,body.ws-mod .wsm .lg-links a{animation:none;transition:none}}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
