/* ═══════════════════════════════════════════════════════════════════════
 * PANDEMONIUM · Frontend stylesheet v8
 * ─────────────────────────────────────────────────────────────────────
 * Layer común para toda la web:
 *   · Geo ticker (top bar)
 *   · Geo news feed
 *   · Modo claro ("biblioteca") + modo oscuro (neón)
 *   · Tipografía editorial (serif body, sans UI)
 *   · Breadcrumbs y meta editorial
 *
 * Compatible con el CSS existente de index.html (no rompe nada).
 * ═══════════════════════════════════════════════════════════════════════ */

/* ─── DESIGN TOKENS (dark mode default) ────────────────────────────── */
:root {
  /* Dark mode (default — neón) */
  --pdm-bg:           #0F0A24;
  --pdm-surface:      rgba(255,255,255,.04);
  --pdm-text:         #ECE9DF;
  --pdm-muted:        #8B8398;
  --pdm-rule:         rgba(255,255,255,.10);
  --pdm-violet:       #7C3AED;
  --pdm-violet3:      #C084FC;
  --pdm-magenta:      #EC4899;
  --pdm-cyan:         #22D3EE;
  --pdm-gold:         #FBBF24;
  --pdm-green:        #10b981;
  --pdm-red:          #ef4444;

  /* Fuentes */
  --pdm-serif:  'Source Serif Pro', 'Lora', Georgia, 'Times New Roman', serif;
  --pdm-sans:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pdm-mono:   'JetBrains Mono', 'SF Mono', Menlo, Monaco, monospace;

  /* Ritmo */
  --pdm-space-1: 4px;
  --pdm-space-2: 8px;
  --pdm-space-3: 16px;
  --pdm-space-4: 24px;
  --pdm-space-5: 32px;
  --pdm-space-6: 48px;
  --pdm-space-7: 72px;
}

/* ─── LIGHT MODE ("biblioteca de actualidad") ────────────────────── */
html[data-theme="light"] {
  --pdm-bg:        #F7F4ED;
  --pdm-surface:   rgba(15,14,19,.04);
  --pdm-text:      #0F0E13;
  --pdm-muted:     #5A5566;
  --pdm-rule:      rgba(0,0,0,.10);
  --pdm-violet:    #5B21B6;
  --pdm-violet3:   #7C3AED;
  --pdm-magenta:   #BE185D;
  --pdm-cyan:      #0891B2;
  --pdm-gold:      #B45309;
  color-scheme: light;
}
html[data-theme="light"] body {
  background: var(--pdm-bg) !important;
  color: var(--pdm-text) !important;
}
html[data-theme="light"] .sec-sub,
html[data-theme="light"] .pc-tagline,
html[data-theme="light"] .pc-period {
  color: var(--pdm-muted) !important;
}
html[data-theme="light"] .price-card,
html[data-theme="light"] .vision-card,
html[data-theme="light"] .agent-card {
  background: rgba(255,255,255,.7) !important;
  border-color: var(--pdm-rule) !important;
}
html[data-theme="light"] .grad {
  background: linear-gradient(135deg, var(--pdm-violet), var(--pdm-magenta));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ─── GEO TICKER (notificación colapsable) ────────────────────────── */
#pdm-ticker {
  position: sticky; top: 0; z-index: 999;
  width: 100%;
  background: var(--pdm-bg);
  border-bottom: 1px solid var(--pdm-rule);
  font-family: var(--pdm-mono);
  font-size: 12px;
  color: var(--pdm-muted);
  padding: 6px 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex; align-items: center; gap: 8px;
  letter-spacing: .3px;
  transition: max-height .25s ease, padding .25s ease, opacity .2s ease;
  max-height: 40px;
}
#pdm-ticker.collapsed {
  max-height: 0;
  padding-top: 0; padding-bottom: 0;
  border-bottom: 0;
  opacity: 0;
  pointer-events: none;
}
#pdm-ticker-toggle {
  position: fixed; top: 8px; right: 12px; z-index: 1000;
  background: var(--pdm-surface);
  color: var(--pdm-text);
  border: 1px solid var(--pdm-rule);
  border-radius: 20px;
  padding: 4px 10px;
  font-family: var(--pdm-mono); font-size: 10px;
  letter-spacing: 1px; cursor: pointer;
  backdrop-filter: blur(10px);
  transition: all .2s;
  opacity: .75;
}
#pdm-ticker-toggle:hover {
  border-color: var(--pdm-cyan);
  color: var(--pdm-cyan);
  opacity: 1;
}
body.ticker-open #pdm-ticker-toggle { top: 38px; }
#pdm-ticker.refreshing {
  animation: pdm-blink .4s ease-in-out 2;
}
@keyframes pdm-blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.55; }
}
#pdm-ticker .tkr-flag    { font-size: 14px; }
#pdm-ticker .tkr-loc     { color: var(--pdm-text); font-weight: 500; }
#pdm-ticker .tkr-asset   { color: var(--pdm-muted); }
#pdm-ticker .tkr-asset b { color: var(--pdm-text); font-weight: 600; padding: 0 2px; }
#pdm-ticker .tkr-sep     { color: var(--pdm-rule); }

