/* ---------- Duma — Shared styles for legal pages ---------- */
:root{
  /* solo esquema claro: ver comentario en index.html */
  color-scheme:light;
  --blue:#1466FF;
  --blue-deep:#0E45C7;
  --blue-soft:#E9F0FF;
  --ink:#0B1220;
  --ink-2:#161D2E;
  --gray:#8A929E;
  --muted:#5B6472;
  --gray-2:#BFC4CC;
  --gray-3:#E6E8EC;
  --bg:#F4F5F7;
  --paper:#FFFFFF;
  --maxw:820px;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Outfit",sans-serif;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{color:var(--blue-deep);}
::selection{background:var(--blue);color:#fff;}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4.5vw,32px);}

/* ---------- header (bar with logo + back) ---------- */
.legal-header{
  position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gray-3);
}
.legal-header .container{
  max-width:1100px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:14px;padding-bottom:14px;
}
.wordmark{
  font-family:"Outfit",sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1;
  display:inline-flex;align-items:baseline;text-transform:lowercase;user-select:none;
  font-size:1.25rem;color:var(--ink);text-decoration:none;
}
.wordmark:hover{color:var(--ink);}
.wordmark .duma{color:var(--ink);font-weight:700;}
.wordmark .tech{color:var(--gray);font-weight:600;}
.wordmark .cursor{
  display:inline-block;width:.1em;height:.9em;background:var(--blue);
  margin-left:.06em;transform:translateY(.06em);border-radius:1px;
  animation:tblink 1.1s steps(1) infinite;
}
@keyframes tblink{0%,50%{opacity:1;}50.01%,100%{opacity:0;}}
.back{
  font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--muted);
  text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;
  padding:.4rem .8rem;border-radius:999px;border:1px solid transparent;transition:.2s;
}
.back:hover{color:var(--ink);border-color:var(--gray-3);background:var(--paper);}

/* ---------- main content ---------- */
.legal-main{padding:clamp(40px,7vw,80px) 0 clamp(60px,9vw,120px);}
.eyebrow{
  font-family:"JetBrains Mono",monospace;font-weight:500;
  text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--blue);
  margin:0 0 1rem;display:inline-flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--blue);display:inline-block;}
h1{
  font-family:"Outfit",sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.1;
  font-size:clamp(2rem,4.5vw,3rem);margin:0 0 .75rem;color:var(--ink);
}
.updated{color:var(--gray);font-size:.9rem;font-family:"JetBrains Mono",monospace;margin:0 0 2.5rem;}

.content{color:var(--ink-2);font-size:1.02rem;}
.content > p,.content > ul,.content > ol{margin:0 0 1.15rem;}
.content h2{
  font-family:"Outfit",sans-serif;font-weight:600;letter-spacing:-.015em;
  font-size:1.35rem;line-height:1.3;color:var(--ink);
  margin:2.4rem 0 .9rem;scroll-margin-top:80px;
}
.content h3{
  font-family:"Outfit",sans-serif;font-weight:600;letter-spacing:-.01em;
  font-size:1.08rem;color:var(--ink);margin:1.6rem 0 .6rem;
}
.content strong{color:var(--ink);font-weight:600;}
.content ul,.content ol{padding-left:1.4rem;}
.content li{margin:.35rem 0;}
.content li::marker{color:var(--blue);}
.content .note{
  background:var(--blue-soft);border-left:3px solid var(--blue);border-radius:6px;
  padding:14px 18px;color:var(--ink-2);font-size:.94rem;margin:1.4rem 0;
}
.content dl{margin:0 0 1.4rem;}
.content dl.data-block{
  background:var(--paper);border:1px solid var(--gray-3);border-radius:14px;
  padding:18px 22px;
  display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.5rem;
  font-size:.96rem;
}
.content dl.data-block dt{
  font-family:"JetBrains Mono",monospace;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--gray);align-self:center;
}
.content dl.data-block dd{margin:0;color:var(--ink);font-weight:500;}
/* las tablas anchas hacen scroll dentro de su contenedor: si no, empujan la página
   y provocan scroll horizontal en toda la web (la de cookies mide 387px en un viewport de 375) */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.4rem 0 1.6rem;}
.content .table-wrap table{margin:0;min-width:340px;}
.content table{
  width:100%;border-collapse:collapse;margin:.4rem 0 1.6rem;
  background:var(--paper);border:1px solid var(--gray-3);border-radius:14px;overflow:hidden;font-size:.95rem;
}
.content th,.content td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-3);}
.content th{
  background:var(--bg);font-family:"JetBrains Mono",monospace;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.1em;color:var(--gray);font-weight:500;
}
.content tr:last-child td{border-bottom:none;}
.toc{
  background:var(--paper);border:1px solid var(--gray-3);border-radius:14px;
  padding:18px 22px;margin:0 0 2rem;
}
.toc h2, .toc .toc-h{margin:0 0 .6rem;font-size:.72rem;font-family:"JetBrains Mono",monospace;
  text-transform:uppercase;letter-spacing:.14em;color:var(--gray);font-weight:500;}
.toc ol{margin:0;padding-left:1.2rem;font-size:.94rem;}
.toc ol li{margin:.2rem 0;}
.toc a{color:var(--ink-2);text-decoration:none;}
.toc a:hover{color:var(--blue);text-decoration:underline;}

/* ---------- footer ---------- */
.legal-footer{
  background:var(--ink);color:#fff;padding:36px 0;
}
.legal-footer .container{
  max-width:1100px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.legal-footer .copy{color:var(--gray-2);font-size:.85rem;margin:0;}
.legal-nav{display:flex;gap:20px;flex-wrap:wrap;}
.legal-nav a{
  color:var(--gray-2);font-family:"JetBrains Mono",monospace;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.1em;text-decoration:none;transition:color .2s;
}
.legal-nav a:hover,.legal-nav a[aria-current="page"]{color:#fff;}

@media(max-width:560px){
  .legal-header .container{padding-top:12px;padding-bottom:12px;}
  .back{font-size:.75rem;padding:.35rem .6rem;}
  .content dl.data-block{grid-template-columns:1fr;gap:.1rem;}
  .content dl.data-block dd{margin-bottom:.6rem;}
  .content table{font-size:.88rem;}
  .content th,.content td{padding:.6rem .75rem;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  html{scroll-behavior:auto;}
}
