/* Generado por scripts/landing-legales.mjs. No editar a mano. */

:root{
  --bg:#FAF7F2; --surface:#FFFFFF; --surface-2:#F2EDE6;
  --ink:#241C3D; --ink-2:#5A5366; --ink-3:#8B849B;
  --line:#E3DCD2; --line-strong:#CFC6BA;
  --brand:#4F408B; --brand-ink:#FFFFFF; --accent:#7A5FE0;
  --warm-soft:#F6EADC; --warm:#B8722F;

  --display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;
  --body:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"DM Mono","SF Mono",ui-monospace,Menlo,monospace;
  --logo:"Baloo 2","Trebuchet MS",system-ui,sans-serif;

  --wrap:1180px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#17131F; --surface:#211B2D; --surface-2:#2B2438;
    --ink:#F3EFE8; --ink-2:#B6ADC4; --ink-3:#877E98;
    --line:#332B43; --line-strong:#463C5A;
    --brand:#C4B8F7; --brand-ink:#17131F; --accent:#A892F5;
    --warm-soft:#38291A; --warm:#E0A868;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#17131F; --surface:#211B2D; --surface-2:#2B2438;
  --ink:#F3EFE8; --ink-2:#B6ADC4; --ink-3:#877E98;
  --line:#332B43; --line-strong:#463C5A;
  --brand:#C4B8F7; --brand-ink:#17131F; --accent:#A892F5;
  --warm-soft:#38291A; --warm:#E0A868;
  color-scheme:dark;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,p,li,td,th,dt,dd{overflow-wrap:break-word}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin:0}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
img{max-width:100%}

.wrap{width:min(100% - clamp(28px,8vw,40px),var(--wrap));margin-inline:auto}
.logo{display:inline-flex;align-items:center;font-family:var(--logo);font-weight:800;
  font-size:23px;line-height:1;letter-spacing:-.005em;color:var(--brand);
  white-space:nowrap;text-decoration:none}
.logo svg{width:.95em;height:.95em;display:block;margin:0 .04em;flex:0 0 auto}

.nav{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 90%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:14px;padding:11px 0;justify-content:space-between;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;
  font-size:15px;padding:11px 20px;border-radius:999px;border:1px solid transparent;
  text-decoration:none;cursor:pointer;flex:0 0 auto}
.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--surface-2)}

/* ===== documento ===== */

/* 68ch es la medida en la que se lee un párrafo largo sin perder la línea. El
   texto legal es todo párrafo largo. */
.doc{width:min(100% - clamp(28px,8vw,40px),68ch);margin:0 auto;padding:clamp(40px,7vw,68px) 0 72px}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-2);margin:0 0 14px}
.doc h1{font-size:clamp(32px,5.4vw,46px)}
.doc .lead{margin-top:18px;font-size:19px;color:var(--ink-2)}
.fecha{margin-top:22px;font-family:var(--mono);font-size:13.5px;color:var(--ink-3)}

/* La barra de arriba es fija: sin este margen, saltar desde el índice deja el
   titular escondido detrás de ella. */
.doc h2,.doc h3{scroll-margin-top:86px}
.doc h2{font-size:clamp(21px,2.9vw,25px);margin:46px 0 0}
.doc h3{font-size:17.5px;margin:30px 0 0;letter-spacing:-.01em}
.doc h2+p,.doc h3+p,.doc h2+ul,.doc h2+ol,.doc h2+.tabla,.doc h3+.tabla{margin-top:14px}
.doc p+p,.doc p+ul,.doc p+ol,.doc ul+p,.doc ol+p,.doc p+.tabla,.doc .tabla+p{margin-top:16px}
.doc ul,.doc ol{margin:0;padding-left:1.35em;display:flex;flex-direction:column;gap:9px}
.doc li::marker{color:var(--ink-3)}
.doc a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:3px}
.doc strong{font-weight:700}

/* Índice de la propia página. */
.indice{margin-top:34px;padding:20px 22px;background:var(--surface);
  border:1px solid var(--line);border-radius:16px}
.indice h2{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);font-weight:400;margin:0 0 10px}
.indice ol{counter-reset:idx;list-style:none;padding:0;gap:0;font-size:15.5px}
.indice li{counter-increment:idx}
.indice li a{display:flex;gap:10px;padding:7px 0;min-height:34px;align-items:center;
  text-decoration:none;color:var(--ink-2)}
.indice li a::before{content:counter(idx) ".";font-family:var(--mono);color:var(--ink-3);flex:0 0 auto}
.indice li a:hover{color:var(--ink)}

/* Aviso destacado: el de la etiqueta, que es el que no puede pasar
   desapercibido en una web para celíacos. */
.nota{margin-top:20px;padding:16px 18px;background:var(--warm-soft);
  border:1px solid color-mix(in srgb,var(--warm) 32%,transparent);
  border-radius:14px;font-size:15.5px;color:var(--ink)}

/* ===== tablas ===== */
/* Las dos tablas de la política de privacidad tienen cuatro columnas y en un
   móvil no caben de ninguna manera. Por debajo de 760px cada fila se convierte
   en una ficha y el encabezado viaja en «data-l». */
.tabla{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.tabla table{width:100%;border-collapse:collapse;font-size:15px}
.tabla th,.tabla td{text-align:left;padding:12px 14px;vertical-align:top;
  border-bottom:1px solid var(--line)}
.tabla thead th{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);font-weight:400;background:var(--surface-2)}
.tabla tbody tr:last-child td{border-bottom:0}
.tabla code{font-family:var(--mono);font-size:13.5px;background:var(--surface-2);
  padding:1px 5px;border-radius:5px}
@media(max-width:760px){
  .tabla{border:0;border-radius:0;background:transparent;overflow:visible}
  .tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .tabla tr{display:block;background:var(--surface);border:1px solid var(--line);
    border-radius:14px;padding:4px 0;margin-bottom:12px}
  .tabla tbody tr:last-child{margin-bottom:0}
  .tabla td{display:block;border-bottom:0;padding:8px 16px}
  .tabla td+td{padding-top:0}
  .tabla td::before{content:attr(data-l);display:block;font-family:var(--mono);
    font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
    margin-bottom:3px}
  .tabla td:first-child{font-weight:700;padding-top:12px}
}

/* ===== pie ===== */
footer{padding:44px 0 52px;border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:28px 34px}
@media(min-width:821px){.foot{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:34px}}
.foot h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 14px;font-weight:400}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:14.5px}
.foot li a{display:inline-flex;align-items:center;min-height:34px;padding:2px 0}
.foot a{text-decoration:none;color:var(--ink-2)}
.foot a:hover{color:var(--ink)}
.foot-about{font-size:14px;color:var(--ink-3);margin-top:14px;max-width:34ch}
.fuentes{margin-top:42px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;
  color:var(--ink-3);display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}
.fuentes a{display:inline-flex;align-items:center;min-height:34px;color:inherit}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