@media (max-width: 880px) {
  #pdm-ticker { font-size: 10px; padding: 4px 10px; gap: 6px; overflow-x: auto; }
}

/* ─── ALINEACIÓN CENTRAL UNIVERSAL · sprint 6 polish ─────────────── */
section, .lcs-wrap, .container-pdm {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Contenedor canónico Pandemonium · usar en blocks nuevos para consistencia */
.container-pdm {
  max-width: 1180px;
  padding: 0 24px;
  box-sizing: border-box;
}
/* FAQ items · padding interno simétrico */
.faq-item { padding: 18px 22px !important; }
.faq-item .faq-q { padding-right: 28px; }
/* Botones primarios · radius y padding canónicos */
.btn-primary, .btn-secondary, .submit-btn {
  border-radius: 12px !important;
  letter-spacing: .3px;
}
/* Cards Lucifer Cybersec · hover suave */
.lcs-wrap > div > div:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(124,58,237,.15);
  transition: all .25s ease;
}

/* ─── MOBILE FIRST · RESPONSIVE FIXES ─────────────────────────────── */
@media (max-width: 768px) {
  /* Hero ajustado para no desbordarse */
  .hero h1 { font-size: clamp(36px, 9vw, 64px) !important; line-height: 1.05 !important; }
  .hero-sub { font-size: 14px !important; padding: 0 8px; }
  .hero-actions { flex-direction: column; gap: 12px !important; padding: 0 16px; }
  .hero-actions .btn-primary, .hero-actions .btn-secondary { width: 100%; text-align: center; }

  /* Nav simplificado */
  nav { padding: 12px 14px !important; flex-wrap: wrap; }
  .nav-menu { display: none; }
  .nav-cta { padding: 8px 14px !important; font-size: 12px !important; }

  /* Toggle botones top */
  #pdm-theme-btn, #pdm-ticker-toggle { font-size: 9px; padding: 3px 8px; }

  /* Banner lanzamiento ajuste */
  #lcs-launch-banner { font-size: 10.5px; padding: 9px 10px; }
  #lcs-launch-banner span:last-child { display: block; margin-top: 4px; }

  /* Servicios Lucifer Cybersec · 1 columna */
  .lcs-wrap { padding: 0 12px !important; }
  .lcs-wrap > div[style*="grid"], .lcs-services-grid { grid-template-columns: 1fr !important; }
  #lcs-countdown { gap: 10px !important; }
  #lcs-countdown span[id^="lcs-cd-"] { font-size: 26px !important; }

  /* FAQ readability mobile */
  .faq-item { padding: 14px 16px !important; }
  .faq-item .faq-q { font-size: 14px !important; }
  .faq-item .faq-a { font-size: 13px !important; line-height: 1.6 !important; }

  /* Container universal padding mobile */
  .container-pdm { padding: 0 14px; }

  /* Section padding reducción */
  section { padding-left: 14px !important; padding-right: 14px !important; }

  /* Modales · padding mobile */
  .modal { padding: 24px 16px !important; max-width: 92vw !important; }
  .modal h2 { font-size: 20px !important; }
  .form-inp, .form-txa, .form-sel { font-size: 16px !important; /* evita zoom iOS */ }

  /* Footer compactado */
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}

