/* ==========================================================================
   Boulevard Puerto · páginas legales y 404
   ========================================================================== */
.legal{background:var(--hueso);color:var(--asfalto);padding:64px 0 96px}
.legal-wrap{display:grid;grid-template-columns:230px 1fr;gap:56px;align-items:start}
.legal-nav{position:sticky;top:calc(var(--hdr) + 24px)}
.legal-nav ul{list-style:none;margin:0;padding:0;border-left:3px solid var(--asfalto)}
.legal-nav a{display:block;padding:10px 0 10px 16px;text-decoration:none;font:700 15px/1.2 "Barlow Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#55575c}
.legal-nav a:hover{color:var(--asfalto)}
.legal-nav a[aria-current=page]{color:var(--asfalto);background:linear-gradient(90deg,var(--amarillo) 0 6px,transparent 6px)}
.legal-nav .cc-link{margin-top:18px;background:none;border:2px solid var(--asfalto);color:var(--asfalto);padding:10px 14px;cursor:pointer;font:700 14px/1 "Barlow Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.legal-nav .cc-link:hover{background:var(--asfalto);color:var(--amarillo)}
.legal-nav .cc-link:focus-visible,.legal-doc :focus-visible{outline-color:var(--rojo)}

/* min-width:0: en la rejilla, sin esto la tabla (min-width 620px) estira la columna y en el móvil la página entera se sale
   de la pantalla; así la tabla se desplaza dentro de su .table-wrap */
.legal-doc{min-width:0;max-width:760px;font-size:17px;line-height:1.65}
.legal-doc .kicker{color:var(--rojo-txt)}
.legal-doc h1{font-size:clamp(46px,7vw,88px);margin:14px 0 14px}
.legal-doc .updated{margin:0 0 28px;color:var(--gris-txt);font-size:15px}
.legal-doc h2{position:relative;margin:48px 0 14px;padding-top:18px;border-top:2px solid var(--asfalto);font:700 26px/1.2 "Barlow Condensed",sans-serif;letter-spacing:.03em;text-transform:uppercase}
.legal-doc h2::after{content:"";position:absolute;left:0;top:-6px;width:90px;height:6px;background:repeating-linear-gradient(-45deg,var(--amarillo) 0 8px,var(--asfalto) 8px 16px)}
.legal-doc h3{margin:28px 0 8px;font:700 20px/1.25 "Barlow Condensed",sans-serif;letter-spacing:.03em}
.legal-doc p,.legal-doc li{color:#2c2e33}
.legal-doc ul,.legal-doc ol{padding-left:22px}
.legal-doc li{margin:6px 0}
.legal-doc a{color:var(--asfalto);font-weight:600;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-doc a:hover{color:var(--rojo-txt)}
.legal-doc .lead{font-size:19px;color:#3f4146}

.facts{display:grid;grid-template-columns:200px 1fr;margin:18px 0;border-top:1px solid #d6d1c3}
.facts dt,.facts dd{margin:0;padding:12px 0;border-bottom:1px solid #d6d1c3}
.facts dt{font:700 14px/1.4 "Barlow Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gris-txt);padding-right:16px}
.facts dd{font-weight:500}

.table-wrap{margin:18px 0;overflow-x:auto;border:2px solid var(--asfalto);background:#fff}
.legal-doc table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;min-width:620px}
.legal-doc th,.legal-doc td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #e1ddd2}
.legal-doc th{background:var(--asfalto);color:var(--hueso);font:700 13px/1.3 "Barlow Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.legal-doc tr:last-child td{border-bottom:0}
.legal-doc td code{font-size:14px;background:#f1eee6;padding:1px 5px}

.callout{margin:22px 0;padding:18px 20px;background:#fff;border-left:6px solid var(--amarillo)}
.callout p{margin:0}
.callout p + p{margin-top:8px}

/* Datos pendientes de completar por el titular: deben desaparecer antes de publicar */
mark.todo{background:var(--amarillo);color:var(--asfalto);padding:1px 6px;font-weight:700;box-shadow:0 0 0 2px var(--asfalto)}
.todo-note{margin:0 0 28px;padding:14px 18px;background:var(--amarillo);color:var(--asfalto);font-weight:600;border:2px dashed var(--asfalto)}

/* ---------- 404 ---------- */
.notfound{min-height:70vh;display:grid;align-items:center;padding:80px 0;background:
  repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 22px,rgba(0,0,0,.12) 22px 44px),var(--asfalto)}
.notfound .code{display:inline-block;background:var(--amarillo);color:var(--asfalto);padding:8px 12px}
.notfound h1{font-size:clamp(56px,11vw,150px);margin:20px 0}
.notfound h1 span{display:block;color:var(--amarillo)}
.notfound p{max-width:520px;color:#d7d4cc;font-size:19px;margin:0 0 30px}
.notfound .actions{display:flex;flex-wrap:wrap;gap:12px}

@media (max-width: 960px){
  .legal-wrap{grid-template-columns:1fr;gap:28px}
  .legal-nav{position:static}
  .legal-nav ul{display:flex;flex-wrap:wrap;gap:4px 18px;border-left:0}
  .legal-nav a{padding:8px 0}
  .legal-nav a[aria-current=page]{background:linear-gradient(0deg,var(--amarillo) 0 4px,transparent 4px)}
}
@media (max-width: 560px){
  .legal{padding:40px 0 72px}
  .legal-doc{font-size:16px}
  .facts{grid-template-columns:1fr}
  .facts dt{padding-bottom:0;border:0}
}
@media print{
  header.top,.legal-nav,.site-footer,.hazard{display:none !important}
  .legal{padding:0}
  .legal-wrap{display:block}
}
