/* ================================================================
   VIHajar — capa de tema compartida (todas las páginas)
   Marco oscuro: nav · hero · footer.  Contenido: blanco / gris hielo.
   Acentos repartidos: azul cielo · verde menta · rosa · violeta puntual
   ================================================================ */

body { background:#FFFFFF; color:var(--ink); }

/* ---------- NAV ---------- */
#nav.scrolled, nav.scrolled { background:rgba(15,27,45,.96) !important; }
.nav-logo span, .logo span, .nav-logo em { color:#3EC0E6 !important; }
.nav-cta { background:var(--amber) !important; color:#FFFFFF !important; }
.nav-cta:hover { background:var(--amber-dark) !important; }
.nav-links a:hover { color:#3EC0E6 !important; }

/* ---------- HERO (home) — bokeh equilibrado, sin amarillo ---------- */
#hero {
  background:
    radial-gradient(ellipse at 16% 58%, rgba(62,192,230,.22) 0%, transparent 52%),
    radial-gradient(ellipse at 84% 20%, rgba(47,211,166,.16) 0%, transparent 46%),
    radial-gradient(ellipse at 70% 86%, rgba(224,67,107,.16) 0%, transparent 46%),
    radial-gradient(ellipse at 40% 10%, rgba(116,64,191,.10) 0%, transparent 42%),
    linear-gradient(160deg, #0B1524 0%, #0F1B2D 55%, #111F35 100%) !important;
}
.hero-eyebrow {
  background:rgba(62,192,230,.12) !important;
  border-color:rgba(62,192,230,.40) !important;
  color:#7FD6F0 !important;
}
.hero-title em { color:#3EC0E6 !important; -webkit-text-fill-color:#3EC0E6; background:none !important; }

/* ---------- CINTA ---------- */
.ribbon { background:linear-gradient(90deg, #055A80 0%, #086650 50%, #055A80 100%) !important; }
.ribbon span, .ribbon span::after { color:#FFFFFF !important; }

/* ---------- ALTERNANCIA DE SECCIONES (home) ---------- */
#historia   { background:#FFFFFF !important; }
#guia       { background:var(--paper-2) !important; }
#checklist  { background:#FFFFFF !important; }
#mapa       { background:var(--paper-2) !important; }
#apoyo      { background:#FFFFFF !important; }
#psicologia { background:var(--paper-2) !important; }
#voces      { background:#FFFFFF !important; }
#blog       { background:var(--paper-2) !important; }
#comunidad  { background:#FFFFFF !important; }
#historia::before, #apoyo::after { display:none !important; }

/* Eyebrows — cada sección su color */
#historia   .section-eyebrow { color:var(--coral) !important; }
#guia       .section-eyebrow { color:var(--amber) !important; }
#checklist  .section-eyebrow { color:var(--teal) !important; }
#mapa       .section-eyebrow { color:var(--amber) !important; }
#apoyo      .section-eyebrow { color:var(--teal) !important; }
#psicologia .section-eyebrow { color:var(--plum) !important; }
#voces      .section-eyebrow { color:var(--coral) !important; }
#blog       .section-eyebrow { color:var(--amber) !important; }
#comunidad  .section-eyebrow { color:var(--teal) !important; }
.section-title { color:var(--ink); }

/* ---------- MI HISTORIA ---------- */
#historia .historia-intro p { color:var(--soft) !important; }
#historia em[style] { color:var(--coral) !important; font-weight:600; }
.historia-quote { color:var(--ink) !important; border-left-color:var(--coral) !important; }
.moment-card { background:#FFFFFF !important; border:1px solid var(--line) !important; box-shadow:0 2px 14px rgba(15,27,45,.05); }
.moment-card:hover { border-color:rgba(7,132,186,.35) !important; box-shadow:0 14px 34px rgba(15,27,45,.08); }
.moment-date { color:var(--amber) !important; }
.moment-title { color:var(--ink) !important; }
.moment-text { color:var(--muted) !important; }
.moment-number { color:rgba(7,132,186,.10) !important; }

/* ---------- CARDS GENÉRICAS ---------- */
.guia-card, .checklist-card, .reflexion-card, .blog-card, .blog-featured, .post-card,
.topic-card, .related-card, .sidebar-card, .topic-detail, .reply-form-wrap {
  background:#FFFFFF !important; border-color:var(--line) !important;
}
.guia-card::before { background:linear-gradient(90deg, var(--amber), var(--teal)) !important; }

/* ---------- MAPA (claro) ---------- */
#mapa .section-title { color:var(--ink) !important; }
#mapa .section-lead, #mapa p { color:var(--muted); }
.map-container { background:#FFFFFF !important; border:1px solid var(--line) !important; box-shadow:0 10px 40px rgba(15,27,45,.06); }
.country { stroke:#FFFFFF !important; stroke-width:.5 !important; }
.country.zone-verde { fill:#12B886 !important; }
.country.zone-ambar { fill:#F08C2E !important; }
.country.zone-roja  { fill:#E5484D !important; }
.country.zone-unkn  { fill:#D3DAE3 !important; }
.country:hover { opacity:.82 !important; stroke:var(--ink) !important; stroke-width:.8 !important; }
.legend-item { color:var(--soft) !important; border-color:transparent; }
.legend-item:hover, .legend-item.active { background:#FFFFFF !important; border-color:var(--line) !important; }
.dot-unkn { background:#C3CCD7 !important; }
.mf-btn { border-color:var(--line) !important; color:var(--muted) !important; background:#FFFFFF !important; }
.mf-btn:hover, .mf-btn.active { background:var(--ink) !important; border-color:var(--ink) !important; color:#FFFFFF !important; }
#map-tooltip { background:#FFFFFF !important; border:1px solid var(--line) !important; box-shadow:0 12px 32px rgba(15,27,45,.14) !important; }
#map-tooltip .tt-name { color:var(--ink) !important; }
#map-tooltip .tt-note { color:var(--muted) !important; }
.tt-verde { background:rgba(18,184,134,.12) !important; color:#0B7F5E !important; }
.tt-ambar { background:rgba(240,140,46,.14) !important; color:#B25E12 !important; }
.tt-roja  { background:rgba(229,72,77,.12) !important; color:#B7282D !important; }
.tt-unkn  { background:#EEF2F6 !important; color:var(--muted) !important; }
.mapa-stat { background:#FFFFFF !important; border:1px solid var(--line) !important; }
.mapa-stat .stat-label { color:var(--muted) !important; }

/* ---------- APOYO ---------- */
.apoyo-card { background:var(--paper-2) !important; border:1px solid var(--line) !important; }
.apoyo-icon-wrap { background:rgba(12,154,118,.10) !important; }
.contact-form input, .contact-form textarea, .form-control, .form-group input, .form-group select, .form-group textarea {
  background:#FFFFFF !important; border:1px solid var(--line) !important; color:var(--ink) !important;
}
.contact-form input:focus, .contact-form textarea:focus, .form-control:focus { border-color:var(--amber) !important; outline:none; box-shadow:0 0 0 3px rgba(7,132,186,.12); }
.contact-form button, .btn-submit, .btn-new, .btn-cta, .cta-btn, .btn-amber {
  background:var(--amber) !important; color:#FFFFFF !important;
}
.contact-form button:hover, .btn-submit:hover, .btn-new:hover, .btn-cta:hover, .cta-btn:hover, .btn-amber:hover {
  background:var(--amber-dark) !important;
}

/* ---------- VOCES ---------- */
.voz-card { background:var(--paper-2) !important; border:1px solid var(--line) !important; }
.voz-quote { color:var(--soft) !important; }
.voz-initials { background:var(--coral) !important; color:#FFFFFF !important; }
.voz-info small { color:var(--coral-dark) !important; }
.slider-btn { border-color:var(--line) !important; color:var(--ink) !important; background:#FFFFFF !important; }
.slider-btn:hover { background:var(--ink) !important; color:#FFFFFF !important; }

/* ---------- CHECKLIST ---------- */
.checklist-card::before, .checklist-bar-fill { background:linear-gradient(90deg, var(--teal), var(--amber)) !important; }
.check-item.checked .ci-box { background:var(--teal) !important; border-color:var(--teal) !important; }
.btn-download { background:var(--ink) !important; color:#FFFFFF !important; }

/* ---------- BANDAS DE COLOR ---------- */
.newsletter-band, .cta-band {
  background:linear-gradient(120deg, #054D6E 0%, #0677A8 50%, #086650 100%) !important;
}
.newsletter-band p, .cta-band p { color:rgba(255,255,255,.92) !important; }
.newsletter-band *, .cta-band h2, .cta-band h3, .cta-band p { color:#FFFFFF; }
.newsletter-form button, .cta-band .btn-cta { background:#FFFFFF !important; color:var(--ink) !important; }
.newsletter-form button:hover, .cta-band .btn-cta:hover { background:#EAF6FB !important; }

/* ---------- PÁGINA HISTORIA ---------- */
#historia-completa { background:#FFFFFF !important; }
#agradecimientos   { background:var(--paper-2) !important; }
.para-ti-section   { background:#FFFFFF !important; }
#cta               { background:var(--paper-2) !important; }
#reading-bar, #progress-bar { background:linear-gradient(90deg, var(--amber), var(--teal)) !important; }
.timeline::before { background:linear-gradient(to bottom, var(--amber), rgba(12,154,118,.15)) !important; }
.tl-dot { background:var(--amber) !important; box-shadow:0 0 0 4px rgba(7,132,186,.15) !important; }
.quote-band, .closing-band, .sidebar-promise, .cta-box {
  background:linear-gradient(135deg, rgba(7,132,186,.07), rgba(12,154,118,.07)) !important;
  border-color:rgba(7,132,186,.18) !important;
}

/* ---------- GUÍA ---------- */
.toc-bar { background:rgba(255,255,255,.96) !important; border-bottom:1px solid var(--line) !important; backdrop-filter:blur(10px); }
.toc-links a { color:var(--muted) !important; }
.toc-links a:hover { background:rgba(7,132,186,.08) !important; color:var(--amber) !important; }
.guide-card { background:#FFFFFF !important; border:1px solid var(--line) !important; }
.step-num { background:linear-gradient(135deg, var(--amber), var(--teal)) !important; color:#FFFFFF !important; }
.box-tip  { background:rgba(12,154,118,.08) !important; border-color:rgba(12,154,118,.30) !important; }
.box-warn { background:rgba(240,140,46,.09) !important; border-color:rgba(240,140,46,.35) !important; }
.box-danger { background:rgba(229,72,77,.08) !important; border-color:rgba(229,72,77,.30) !important; }
.country-card.green  { background:rgba(18,184,134,.07) !important; }
.country-card.yellow { background:rgba(240,140,46,.08) !important; }
.country-card.red    { background:rgba(229,72,77,.07) !important; }
.check-list .ci { background:rgba(12,154,118,.14) !important; color:var(--teal-dark) !important; }

/* ---------- BLOG / POST ---------- */
.post-card-cat, .post-hero-cat, .blog-featured-img .bfi-label { background:var(--coral) !important; color:#FFFFFF !important; }
.post-content blockquote { background:rgba(7,132,186,.05) !important; border-left-color:var(--amber) !important; }
.post-author-box { background:var(--paper-2) !important; border:1px solid var(--line); }
.author-avatar { background:linear-gradient(135deg, var(--amber), var(--teal)) !important; color:#FFFFFF !important; }
.loading-dots span { background:var(--amber) !important; }

/* ---------- COMUNIDAD ---------- */
.cat-tab { background:#FFFFFF !important; border-color:var(--line) !important; color:var(--muted) !important; }
.cat-tab.active { background:var(--ink) !important; color:#FFFFFF !important; border-color:var(--ink) !important; }
.topic-card.pinned { background:rgba(7,132,186,.04) !important; }
.reply-card { background:var(--paper-2) !important; }
.anon-toggle { background:rgba(7,132,186,.06) !important; }
.com-hero-badge { background:rgba(62,192,230,.14) !important; color:#7FD6F0 !important; border-color:rgba(62,192,230,.35) !important; }

/* ---------- CONTACTO ---------- */
.contact-form-wrap { background:#FFFFFF !important; border:1px solid var(--line) !important; box-shadow:0 10px 40px rgba(15,27,45,.06); }
.type-label { background:#FFFFFF !important; border-color:var(--line) !important; }
.type-label:hover { background:rgba(7,132,186,.05) !important; }
.type-option input:checked + .type-label { background:rgba(7,132,186,.10) !important; border-color:var(--amber) !important; }

/* ---------- FOOTER + VOLVER ARRIBA ---------- */
#footer, footer { background:#0B1524 !important; }
#btt { background:var(--amber) !important; color:#FFFFFF !important; }
#btt:hover { background:var(--amber-dark) !important; }

/* ---------- MENÚ MÓVIL ---------- */
.mob-menu, .mobile-menu { background:#0F1B2D !important; }

/* ---------- LEGIBILIDAD FOOTER ---------- */
.footer-brand .disclaimer, .footer-bottom, .footer-bottom p { color:rgba(255,255,255,.55) !important; }
.footer-col a, .footer-brand p { color:rgba(255,255,255,.72) !important; }

/* ---------- ONDAS SEPARADORAS (siguen la alternancia) ---------- */
.wave-sep { background:#FFFFFF !important; }
.wave-sep path { fill:#F4F7FA !important; }
#map-tooltip + .wave-sep, #psicologia + .wave-sep { background:#F4F7FA !important; }
#map-tooltip + .wave-sep path, #psicologia + .wave-sep path { fill:#FFFFFF !important; }
#comunidad + .wave-sep path { fill:#0B1524 !important; }

/* ---------- ELEMENTOS DENTRO DE HEROES OSCUROS ---------- */
#hero .btn-ghost, [class*="hero"] .btn-ghost, [class*="hero"] .btn-outline {
  color:#FFFFFF !important; border-color:rgba(255,255,255,.45) !important;
}
#hero .btn-ghost:hover, [class*="hero"] .btn-ghost:hover { border-color:#3EC0E6 !important; color:#3EC0E6 !important; }

/* ---------- CIFRAS DEL MAPA (tono texto) ---------- */
.mapa-stat .stat-num { filter:none; }
.mapa-stat:nth-child(1) .stat-num { color:#0B7F5E !important; }
.mapa-stat:nth-child(2) .stat-num { color:#A6560C !important; }
.mapa-stat:nth-child(3) .stat-num { color:#C2303A !important; }
.hero-scroll, .hero-scroll svg { color:rgba(255,255,255,.62) !important; }

/* ---------- TEXTO HEREDADO EN MARCOS OSCUROS ---------- */
#hero, .hero, .blog-hero, .post-hero, .com-hero, .contact-hero, .guide-hero, nav, #nav, footer, #footer { color:#FFFFFF; }
.hero .hero-title, .blog-hero h1, .post-hero h1, .com-hero h1, .contact-hero h1, .guide-hero h1 { color:#FFFFFF; }
.hero-sig { color:#7FD6F0 !important; }
.scroll-cue, .scroll-cue span { color:rgba(255,255,255,.62) !important; }
footer p, #footer p { color:rgba(255,255,255,.6); }

/* ---------- SEMÁFORO EN TEXTO (guía) ---------- */
.country-card.green  { border-color:rgba(18,184,134,.30) !important; }
.country-card.yellow { border-color:rgba(240,140,46,.35) !important; }
.country-card.red    { border-color:rgba(229,72,77,.30) !important; }
.country-card.green  .cc-name { color:#0B7F5E !important; }
.country-card.yellow .cc-name { color:#A6560C !important; }
.country-card.red    .cc-name { color:#C2303A !important; }
.box-tip .box-label    { color:#0B7F5E !important; }
.box-warn .box-label   { color:#A6560C !important; }
.box-danger .box-label { color:#C2303A !important; }

/* ---------- NAV ACTIVO / FOOTER TÍTULOS ---------- */
.nav-links a.active, nav a.active, .nav-links a[aria-current] { color:#3EC0E6 !important; }
.footer-col h4, footer h4 { color:rgba(255,255,255,.6) !important; }

/* ---------- POST ---------- */
.post-breadcrumb, .post-breadcrumb a { color:rgba(255,255,255,.65) !important; }
.post-breadcrumb a:hover { color:#3EC0E6 !important; }
.post-content [style*="amber-light"], .post-content [style*="#3EC0E6"] { color:var(--amber) !important; }

/* ---------- FILTROS / CHIPS: activo neutro para que respiren los acentos ---------- */
.gf-btn.active, .gf-btn:hover, .bc-btn.active, .bc-btn:hover { background:var(--ink) !important; border-color:var(--ink) !important; color:#FFFFFF !important; }

/* ---------- MINIATURAS DE CATEGORÍA (blog) — cada una su color ---------- */
.cat-guias     { background:linear-gradient(135deg,#055A80,#0677A8) !important; }
.cat-salud     { background:linear-gradient(135deg,#086650,#0A8266) !important; }
.cat-destinos  { background:linear-gradient(135deg,#D2335D,#F08C2E) !important; }
.cat-derechos  { background:linear-gradient(135deg,#17263D,#34445A) !important; }
.cat-comunidad { background:linear-gradient(135deg,#0A8266,#0677A8) !important; }
.cat-mente     { background:linear-gradient(135deg,#58299A,#7440BF) !important; }
.cat-default   { background:linear-gradient(135deg,#17263D,#20324D) !important; }
