/* Gestor de consentimiento de cookies (assets/js/consent.js). Sin estilos en línea: compatible con CSP estricta.
   Los tres botones de decisión comparten exactamente el mismo estilo (misma visibilidad). */

.ld-consent-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483000;
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 24px 24px; min-height: 136px; box-sizing: border-box;
  background: #fff; color: var(--dark, #1A2E50); border-top: 3px solid #006BFA; box-shadow: 0 -10px 32px -12px rgba(0, 107, 250, .35);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.45;
}
.ld-consent-banner .ld-consent-text { font-size: 19.6px; line-height: 1.4; }
.ld-consent-banner[hidden], .ld-consent-overlay[hidden] { display: none; }
.ld-consent-banner .ld-consent-text { flex: 1 1 360px; margin: 0; color: var(--muted, #4A6080); }
.ld-consent-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ld-consent-banner .ld-consent-actions { flex: none; flex-wrap: nowrap; }
/* Los botones de decisión del panel de preferencias (Rechazar / Guardar) tienen el mismo peso visual a propósito (el rechazo no puede verse
   menos disponible que la aceptación). En el aviso inicial, "Aceptar" va destacado (ver .ld-consent-btn-primary más abajo). Comparten forma, altura y radio con el botón secundario del sistema. Colores fijos: el cartel y el panel son siempre blancos, también en las herramientas oscuras. */
.ld-consent-btn {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  flex: 1 1 150px; min-height: var(--btn-h, 44px); padding: 8px 20px; cursor: pointer; text-align: center;
  font: 600 14.5px/1.2 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #00133A; background: #fff; border: 1px solid #C5D0E2;
  border-radius: var(--btn-radius, 10px); box-shadow: 0 1px 2px rgba(0, 19, 58, .06);
  transition: background-color .18s, border-color .18s, box-shadow .18s;
}
.ld-consent-btn:hover { background: rgba(0, 107, 250, .06); border-color: #6FA2EA; box-shadow: 0 2px 6px -2px rgba(0, 19, 58, .14); }
/* Aviso inicial (Oct 2026, pedido de Lautaro): "Aceptar" lleva el mismo fondo que "Configurar" pero un borde algo más grueso. El panel de preferencias conserva botones iguales. */
.ld-consent-btn.ld-consent-btn-primary { border-width: 2px; border-color: #00133A; font-weight: 700; }
.ld-consent-btn.ld-consent-btn-primary:hover { border-color: #006BFA; }
.ld-consent-banner .ld-consent-btn { min-width: 150px; }
@media (max-width: 640px) { .ld-consent-banner { min-height: 0; padding: 18px 16px; } .ld-consent-banner .ld-consent-actions { width: 100%; } }
.ld-consent-btn:focus-visible, .ld-consent-close:focus-visible {
  outline: 3px solid var(--blue, #006BFA); outline-offset: 2px;
}

.ld-consent-overlay {
  position: fixed; inset: 0; z-index: 2147483001; display: flex; align-items: center; justify-content: center;
  padding: 16px; background: rgba(0,19,58,.6);
}
.ld-consent-panel {
  width: 100%; max-width: 620px; max-height: calc(100vh - 32px); overflow-y: auto;
  background: #fff; color: var(--dark, #1A2E50); border-radius: 12px; padding: 26px 26px 22px; position: relative;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.55;
}
.ld-consent-panel h2 { font-size: 19px; font-weight: 700; color: var(--navy, #00133A); margin: 0 36px 8px 0; }
.ld-consent-panel > p { color: var(--muted, #4A6080); margin: 0 0 16px; }
.ld-consent-close {
  position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; cursor: pointer;
  background: transparent; border: 0; border-radius: 8px; color: var(--muted, #4A6080); font-size: 22px; line-height: 1;
}
.ld-consent-close:hover { background: var(--off, #F4F6FA); }

.ld-consent-more { align-self: center; padding: 0 6px; font-size: 13.5px; color: var(--blue-mid, #0052CC); text-underline-offset: 2px; }
.ld-consent-more:focus-visible { outline: 3px solid var(--blue, #006BFA); outline-offset: 2px; }
.ld-consent-panel > .ld-consent-more { display: inline-block; margin-top: 12px; padding: 6px; }
.ld-consent-panel .ld-consent-actions { margin: 8px 0 0; }
.ld-consent-panel .ld-consent-actions .ld-consent-btn { flex: 1 1 180px; }

/* Categorías dentro del panel de preferencias (assets/js/consent.js) */
.ld-consent-check { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 12px; padding: 12px 14px; background: var(--off, #F4F6FA); border-radius: 8px; cursor: pointer; font-size: 13.5px; }
.ld-consent-check input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--blue, #006BFA); cursor: pointer; }
.ld-consent-check input:disabled { cursor: default; }
.ld-consent-check strong { display: block; color: var(--navy, #00133A); margin-bottom: 2px; }
.ld-consent-check p { margin: 0; color: var(--muted, #4A6080); }

/* Ventana de aceptación de la Política de Privacidad (assets/js/privacy-consent.js): simple y breve.
   Botones del sistema (assets/css/buttons.css): primary + tertiary. En herramientas oscuras (body[data-btn-theme="dark"],
   ej. Cartera 360) la ventana toma la paleta oscura. */
.ld-privacy-overlay { z-index: 2147483002; }
.ld-privacy-overlay .ld-consent-panel { max-width: 460px; padding: 28px 28px 24px; }
.ld-privacy-overlay .ld-consent-panel h2 { font-size: 20px; margin: 0 0 12px; }
.ld-privacy-overlay .ld-consent-panel > p { font-size: 14.5px; line-height: 1.6; margin: 0 0 18px; }
.ld-privacy-check { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 6px; cursor: pointer; font-size: 14.5px; line-height: 1.5; color: var(--navy, #00133A); }
.ld-privacy-check input { flex: none; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--blue, #006BFA); cursor: pointer; }
.ld-privacy-check a, .ld-consent-panel a { color: var(--blue-mid, #0052CC); text-underline-offset: 2px; }
.ld-privacy-msg { min-height: 1.4em; margin: 6px 0 0; color: var(--error, #C0392B); font-size: 13px; }
.ld-privacy-overlay .ld-privacy-actions { flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 14px; }
@media (max-width: 560px) { .ld-privacy-overlay .ld-privacy-actions .btn-primary { flex: 1 1 100%; } .ld-privacy-overlay .ld-privacy-actions .btn-tertiary { flex: 1 1 100%; } }
body[data-btn-theme="dark"] .ld-privacy-overlay { background: rgba(0, 6, 20, .74); }
body[data-btn-theme="dark"] .ld-privacy-overlay .ld-consent-panel { background: #11214A; color: #C9D4EA; box-shadow: 0 30px 80px -20px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.09); }
body[data-btn-theme="dark"] .ld-privacy-overlay .ld-consent-panel h2 { color: #F3F6FC; }
body[data-btn-theme="dark"] .ld-privacy-overlay .ld-consent-panel > p { color: #C9D4EA; }
body[data-btn-theme="dark"] .ld-privacy-overlay .ld-privacy-check { color: #E8EEFA; }
body[data-btn-theme="dark"] .ld-privacy-overlay .ld-consent-panel a { color: #86BAFF; }
body[data-btn-theme="dark"] .ld-privacy-overlay .ld-privacy-msg { color: #F87171; }

/* Enlaces legales al pie de cada página (sin duplicar footers existentes) */
.ld-legal-strip {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; padding: 14px 5vw;
  background: #000D25; border-top: 1px solid rgba(255,255,255,.06);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 12.5px;
}
.ld-legal-strip a { color: #8AAAD0; text-decoration: none; }
.ld-legal-strip a:hover { color: #fff; text-decoration: underline; }
.ld-legal-inline { margin-top: 14px; font-size: 12.5px; text-align: center; color: var(--muted, #4A6080); }
.ld-legal-inline a { color: var(--blue-mid, #0052CC); }
.ld-legal-notice { margin: 4px 0 2px; font-size: 12px; line-height: 1.5; color: var(--muted, #4A6080); }
.ld-legal-notice a { color: var(--blue-mid, #0052CC); }
@media print { .ld-legal-strip { display: none; } }

@media (max-width: 560px) {
  .ld-consent-banner { padding: 10px 14px; gap: 6px 12px; }
  .ld-consent-btn { flex-basis: 100%; }
  .ld-consent-banner .ld-consent-btn { flex: 1 1 0; }
  .ld-consent-banner .ld-consent-actions { flex: 1 1 100%; }
  .ld-consent-panel { padding: 22px 18px 18px; }
  .ld-consent-panel .ld-consent-actions .ld-consent-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ld-consent-btn, .ld-consent-slider, .ld-consent-slider::before { transition: none; }
}
@media print { .ld-consent-banner, .ld-consent-overlay { display: none !important; } }
