/* =========================================================
   Estilos específicos para páginas de programas CORPADEIN
    ========================================================= */
:root{
  --card-radius: 26px;
}

/* Contenedor general de las páginas de programas */
.programs-header{
  padding-block: 2.5rem 1rem;
}

/* Sub-navegación de tipos de programa */
.programs-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1.5rem;
}

.programs-subnav a{
  padding:.45rem .95rem;
  border-radius:999px;
  font-size:.8rem;
  font-weight:600;
  text-decoration:none;
  border:1px solid rgba(0,51,160,.35);
  color:var(--text-weak);
  background:rgba(15,23,42,.4);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

/* Modo claro */
[data-theme="light"] .programs-subnav a{
  background:#ffffff;
}

/* Hover general */
.programs-subnav a:hover{
  border-color:var(--brand-500);
  color:#E6EEFF;
}

/* Hover modo claro alineado a CORPADEIN */
[data-theme="light"] .programs-subnav a:hover{
  background:#E6EEFF;
  color:#0033A0;
}

/* Secciones internas */
.section.programs-section h2{
  margin-bottom:.75rem;
}

.section.programs-section p.section-lead{
  margin-bottom:1.5rem;
  color:var(--text-weak);
}

/* Grid de cards antiguas */
.grid-cards.programs-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.6rem;
}

/* Cards individuales */
.program-card{
  border-radius:var(--card-radius);
  padding:1.6rem 1.8rem;
  position:relative;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(15,23,42,.5);
  color:#f9fafb;
}

.program-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(
    circle at top left,
    rgba(255,255,255,.22),
    transparent 55%
  );
  mix-blend-mode:soft-light;
  opacity:.9;
}

/* Contenido */
.program-card-inner{
  position:relative;
  z-index:1;
}

.program-card h3{
  font-size:1.1rem;
  margin-bottom:.4rem;
  color:#ffffff;
}

.program-card .uni-name{
  font-size:.8rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.95;
}

.program-card .meta{
  font-size:.85rem;
  margin-top:.4rem;
  color:rgba(241,245,249,.92);
}

.program-card .meta span{
  display:block;
}

/* Badges (SNIES / modalidad) */
.badges{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.7rem;
}

.badge{
  font-size:.7rem;
  padding:.25rem .6rem;
  border-radius:999px;
  border:1px solid rgba(0,51,160,.35);
  background:rgba(0,51,160,.08);
  backdrop-filter:blur(14px);
}

/* Acciones */
.card-actions{
  margin-top:1.1rem;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}

.btn-primary.program-btn{
  font-size:.85rem;
  padding:.6rem 1.2rem;
  border-radius:999px;
}

.btn-secondary.program-btn{
  font-size:.83rem;
  padding:.55rem 1.2rem;
}

/* =========================================================
   VARIANTES DE COLOR – ALINEADAS AL MANUAL CORPADEIN
   ========================================================= */

.card-indigo{
  background:radial-gradient(
    circle at top left,
    #0033A0,
    #001A4D
  );
}

.card-teal{
  background:radial-gradient(
    circle at top left,
    #00843D,
    #005A2A
  );
}

.card-rose{
  background:radial-gradient(
    circle at top left,
    #0056D2,
    #002F6C
  );
}

.card-gold{
  background:radial-gradient(
    circle at top left,
    #FFC72C,
    #C99700
  );
}

/* Tema claro */
[data-theme="light"] .program-card{
  box-shadow:0 16px 36px rgba(15,23,42,.18);
}

[data-theme="light"] .program-card::before{
  opacity:1;
}

/* Spacer final */
.programs-footer-spacer{
  margin-top:1.5rem;
}