/* ─── TABLET BREAKPOINT (769-1024px) · 4 cards → 2x2 ─────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .lcs-wrap > div[style*="grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  nav { padding: 14px 18px !important; }
  .footer-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ─── PWA INSTALL BANNER ─────────────────────────────────────────── */
#pwa-install-banner {
  position: fixed; bottom: -200px; left: 12px; right: 12px; z-index: 9999;
  background: linear-gradient(135deg, rgba(124,58,237,.96), rgba(34,211,238,.92));
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 16px 18px;
  display: flex; align-items: center; gap: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,.4);
  backdrop-filter: blur(12px);
  transition: bottom .35s cubic-bezier(.4,0,.2,1);
  max-width: 520px; margin: 0 auto;
  font-family: var(--pdm-sans, Inter, sans-serif);
}
#pwa-install-banner.show { bottom: 18px; }
#pwa-install-banner .pwa-icon {
  width: 44px; height: 44px; background: #fff; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 22px; color: #7C3AED; flex-shrink: 0;
}
#pwa-install-banner .pwa-text { flex: 1; color: #fff; line-height: 1.35; }
#pwa-install-banner .pwa-title { font-weight: 700; font-size: 14px; }
#pwa-install-banner .pwa-sub { font-size: 11.5px; opacity: .88; margin-top: 2px; }
#pwa-install-banner .pwa-btn {
  background: #fff; color: #000; border: 0; border-radius: 22px;
  padding: 9px 16px; font-weight: 700; font-size: 12.5px; cursor: pointer;
  white-space: nowrap;
}
#pwa-install-banner .pwa-dismiss {
  background: transparent; color: #fff; border: 0; cursor: pointer;
  font-size: 20px; padding: 0 6px; opacity: .65;
}

