/* LEGAL
   Página independiente, pensada para lectura larga, impresión y móvil. */

.legal-page{background:var(--fondo-alt)}
.legal-header{
  position:sticky;top:0;z-index:40;
  background:var(--barra);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--borde-suave)
}
.legal-header-inner{
  min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px
}
.legal-header-actions{display:flex;align-items:center;gap:9px}
.legal-header .lang-select{width:76px}

.legal-hero{padding:72px 0 50px;background:linear-gradient(145deg,var(--hero-1),var(--hero-2))}
.legal-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:46px;align-items:start}
.legal-hero-grid:has(.legal-draft[hidden]){grid-template-columns:1fr}
.legal-hero h1{font-size:clamp(2.4rem,5vw,4.5rem);max-width:13ch}
.legal-date{color:var(--texto-suave);font-size:.9rem;margin:24px 0 0}
.legal-draft{
  padding:25px;border:1px solid color-mix(in srgb,var(--espera) 46%,var(--borde));
  border-radius:var(--radio);background:var(--superficie);box-shadow:var(--sombra)
}
.legal-draft h2{font-family:inherit;font-size:1.22rem;letter-spacing:0;color:var(--espera);margin:0 0 8px}
.legal-draft p{margin:0;color:var(--texto-medio)}
.legal-draft ul{margin:15px 0 0;padding-left:21px;color:var(--texto-medio)}
.legal-draft li+li{margin-top:7px}

.legal-layout{
  display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;
  align-items:start;padding-top:42px;padding-bottom:72px
}
.legal-toc{
  position:sticky;top:98px;display:grid;gap:5px;padding:20px;
  border:1px solid var(--borde);border-radius:20px;background:var(--superficie)
}
.legal-toc strong{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--acento-texto);margin-bottom:6px}
.legal-toc a{padding:8px 10px;border-radius:10px;color:var(--texto-medio);font-weight:750;font-size:.92rem;line-height:1.3}
.legal-toc a:hover,.legal-toc a:focus-visible{background:var(--acento-suave);color:var(--acento-texto)}
.legal-print{margin-top:10px;width:100%;font-size:.82rem;padding:10px 12px}

.legal-content{display:grid;gap:22px;min-width:0}
.legal-card{
  scroll-margin-top:96px;padding:clamp(24px,4vw,46px);
  min-width:0;width:100%;max-width:100%;
  border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie)
}
.legal-card h2{margin-top:0;font-size:clamp(1.75rem,3vw,2.45rem)}
.legal-card h3{font-size:1.12rem;margin:30px 0 8px;color:var(--texto)}
.legal-card h4{font-size:1rem;margin:22px 0 6px}
.legal-card p,.legal-card li,.legal-card dd,.legal-card td{color:var(--texto-medio)}
.legal-card p{margin:8px 0 14px}
.legal-card ul,.legal-card ol{padding-left:22px}
.legal-card li+li{margin-top:7px}
.legal-card a{color:var(--acento-texto);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.legal-card table{width:100%;max-width:100%;border-collapse:collapse;margin:18px 0;display:block;overflow-x:auto}
.legal-card th,.legal-card td{padding:12px;text-align:left;vertical-align:top;border:1px solid var(--borde);min-width:150px}
.legal-card th{background:var(--acento-suave);color:var(--acento-texto)}
.legal-data{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,.65fr);margin:18px 0}
.legal-data dt,.legal-data dd{padding:10px 12px;margin:0;border-bottom:1px solid var(--borde)}
.legal-data dt{font-weight:900;color:var(--texto)}
.pending-field{color:var(--error);font-weight:900}
.legal-alert{
  padding:16px 18px;margin:18px 0;border-left:4px solid var(--espera);
  border-radius:0 14px 14px 0;background:var(--acento-suave);color:var(--texto-medio)
}
.legal-alert strong{color:var(--texto)}
.legal-good{border-left-color:var(--ok)}
.legal-form-model{padding:20px;border:1px dashed var(--borde);border-radius:16px;background:var(--fondo-alt)}
.legal-form-model p{margin:7px 0}
.legal-action-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.legal-action-form .full,.legal-action-form .privacy-summary,.legal-action-form .form-status{grid-column:1/-1}
.legal-action-form textarea{min-height:150px}
.legal-action-form .btn{justify-self:start}
.legal-action-form .btn:disabled{opacity:.55;cursor:not-allowed}
.legal-footer-grid{grid-template-columns:1fr auto}

@media print{
  :root{color-scheme:light}
  .legal-header,.legal-toc,.legal-draft,footer{display:none!important}
  .legal-page{background:#fff;color:#111}
  .legal-hero{padding:0 0 24px;background:#fff}
  .legal-hero-grid,.legal-layout{display:block;width:100%;padding:0}
  .legal-content{display:block}
  .legal-card{break-inside:avoid;border:0;border-radius:0;padding:18px 0}
  .legal-card p,.legal-card li,.legal-card dd,.legal-card td{color:#222}
  a{color:#111;text-decoration:none}
}
