/* Páginas públicas de Términos y Privacidad + ventana de aceptación del
   primer ingreso. Mismos colores y tipografía de la plataforma. */

.legal-body{background:var(--off-white);min-height:100vh;}
.legal-top{background:var(--primary);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.9rem 1.4rem;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px rgba(27,62,111,0.2);}
.legal-marca{font-size:1.15rem;font-weight:800;color:white;text-decoration:none;letter-spacing:-0.01em;}
.legal-marca span{color:var(--accent2);}
.legal-tabs{display:flex;gap:4px;background:rgba(255,255,255,0.08);padding:4px;border-radius:10px;}
.legal-tabs a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:0.8rem;font-weight:700;padding:0.4rem 0.85rem;border-radius:7px;}
.legal-tabs a:hover{color:white;}
.legal-tabs a.on{background:white;color:var(--primary);}

.legal-wrap{max-width:860px;margin:0 auto;padding:2rem 1rem 3rem;}
.legal-doc{background:white;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:2.4rem 2.6rem;color:var(--text2);font-size:0.92rem;line-height:1.7;}
.legal-pie{text-align:center;color:var(--text3);font-size:0.75rem;margin-top:1rem;font-family:'DM Mono',monospace;}
.legal-cargando{color:var(--text3);}

.legal-doc h1{font-size:1.65rem;line-height:1.25;font-weight:800;color:var(--text);letter-spacing:-0.02em;margin-bottom:0.8rem;}
.legal-doc h2{font-size:1.05rem;font-weight:800;color:var(--primary);margin:2rem 0 0.6rem;padding-left:0.75rem;border-left:3px solid var(--accent);}
.legal-doc h3{font-size:0.95rem;font-weight:700;color:var(--text);margin:1.2rem 0 0.4rem;}
.legal-doc p{margin:0 0 0.8rem;}
.legal-doc ul,.legal-doc ol{margin:0 0 0.9rem 1.3rem;}
.legal-doc li{margin-bottom:0.35rem;padding-left:0.15rem;}
.legal-doc li::marker{color:var(--primary3);}
.legal-doc strong{color:var(--text);}
.legal-doc a{color:var(--primary3);font-weight:600;}
.legal-doc blockquote{background:var(--yellow-bg);border:1px solid var(--yellow-border);border-left:4px solid #D97706;border-radius:10px;padding:0.8rem 1rem;margin:0 0 1.2rem;color:var(--yellow);font-size:0.85rem;}
.legal-doc blockquote p{margin:0;}
.legal-doc blockquote strong{color:var(--yellow);}
.legal-tabla{overflow-x:auto;margin:0 0 1rem;border:1px solid var(--border);border-radius:10px;}
.legal-tabla table{border-collapse:collapse;width:100%;font-size:0.84rem;min-width:520px;}
.legal-tabla th{background:var(--off-white);text-align:left;color:var(--text);font-weight:700;font-size:0.74rem;text-transform:uppercase;letter-spacing:0.04em;}
.legal-tabla th,.legal-tabla td{padding:0.6rem 0.8rem;border-bottom:1px solid var(--border);vertical-align:top;}
.legal-tabla tr:last-child td{border-bottom:none;}

@media (max-width:640px){
  .legal-top{padding:0.8rem 1rem;}
  .legal-wrap{padding:1rem 0.75rem 2rem;}
  .legal-doc{padding:1.4rem 1.2rem;font-size:0.88rem;}
  .legal-doc h1{font-size:1.3rem;}
}

/* ── Pie del login: enlaces a los documentos ── */
.login-legal{text-align:center;margin-top:1.2rem;font-size:0.74rem;color:rgba(255,255,255,0.45);position:relative;z-index:1;}
.login-legal a{color:rgba(255,255,255,0.75);text-decoration:none;font-weight:600;}
.login-legal a:hover{color:white;text-decoration:underline;}

/* ── Ventana de aceptación (primer ingreso o versión nueva) ── */
#s-legal{background:var(--primary);align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden;}
#s-legal::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,0.03);top:-200px;right:-200px;}
.acept-card{position:relative;z-index:1;background:white;border-radius:20px;box-shadow:var(--shadow-lg);width:100%;max-width:560px;padding:2rem 2.1rem;}
.acept-ico{width:52px;height:52px;border-radius:14px;background:var(--off-white);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem;}
.acept-titulo{font-size:1.25rem;font-weight:800;color:var(--text);letter-spacing:-0.01em;margin-bottom:0.3rem;}
.acept-sub{font-size:0.86rem;color:var(--text2);line-height:1.55;margin-bottom:1.1rem;}
.acept-puntos{list-style:none;margin:0 0 1.1rem;padding:0;display:flex;flex-direction:column;gap:0.5rem;}
.acept-puntos li{display:flex;gap:0.6rem;align-items:flex-start;font-size:0.84rem;color:var(--text2);line-height:1.45;background:var(--off-white);border:1px solid var(--border);border-radius:10px;padding:0.6rem 0.75rem;}
.acept-puntos li span:first-child{flex-shrink:0;}
.acept-aviso{font-size:0.82rem;color:var(--text2);line-height:1.6;background:var(--off-white);border:1px solid var(--border);border-radius:10px;padding:0.85rem 1rem;margin-bottom:1rem;max-height:200px;overflow-y:auto;}
.acept-docs{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1rem;}
.acept-docs a{flex:1 1 180px;display:flex;align-items:center;justify-content:space-between;gap:0.5rem;border:1px solid var(--border);border-radius:10px;padding:0.65rem 0.85rem;text-decoration:none;color:var(--primary);font-weight:700;font-size:0.82rem;transition:border-color 0.15s,background 0.15s;}
.acept-docs a:hover{border-color:var(--primary3);background:var(--off-white);}
.acept-docs a small{color:var(--text3);font-weight:600;}
.acept-check{display:flex;gap:0.65rem;align-items:flex-start;font-size:0.84rem;color:var(--text);line-height:1.45;padding:0.75rem 0.85rem;border:1.5px solid var(--border);border-radius:12px;cursor:pointer;margin-bottom:0.5rem;transition:border-color 0.15s,background 0.15s;}
.acept-check:has(input:checked){border-color:var(--green-border);background:var(--green-bg);}
.acept-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--primary);flex-shrink:0;}
.acept-botones{display:flex;gap:0.6rem;margin-top:1rem;}
.acept-botones .btn-main{margin-top:0;}
.acept-salir{flex:0 0 auto;width:auto;padding:0.85rem 1.2rem;background:white;border:1px solid var(--border);border-radius:12px;color:var(--text2);font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:0.9rem;cursor:pointer;}
.acept-salir:hover{border-color:var(--red-border);color:var(--red);}
.acept-error{margin-top:0.8rem;font-size:0.8rem;color:var(--red);display:none;}
.acept-version{margin-top:0.9rem;text-align:center;font-size:0.7rem;color:var(--text3);font-family:'DM Mono',monospace;}
@media (max-width:520px){
  .acept-card{padding:1.5rem 1.2rem;}
  .acept-botones{flex-direction:column-reverse;}
  .acept-salir{width:100%;}
}
.acept-docs a small{white-space:nowrap;}