/* ─── CONSENT MODAL · GDPR GRANULAR ──────────────────────────────── */
#consent-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(5, 5, 15, .85);
  backdrop-filter: blur(8px);
  display: none; align-items: flex-end; justify-content: center;
  font-family: var(--pdm-sans, Inter, sans-serif);
}
#consent-overlay.show { display: flex; }
#consent-modal {
  background: linear-gradient(180deg, #0F0F1E 0%, #14142B 100%);
  border-top: 2px solid #7C3AED;
  border-radius: 20px 20px 0 0;
  max-width: 720px; width: 100%;
  padding: 26px 24px 22px;
  box-shadow: 0 -20px 60px rgba(124,58,237,.3);
  max-height: 90vh; overflow-y: auto;
  animation: consentSlide .35s cubic-bezier(.4,0,.2,1);
}
@keyframes consentSlide {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}
#consent-modal h3 {
  font-size: 18px; font-weight: 700; color: #fff; margin: 0 0 6px;
}
#consent-modal .consent-sub {
  font-size: 12.5px; color: #94A3B8; line-height: 1.55; margin: 0 0 16px;
}
.consent-category {
  display: flex; gap: 12px; padding: 12px 14px;
  background: rgba(124,58,237,.06);
  border: 1px solid rgba(124,58,237,.18);
  border-radius: 12px; margin-bottom: 10px;
  align-items: flex-start;
}
.consent-category.essential { background: rgba(34,211,238,.06); border-color: rgba(34,211,238,.3); }
.consent-category input[type="checkbox"] {
  width: 20px; height: 20px; margin-top: 2px; cursor: pointer;
  accent-color: #7C3AED; flex-shrink: 0;
}
.consent-category input[disabled] { opacity: .6; cursor: not-allowed; }
.consent-cat-body { flex: 1; }
.consent-cat-title {
  font-size: 13.5px; font-weight: 700; color: #fff; display: flex;
  align-items: center; gap: 8px;
}
.consent-cat-badge {
  background: rgba(34,211,238,.18); color: #22D3EE;
  font-size: 9px; padding: 2px 7px; border-radius: 10px;
  font-weight: 700; letter-spacing: 1px;
}
.consent-cat-desc {
  font-size: 11.5px; color: #94A3B8; line-height: 1.5;
  margin-top: 4px;
}
.consent-cat-detail {
  font-size: 10.5px; color: #64748B; font-family: var(--pdm-mono, monospace);
  margin-top: 4px;
}
.consent-actions {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px;
}
.consent-btn {
  border: 0; border-radius: 10px; padding: 12px 18px;
  font-weight: 700; font-size: 12.5px; cursor: pointer;
  font-family: inherit; letter-spacing: .5px;
}
.consent-btn-primary {
  background: linear-gradient(135deg, #22D3EE, #7C3AED);
  color: #000; flex: 1; min-width: 200px;
}
.consent-btn-secondary {
  background: transparent; color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  flex: 1; min-width: 140px;
}
.consent-btn-tertiary {
  background: transparent; color: #64748B;
  border: 1px solid rgba(100,116,139,.3);
  font-size: 11.5px; padding: 10px 14px;
}
.consent-footnote {
  font-size: 10px; color: #475569; margin-top: 12px; text-align: center;
  line-height: 1.5;
}
.consent-footnote a { color: #22D3EE; }

/* ─── GEO NEWS FEED ─────────────────────────────────────────────────── */
#pdm-news {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin: 32px 0;
}
.pdm-news-item {
  display: flex; flex-direction: column; gap: 8px;
  padding: 18px;
  background: var(--pdm-surface);
  border: 1px solid var(--pdm-rule);
  border-radius: 12px;
  text-decoration: none;
  transition: all .2s;
}
.pdm-news-item:hover {
  border-color: var(--pdm-cyan);
  transform: translateY(-2px);
}
.pdm-news-cat {
  font-family: var(--pdm-mono); font-size: 10px;
  color: var(--pdm-cyan); letter-spacing: 2px;
}
.pdm-news-h {
  font-family: var(--pdm-serif); font-size: 16px; line-height: 1.4;
  color: var(--pdm-text); font-weight: 600;
}
.pdm-news-meta {
  font-family: var(--pdm-mono); font-size: 10px;
  color: var(--pdm-muted); letter-spacing: 1px;
}

/* ─── BIBLIOTECA / EDITORIAL ─────────────────────────────────────────── */
.editorial body, .editorial {
  font-family: var(--pdm-serif);
  font-size: 18px; line-height: 1.75;
  color: var(--pdm-text);
}
.editorial h1, .editorial h2, .editorial h3 {
  font-family: var(--pdm-serif); font-weight: 700;
  letter-spacing: -.02em; line-height: 1.2;
}
.editorial h1 { font-size: 48px; margin: 32px 0 16px; }
.editorial h2 { font-size: 32px; margin: 48px 0 16px; }
.editorial h3 { font-size: 22px; margin: 32px 0 12px; }
.editorial .lead {
  font-size: 22px; line-height: 1.55; color: var(--pdm-text);
  font-style: italic; max-width: 680px;
}
.editorial p { max-width: 680px; margin: 0 0 16px; }
.editorial a { color: var(--pdm-violet); border-bottom: 1px solid currentColor; text-decoration: none; }
.editorial blockquote {
  margin: 32px 0; padding: 24px 32px;
  border-left: 3px solid var(--pdm-violet);
  background: var(--pdm-surface);
  font-style: italic; font-size: 20px;
}
.editorial code, .editorial pre {
  font-family: var(--pdm-mono); font-size: 14px;
  background: var(--pdm-surface); padding: 2px 6px; border-radius: 4px;
}
.editorial pre { padding: 16px 20px; overflow-x: auto; }

/* ─── BREADCRUMB ─────────────────────────────────────────────────────── */
.pdm-breadcrumb {
  font-family: var(--pdm-mono); font-size: 11px;
  color: var(--pdm-muted); letter-spacing: 2px;
  text-transform: uppercase;
  margin: 16px 0 24px;
}
.pdm-breadcrumb a { color: var(--pdm-muted); text-decoration: none; }
.pdm-breadcrumb a:hover { color: var(--pdm-cyan); }
.pdm-breadcrumb .sep { margin: 0 8px; color: var(--pdm-rule); }

/* ─── READING META ───────────────────────────────────────────────────── */
.pdm-reading-meta {
  display: flex; flex-wrap: wrap; gap: 16px;
  font-family: var(--pdm-mono); font-size: 11px;
  color: var(--pdm-muted); letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 16px 0 32px;
  padding: 12px 0; border-top: 1px solid var(--pdm-rule);
  border-bottom: 1px solid var(--pdm-rule);
}

/* ─── CITATION BLOCK ─────────────────────────────────────────────────── */
.pdm-citations {
  margin: 48px 0; padding: 24px;
  background: var(--pdm-surface); border-radius: 12px;
  border: 1px solid var(--pdm-rule);
}
.pdm-citations h4 {
  font-family: var(--pdm-mono); font-size: 11px;
  color: var(--pdm-cyan); letter-spacing: 3px; text-transform: uppercase;
  margin: 0 0 16px;
}
.pdm-citations ol { margin: 0; padding-left: 24px; }
.pdm-citations li {
  font-size: 14px; line-height: 1.6;
  color: var(--pdm-muted); margin: 6px 0;
}
.pdm-citations a { color: var(--pdm-violet); }

/* ─── THEME TOGGLE BUTTON ────────────────────────────────────────────── */
#pdm-theme-btn {
  position: fixed; top: 8px; left: 12px; z-index: 1000;
  padding: 4px 10px;
  background: var(--pdm-surface);
  color: var(--pdm-text);
  border: 1px solid var(--pdm-rule);
  border-radius: 20px;
  font-family: var(--pdm-mono); font-size: 10px;
  letter-spacing: 1px; cursor: pointer;
  backdrop-filter: blur(10px);
  transition: all .2s;
  opacity: .75;
}
#pdm-theme-btn:hover {
  border-color: var(--pdm-cyan);
  color: var(--pdm-cyan);
  opacity: 1;
}
body.ticker-open #pdm-theme-btn { top: 38px; }

