/* Legal documents for Linex Loyalty. Uses css/tokens.css and css/site.css. */

html[data-lang="es"] .lg[lang="en"],
html[data-lang="en"] .lg[lang="es"]{display:none}

.legal-hero{padding:56px 0 48px;background:var(--soft);border-bottom:1px solid var(--line)}
.legal-hero .container{max-width:920px}
.legal-hero h1{margin-top:18px;font-size:clamp(34px,4.2vw,56px)}
.legal-hero .lead{margin-left:0;margin-right:0}
.legal-hero .doc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.legal-hero .doc-meta span{padding:6px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;color:var(--ink);font-size:13px;font-weight:500}

.legal-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start;padding-block:56px 96px}

.legal-toc{position:sticky;top:104px;max-height:calc(100vh - 128px);overflow:auto}
.legal-toc h2{margin-bottom:12px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.legal-toc ol{border-left:1px solid var(--line)}
.legal-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:14px;line-height:1.4;color:var(--ink-2);text-decoration:none;transition:color var(--dur-ui) var(--ease-out),border-color var(--dur-ui) var(--ease-out)}
.legal-toc a:hover{color:var(--ink)}
.legal-toc a.on{color:var(--accent-text);border-left-color:var(--accent);font-weight:600}
.legal-toc-mobile{display:none}

.legal-doc{min-width:0;max-width:780px;overflow-wrap:break-word}
.legal-doc .chap{margin-bottom:56px;scroll-margin-top:104px}
.legal-doc .chap-n{margin-bottom:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.legal-doc h2{margin-bottom:18px;font-size:clamp(26px,3vw,36px);line-height:1.15}
.legal-doc h3{margin:32px 0 10px;font-size:20px}
.legal-doc h4{margin:22px 0 8px;font-size:16px;font-weight:600}
.legal-doc p,.legal-doc li{font-size:16px;line-height:1.75;color:var(--ink-2)}
.legal-doc p{margin-bottom:14px}
.legal-doc strong{color:var(--ink);font-weight:600}
.legal-doc ul,.legal-doc ol{margin:0 0 16px;padding-left:22px}
.legal-doc ul{list-style:disc}
.legal-doc ol{list-style:decimal}
.legal-doc ol.alpha{list-style:lower-alpha}
.legal-doc li{margin-bottom:6px}
.legal-doc li::marker{color:var(--accent-text)}
.legal-doc a{text-underline-offset:3px}

.legal-card{margin:0 0 18px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.legal-card dl{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:10px 18px;margin:0}
.legal-card dt{font-size:14px;font-weight:600;color:var(--ink-2)}
.legal-card dd{margin:0;font-size:16px;line-height:1.6;color:var(--ink)}

.legal-note{margin:0 0 18px;padding:16px 20px;border-left:3px solid var(--accent);border-radius:0 var(--r-card) var(--r-card) 0;background:var(--soft)}
.legal-note p{margin:0;color:var(--ink)}

.legal-table-wrap{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff}
.legal-table{width:100%;min-width:560px;border-collapse:collapse}
.legal-table th{padding:12px 16px;background:var(--surface);text-align:left;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.legal-table td{padding:14px 16px;vertical-align:top;border-top:1px solid var(--line);font-size:15px;line-height:1.65;color:var(--ink-2)}
.legal-table td:first-child{width:30%;font-weight:600;color:var(--ink)}
.legal-table td ul{margin:0;padding-left:18px}
.legal-table td li{margin-bottom:3px;font-size:15px}
.legal-table.changes th:first-child,.legal-table.changes td:first-child{width:auto;white-space:nowrap}
.legal-table.changes th:last-child,.legal-table.changes td:last-child{width:1%;white-space:nowrap}

.site-header .navbar .lang{margin-left:auto}
.legal-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 18px;font-size:14px}

@media(max-width:960px){
  .legal-wrap{grid-template-columns:1fr;gap:0;padding-block:32px 72px}
  .legal-toc{display:none}
  .legal-toc-mobile{display:block;margin-bottom:32px;padding:4px 18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
  .legal-toc-mobile summary{padding:14px 0;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
  .legal-toc-mobile ol{padding:0 0 12px}
  .legal-toc-mobile a{display:block;padding:8px 0;font-size:15px;color:var(--ink-2);text-decoration:none}
  .legal-card dl{grid-template-columns:1fr;gap:2px}
  .legal-card dt{margin-top:10px}
  .legal-back{display:none}
}

@media print{
  .star-bar,.site-header,.legal-toc,.legal-toc-mobile,.site-footer,.to-top{display:none}
  .legal-hero{padding:16px 0;background:none;border:0}
  .legal-wrap{display:block;padding:0}
}

/* Terms and conditions: numbered sections with long uppercase headings */
.legal-doc .sec-n{margin-right:.4em;color:var(--accent-text)}
.legal-doc-terms .chap{margin-bottom:44px}
.legal-doc-terms h2{font-size:clamp(19px,2vw,24px);line-height:1.35;letter-spacing:-.01em}
.legal-doc-terms h3{font-size:18px}
.legal-doc-terms .legal-note p{margin-bottom:6px}