/* ── Instalar como app (src/shared/instalar-app.js) ── */
.login-instalar{display:flex;align-items:center;justify-content:center;gap:0.4rem;margin:1rem auto 0;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);color:white;border-radius:999px;padding:0.5rem 1rem;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:0.8rem;cursor:pointer;position:relative;z-index:1;}
.login-instalar:hover{background:rgba(255,255,255,0.14);}
.instalar-aviso{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:9000;display:flex;align-items:center;gap:0.7rem;background:white;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:0.7rem 0.6rem 0.7rem 0.75rem;animation:instalarEntra 0.25s ease;max-width:520px;margin:0 auto;}
@keyframes instalarEntra{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.instalar-aviso-ico{width:42px;height:42px;border-radius:10px;flex-shrink:0;}
.instalar-aviso-texto{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:0.76rem;color:var(--text2);line-height:1.35;}
.instalar-aviso-texto strong{font-size:0.86rem;color:var(--text);}
.instalar-aviso-btn{flex-shrink:0;background:var(--primary);color:white;border:none;border-radius:10px;padding:0.55rem 0.9rem;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:0.8rem;cursor:pointer;}
.instalar-aviso-x{flex-shrink:0;background:none;border:none;color:var(--text3);font-size:1.3rem;line-height:1;width:32px;height:32px;cursor:pointer;border-radius:8px;}
.instalar-aviso-x:hover{background:var(--off-white);}
.instalar-fondo{position:fixed;inset:0;background:rgba(15,15,23,0.5);z-index:10001;display:flex;align-items:flex-end;justify-content:center;padding:16px;}
.instalar-ios{background:white;border-radius:20px;padding:1.4rem 1.3rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg);margin-bottom:env(safe-area-inset-bottom);}
.instalar-ios-titulo{font-weight:800;font-size:1.1rem;color:var(--text);}
.instalar-ios-sub{font-size:0.84rem;color:var(--text2);margin:0.25rem 0 0.9rem;}
.instalar-ios-pasos{list-style:none;margin:0 0 0.6rem;padding:0;display:flex;flex-direction:column;gap:0.5rem;counter-reset:paso;}
.instalar-ios-pasos li{display:flex;gap:0.7rem;align-items:flex-start;background:var(--off-white);border:1px solid var(--border);border-radius:12px;padding:0.7rem 0.8rem;font-size:0.85rem;color:var(--text);line-height:1.45;}
.instalar-ios-ico{font-size:1.1rem;flex-shrink:0;}
/* En el login ya está el botón; en splash y términos no se distrae. */
body:has(#s-login.active) .instalar-aviso,
body:has(#s-splash.active) .instalar-aviso,
body:has(#s-legal.active) .instalar-aviso{display:none;}
body:has(#instalar-aviso) .content{padding-bottom:110px;}