/* ─── ANIMATIONS DISABLE en modo claro (más legible) ───────────────── */
html[data-theme="light"] [class*="anim"],
html[data-theme="light"] [class*="pulse"] {
  animation: none !important;
}

/* ─── COUNTRY LOSSES GRID (metacuántico) · simétrico 6 cols ───────── */
#pdm-losses-countries {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
  margin: 32px 0;
  justify-content: center;
}
@media (max-width: 1180px) { #pdm-losses-countries { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 820px)  { #pdm-losses-countries { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px)  { #pdm-losses-countries { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 380px)  { #pdm-losses-countries { grid-template-columns: 1fr; } }
.pdm-country-loss {
  padding: 16px;
  background: linear-gradient(135deg, rgba(244,63,94,.06), rgba(124,58,237,.04));
  border: 1px solid var(--pdm-rule);
  border-radius: 14px;
  transition: all .2s;
}
.pdm-country-loss:hover {
  border-color: var(--pdm-magenta);
  transform: translateY(-2px);
}
.pcl-head {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 8px;
  font-family: var(--pdm-mono); font-size: 11px;
  color: var(--pdm-muted); letter-spacing: 1.5px;
}
.pcl-flag   { font-size: 16px; }
.pcl-name   { flex: 1; color: var(--pdm-text); font-weight: 600; }
.pcl-weight { color: var(--pdm-cyan); font-weight: 700; }
.pcl-loss   {
  font-family: var(--pdm-mono); font-size: 22px; font-weight: 800;
  color: var(--pdm-red); margin: 6px 0;
}
.pcl-meta {
  font-family: var(--pdm-mono); font-size: 10px;
  color: var(--pdm-muted); letter-spacing: 1px;
}
.pcl-engine {
  font-family: var(--pdm-mono); font-size: 9px;
  color: var(--pdm-violet3); letter-spacing: 1.5px;
  margin-top: 6px; opacity: .85;
}

/* ─── HARDWARE THREATS GRID ────────────────────────────────────────── */
#pdm-hardware-threats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin: 32px 0;
}
.pdm-threat {
  padding: 18px;
  background: var(--pdm-surface);
  border: 1px solid var(--pdm-rule);
  border-radius: 14px;
  border-left: 3px solid var(--pdm-violet);
}
.pdm-threat.critical { border-left-color: var(--pdm-red); }
.pdm-threat.high     { border-left-color: var(--pdm-magenta); }
.pdm-threat.medium   { border-left-color: var(--pdm-gold); }
.pdm-threat .pt-id {
  font-family: var(--pdm-mono); font-size: 10px;
  color: var(--pdm-cyan); letter-spacing: 2px; margin-bottom: 6px;
}
.pdm-threat .pt-name {
  font-family: var(--pdm-sans); font-size: 14px; font-weight: 600;
  color: var(--pdm-text); margin-bottom: 8px;
}
.pdm-threat .pt-vendor {
  font-family: var(--pdm-mono); font-size: 10px;
  color: var(--pdm-muted); letter-spacing: 1px;
}
.pdm-threat .pt-desc {
  font-family: var(--pdm-sans); font-size: 12px; line-height: 1.5;
  color: var(--pdm-muted); margin: 8px 0;
}
.pdm-threat .pt-sev {
  display: inline-block; padding: 2px 8px; border-radius: 12px;
  font-family: var(--pdm-mono); font-size: 9px;
  text-transform: uppercase; letter-spacing: 1.5px; font-weight: 700;
}
.pdm-threat.critical .pt-sev { background: rgba(239,68,68,.2);  color: var(--pdm-red); }
.pdm-threat.high     .pt-sev { background: rgba(236,72,153,.2); color: var(--pdm-magenta); }
.pdm-threat.medium   .pt-sev { background: rgba(251,191,36,.2); color: var(--pdm-gold); }

