/* ══════════════════════════════════════════════════════════════════════
   Pamola Sanchez · Mentoría — hoja de estilos compartida para páginas
   legales (Aviso legal, Política de privacidad, Política de cookies).
   Reutiliza exactamente los tokens y componentes visuales de mentoria.html
   (topbar, botones, pie, aviso de cookies) para que estas páginas se
   sientan parte de la misma web, no una plantilla aparte.
   ══════════════════════════════════════════════════════════════════════ */

:root{
  --navy:#172A3A;
  --navy-deep:#0E1A24;
  --navy-soft:#24404F;
  --sand:#E7DCC8;
  --shell:#F4EFE5;
  --brass:#B08D57;
  --brass-light:#C9A876;
  --ink:#14202A;
  --ink-soft:#5C6970;
  --line:rgba(20,32,42,.14);

  --display:"Playfair Display", Georgia, "Times New Roman", serif;
  --body:"Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --pad-x:clamp(1.25rem, 5vw, 3rem);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
}
body{
  margin:0;
  background:var(--shell);
  color:var(--ink);
  font-family:var(--body);
  font-weight:300;
  font-size:clamp(1rem, .97rem + .18vw, 1.08rem);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }

.wrap{ max-width:1160px; margin:0 auto; padding-inline:var(--pad-x); }
.wrap-narrow{ max-width:720px; margin:0 auto; padding-inline:var(--pad-x); }

h1,h2,h3,h4{ font-family:var(--display); font-weight:400; margin:0; line-height:1.2; }
p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }
b,strong{ font-weight:700; }

.kicker{
  font-family:var(--body);
  font-size:.7rem; font-weight:700;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--brass);
  display:block;
}

.wordmark{
  font-family:var(--display);
  font-size:1.02rem; letter-spacing:.06em; line-height:1;
  text-decoration:none;
}
.wordmark small{
  display:block;
  font-family:var(--body); font-size:.58rem; font-weight:400;
  letter-spacing:.42em; text-transform:uppercase;
  margin-top:.42rem; opacity:.72;
}

/* ── Botones ────────────────────────────────────────────────────────── */
.btn{
  display:inline-block;
  font-family:var(--body); font-size:.72rem; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
  padding:1.05rem 2.1rem;
  text-decoration:none;
  border:1px solid transparent;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
  cursor:pointer;
}
.btn-brass{ background:var(--brass); color:var(--navy-deep); }
.btn-brass:hover{ background:var(--brass-light); }
.btn-ghost{ border-color:currentColor; background:transparent; }
.btn-ghost:hover{ background:currentColor; }
.btn-ghost:hover span{ color:var(--navy); }

/* ── Navegación ─────────────────────────────────────────────────────── */
.topbar{
  position:sticky; top:0; z-index:50;
  background:rgba(23,42,58,.96);
  backdrop-filter:blur(8px);
  color:var(--sand);
  border-bottom:1px solid rgba(231,220,200,.14);
}
.topbar-inner{
  max-width:1160px; margin:0 auto; padding:.95rem var(--pad-x);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.topbar nav{ display:flex; gap:clamp(1rem,2.4vw,2.1rem); }
.topbar nav a{
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none; color:rgba(231,220,200,.8);
  padding-block:.3rem; transition:color .25s;
}
.topbar nav a:hover{ color:var(--brass-light); }
.topbar .btn{ padding:.72rem 1.4rem; }
@media (max-width:900px){ .topbar nav{ display:none; } }
@media (max-width:520px){ .topbar .btn{ display:none; } }

/* ── Cabecera de página legal ──────────────────────────────────────── */
.legal-hero{
  background:var(--navy);
  color:var(--sand);
  padding-block:clamp(3rem, 7vw, 5.5rem);
}
.legal-hero h1{
  color:#F8F4EC;
  margin-top:.9rem;
  font-size:clamp(2rem, 1.4rem + 3vw, 3.4rem);
  letter-spacing:-.01em;
}
.legal-updated{
  margin-top:1.1rem;
  font-size:.85rem;
  color:rgba(231,220,200,.62);
}

/* ── Cuerpo del texto legal ─────────────────────────────────────────── */
.legal-body{ padding-block:clamp(3rem, 7vw, 5rem); }
.legal-prose h2{
  font-family:var(--display); font-weight:400;
  font-size:clamp(1.2rem, 1.05rem + .7vw, 1.55rem);
  line-height:1.3;
  color:var(--ink);
  margin:2.6rem 0 1rem;
}
.legal-prose section:first-of-type h2{ margin-top:0; }
.legal-prose p{ color:var(--ink-soft); }
.legal-prose ul{ margin:0 0 1.15em; padding-left:1.2rem; }
.legal-prose li{ color:var(--ink-soft); margin:0 0 .5rem; line-height:1.75; }
.legal-prose a{ color:var(--brass); text-decoration:underline; text-underline-offset:3px; }
.legal-prose a:hover{ color:var(--brass-light); }

.legal-table-wrap{ overflow-x:auto; margin:0 0 1.15em; }
.legal-table{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:520px; }
.legal-table th, .legal-table td{
  text-align:left; padding:.8rem 1rem;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.legal-table th{
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brass); font-weight:700;
}
.legal-table td{ color:var(--ink-soft); }

.legal-note{
  margin-top:2.6rem; padding-top:1.4rem;
  border-top:1px solid var(--line);
  font-size:.84rem; font-style:italic; color:var(--ink-soft);
}

/* ── Pie ────────────────────────────────────────────────────────────── */
.pie{ background:var(--navy-deep); color:rgba(231,220,200,.72); padding-block:clamp(3rem,6vw,4.5rem); }
.pie-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2.5rem; }
.pie h4{ font-family:var(--body); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); margin-bottom:1rem; }
.pie ul{ list-style:none; margin:0; padding:0; }
.pie li{ padding:.28rem 0; font-size:.92rem; }
.pie a{ text-decoration:none; }
.pie a:hover{ color:var(--brass-light); }
.pie-base{
  margin-top:clamp(2.5rem,5vw,3.5rem); padding-top:1.5rem;
  border-top:1px solid rgba(231,220,200,.16);
  font-size:.8rem; display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; justify-content:space-between;
}

/* ── Aviso de cookies ──────────────────────────────────────────────── */
.cookie-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:999;
  background:var(--navy-deep); color:var(--sand);
  border-top:1px solid rgba(231,220,200,.16);
  box-shadow:0 -18px 50px rgba(14,26,36,.35);
  padding:1.4rem var(--pad-x);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1rem 2.2rem;
  transition:opacity .35s ease, transform .35s ease;
}
.cookie-bar[hidden]{ display:none; }
.cookie-bar.is-leaving{ opacity:0; transform:translateY(16px); pointer-events:none; }
.cookie-bar p{ margin:0; max-width:62ch; font-size:.88rem; line-height:1.7; font-weight:300; color:rgba(231,220,200,.86); }
.cookie-bar a{ color:var(--brass-light); text-decoration:underline; text-underline-offset:3px; }
.cookie-actions{ display:flex; gap:.8rem; flex-shrink:0; }
.cookie-actions .btn{ padding:.85rem 1.6rem; }
@media (max-width:640px){
  .cookie-bar{ flex-direction:column; align-items:stretch; text-align:left; }
  .cookie-actions{ justify-content:stretch; }
  .cookie-actions .btn{ flex:1; text-align:center; }
}
