/* v0.35 — Hotfix de cascada: restaura header institucional y fija Programas sin romper LAN. */

/* Header institucional: estos estilos se cargan al final para evitar que app.css/base o mockups viejos
   lo dejen blanco o con elementos invisibles. */
.site-header-v7,
.site-header-v8 {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: rgba(8, 25, 78, .94) !important;
  border-bottom: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: 0 6px 24px rgba(7, 14, 35, .18) !important;
  backdrop-filter: blur(14px) !important;
}
.site-header-v7 .header-inner-v8,
.site-header-v8 .header-inner-v8 {
  display: flex !important;
  align-items: center !important;
  gap: .85rem !important;
  min-height: 78px !important;
}
.site-header-v7 .brand,
.site-header-v8 .brand,
.site-header-v7 .brand-v7,
.site-header-v8 .brand-v8 {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: .8rem !important;
  color: #fff !important;
  text-decoration: none !important;
}
.site-header-v7 .brand-mark,
.site-header-v8 .brand-mark,
.site-header-v7 .brand-copy,
.site-header-v8 .brand-copy,
.site-header-v7 .brand-product,
.site-header-v8 .brand-product,
.site-header-v7 .brand-product strong,
.site-header-v8 .brand-product strong {
  color: #fff !important;
}
.site-header-v7 .brand-mark,
.site-header-v8 .brand-mark {
  font-size: 2.7rem !important;
  line-height: .8 !important;
}
.site-header-v7 .brand-mark span,
.site-header-v8 .brand-mark span { color: #95a7ff !important; }
.site-header-v7 .brand-copy strong,
.site-header-v7 .brand-copy b,
.site-header-v8 .brand-copy strong,
.site-header-v8 .brand-copy b { display: block !important; }
.site-header-v7 .brand-product small,
.site-header-v8 .brand-product small { color: rgba(255,255,255,.72) !important; }
.site-header-v7 .brand-divider,
.site-header-v8 .brand-divider {
  display: block !important;
  width: 1px !important;
  height: 36px !important;
  background: rgba(255,255,255,.22) !important;
}
.site-header-v7 .header-actions-v8,
.site-header-v8 .header-actions-v8 {
  display: inline-flex !important;
  align-items: center !important;
  gap: .5rem !important;
  margin-left: auto !important;
}
.site-header-v7 .nav-toggle,
.site-header-v8 .nav-toggle,
.site-header-v7 .header-search-toggle,
.site-header-v8 .header-search-toggle {
  display: inline-grid !important;
  place-items: center !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
}
.site-header-v7 .nav-toggle span:not(.sr-only),
.site-header-v8 .nav-toggle span:not(.sr-only) { background: #fff !important; }
.site-header-v7 .primary-nav-v8,
.site-header-v8 .primary-nav-v8,
.site-header-v7 .primary-nav-v7,
.site-header-v8 .primary-nav-v7 {
  color: #fff !important;
  background: rgba(11, 29, 85, .98) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.site-header-v7 .primary-nav a,
.site-header-v8 .primary-nav a {
  color: rgba(255,255,255,.84) !important;
  text-decoration: none !important;
}
.site-header-v7 .primary-nav a:hover,
.site-header-v8 .primary-nav a:hover,
.site-header-v7 .primary-nav a.is-active,
.site-header-v8 .primary-nav a.is-active {
  color: #fff !important;
  background: rgba(255,255,255,.13) !important;
}
.site-header-v7 .nav-search-form,
.site-header-v8 .nav-search-form {
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.12) !important;
}
.site-header-v7 .nav-search-form input,
.site-header-v8 .nav-search-form input {
  color: #fff !important;
  background: transparent !important;
}
.site-header-v7 .nav-search-form input::placeholder,
.site-header-v8 .nav-search-form input::placeholder { color: rgba(255,255,255,.7) !important; }
.site-header-v7 .nav-search-form button,
.site-header-v8 .nav-search-form button {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
}
@media (min-width: 850px) {
  .site-header-v7 .header-actions-v8,
  .site-header-v8 .header-actions-v8 { display: none !important; }
  .site-header-v7 .primary-nav-v8,
  .site-header-v8 .primary-nav-v8,
  .site-header-v7 .primary-nav-v7,
  .site-header-v8 .primary-nav-v7 {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: .1rem !important;
    margin-left: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .site-header-v7 .primary-nav a,
  .site-header-v8 .primary-nav a {
    padding: .5rem .58rem !important;
    border-radius: 10px !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  .site-header-v7 .primary-nav-v8 .nav-search-form,
  .site-header-v8 .primary-nav-v8 .nav-search-form {
    display: grid !important;
    grid-template-columns: minmax(165px, 1fr) 42px !important;
    min-width: 240px !important;
    margin-left: .45rem !important;
  }
  .site-header-v7 .nav-search-form input,
  .site-header-v8 .nav-search-form input,
  .site-header-v7 .nav-search-form button,
  .site-header-v8 .nav-search-form button {
    min-height: 42px !important;
    border: 0 !important;
  }
}
@media (min-width: 1200px) {
  .site-header-v7 .primary-nav a,
  .site-header-v8 .primary-nav a { padding: .55rem .72rem !important; font-size: .82rem !important; }
  .site-header-v7 .primary-nav-v8 .nav-search-form,
  .site-header-v8 .primary-nav-v8 .nav-search-form { min-width: 310px !important; }
}
@media (max-width: 849px) {
  .site-header-v7 .brand-product,
  .site-header-v8 .brand-product,
  .site-header-v7 .brand-divider,
  .site-header-v8 .brand-divider { display: none !important; }
  .site-header-v7 .primary-nav,
  .site-header-v8 .primary-nav {
    position: fixed !important;
    inset: 84px 16px auto 16px !important;
    display: none !important;
    padding: .75rem !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 16px !important;
    background: rgba(11, 29, 85, .98) !important;
    box-shadow: 0 16px 34px rgba(6,15,42,.32) !important;
  }
  .site-header-v7 .primary-nav.is-open,
  .site-header-v8 .primary-nav.is-open { display: grid !important; }
  .site-header-v7 .primary-nav-v8 .nav-search-form,
  .site-header-v8 .primary-nav-v8 .nav-search-form { display: none !important; }
}

/* Programas: neutraliza pisadas legacy y deja CTAs consistentes. */
.page-programs-refresh .program-grid-refresh {
  display: grid !important;
  gap: 1.1rem !important;
}
.page-programs-refresh .program-card-rich {
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  min-height: 240px !important;
  padding: 1.25rem !important;
  color: #15234a !important;
  background: #fff !important;
  border: 1px solid #dce4f2 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(36, 48, 84, .06) !important;
}
.page-programs-refresh .program-card-rich *,
.page-programs-refresh .program-card-rich h2,
.page-programs-refresh .program-card-rich p {
  color: inherit;
  opacity: 1 !important;
  visibility: visible !important;
}
.page-programs-refresh .program-card-rich h2 {
  margin: .4rem 0 .25rem !important;
  font-size: 1.15rem !important;
  line-height: 1.2 !important;
}
.page-programs-refresh .program-card-rich p {
  margin: 0 !important;
  color: #61708e !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
}
.page-programs-refresh .program-card-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 1rem !important;
}
.page-programs-refresh .program-icon,
.page-programs-refresh .program-badge {
  display: inline-grid !important;
  place-items: center !important;
  background: #f0edfb !important;
  color: #4f4387 !important;
  opacity: 1 !important;
}
.page-programs-refresh .program-icon {
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  font-size: 1.05rem !important;
}
.page-programs-refresh .program-badge {
  min-height: 28px !important;
  padding: .35rem .65rem !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  text-transform: capitalize !important;
}
.page-programs-refresh .program-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  margin-top: auto !important;
}
.page-programs-refresh .program-card-actions .button,
.page-programs-refresh .program-card-cta > .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: .6rem .8rem !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.page-programs-refresh .program-card-employment {
  background: linear-gradient(135deg, #243155 0%, #4d4388 100%) !important;
  color: #fff !important;
}
.page-programs-refresh .program-card-employment h2,
.page-programs-refresh .program-card-employment p { color: #fff !important; }
.page-programs-refresh .program-card-employment .program-icon,
.page-programs-refresh .program-card-employment .program-badge { color: #fff !important; background: rgba(255,255,255,.16) !important; }
.page-programs-refresh .program-card-employment .button-outline { color: #fff !important; border-color: rgba(255,255,255,.45) !important; }
.page-programs-refresh .program-card-cta { background: linear-gradient(180deg, #fff 0%, #f8f7ff 100%) !important; }
@media (min-width: 760px) { .page-programs-refresh .program-grid-refresh { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (min-width: 1080px) { .page-programs-refresh .program-grid-refresh { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) {
  .page-programs-refresh .program-employment-callout { border-radius: 18px !important; }
  .page-programs-refresh .program-card-rich { min-height: auto !important; }
  .page-programs-refresh .program-card-actions .button,
  .page-programs-refresh .program-card-cta > .button { width: 100% !important; }
}