/* ═══════════════════════════════════════════════════════════════════════
 * VISIBILITY GUARDS · prevent invisible-content bugs
 * ─────────────────────────────────────────────────────────────────────
 * Override cualquier estilo (CSS o JS) que pueda dejar contenido oculto:
 *   · <option> con texto invisible en dropdowns (color OS clash)
 *   · .reveal sin .visible (fallback redundante con pdm.js)
 *   · Elementos con opacity 0 explícito sin justificación
 * ═══════════════════════════════════════════════════════════════════════ */

/* SELECT OPTIONS · forzar fondo oscuro + texto claro en TODOS los navegadores */
select option {
  background-color: #1A1727 !important;
  color: #ECE9DF !important;
  padding: 8px !important;
}
select option:hover,
select option:checked,
select option:focus {
  background-color: #7C3AED !important;
  color: #FFFFFF !important;
}
/* En modo claro, invertir */
html[data-theme="light"] select option {
  background-color: #FFFFFF !important;
  color: #0F0E13 !important;
}
html[data-theme="light"] select option:hover,
html[data-theme="light"] select option:checked {
  background-color: #5B21B6 !important;
  color: #FFFFFF !important;
}

/* INPUTS y TEXTAREAS · forzar texto visible */
input, textarea, select {
  color: inherit !important;
}
input::placeholder, textarea::placeholder {
  color: rgba(139, 131, 152, .8) !important;
  opacity: 1 !important;
}

/* REVEAL · safety net redundante con pdm.js (3500ms forzado) */
body.pdm-loaded .reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* NO permitir elementos invisibles permanentes sin clase ".hidden" o "[hidden]" explícito */
section:not([hidden]),
.sec-wrap:not([hidden]),
.agent-card,
.price-card,
.intel-card,
.vision-card,
.faq-item {
  opacity: 1 !important;
}

/* MODALES · estado inicial oculto (correcto), abierto visible (correcto) */
.overlay { opacity: 1; }   /* el display:none/flex maneja la visibilidad */
.overlay.open { opacity: 1; visibility: visible; }

/* ─── PULSE TICK · contador rc-global cada segundo ─────────────────── */
.pdm-tick {
  animation: pdm-tick-pulse 0.35s ease-out;
}
@keyframes pdm-tick-pulse {
  0%   { text-shadow: 0 0 40px rgba(244,63,94,.4); transform: scale(1); }
  50%  { text-shadow: 0 0 60px rgba(244,63,94,.9), 0 0 100px rgba(244,63,94,.4); transform: scale(1.005); }
  100% { text-shadow: 0 0 40px rgba(244,63,94,.4); transform: scale(1); }
}

/* ═══════════════════════════════════════════════════════════════════════
 * GOD'S EYE · visualización tactical-grade
 * ─────────────────────────────────────────────────────────────────────
 * Mapa global con dots pulsantes por país + scans en vivo + readouts
 * Estética inspirada en interfaces tácticas (Fast & Furious / Watch Dogs)
 * Todo CSS/SVG · sin librerías
 * ═══════════════════════════════════════════════════════════════════════ */
