/* =====================================================================
   RENACE — páginas legales (privacidad, condiciones, cookies)
   Se carga después de styles.css y reutiliza sus tokens.
   ===================================================================== */

html{ scroll-padding-top:96px; }
body.legal{ background:var(--bone); color:var(--on-light); }

/* ---------- Barra superior ---------- */
.lg-top{
  position:sticky; top:0; z-index:50;
  background:rgba(10,7,6,.9);
  backdrop-filter:blur(14px) saturate(1.3); -webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--rule-dark-soft);
}
.lg-top__in{
  max-width:var(--maxw); margin-inline:auto; padding:0 var(--gutter);
  height:64px; display:flex; align-items:center; gap:18px;
}
.lg-top__logo img{ width:112px; height:auto; }
.lg-top__nav{ display:none; margin-left:auto; gap:4px; }
@media (min-width:860px){ .lg-top__nav{ display:flex; } }
.lg-top__nav a{
  padding:8px 14px; border-radius:99px;
  font-size:var(--fs-eyebrow); letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  color:var(--on-dark-mute); transition:color .3s var(--ease), background .3s var(--ease);
}
.lg-top__nav a:hover{ color:var(--on-dark); }
.lg-top__nav a[aria-current="page"]{ color:#20100B; background:linear-gradient(180deg,var(--champagne),#E9A35F); }
.lg-top__back{
  margin-left:auto; display:inline-flex; align-items:center; gap:8px;
  min-height:40px; padding:0 16px; border-radius:99px;
  border:1px solid var(--rule-dark); color:var(--on-dark);
  font-size:var(--fs-eyebrow); letter-spacing:.14em; text-transform:uppercase; font-weight:700;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
@media (min-width:860px){ .lg-top__back{ margin-left:10px; } }
.lg-top__back:hover{ border-color:var(--copper-2); background:rgba(245,129,47,.1); }
.lg-top__back svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.2; }

/* ---------- Portada ---------- */
.lg-hero{
  position:relative; overflow:hidden;
  color:var(--on-dark);
  padding:clamp(56px,8vw,104px) 0 clamp(40px,6vw,72px);
  background:
    radial-gradient(60% 90% at 85% 0%, rgba(245,129,47,.32), transparent 62%),
    radial-gradient(50% 80% at 5% 100%, rgba(142,44,29,.35), transparent 65%),
    linear-gradient(180deg,#0B0706,#170D0B);
}
.lg-hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,129,47,.6),transparent);
}
.lg-hero__in{ position:relative; max-width:var(--maxw); margin-inline:auto; padding:0 var(--gutter); }
.lg-hero h1{
  margin-top:16px; font-size:var(--fs-h1); font-weight:700; letter-spacing:-.028em; line-height:1.04;
  max-width:18ch; text-wrap:balance;
}
.lg-hero .lede{ margin-top:16px; max-width:60ch; color:rgba(247,242,235,.78); }
.lg-meta{
  margin-top:26px; display:flex; flex-wrap:wrap; gap:10px;
}
.lg-meta span{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 13px; border-radius:99px;
  border:1px solid var(--rule-dark); background:rgba(10,7,6,.45);
  font-size:var(--fs-micro); letter-spacing:.06em; color:var(--on-dark-mute);
}
.lg-meta span::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--ember); box-shadow:0 0 8px var(--ember); }
.lg-tabs{ margin-top:22px; display:flex; flex-wrap:wrap; gap:6px; }
@media (min-width:860px){ .lg-tabs{ display:none; } }
.lg-tabs a{
  padding:9px 14px; border-radius:99px; border:1px solid var(--rule-dark);
  font-size:var(--fs-eyebrow); letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--on-dark-mute);
}
.lg-tabs a[aria-current="page"]{ color:#20100B; border-color:transparent; background:linear-gradient(180deg,var(--champagne),#E9A35F); }

/* ---------- Cuerpo: índice + documento ---------- */
.lg-body{
  max-width:var(--maxw); margin-inline:auto; padding:clamp(34px,5vw,64px) var(--gutter) clamp(64px,8vw,110px);
  display:grid; gap:clamp(28px,4vw,64px);
}
@media (min-width:1024px){ .lg-body{ grid-template-columns:260px minmax(0,1fr); align-items:start; } }

.lg-toc{ display:none; }
@media (min-width:1024px){
  .lg-toc{ display:block; position:sticky; top:96px; max-height:calc(100vh - 120px); overflow:auto; padding-right:6px; }
}
.lg-toc p{
  font-size:var(--fs-eyebrow); letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--burnt);
  margin-bottom:14px;
}
.lg-toc ol{ counter-reset:toc; border-left:1px solid var(--rule-light); }
.lg-toc li{ counter-increment:toc; }
.lg-toc a{
  position:relative; display:flex; gap:10px; padding:8px 0 8px 16px;
  font-size:.86rem; line-height:1.35; color:var(--on-light-mute);
  transition:color .25s var(--ease);
}
.lg-toc a::before{ content:counter(toc,decimal-leading-zero); font-size:.72rem; font-weight:700; color:var(--on-light-faint); padding-top:1px; }
.lg-toc a::after{
  content:""; position:absolute; left:-1px; top:6px; bottom:6px; width:2px; border-radius:2px;
  background:var(--ember); transform:scaleY(0); transition:transform .3s var(--ease);
}
.lg-toc a:hover{ color:var(--on-light); }
.lg-toc a.is-active{ color:var(--on-light); font-weight:600; }
.lg-toc a.is-active::before{ color:var(--burnt); }
.lg-toc a.is-active::after{ transform:scaleY(1); }

