/* Ser Esencial · estilos compartidos de las páginas legales */
:root{
  color-scheme: dark;
  --ground:#17130F; --paper:#1E1813; --surface:#221B15;
  --ink:#F5EEDC; --ink-soft:#D4C7AF; --ink-mute:#B4A693;
  --hairline:#38302A; --accent:#D97757;
  --warn-bg: #3a2a14; --warn-border:#d9a357; --warn-ink:#f5e9d5;
  --serif:'Fraunces', Georgia, serif;
  --sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ground); color:var(--ink);
  font-family:var(--sans); font-weight:300;
  line-height:1.7; min-height:100vh;
  padding:clamp(1.5rem, 4vw, 3rem) clamp(1rem, 4vw, 2.5rem);
}
.wrap{max-width:68ch; margin:0 auto}

/* Nav superior */
.topnav{
  display:flex; justify-content:space-between; align-items:center;
  padding-block: 0 clamp(2rem, 4vw, 3rem);
  font-size:.9rem;
}
.topnav a{color:var(--ink-mute); text-decoration:none; transition:color .2s}
.topnav a:hover,.topnav a:focus-visible{color:var(--accent)}
.topnav .back::before{content:'← '; margin-right:.1em}

/* Cabecera */
header.doc{
  padding-block: 1rem 2.5rem;
  border-bottom:1px solid var(--hairline);
  margin-bottom:2.5rem;
}
header.doc .eyebrow{
  font-family:var(--serif); font-style:italic;
  color:var(--accent); font-size:.9rem;
  letter-spacing:.2em; text-transform:uppercase;
  margin-bottom:.75rem;
}
header.doc h1{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.8rem, 4vw, 2.6rem);
  line-height:1.2; color:var(--ink);
  margin-bottom:.75rem;
}
header.doc .meta{color:var(--ink-mute); font-size:.9rem}

/* Secciones */
section{margin-bottom:2.5rem}
h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.25rem, 2vw, 1.5rem);
  color:var(--ink); margin-bottom:1rem;
  padding-top:1rem;
}
h3{
  font-family:var(--serif); font-weight:400; font-style:italic;
  font-size:1.1rem; color:var(--ink-soft);
  margin-top:1.5rem; margin-bottom:.6rem;
}
p,ul,ol{margin-bottom:1rem; color:var(--ink-soft)}
ul,ol{padding-left:1.5rem}
li{margin-bottom:.4rem}
a{color:var(--accent); text-decoration:underline; text-underline-offset:3px}
a:hover,a:focus-visible{color:var(--ink)}
strong{color:var(--ink); font-weight:500}
em{font-style:italic; color:var(--ink)}
code{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:.9em; background:var(--paper);
  padding:.1em .4em; border-radius:3px;
  color:var(--ink-soft);
}
dl{margin-bottom:1rem; color:var(--ink-soft)}
dt{color:var(--ink); font-weight:500; margin-top:.75rem}
dd{margin-left:1.5rem; margin-bottom:.4rem}

/* Bloque de datos "pendiente de completar" */
.placeholder{
  display:inline-block;
  background:var(--warn-bg); color:var(--warn-ink);
  border:1px dashed var(--warn-border);
  padding:.15em .5em; border-radius:3px;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:.85em; font-style:normal;
}

/* Tabla simple */
table{
  width:100%; border-collapse:collapse;
  margin-bottom:1rem; font-size:.9rem;
}
th,td{
  text-align:left; padding:.6rem .8rem;
  border-bottom:1px solid var(--hairline);
  vertical-align:top;
}
th{color:var(--ink); font-family:var(--serif); font-weight:500}
td{color:var(--ink-soft)}

/* Footer */
footer.doc{
  margin-top:4rem; padding-top:2rem;
  border-top:1px solid var(--hairline);
  display:flex; flex-wrap:wrap; gap:1rem 2rem;
  justify-content:space-between; align-items:center;
  font-size:.85rem; color:var(--ink-mute);
}
footer.doc .legal-nav{display:flex; gap:1.5rem; flex-wrap:wrap}
footer.doc .legal-nav a{color:var(--ink-mute); text-decoration:none}
footer.doc .legal-nav a:hover,footer.doc .legal-nav a:focus-visible{color:var(--accent)}
footer.doc .legal-nav a[aria-current="page"]{color:var(--ink); font-style:italic}

@media (max-width:520px){
  footer.doc{flex-direction:column; align-items:flex-start}
}
