/* Estilos compartidos por las páginas legales (privacidad, cookies, términos).
   Toman la misma paleta y tipografía que index.html. */

*{ box-sizing:border-box; margin:0; padding:0; }

:root{
  --page-bg:#d6d5d1;
  --card-bg:#ffffff;
  --ink:#141414;
  --muted:#8c8a84;
  --line:#d8d7d3;
}

html{ -webkit-text-size-adjust:100%; }

body{
  background:var(--page-bg);
  color:var(--ink);
  font-family:"helvetica-neue-lt-pro","helvetica-lt-pro",Helvetica,Arial,sans-serif;
  font-weight:400;
  line-height:1.6;
  padding:0 20px 80px;
}

a{ color:inherit; }

.legal{ max-width:76ch; margin:0 auto; }

/* Barra superior con el logo, igual que en el sitio */
.legal__bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:26px 0 0; }
.legal__logo{ display:block; width:74px; color:var(--ink); }
.legal__logo svg{ width:100%; height:auto; display:block; fill:currentColor; }
.legal__back{
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:2px;
}

.legal__card{ background:var(--card-bg); margin-top:34px; padding:48px 44px 54px; }

.legal h1{
  font-weight:500; font-size:clamp(30px,4vw,44px);
  line-height:1.1; letter-spacing:-.01em; text-transform:uppercase;
  margin-bottom:10px;
}
.legal__updated{ font-size:12px; color:var(--muted); margin-bottom:36px; }

.legal h2{
  font-weight:500; font-size:17px; line-height:1.3;
  margin:34px 0 10px; padding-top:22px; border-top:1px solid var(--line);
}
.legal h2:first-of-type{ border-top:0; padding-top:0; margin-top:0; }

.legal p, .legal li{ font-size:14.5px; }
.legal p{ margin-bottom:12px; }
.legal ul{ margin:0 0 14px 20px; }
.legal li{ margin-bottom:7px; }
.legal strong{ font-weight:500; }

.legal__note{
  margin-top:14px; padding:16px 18px;
  background:#f4f3f0; border-left:2px solid var(--ink);
  font-size:13.5px;
}

.legal__foot{
  display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center;
  margin-top:40px; padding-top:22px; border-top:1px solid var(--line);
  font-size:12px; color:var(--muted);
}
.legal__foot a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
.legal__foot a:hover{ border-bottom-color:var(--ink); }
.legal__foot span{ margin-left:auto; }

@media (max-width:640px){
  .legal__card{ padding:32px 22px 38px; }
  .legal__foot span{ margin-left:0; width:100%; }
}

/* ---------------------------------------------------------------------------
   Página 404. Reutiliza la base de arriba, pero centrada en la pantalla.
   Va acotada con .page-404 para no alterar las páginas legales.
   --------------------------------------------------------------------------- */
  body.page-404{ display:flex; align-items:center; justify-content:center; min-height:100vh; padding:20px; }
  .e404{ max-width:52ch; text-align:left; }
  .e404__logo{ display:block; width:104px; color:var(--ink); margin-bottom:38px; }
  .e404__logo svg{ width:100%; height:auto; display:block; fill:currentColor; }
  .e404__code{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
  .e404__title{ font-weight:500; font-size:clamp(30px,4.4vw,48px); line-height:1.08; letter-spacing:-.01em; margin-bottom:16px; }
  .e404__text{ font-size:15px; line-height:1.6; margin-bottom:30px; }
  .e404__links{ display:flex; flex-wrap:wrap; gap:12px 26px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
  .e404__links a{ text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:3px; }

.legal__note-last{ margin-bottom:0; }