.gods-eye-wrap {
  position: relative;
  margin: 60px auto;
  max-width: 1280px;
  padding: 28px;
  background: linear-gradient(135deg, rgba(8,5,26,.95), rgba(15,10,36,.85));
  border: 1.5px solid var(--pdm-violet);
  border-radius: 22px;
  overflow: hidden;
}
.gods-eye-wrap::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 30% 20%, rgba(34,211,238,.10), transparent 40%),
    radial-gradient(circle at 70% 80%, rgba(236,72,153,.08), transparent 45%),
    repeating-linear-gradient(0deg, transparent 0, transparent 39px, rgba(124,58,237,.05) 40px),
    repeating-linear-gradient(90deg, transparent 0, transparent 39px, rgba(124,58,237,.05) 40px);
  pointer-events: none;
}
.gods-eye-head {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 14px; margin-bottom: 24px;
  font-family: var(--pdm-mono); position: relative; z-index: 1;
}
.gods-eye-tag {
  font-size: 11px; color: var(--pdm-cyan); letter-spacing: 4px;
  text-transform: uppercase; font-weight: 700;
}
.gods-eye-tag::before {
  content: '◉ '; color: var(--pdm-red);
  animation: ge-blink 1.2s infinite;
}
@keyframes ge-blink { 50% { opacity: .25; } }
.gods-eye-h {
  font-family: var(--pdm-sans); font-size: clamp(20px, 3vw, 28px);
  font-weight: 800; letter-spacing: -.5px; color: var(--pdm-text);
  margin: 6px 0 0;
}
.gods-eye-status {
  font-family: var(--pdm-mono); font-size: 11px;
  color: var(--pdm-muted); letter-spacing: 2px;
}
.gods-eye-status .ge-live {
  color: #10b981;
}
.gods-eye-status .ge-live::before {
  content: '● '; animation: ge-blink 1s infinite;
}

.gods-eye-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
  position: relative; z-index: 1;
}
@media (max-width: 900px) {
  .gods-eye-grid { grid-template-columns: 1fr; }
}

