/* ============================================================
   COREDUCACIÓN · Capa de rediseño (manual de marca)
   Reviste header, home y footer sobre styles.css.
   Cárgala DESPUÉS de styles.css. No toca la lógica PHP.
   Paleta manual: magenta #9E1F63 · naranja #F15A29
   Display: Saira (equivalente libre de DIN Alternate Bold)
   ============================================================ */

:root{
  --core-orange:#F15A29;
  --core-magenta:#9E1F63;
  --core-magenta-dark:#7A1850;
  --core-ink:#2E2E2E;
  --grad-diagonal:linear-gradient(118deg,#F15A29 0%,#9E1F63 78%);
  --grad-soft:linear-gradient(118deg,rgba(241,90,41,.10),rgba(158,31,99,.10));
  --font-display:'Saira','Poppins',system-ui,sans-serif;
  --wedge:polygon(0 0,100% 0,100% 88%,0 100%);
  --wedge-up:polygon(0 12%,100% 0,100% 100%,0 100%);
}

/* ---------- Tipografía display de marca ---------- */
h1,h2,h3,h4,h5,h6,
.section-title,.logo-text,.display-4,.display-5,
.navbar-nav .nav-link,.btn,.badge,
.footer-section-title,.footer-logo-text,
.banner-title,.aliadas-title,.counter{
  font-family:var(--font-display)!important;
  letter-spacing:-.005em;
}
.section-title,.logo-text,.display-4,.banner-title,
.aliadas-title,.footer-section-title,.cta-section h2{
  text-transform:uppercase;
  font-weight:800!important;
}

/* ============================================================
   TOP MINI MENU
   ============================================================ */
.top-mini-menu{background:var(--grad-diagonal)!important}
.mini-menu-links a{
  font-family:var(--font-display)!important;
  font-weight:500;letter-spacing:.06em;
  transition:opacity .2s,transform .2s;
}
.mini-menu-links a:hover{opacity:.85;transform:translateY(-1px)}

/* ============================================================
   NAVBAR
   ============================================================ */
header.navbar{
  border-bottom:none!important;
  box-shadow:0 10px 30px -18px rgba(46,20,45,.45)!important;
}
.logo-subtitle{
  font-family:var(--font-family)!important;
  letter-spacing:.12em;text-transform:uppercase;font-size:.58rem;
  color:var(--core-magenta);
}
.navbar-nav .nav-link{
  text-transform:uppercase;font-weight:600!important;
  font-size:.82rem;letter-spacing:.03em;
}
/* Subrayado animado con degradado */
.navbar-nav .nav-item{position:relative}
.navbar-nav > .nav-item > .nav-link::after{
  content:"";position:absolute;left:1rem;right:1rem;bottom:.5rem;height:2px;
  background:var(--grad-diagonal);transform:scaleX(0);transform-origin:left;
  transition:transform .25s ease;border-radius:2px;
}
.navbar-nav > .nav-item > .nav-link:hover::after,
.navbar-nav > .nav-item > .nav-link.active::after{transform:scaleX(1)}
.navbar-nav .nav-link.active{color:var(--core-magenta)!important}

/* Dropdowns con acento de marca */
.dropdown-menu{
  border:none!important;border-radius:14px!important;
  box-shadow:0 20px 50px -24px rgba(46,20,45,.55)!important;
  padding:.5rem!important;overflow:hidden;
}
.dropdown-menu .dropdown-item{
  border-radius:9px;font-weight:500;transition:.18s;
}
.dropdown-menu .dropdown-item:hover{
  background:var(--grad-soft)!important;color:var(--core-magenta)!important;
  padding-left:1.35rem;
}
.dropdown-menu .dropdown-item i{color:var(--core-orange)}

/* ============================================================
   BOTONES
   ============================================================ */
.btn{
  text-transform:uppercase;font-weight:700!important;letter-spacing:.04em;
  border-radius:999px!important;
}
.btn-primary{
  background:var(--grad-diagonal)!important;border:none!important;
  box-shadow:0 12px 24px -14px var(--core-magenta);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 30px -14px var(--core-magenta)}
.btn-outline-primary{
  border:2px solid var(--core-magenta)!important;color:var(--core-magenta)!important;background:transparent!important;
}
.btn-outline-primary:hover{background:var(--core-magenta)!important;color:#fff!important}
.btn-outline-secondary{border:2px solid var(--core-orange)!important;color:var(--core-orange)!important}
.btn-outline-secondary:hover{background:var(--core-orange)!important;color:#fff!important}

/* ============================================================
   TÍTULOS DE SECCIÓN con acento (eyebrow + regla degradado)
   ============================================================ */
.section-title{position:relative;display:inline-block;padding-bottom:.6rem}
.section-title::after{
  content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;
  background:var(--grad-diagonal);border-radius:4px;
}
.faculty-section .section-title::after,
.testimonials-section .section-title::after{left:50%;transform:translateX(-50%)}

/* ============================================================
   HERO CARRUSEL — overlay diagonal + panel de marca
   ============================================================ */
.hero-carousel .hero-slide{position:relative}
.hero-carousel .hero-slide::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(105deg,rgba(158,31,99,.86) 0%,rgba(158,31,99,.35) 46%,rgba(241,90,41,.15) 100%);
  clip-path:polygon(0 0,58% 0,42% 100%,0 100%);
}
.hero-carousel .hero-slide::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(46,20,45,.45),rgba(46,20,45,0) 45%);
}
.hero-carousel .hero-slide .container{position:relative;z-index:2}
/* Reestiliza el recuadro del texto (bg-dark bg-opacity-50) */
.hero-carousel .hero-slide .bg-dark{
  background:transparent!important;text-align:left;padding:0!important;
}
.hero-carousel .hero-slide .row > [class*="col-"]{margin-left:0}
.hero-carousel .hero-slide h1{
  font-weight:800!important;text-transform:uppercase;
  text-shadow:0 6px 30px rgba(0,0,0,.35);
}
.hero-carousel .carousel-indicators [data-bs-target]{
  height:5px;border-radius:5px;background:#fff;opacity:.55;
}
.hero-carousel .carousel-indicators .active{opacity:1;width:34px;background:var(--core-orange)}
.hero-carousel .carousel-control-prev-icon,
.hero-carousel .carousel-control-next-icon{
  background-color:rgba(158,31,99,.75);border-radius:50%;padding:1.4rem;background-size:44%;
}

