/* ShiftNua legal pages (Privacy Policy, Terms of Service).
   Uses the same tokens, header, footer and themes as styles.css. */

.legal-hero{position:relative;overflow:hidden;padding:84px 9.5vw 56px;border-bottom:1px solid var(--line)}
.legal-hero .hero-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}
.legal-hero .orb-a{width:420px;height:420px;right:-120px;top:-180px;background:color-mix(in srgb,var(--red) 22%,transparent)}
.legal-hero .orb-b{width:300px;height:300px;left:-140px;bottom:-200px;background:color-mix(in srgb,var(--green) 18%,transparent)}
.legal-hero-inner{position:relative;max-width:860px}
.legal-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}
.legal-kicker b{color:var(--red);font-weight:700}
.legal-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,5.4vw,68px);line-height:1.04;letter-spacing:-.06em;margin:20px 0 18px;color:var(--ink)}
.legal-hero h1 em{font-style:normal;color:var(--red);background:none;padding:0;font-size:inherit}
.legal-lede{font-size:17px;line-height:1.7;color:var(--ink-2);max-width:720px;margin:0}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.legal-meta span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-2)}
.legal-meta span i{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}

.legal-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:64px;padding:56px 9.5vw 96px;align-items:start}
.legal-toc{position:sticky;top:108px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:var(--shadow)}
.legal-toc summary{list-style:none;cursor:default;font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--muted);margin-bottom:12px}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.legal-toc li{counter-increment:toc}
.legal-toc a{display:flex;gap:10px;padding:8px 10px;border-radius:10px;font-size:13.5px;line-height:1.4;color:var(--ink-2);transition:background .2s,color .2s}
.legal-toc a::before{content:counter(toc,decimal-leading-zero);font-size:11px;font-weight:700;color:var(--muted-2);padding-top:2px;min-width:20px}
.legal-toc a:hover,.legal-toc a.active{background:var(--red-soft);color:var(--red)}
.legal-toc a.active::before{color:var(--red)}

.legal-body{max-width:820px;font-size:16px;line-height:1.8;color:var(--ink-2)}
.legal-body section{padding:6px 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line);scroll-margin-top:104px}
.legal-body section:last-of-type{border-bottom:0}
.legal-body h2{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.3vw,30px);line-height:1.2;letter-spacing:-.03em;margin:0 0 14px;color:var(--ink);display:flex;gap:14px;align-items:baseline}
.legal-body h2 .num{font-size:13px;font-weight:700;letter-spacing:1px;color:var(--red);min-width:26px}
.legal-body h3{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em;margin:22px 0 8px;color:var(--ink)}
.legal-body p{margin:0 0 14px}
.legal-body ul{margin:0 0 16px;padding-left:0;list-style:none}
.legal-body ul li{position:relative;padding-left:24px;margin-bottom:8px}
.legal-body ul li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--red)}
.legal-body strong{color:var(--ink)}
.legal-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.legal-body em{font-style:italic;color:inherit;background:none;padding:0;font-size:inherit}

.legal-callout{display:flex;gap:16px;padding:20px 22px;margin:4px 0 22px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.legal-callout .icon{flex:0 0 38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);font-weight:800}
.legal-callout p{margin:0;font-size:15px}

.legal-table{width:100%;border-collapse:separate;border-spacing:0;margin:6px 0 18px;font-size:14.5px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:13px 15px;border-bottom:1px solid var(--line)}
.legal-table th{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);background:var(--surface-2);font-weight:700}
.legal-table tr:last-child td{border-bottom:0}
.legal-table td:first-child{font-weight:600;color:var(--ink)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.legal-contact{margin-top:10px;padding:28px;border-radius:20px;background:var(--navy);color:#fff}
.legal-contact h3{color:#fff;margin-top:0}
.legal-contact p{color:rgba(255,255,255,.82)}
.legal-contact a{color:#fff}

/* Footer legal links (also used on the home page) */
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.footer-legal a{font-weight:600;color:var(--ink-2);transition:color .2s}
.footer-legal a:hover,.footer-legal a[aria-current=page]{color:var(--red)}

@media(max-width:1050px){
  .legal-hero{padding:64px 6vw 44px}
  .legal-layout{grid-template-columns:230px minmax(0,1fr);gap:40px;padding:44px 6vw 80px}
}
@media(max-width:860px){
  .legal-layout{grid-template-columns:1fr;gap:26px}
  .legal-toc{position:relative;top:0;padding:16px 18px;box-shadow:none}
  .legal-toc summary{cursor:pointer;margin:0;display:flex;justify-content:space-between;align-items:center}
  .legal-toc summary::after{content:"+";font-size:18px;color:var(--red)}
  .legal-toc[open] summary::after{content:"–"}
  .legal-toc[open] summary{margin-bottom:10px}
}
@media(max-width:760px){
  .legal-hero{padding:46px 7vw 36px}
  .legal-layout{padding:28px 7vw 64px}
  .legal-lede{font-size:16px}
  .legal-body{font-size:15.5px}
  .legal-body h2{font-size:23px}
  .legal-callout{padding:16px}
  .legal-table{font-size:13.5px}
  .legal-table th,.legal-table td{padding:11px 12px}
}
@media(max-width:420px){
  .legal-hero h1{font-size:38px}
  .legal-meta span{font-size:11px}
}
@media print{
  .header,.progress,.legal-toc,.footer{display:none!important}
  .legal-layout{display:block;padding:0}
  .legal-hero{padding:0 0 20px}
}

/* Placeholder that must be replaced before publishing (company number, address). */
.fill{background:#fff3c4;color:#5c4400;border-radius:4px;padding:1px 5px;font-weight:600}
html[data-theme=dark] .fill{background:#4a3b0a;color:#ffe08a}

/* Support page */
.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:6px 0 22px}
.support-card{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);text-decoration:none!important;transition:transform .25s,border-color .25s}
a.support-card:hover{transform:translateY(-3px);border-color:var(--red)}
.support-card b{font-family:var(--display);font-size:17px;letter-spacing:-.02em;margin-top:8px}
.support-card small{font-size:14px;color:var(--muted)}
.support-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);font-weight:800;font-size:18px}
.support-cta{margin-top:8px;font-size:13px;font-weight:700;color:var(--red)}
.support-card.urgent .support-icon{background:var(--red);color:#fff}
.faq-list{display:flex;flex-direction:column;gap:10px;margin:4px 0 6px}
.faq{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:16px 50px 16px 18px;position:relative;font-weight:700;color:var(--ink);font-size:15.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--red);transition:transform .2s}
.faq[open] summary::after{content:"–"}
.faq-a{padding:0 18px 16px;font-size:15px;line-height:1.75;color:var(--ink-2)}
@media(max-width:760px){.support-grid{grid-template-columns:1fr}}
.legal-body a.support-card{color:var(--ink)}
.legal-body a.support-card b{color:var(--ink)}
.legal-body a.support-card small{color:var(--muted)}