/* MAPA SVG */
.ge-map {
  position: relative;
  background: radial-gradient(circle at center, rgba(124,58,237,.12), transparent 70%);
  border: 1px solid rgba(124,58,237,.3);
  border-radius: 16px;
  padding: 20px;
  min-height: 420px;
  overflow: hidden;
}
.ge-map svg { width: 100%; height: 380px; display: block; }
.ge-map { padding: 0 !important; min-height: 520px; background: #000 !important; }
.ge-map #ge3d-globe { width: 100% !important; height: 520px !important; display: block; background: radial-gradient(ellipse at center, #0a0a2e 0%, #000000 80%); }
.ge-map canvas { display: none !important; }
.ge-dot {
  fill: var(--pdm-magenta);
  filter: drop-shadow(0 0 6px var(--pdm-magenta));
  animation: ge-dot-pulse 2s ease-in-out infinite;
}
.ge-dot.cyan  { fill: var(--pdm-cyan);    filter: drop-shadow(0 0 6px var(--pdm-cyan)); }
.ge-dot.red   { fill: var(--pdm-red);     filter: drop-shadow(0 0 6px var(--pdm-red));  animation-duration: 1.2s; }
.ge-dot.gold  { fill: var(--pdm-gold);    filter: drop-shadow(0 0 6px var(--pdm-gold)); }
.ge-dot.green { fill: #10b981;            filter: drop-shadow(0 0 6px #10b981); }
@keyframes ge-dot-pulse {
  0%, 100% { opacity: 1;   r: 4; }
  50%      { opacity: .55; r: 7; }
}

/* LÍNEAS DE CONEXIÓN entre dots */
.ge-link {
  stroke: var(--pdm-violet3);
  stroke-width: .8;
  stroke-dasharray: 2 4;
  opacity: .35;
  animation: ge-flow 4s linear infinite;
}
@keyframes ge-flow { to { stroke-dashoffset: -20; } }

/* RETÍCULO objetivo */
.ge-reticle {
  fill: none; stroke: var(--pdm-cyan); stroke-width: 1.2;
  animation: ge-reticle-spin 8s linear infinite;
  transform-origin: center;
}
@keyframes ge-reticle-spin { to { transform: rotate(360deg); } }

/* PANEL DERECHO · LIVE READOUTS */
.ge-panel { display: flex; flex-direction: column; gap: 14px; }
.ge-readout {
  background: rgba(8,5,26,.6);
  border: 1px solid rgba(124,58,237,.25);
  border-radius: 12px;
  padding: 14px 16px;
}
.ge-readout-lbl {
  font-family: var(--pdm-mono); font-size: 10px;
  color: var(--pdm-cyan); letter-spacing: 2.5px;
  margin-bottom: 6px;
}
.ge-readout-val {
  font-family: var(--pdm-mono); font-size: 22px; font-weight: 700;
  color: var(--pdm-text);
}
.ge-readout-val.red    { color: var(--pdm-red); }
.ge-readout-val.cyan   { color: var(--pdm-cyan); }
.ge-readout-val.violet { color: var(--pdm-violet3); }

/* TICKER inferior · scrolling */
.ge-ticker-feed {
  margin-top: 18px;
  font-family: var(--pdm-mono); font-size: 12px;
  color: var(--pdm-muted); padding: 12px 16px;
  background: rgba(0,0,0,.4); border-radius: 10px;
  border-left: 3px solid var(--pdm-red);
  height: 50px; overflow: hidden; position: relative;
}
.ge-ticker-feed-inner {
  animation: ge-scroll 18s linear infinite;
  white-space: nowrap;
}
@keyframes ge-scroll {
  0% { transform: translateY(0); }
  100% { transform: translateY(-200%); }
}
.ge-feed-line { padding: 6px 0; }
.ge-feed-line .ge-feed-ts { color: var(--pdm-cyan); }
.ge-feed-line .ge-feed-sev-crit { color: var(--pdm-red); font-weight: 700; }
.ge-feed-line .ge-feed-sev-warn { color: var(--pdm-gold); }
.ge-feed-line .ge-feed-sev-info { color: #10b981; }

/* ─── CHATBOT v1.0 · 100 Q&A LUCIFER ──────────────────────────────── */
.cb-msg {
  margin: 8px 0;
  padding: 10px 14px;
  border-radius: 12px;
  font-family: var(--pdm-sans);
  font-size: 13px;
  line-height: 1.6;
  max-width: 92%;
}
.cb-msg.cb-bot {
  background: rgba(124,58,237,.08);
  color: var(--pdm-text);
  border-left: 3px solid var(--pdm-violet3);
  margin-right: auto;
}
.cb-msg.cb-user {
  background: rgba(34,211,238,.10);
  color: var(--pdm-text);
  border-right: 3px solid var(--pdm-cyan);
  margin-left: auto;
  text-align: right;
}
.cb-options {
  display: flex; flex-direction: column; gap: 6px;
  margin: 12px 0;
}
.cb-opt {
  background: transparent;
  color: var(--pdm-text);
  border: 1px solid var(--pdm-rule);
  border-radius: 20px;
  padding: 8px 14px;
  font-family: var(--pdm-sans);
  font-size: 12px;
  cursor: pointer;
  text-align: left;
  transition: all .15s;
  line-height: 1.4;
}
.cb-opt:hover {
  background: rgba(124,58,237,.12);
  transform: translateX(2px);
}
.cb-opt.cb-back {
  border-color: var(--pdm-muted);
  color: var(--pdm-muted);
  border-style: dashed;
}
#cb-messages {
  max-height: 420px;
  overflow-y: auto;
  padding: 6px 4px;
}
#cb-messages::-webkit-scrollbar { width: 6px; }
#cb-messages::-webkit-scrollbar-thumb { background: rgba(124,58,237,.3); border-radius: 3px; }

/* ─── ACCESSIBILITY ──────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* ─── PRINT STYLES ───────────────────────────────────────────────────── */
@media print {
  #pdm-ticker, #pdm-theme-btn, .pc-cta, button { display: none !important; }
  body { background: white !important; color: black !important; }
  a { color: black !important; text-decoration: underline; }
}