/* ============================================================
   BANNER SPLIT
   ============================================================ */
.banner-eyebrow{
  font-family:var(--font-display);text-transform:uppercase;font-weight:700;
  letter-spacing:.18em;color:var(--core-orange);font-size:.78rem;
  display:inline-flex;align-items:center;gap:.6rem;
}
.banner-eyebrow::before{content:"";width:26px;height:2px;background:var(--grad-diagonal)}
.banner-title{color:var(--core-ink)}
.banner-img-wrapper img{border-radius:22px!important}

/* ============================================================
   TARJETAS DE PROGRAMAS
   ============================================================ */
.programs-section{background:#fff}
.program-card{
  border-radius:20px!important;overflow:hidden;
  border:1px solid #ece7ea!important;transition:transform .25s,box-shadow .25s;
  position:relative;
}
.program-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:var(--grad-diagonal);z-index:3;
}
.program-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px -26px rgba(46,20,45,.5)!important}
.program-card .card-img-top{height:200px;object-fit:cover}
.program-card .badge.bg-primary{background:var(--grad-diagonal)!important}
.program-card .badge.bg-success{background:#1f9d63!important}
.program-card .card-title a:hover{color:var(--core-magenta)!important}

/* ============================================================
   NOTICIAS Y EVENTOS
   ============================================================ */
.news-events-section{background:#f7f5f6}
.news-events-section .card{border-radius:16px!important}
.date-box .bg-primary{background:var(--grad-diagonal)!important}
.date-box .bg-secondary{background:var(--core-ink)!important}
.date-box .rounded{border-radius:12px!important;min-width:58px}
.date-box .fw-bold{font-family:var(--font-display);font-size:1.35rem}

/* ============================================================
   EQUIPO ACADÉMICO
   ============================================================ */
.faculty-card{border-radius:18px!important;overflow:hidden}
.faculty-img{height:280px;object-fit:cover}
.faculty-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(158,31,99,.85),rgba(158,31,99,0) 70%);
  opacity:0;transition:.3s;
}
.faculty-card:hover .faculty-overlay{opacity:1}
.faculty-card .faculty-contact{margin-top:auto;padding-bottom:1.2rem}
.faculty-card .btn-light{border-radius:50%!important;width:42px;height:42px}
.faculty-card .btn-light:hover{background:var(--core-orange)!important;color:#fff!important}

/* ============================================================
   ESTADÍSTICAS — degradado diagonal + Saira
   ============================================================ */
.stats-section.bg-primary{
  background:var(--grad-diagonal)!important;position:relative;overflow:hidden;
  clip-path:var(--wedge-up);
}
.stats-section .counter{
  font-family:var(--font-display)!important;font-weight:900!important;
  font-size:3.4rem!important;letter-spacing:-.02em;
}
.stats-section .stat-item p{text-transform:uppercase;letter-spacing:.06em;font-size:.9rem!important;opacity:.92}

/* ============================================================
   TESTIMONIOS
   ============================================================ */
.testimonials-section{background:#fff}
.testimonial-img img{width:120px;height:120px;object-fit:cover;border:4px solid transparent;
  background:var(--grad-diagonal);padding:4px}
.testimonial-card .lead{color:var(--core-ink);max-width:60ch;margin-inline:auto;font-style:italic}
.testimonials-section .carousel-indicators [data-bs-target]{
  width:12px;height:12px;border-radius:50%;background:var(--grad-diagonal)!important;border:none;
}

/* ============================================================
   CTA ADMISIONES — bloque degradado con corte diagonal
   ============================================================ */
.cta-section{
  background:var(--grad-diagonal)!important;color:#fff;position:relative;
  clip-path:var(--wedge);
}
.cta-section h2,.cta-section .lead,.cta-section .cta-feature h5{color:#fff!important}
.cta-section .text-muted{color:rgba(255,255,255,.82)!important}
.cta-section .cta-feature i{color:#fff!important}
.cta-section .btn-primary{background:#fff!important;color:var(--core-magenta)!important;box-shadow:none}
.cta-section .btn-primary:hover{background:#fff!important;transform:translateY(-2px)}
.cta-section .btn-outline-primary{border-color:#fff!important;color:#fff!important}
.cta-section .btn-outline-primary:hover{background:#fff!important;color:var(--core-magenta)!important}
.cta-section .btn-outline-secondary{border-color:rgba(255,255,255,.7)!important;color:#fff!important}
.cta-section .btn-outline-secondary:hover{background:#fff!important;color:var(--core-magenta)!important}

/* ============================================================
   UNIVERSIDADES ALIADAS
   ============================================================ */
.aliadas-eyebrow{
  font-family:var(--font-display);text-transform:uppercase;font-weight:700;
  letter-spacing:.2em;color:var(--core-orange);
}
.aliadas-title span{
  background:var(--grad-diagonal);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.aliadas-stat strong{font-family:var(--font-display);color:var(--core-magenta)}
.rule-dot{background:var(--core-orange)!important}
.rule-line{background:var(--grad-diagonal)!important}

/* ============================================================
   FOOTER — oscuro con corte diagonal superior
   ============================================================ */
.footer-coreducacion{
  background:var(--core-ink)!important;position:relative;
}
.footer-coreducacion::before{
  content:"";display:block;height:60px;background:var(--grad-diagonal);
  clip-path:polygon(0 0,100% 0,100% 55%,0 100%);
}
.footer-main{background:transparent!important;padding-top:2.5rem}
.footer-logo-text{color:#fff!important}
.footer-tagline{color:var(--core-orange)!important;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}
.footer-description{color:rgba(255,255,255,.72)!important}
.footer-section-title{color:#fff!important;text-transform:uppercase;letter-spacing:.04em;position:relative;padding-bottom:.6rem}
.footer-section-title::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--grad-diagonal);border-radius:3px}
.footer-section-title i{color:var(--core-orange)}
.footer-link{color:rgba(255,255,255,.72)!important;transition:.2s}
.footer-link:hover{color:#fff!important;padding-left:5px}
.footer-link i{color:var(--core-orange)}
.social-link{
  border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important;
  width:40px;height:40px;transition:.2s;color:#fff;
}
.social-link:hover{background:var(--grad-diagonal)!important;border-color:transparent!important;transform:translateY(-2px)}
.contact-iconfooter{background:var(--grad-diagonal)!important;color:#fff}
.contact-detailsfoter h6{color:#fff!important;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}
.contact-detailsfoter p,.contact-detailsfoter a{color:rgba(255,255,255,.75)!important}
.contact-detailsfoter a:hover{color:var(--core-orange)!important}
.footer-bottom{background:rgba(0,0,0,.25)!important;border-top:1px solid rgba(255,255,255,.1)}
.legal-links a{color:rgba(255,255,255,.7)!important}
.legal-links a:hover{color:var(--core-orange)!important}

/* Back to top con degradado */
.back-to-top{background:var(--grad-diagonal)!important;border:none!important;box-shadow:0 10px 24px -12px var(--core-magenta)!important}

/* ============================================================
   Accesibilidad / movimiento reducido
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
@media(max-width:768px){
  .footer-coreducacion::before{height:38px}
  .stats-section .counter{font-size:2.6rem!important}
  .hero-carousel .hero-slide::before{clip-path:none;background:linear-gradient(0deg,rgba(158,31,99,.8),rgba(158,31,99,.35))}
}
