/* LoomiTV — shared legal-page styles.
   Used by terms.html, privacy.html and refund.html (and originally
   factored out of dmca.css, which keeps its own copy plus the extra
   contact-form rules dmca.html alone needs). Loaded after tokens.css
   and base.css, same as every other page-specific stylesheet. */

:root{
  --radius:3px; --maxw:1240px;
}

body{ background:var(--bg); color:var(--fg); font-family:'Inter',sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased; overflow-x:hidden; }

:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

.eyebrow{ font-family:'Inter',sans-serif; font-weight:600; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); }

h1,h2,h3,h4{ font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em; line-height:1.05; }

ul,ol{ padding-left:22px; margin:14px 0; }

li{ margin-bottom:8px; color:var(--muted); font-size:14.5px; }

.page-hero{ padding:170px 0 60px; text-align:center; background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(227,166,62,0.14), transparent 60%); }

.page-hero h1{ font-size:clamp(34px,4.6vw,52px); margin-bottom:14px; }

.page-hero .updated{ color:var(--muted-2); font-size:13px; }

main.wrap{ padding-top:70px; padding-bottom:120px; max-width:760px; }

.toc{ background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 30px; margin-bottom:48px; }

.toc h3{ font-size:14px; margin-bottom:12px; }

.toc ol{ margin:0; padding-left:18px; }

.toc li{ margin-bottom:6px; }

.toc a{ color:var(--muted); font-size:13.5px; }

.toc a:hover{ color:var(--gold); }

section.legal{ margin-bottom:48px; scroll-margin-top:100px; }

section.legal h2{ font-size:22px; margin-bottom:14px; padding-top:24px; border-top:1px solid var(--line); }

section.legal:first-of-type h2{ border-top:none; padding-top:0; }

section.legal h3{ font-size:16px; margin:18px 0 8px; color:var(--fg); }

section.legal p{ color:var(--muted); font-size:15px; margin-bottom:14px; }

section.legal strong{ color:var(--fg); }

.info-card{ background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:22px 26px; margin:16px 0; }

.info-card .row{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; padding:8px 0; border-bottom:1px solid var(--line); font-size:13.5px; }

.info-card .row:last-child{ border-bottom:none; }

.info-card .row span:first-child{ color:var(--muted-2); }

@media (max-width:768px){
  .page-hero{ padding:130px 0 44px; }
  main.wrap{ padding-top:48px; padding-bottom:80px; }
  .toc{ padding:20px 22px; }
  section.legal h2{ font-size:20px; }
  .info-card{ padding:18px 20px; }
}
