/* Páginas legales (privacidad.html, cookies.html): mismo lenguaje que la portada (index.html). */
:root {
  --asfalto:#10233A; --azul:#2A6FAD; --azul-2:#2569A5; --cielo-s:#E7F1FB;
  --hormigon:#5C6B80; --hormigon-2:#5B6B7D; --papel:#F0F3F7; --papel-2:#E6EBF1; --linea:#E3E8EE; --tinta:#10233A;
  --via:#167A41; --via-s:#E6F5EC;
}
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--tinta); font:16px/1.65 "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--azul); }
:focus-visible { outline:3px solid #6FB4E8; outline-offset:3px; }
.ancho { max-width:860px; margin:0 auto; padding:0 24px; }

header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.9); backdrop-filter:saturate(1.8) blur(16px); -webkit-backdrop-filter:saturate(1.8) blur(16px); border-bottom:1px solid var(--linea); }
header .ancho { max-width:1160px; }
.cab { height:70px; display:flex; align-items:center; gap:12px; }
.marca { display:flex; align-items:center; gap:12px; text-decoration:none; }
.marca img { height:26px; display:block; }
.marca .prod { padding:6px 10px 5px; border-radius:9px; background:var(--asfalto); color:#fff; font-size:15px; font-weight:800; line-height:1; }
.cab nav { margin-left:auto; display:flex; gap:6px; align-items:center; }
.cab nav a { color:var(--hormigon-2); text-decoration:none; padding:9px 14px; border-radius:999px; font-weight:600; font-size:14.5px; }
.cab nav a:hover { background:var(--papel); color:var(--tinta); }
.cab nav .entrar { background:var(--azul); color:#fff; padding:10px 20px; }
.cab nav .entrar:hover { background:var(--azul-2); color:#fff; }

main.ancho { padding:48px 24px 80px; }
.volver { display:inline-flex; align-items:center; gap:6px; margin-bottom:28px; padding:8px 15px 8px 11px; border-radius:999px; background:var(--papel); color:var(--tinta); font-size:14px; font-weight:700; text-decoration:none; }
.volver:hover { background:var(--papel-2); }
.ojo { display:block; width:max-content; margin-bottom:14px; padding:6px 13px; border-radius:999px; background:var(--cielo-s); color:var(--azul); font-size:13px; font-weight:800; letter-spacing:.04em; }
h1 { margin:0; font-size:clamp(36px, 5vw, 54px); line-height:1.05; letter-spacing:-.045em; font-weight:800; }
.lead { margin:18px 0 30px; font-size:19px; color:var(--hormigon-2); max-width:60ch; }
.resumen { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-bottom:40px; }
.resumen div { padding:18px 20px; border-radius:20px; background:var(--papel); }
.resumen b { display:block; font-size:15px; margin-bottom:4px; }
.resumen span { color:var(--hormigon-2); font-size:14.5px; line-height:1.5; }

.bloque { padding:28px 0; border-top:1px solid var(--linea); }
.bloque h2 { display:flex; align-items:center; gap:12px; margin:0 0 14px; font-size:22px; letter-spacing:-.03em; font-weight:800; }
.bloque h2 span { flex:none; width:34px; height:34px; border-radius:11px; background:var(--azul); color:#fff; font-size:15px; display:flex; align-items:center; justify-content:center; }
.bloque p { margin:0 0 12px; color:#2B3B4E; }
.bloque ul { margin:0 0 12px; padding:0; list-style:none; display:grid; gap:10px; }
.bloque li { position:relative; padding:14px 18px 14px 46px; border-radius:16px; background:var(--papel); color:#2B3B4E; }
.bloque li::before { content:""; position:absolute; left:20px; top:24px; width:8px; height:8px; border-radius:50%; background:var(--azul); }
.ficha { display:grid; grid-template-columns:140px 1fr; margin:0; border-radius:20px; overflow:hidden; background:var(--papel); }
.ficha dt, .ficha dd { margin:0; padding:13px 18px; border-bottom:1px solid #E1E6EC; }
.ficha dt { font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--hormigon-2); }
.ficha dd { font-weight:600; }
.ficha dt:last-of-type, .ficha dd:last-of-type { border-bottom:0; }
.tabla { margin:4px 0 14px; border-radius:20px; overflow:hidden; border:1px solid var(--linea); }
table { width:100%; border-collapse:collapse; font-size:15px; }
th { text-align:left; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--hormigon-2); font-weight:800; padding:14px 18px; background:#F7F9FB; border-bottom:1px solid var(--linea); }
td { padding:14px 18px; border-bottom:1px solid var(--linea); vertical-align:top; color:#2B3B4E; }
tr:last-child td { border-bottom:0; }
code { padding:3px 8px; border-radius:8px; background:var(--cielo-s); color:var(--azul); font:700 13px ui-monospace, Consolas, monospace; }
.fecha { margin-top:24px; color:var(--hormigon); font-size:13.5px; }


@media (max-width: 700px) {
  .ancho { padding:0 16px; }
  main.ancho { padding:32px 16px 60px; }
  .cab { height:62px; }
  .marca img { height:22px; }
  .cab nav a:not(.entrar) { display:none; }
  .resumen { grid-template-columns:1fr; }
  .ficha { grid-template-columns:1fr; }
  .ficha dt { padding-bottom:0; border-bottom:0; }
  thead { display:none; }
  table, tbody, tr, td { display:block; }
  tr { padding:14px 18px; border-bottom:1px solid var(--linea); }
  td { padding:2px 0; border:0; }
}

/* El pie (web.css) va a todo el ancho, como en la portada. */
.pie-web .ancho { max-width:1160px; }