.lg-doc{ min-width:0; max-width:820px; }

/* Resumen */
.lg-summary{
  display:grid; gap:12px; grid-template-columns:1fr;
  margin-bottom:clamp(36px,5vw,56px);
}
@media (min-width:640px){ .lg-summary{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.lg-summary__k{
  grid-column:1/-1;
  font-size:var(--fs-eyebrow); letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--burnt);
}
.lg-sum{
  display:flex; gap:14px; align-items:flex-start;
  padding:18px; border-radius:14px; background:#fff;
  border:1px solid rgba(22,16,14,.07); box-shadow:0 14px 30px -24px rgba(80,30,15,.4);
}
.lg-sum__ico{
  flex:0 0 auto; display:grid; place-items:center; width:42px; height:42px; border-radius:12px;
  background-color:var(--ember);
  background:linear-gradient(145deg,#FFB066,#F07A2A 55%,#C9501C);
  box-shadow:0 10px 20px -10px rgba(240,122,42,.8);
}
.lg-sum__ico svg{ width:20px; height:20px; fill:none; stroke:#fff; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.lg-sum b{ display:block; font-size:.98rem; line-height:1.3; color:var(--on-light); }
.lg-sum span{ display:block; margin-top:4px; font-size:var(--fs-small); line-height:1.5; color:var(--on-light-mute); }

/* Secciones */
.lg-sec{ padding-top:clamp(26px,3.4vw,40px); margin-top:clamp(26px,3.4vw,40px); border-top:1px solid var(--rule-light); }
.lg-sec:first-of-type{ border-top:0; margin-top:0; padding-top:0; }
.lg-sec h2{
  display:flex; align-items:baseline; gap:14px;
  font-size:var(--fs-h3); font-weight:700; letter-spacing:-.02em; line-height:1.18; text-wrap:balance;
}
.lg-sec h2 .n{
  flex:0 0 auto; font-size:.72em; font-weight:900; letter-spacing:-.02em;
  color:transparent; -webkit-text-stroke:1.1px var(--copper);
}
.lg-sec p,.lg-sec li{ font-size:var(--fs-body); line-height:1.7; color:#3E332E; }
.lg-sec p{ margin-top:14px; max-width:68ch; text-wrap:pretty; }
.lg-sec b,.lg-sec strong{ color:var(--on-light); font-weight:700; }
.lg-sec a{ color:var(--burnt); text-decoration:underline; text-decoration-color:rgba(142,44,29,.35); text-underline-offset:3px; }
.lg-sec a:hover{ text-decoration-color:var(--burnt); }
.lg-sec ul{ margin-top:14px; display:grid; gap:10px; max-width:68ch; }
.lg-sec ul li{ position:relative; padding-left:22px; }
.lg-sec ul li::before{
  content:""; position:absolute; left:2px; top:.72em; width:8px; height:8px; border-radius:50%;
  background:linear-gradient(145deg,#FFB066,#E0762D);
}
.lg-note{
  margin-top:16px; padding:14px 16px 14px 18px; border-radius:10px;
  border-left:3px solid var(--ember); background:rgba(245,129,47,.08);
  font-size:var(--fs-small); line-height:1.6; color:#4A3A31; max-width:68ch;
}
.lg-note p{ margin:0; font-size:inherit; }

/* Placeholders visibles */
.lg-ph{
  padding:1px 7px; border-radius:5px; border:1px dashed rgba(142,44,29,.5);
  background:rgba(247,228,225,.7); color:var(--burnt); font-size:.88em; font-weight:600; white-space:normal;
}

/* Tarjeta de contacto */
.lg-contact{
  margin-top:18px; border-radius:16px; overflow:hidden;
  background:linear-gradient(160deg,#241410,#0E0907); color:var(--on-dark);
  box-shadow:0 30px 60px -34px rgba(40,12,8,.9);
}
.lg-contact__head{
  display:flex; align-items:center; gap:14px; padding:18px 22px;
  border-bottom:1px solid var(--rule-dark-soft);
  background:radial-gradient(80% 140% at 100% 0%, rgba(245,129,47,.28), transparent 60%);
}
.lg-contact__head img{ width:96px; height:auto; }
.lg-contact__head span{ margin-left:auto; font-size:var(--fs-eyebrow); letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--champagne); }
.lg-contact dl{ display:grid; grid-template-columns:1fr; margin:0; }
@media (min-width:640px){ .lg-contact dl{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.lg-contact div{ padding:14px 22px; border-top:1px solid var(--rule-dark-soft); }
.lg-contact dt{ font-size:var(--fs-eyebrow); letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--copper-2); }
.lg-contact dd{ margin:4px 0 0; font-size:.98rem; color:var(--on-dark); word-break:break-word; }
.lg-contact dd a{ color:var(--champagne); text-decoration:none; }
.lg-contact dd a:hover{ text-decoration:underline; }
.lg-contact .lg-ph{ background:rgba(245,129,47,.14); color:var(--champagne); border-color:rgba(237,213,174,.4); }

/* Tabla de cookies */
.lg-table{ margin-top:16px; overflow-x:auto; border-radius:12px; border:1px solid var(--rule-light); background:#fff; }
.lg-table table{ width:100%; border-collapse:collapse; min-width:640px; font-size:.9rem; }
.lg-table th{
  text-align:left; padding:12px 14px; background:#1A100D; color:var(--champagne);
  font-size:var(--fs-eyebrow); letter-spacing:.14em; text-transform:uppercase; font-weight:700;
}
.lg-table td{ padding:12px 14px; border-top:1px solid var(--rule-light-soft); vertical-align:top; line-height:1.5; color:#3E332E; }
.lg-table td:first-child{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.82rem; color:var(--on-light); }
.lg-pill{
  display:inline-block; padding:3px 9px; border-radius:99px; white-space:nowrap;
  font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; font-weight:800;
}
.lg-pill--tec{ background:rgba(60,140,90,.12); color:#2E6B45; }
.lg-pill--an{ background:rgba(60,100,180,.12); color:#2F4F8F; }
.lg-pill--ad{ background:rgba(191,101,48,.14); color:var(--burnt); }
.lg-pill--none{ background:rgba(22,16,14,.06); color:var(--on-light-mute); }

/* Formulario de desistimiento */
.lg-form{
  margin-top:18px; padding:clamp(20px,3vw,30px); border-radius:14px;
  background:#fff; border:1px dashed rgba(142,44,29,.35);
}
.lg-form pre{
  margin:0; white-space:pre-wrap; font-family:inherit; font-size:var(--fs-body); line-height:1.8; color:#3E332E;
}
.lg-form__actions{ margin-top:18px; display:flex; flex-wrap:wrap; gap:10px; }
.lg-form__actions .btn{ min-height:48px; }
.lg-btn-ghost{
  display:inline-flex; align-items:center; min-height:48px; padding:0 20px; border-radius:2px;
  border:1px solid var(--rule-light); background:transparent; cursor:pointer;
  font:inherit; font-size:var(--fs-small); font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--on-light);
}
.lg-btn-ghost:hover{ border-color:var(--burnt); color:var(--burnt); }

/* Cierre del documento */
.lg-end{
  margin-top:clamp(40px,6vw,64px); padding:clamp(22px,3vw,32px); border-radius:16px;
  display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; justify-content:space-between;
  background:linear-gradient(135deg,var(--sakura),var(--cream));
}
.lg-end p{ margin:0; font-family:var(--serif); font-size:clamp(1.25rem,2vw,1.6rem); line-height:1.25; color:var(--on-light); max-width:30ch; }
.lg-end p em{ color:var(--burnt); }

.lg-disclaimer{ margin-top:18px; font-size:var(--fs-micro); color:var(--on-light-faint); max-width:68ch; }

/* Footer reutilizado de la landing sobre fondo claro */
body.legal .foot{ margin-top:0; }
