/* Legal pages (Integritetspolicy, Allmänna villkor, Cookiepolicy) — layout only.
   Inherits palette, type and chrome from styles.css. */

.legal-hero{position:relative;overflow:hidden;background:var(--cream-2);
  margin:0;border-radius:0;
  padding:clamp(92px,12vw,150px) var(--gut) clamp(48px,6vw,80px)}
.legal-hero-inner{max-width:var(--maxw);margin-inline:auto;position:relative;z-index:1}
.legal-fingerprint{position:absolute;bottom:clamp(-200px,-16vw,-120px);right:clamp(-160px,-11vw,-90px);
  width:clamp(360px,42vw,640px);aspect-ratio:1446/1897;opacity:.5;transform:rotate(315deg);
  background:linear-gradient(135deg,var(--cream-2) 0%,#ffffff 70%);pointer-events:none;user-select:none;z-index:0;
  -webkit-mask:url("images/fingerprint-mark.svg") no-repeat center / contain;
  mask:url("images/fingerprint-mark.svg") no-repeat center / contain}
.legal-hero .eyebrow{margin-bottom:22px}
.legal-hero h1{font-size:clamp(38px,5.6vw,68px);letter-spacing:-0.045em;line-height:1.04;text-wrap:balance;max-width:18ch}
.legal-hero .legal-updated{margin-top:20px;font-size:14px;color:var(--muted)}

.legal-body{padding-block:clamp(56px,7vw,96px)}
.legal-inner{max-width:760px;margin-inline:auto;padding-inline:var(--gut)}
.legal-lead{font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--ink-soft);margin:0 0 clamp(40px,5vw,64px);text-wrap:pretty}

.legal-toc{border:1px solid var(--line);border-radius:var(--r-md);padding:24px 28px;margin-bottom:clamp(44px,5vw,68px)}
.legal-toc h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--accent);margin:0 0 14px}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:9px;counter-reset:toc}
.legal-toc li{counter-increment:toc}
.legal-toc a{display:flex;gap:12px;font-size:15.5px;color:var(--ink-soft);line-height:1.4;transition:color .2s}
.legal-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}
.legal-toc a:hover{color:var(--ink)}

.legal-section{margin-bottom:clamp(38px,4.5vw,56px);scroll-margin-top:90px}
.legal-section h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-0.025em;line-height:1.2;margin:0 0 16px;display:flex;gap:14px;align-items:baseline}
.legal-section h2 .ls-num{font-size:15px;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums;flex:none}
.legal-section h3{font-size:17px;font-weight:600;letter-spacing:-0.01em;margin:26px 0 8px;color:var(--ink)}
.legal-section p{font-size:16px;line-height:1.65;color:var(--ink-soft);margin:0 0 14px;text-wrap:pretty}
.legal-section ul{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.legal-section li{font-size:16px;line-height:1.6;color:var(--ink-soft)}
.legal-section a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}

.legal-contact{margin-top:clamp(48px,6vw,72px);border-top:1px solid var(--line);padding-top:clamp(32px,4vw,48px)}
.legal-contact h2{font-size:20px;letter-spacing:-0.02em;margin:0 0 10px}
.legal-contact p{font-size:16px;line-height:1.7;color:var(--ink-soft);margin:0}
.legal-contact a{color:var(--accent)}

@media (max-width:560px){
  .legal-hero{margin-inline:0}
  .legal-section h2{flex-direction:column;gap:4px}
}
