/*
  NOA Tecnología — Paleta Definitiva 2025
  Verde Esmeralda + Crema Cálida + Ámbar Dorado
*/
:root {
  --primary:#10b981; --teal:#e8a84a; --amber:#e8a84a;
  --secondary:#35c47e; --dark:#1a2d22; --text:#1a2d22;
  --muted:#6b7280; --border:#e0d9cc; --bg:#fafaf7;
  --bg-warm:#f5f0e8; --bg-green:#f0faf5;
}
body { background-color:#fafaf7 !important; color:#1a2d22 !important; }

/* NAVBAR */
.navbar,.navbar.scrolled,.sticky-wrapper.is-sticky .navbar,
.navbar:has(.navbar-collapse.show),.navbar.menu-open {
  background:#fff !important; backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:1px solid #e0d9cc !important;
  box-shadow:0 1px 8px rgba(5,150,105,0.07) !important;
}
.navbar-brand,.navbar-brand span{color:#1a2d22 !important;}
.navbar-brand i{color:#10b981 !important;}
.navbar-nav .nav-link{color:#2d4a3e !important;}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:#10b981 !important;background:rgba(5,150,105,0.06) !important;}
.navbar .dropdown-menu{background:#fff !important;border-color:#e0d9cc !important;}
.navbar .dropdown-item:hover{background:#f5f0e8 !important;color:#10b981 !important;}
.noa-ham-bar{background:#10b981 !important;}
.noa-hamburger{background:rgba(5,150,105,0.07) !important;border-color:rgba(5,150,105,0.3) !important;}
#scroll-progress{background:linear-gradient(90deg,#10b981,#e8a84a) !important;}

/* MODALIDADES SECTION */
.noa-modalidades .mod-overlay{background:linear-gradient(160deg,rgba(248,242,228,0.94),rgba(240,250,245,0.94)) !important;}
.mod-card{background:rgba(255,255,255,0.96) !important;border:1px solid rgba(5,150,105,0.15) !important;box-shadow:0 4px 20px rgba(5,150,105,0.08) !important;color:#1a2d22 !important;}
.mod-card:hover{background:#fff !important;box-shadow:0 8px 32px rgba(5,150,105,0.14) !important;}
.mod-card h4{color:#10b981 !important;}
.mod-card p{color:#4a6b5e !important;}
.mod-sep{background:#e8a84a !important;}
.mod-icon-wrap{border:2px solid rgba(232,168,74,0.55) !important;color:#10b981 !important;background:rgba(5,150,105,0.06) !important;}
.noa-modalidades h2{color:#1a2d22 !important;}
.noa-modalidades p{color:#4a6b5e !important;}

/* HERO - index.html */
.noa-hero{background:linear-gradient(135deg,#059669,#10b981) !important;}

/* DARK SECTIONS → CREAM */
.bg-dark,.bg-black,[style*="background:#060f1e"],[style*="background:#1a1a2e"] {
  background:#f5f0e8 !important;color:#1a2d22 !important;
}

/* CARDS */
.glass-card,.why-card,.course-card,.card,.aval-card,.team-card,.mision-card,.testimonial-card {
  background:#fff !important;border-color:#e0d9cc !important;
  box-shadow:0 2px 14px rgba(5,150,105,0.07) !important;color:#1a2d22 !important;
}
.glass-card:hover,.why-card:hover,.card:hover,.aval-card:hover {
  box-shadow:0 6px 28px rgba(5,150,105,0.12) !important;transform:translateY(-3px);
}
.glass-card h4,.glass-card h5,.why-card h5,.card h5,.card h4{color:#10b981 !important;}
.glass-card p,.why-card p,.card p{color:#4a6b5e !important;}
.glass-card i,.glass-card .bi,.why-card i,.why-card .bi{color:#10b981 !important;}
.why-card:hover{border-color:rgba(232,168,74,0.45) !important;}
.why-icon{background:rgba(232,168,74,0.12) !important;color:#e8a84a !important;}
.aval-card i{color:#e8a84a !important;}
.aval-card:hover{border-color:rgba(232,168,74,0.45) !important;}
.step-num{background:#10b981 !important;color:#fff !important;}
.step-item:hover{border-color:rgba(232,168,74,0.45) !important;}
.step-item h5{color:#10b981 !important;}

/* COURSE PAGE CARDS (internal) */
.cp-hero-btn{background:#e8a84a !important;color:#fff !important;}
.cp-hero-btn:hover{background:#d4943a !important;}
.cp-tagline{border-left-color:#e8a84a !important;color:#10b981 !important;background:#f5f0e8 !important;}
.cp-section-label{color:#10b981 !important;background:rgba(5,150,105,0.07) !important;border-color:rgba(5,150,105,0.15) !important;}
.cp-section-title{color:#10b981 !important;}
.cp-benefit i{color:#e8a84a !important;}
.cp-module{border-left-color:#e8a84a !important;}
.cp-module:hover{border-left-color:#10b981 !important;}
.cp-mod-num{background:#10b981 !important;}
.cp-aval-item i{color:#e8a84a !important;}
.cp-sidebar-card h5{color:#10b981 !important;}
.cp-contact-btn{color:#10b981 !important;border-color:#10b981 !important;}
.cp-contact-btn:hover{background:#10b981 !important;color:#fff !important;}
.cp-see-all,.cp-other-btn:hover{color:#10b981 !important;}
.cp-see-all{background:#10b981 !important;color:#fff !important;}
.cp-other-btn:hover{border-color:rgba(232,168,74,0.4) !important;}

/* BUTTONS */
.custom-btn,a.custom-btn,button.custom-btn,.btn-primary {
  background:linear-gradient(135deg,#10b981,#1a9e6a) !important;
  border-color:#10b981 !important;color:#fff !important;
  box-shadow:0 4px 14px rgba(5,150,105,0.28) !important;
}
.custom-btn:hover,.btn-primary:hover{background:linear-gradient(135deg,#059669,#0e8055) !important;color:#fff !important;}
.btn-white{color:#10b981 !important;}
.noa-cta{background:linear-gradient(135deg,#10b981,#059669) !important;}
.noa-cta h2,.noa-cta p{color:#fff !important;}

/* ALT SECTIONS */
.sec-bg,.bg-light,.section-light,.bg-body-tertiary{background:#f5f0e8 !important;}
h1,h2,h3{color:#10b981;}
h4,h5,h6{color:#1a2d22;}
.sec-title{color:#10b981 !important;}
.sec-sub{color:#6b7280 !important;}
a{color:#10b981;}
a:hover{color:#e8a84a;}
.text-primary{color:#10b981 !important;}
.badge.bg-primary{background:#10b981 !important;}
.badge.bg-secondary{background:#e8a84a !important;}

/* FORMS */
.form-control:focus,.form-select:focus{border-color:#10b981 !important;box-shadow:0 0 0 0.2rem rgba(5,150,105,0.15) !important;}
.form-label,label{color:#2d4a3e !important;}
.accordion-button:not(.collapsed){color:#10b981 !important;background:rgba(5,150,105,0.04) !important;}

/* FOOTER */
footer,.footer,.noa-footer,.site-footer {
  background:#065f46 !important;color:#c8d9ce !important;
  border-top:3px solid #e8a84a !important;
}
footer h5,footer h4,.footer h5,.site-footer .footer-title{color:#e8a84a !important;}
footer a,.footer a,.site-footer-link{color:#6ee7b7 !important;}
footer a:hover,.footer a:hover,.site-footer-link:hover{color:#e8a84a !important;}
footer p,footer li,footer .text-muted{color:#8ab5a0 !important;}

/* LOGO */
.noa-nav-logo{border-color:rgba(232,168,74,0.45) !important;}
.noa-brand-logo:hover .noa-nav-logo{border-color:#e8a84a !important;}

/* TABS */
.noa-tab-btn{border-color:#e0d9cc !important;color:#2d4a3e !important;background:#fff !important;}
.noa-tab-btn.active,.noa-tab-btn:hover{background:#10b981 !important;color:#fff !important;border-color:#10b981 !important;}

/* MOBILE MENU */
.noa-mobile-menu{background:#fff !important;}
.noa-mobile-menu .nav-link{color:#1a2d22 !important;}
.noa-mobile-menu .nav-link:hover{color:#10b981 !important;background:#f5f0e8 !important;}

/* MISC */
hr,.divider{border-color:#e0d9cc !important;}
::-webkit-scrollbar-thumb{background:#10b981 !important;}
::-webkit-scrollbar-track{background:#f5f0e8 !important;}
.card-thumb .thumb-overlay{opacity:0.35 !important;}
[style*="background:#0d4f7c"]{background:#10b981 !important;}


  /* =============================================
     NOA POLISH — CORRECCIÓN INTEGRAL DEFINITIVA
     Corrige todos los problemas de contraste, espaciado
     y zonas vacías detectados en revisión completa.
     ============================================= */

  /* ── 1. HERO PARAGRAPHS — color oscuro sobre overlay oscuro = ilegible ── */
  .noa-hero p { color: rgba(255,255,255,0.90) !important; }
  .topics-listing-hero-section p,
  .contact-hero-section p,
  .hero-section.topics-listing-hero-section p,
  .page-hero p,
  .cp-hero p { color: rgba(255,255,255,0.90) !important; }

  /* ── 2. FAQ ACCORDION — cream sobre blanco = invisible ── */
  .faq-section .accordion-button,
  .accordion-button {
    color: #1a2535 !important;
    background: #fff !important;
  }
  .accordion-button:not(.collapsed) {
    color: #10b981 !important;
    background: rgba(5,150,105,0.04) !important;
  }

  /* ── 3. custom-block h5/h6 — cream sobre blanco = invisible ── */
  .custom-block h5,
  .custom-block h6 { color: #1a2d22 !important; }
  .custom-block:hover h5,
  .custom-block:hover h6 { color: #10b981 !important; }

  /* ── 4. blog-card-body h5 — cream sobre blanco = invisible ── */
  .blog-card-body h5 { color: #1a2d22 !important; }
  .blog-card:hover .blog-card-body h5 { color: #10b981 !important; }

  /* ── 5. curso-card-full hover h3 — cream sobre blanco = invisible ── */
  .curso-card-full h3 { color: #10b981 !important; }
  .curso-card-full:hover h3 { color: #10b981 !important; }

  /* ── 6. contact-info-item hover — cream sobre claro = invisible ── */
  .contact-info-item:hover strong { color: #10b981 !important; }
  .contact-info-item strong { color: #1a2d22 !important; }

  /* ── 7. curso-mini-card — texto cream = invisible ── */
  .curso-mini-card { color: #1a2d22 !important; }
  .curso-mini-card h6 { color: #1a2d22 !important; }
  .curso-mini-card:hover h6 { color: #10b981 !important; }

  /* ── 8. check-item hover — cream sobre blanco = invisible ── */
  .check-item { color: #1a2d22 !important; }
  .check-item:hover { color: #10b981 !important; }
  .check-item i { color: #e8a84a !important; }

  /* ── 9. "Seguinos en redes" y labels con color:#f5f0e8 sobre fondos claros ── */
  /* Todos los p con color crema en fondo claro necesitan ser oscuros */
  .contact-sidebar [style*="background:#f8fbff"] p,
  .contact-sidebar [style*="background:#f8fbff"] p[style*="color:#f5f0e8"] {
    color: #2d4a3e !important;
  }

  /* ── 10. Valores card (nosotros) — h5 cream sobre blanco ── */
  .mision-card[style*="background:white"] h5,
  .mision-card[style*="background:#fff"] h5 { color: #10b981 !important; }

  /* ── 11. hero-badge span — texto siempre blanco sobre hero oscuro ── */
  .topics-listing-hero-section .hero-badge,
  .topics-listing-hero-section .hero-badge span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  /* ── 12. Section label dentro de hero — texto visible ── */
  .topics-listing-hero-section .section-label,
  .hero-section .section-label { color: #e8a84a !important; }

  /* ── 13. Sección de contacto — form-label siempre oscuro ── */
  .contact-section .form-label,
  section[style*="background:#fff"] .form-label,
  section[style*="background:white"] .form-label { color: #2d4a3e !important; }

  /* ── 14. Social icon links en fondos claros — legibles ── */
  .social-icon-link {
    color: #4a6b5e !important;
    background: rgba(5,150,105,0.07) !important;
    border: 1px solid rgba(5,150,105,0.15) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
  }
  .social-icon-link:hover {
    background: #10b981 !important;
    color: #fff !important;
    border-color: #10b981 !important;
    transform: translateY(-2px) !important;
  }

  /* ── 15. Secciones con section-padding — espaciado uniforme y generoso ── */
  .section-padding { padding-top: 60px !important; padding-bottom: 60px !important; }
  @media(max-width:768px) { .section-padding { padding-top: 40px !important; padding-bottom: 40px !important; } }

  /* ── 16. Aval cards — padding y altura optimizados ── */
  .aval-card {
    padding: 30px 20px !important;
    min-height: 110px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .aval-card i { font-size: 2.2rem !important; margin-bottom: 12px !important; }
  .aval-card p { font-size: 13px !important; font-weight: 600 !important; color: #1a2d22 !important; text-align: center !important; margin: 0 !important; }

  /* ── 17. Stats section — items siempre bien dimensionados ── */
  .stat-item {
    padding: 32px 20px !important;
    min-height: 120px !important;
  }

  /* ── 18. Modalidades hero — textos del overlay bien contrastados ── */
  .noa-modalidades p { color: #2d4a3e !important; }
  .noa-modalidades h2 { color: #1a2d22 !important; }

  /* ── 19. Step items — texto siempre visible ── */
  .step-item h5 { color: #10b981 !important; }
  .step-item p { color: #6b7280 !important; }

  /* ── 20. Contact form labels ── */
  .form-label, label { color: #2d4a3e !important; }

  /* ── 21. Nosotros timeline ── */
  .timeline-nosotros-item h6 { color: #1a2d22 !important; }

  /* ── 22. Por qué NOA — why-card texto ── */
  .why-card h5 { color: #1a2d22 !important; }
  .why-card:hover h5 { color: #10b981 !important; }
  .why-card p { color: #6b7280 !important; }

  /* ── 23. Curso photo card info ── */
  .curso-photo-card .card-info h5 { color: #1a2d22 !important; }
  .curso-photo-card:hover .card-info h5 { color: #10b981 !important; }

  /* ── 24. Noa CTA section — texto siempre blanco ── */
  .noa-cta h2, .noa-cta p { color: #fff !important; }
  .noa-cta p { opacity: 0.9; }

  /* ── 25. Footer — textos bien contrastados ── */
  .site-footer p, .site-footer li { color: #8ab5a0 !important; }
  .site-footer h5, .site-footer .footer-title { color: #e8a84a !important; }
  .site-footer a, .site-footer-link { color: #6ee7b7 !important; }
  .site-footer a:hover, .site-footer-link:hover { color: #e8a84a !important; }
  