/* Modern UI overrides - minimal, no breaking changes */
:root{
  --bg: #0b1220;          /* near-slate gradient base */
  --bg-2: #0f172a;
  --card: #0f172a;
  --text: #0f172a;        /* default for light sections */
  --text-invert: #f8fafc; /* for dark sections */
  --accent: #2563eb;      /* blue-600 */
  --accent-2: #22d3ee;    /* cyan-400 */
  --muted: #64748b;       /* slate-500 */
}

/* Base font */
html, body{ font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; }

/* Hero section: si existe .top, darle look moderno sin romper */
section.top{
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  color: var(--text-invert);
}
section.top h1, section.top h2, section.top h3{ color: var(--text-invert); letter-spacing: -0.02em; }

/* Botón menú más visible sobre fondos oscuros */
.menu-btn{
  background: rgba(255,255,255,0.06);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 8px 12px;
  backdrop-filter: blur(6px);
}

/* Cards: si hay módulos con cajas, agregar sombra sutil */
.card, .module, .box, .panel{
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.08);
}

/* Links y CTAs */
a, .btn, .button{
  transition: all .2s ease-in-out;
}
a:hover, .btn:hover, .button:hover{
  filter: brightness(1.05);
}
.btn-primary, .button.primary{
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%);
  color: white !important;
  border: none;
  border-radius: 12px;
}

/* Tabla y bordes más suaves */
.table, table{
  border-collapse: separate;
  border-spacing: 0 8px;
}
.table th, .table td, table th, table td{
  border: none;
}
.table tr{
  background: #fff;
}
.table thead th{
  color: #0f172a;
  font-weight: 600;
}

/* Tipografía jerárquica */
h1{ font-weight: 700; }
h2{ font-weight: 600; }
h3{ font-weight: 600; }

/* Footer más legible */
footer{ color: var(--text); }

/* Responsivo sutil para contenedores centrales */
#container{
  width: 100%;
  max-width: none;
  margin: 0;
}

/* --- Novedades (Últimas) --- */
.novedades-wrapper{ padding: 40px 20px 60px; }
.novedades-wrapper .title{ margin-bottom: 10px; }
.after-slider-novedades{ background:#f5f7fb; padding: 50px 0 40px; }
.after-slider-novedades .novedades-wrapper{ padding:0 30px 10px; }
.after-slider-novedades .title{ color:#0f172a; }
.after-slider-novedades .subTitle{ color:#475569; }

/* --- Soluciones (bloque administrador modernizado) --- */
.solutions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:10px 0 40px;padding:0 10px;}
@media(max-width:1200px){.solutions-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:900px){.solutions-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){.solutions-grid{grid-template-columns:1fr;} }
.solution-card{background:#fff;border:1px solid rgba(15,23,42,0.06);border-radius:18px;padding:18px 18px 20px;display:flex;flex-direction:row;gap:16px;position:relative;box-shadow:0 4px 18px -2px rgba(2,6,23,0.04),0 2px 4px rgba(2,6,23,0.03);transition:box-shadow .25s, transform .25s;}
.solution-card, .solution-card *{text-align:left !important;}
.solution-card:hover{box-shadow:0 8px 28px -4px rgba(2,6,23,0.18);transform:translateY(-3px);}
.solution-icon{width:60px;height:60px;flex:0 0 60px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(135deg,#2563eb 0%,#22d3ee 100%);color:#fff;font-size:30px;}
.solution-body{flex:1;min-width:0;}
.solution-title{margin:0 0 8px;font-size:18px;line-height:1.15;font-weight:700;font-family:'Inter',system-ui;letter-spacing:-.5px;color:#0f172a;}
.solution-list{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.45;color:#475569;}
.solution-list li{margin:0 0 4px;padding-left:14px;position:relative;}
.solution-list li:before{content:'›';position:absolute;left:0;top:0;color:#e4032e;font-weight:700;}
.solution-badge{display:inline-block;margin-left:6px;font-size:10px;letter-spacing:.6px;text-transform:uppercase;background:#e4032e;color:#fff;padding:2px 6px;border-radius:6px;font-weight:600;}
.news-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 25px;
}
.news-card{
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 16px;
  padding: 18px 18px 20px 18px;
  box-shadow: 0 4px 18px -2px rgba(2,6,23,0.06), 0 2px 4px rgba(2,6,23,0.04);
  display: flex;
  flex-direction: row;
  gap: 16px;
  transition: box-shadow .25s, transform .25s;
}
.news-card:hover{ box-shadow: 0 8px 28px -4px rgba(2,6,23,0.18); transform: translateY(-3px); }
.news-icon{
  width: 48px; height: 48px; flex: 0 0 48px;
  display: flex; align-items:center; justify-content: center;
  background: linear-gradient(135deg,var(--accent) 0%, var(--accent-2) 100%);
  color:#fff; border-radius: 12px; font-size: 22px;
}
.news-body{ flex:1; min-width:0; }
.news-title{ font-size: 16px; margin:0 0 6px; line-height:1.2; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.news-tag{ font-size:11px; text-transform:uppercase; letter-spacing:.5px; background:var(--accent); color:#fff; padding:2px 6px; border-radius:6px; font-weight:600; }
.news-desc{ margin:0; font-size:14px; color: var(--muted); line-height:1.45; }
.novedades-actions{ margin-top:32px; text-align:center; }
.btn-all-news{ display:inline-block; margin-top:4px; padding:12px 22px; font-size:14px; font-weight:600; text-decoration:none; }

@media (max-width: 1100px){
  .news-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px){
  .novedades-wrapper{ padding: 30px 14px 50px; }
  .news-grid{ gap:16px; }
  .news-grid{ grid-template-columns: 1fr; }
  .news-card{ padding:16px; }
  .news-title{ font-size:15px; }
  .news-desc{ font-size:13px; }
}

/* --- Hero Educativa --- */
.hero{display:flex;align-items:center;justify-content:space-between;gap:60px;min-height:520px;padding:90px 60px 60px;position:relative;}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,0.08),transparent 60%);pointer-events:none;}
.hero-inner{max-width:640px;position:relative;z-index:2;}
.hero-badge{display:inline-block;background:linear-gradient(90deg,#1d4ed8,#0ea5e9);color:#fff;font-size:12px;font-weight:600;letter-spacing:.8px;padding:6px 12px;border-radius:30px;margin-bottom:20px;text-transform:uppercase;box-shadow:0 4px 12px -2px rgba(14,165,233,.4);} 
.hero-logo-legacy{margin:0 0 18px;}
.hero-logo-legacy img{max-width:260px;width:100%;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));opacity:.95;}
.hero.hero-educativa{background:linear-gradient(145deg,#0b1220 0%,#0f172a 55%,#11263d 100%), url('../../images/bgSlide.png') center/cover no-repeat;}
.hero-title{font-size:48px;line-height:1.05;margin:0 0 26px;font-weight:700;}
.hero-title span{background:linear-gradient(90deg,#22d3ee,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-subtitle{font-size:18px;line-height:1.5;margin:0 0 26px;color:#cbd5e1;font-weight:400;max-width:560px;}
.hero-benefits{margin:0 0 30px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-size:14px;}
.hero-benefits li{display:flex;align-items:flex-start;gap:8px;color:#e2e8f0;line-height:1.3;}
.hero-benefits i{color:#22d3ee;margin-top:2px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 26px;}
.btn-hero{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:14px 26px;border-radius:14px;text-decoration:none;line-height:1.1;position:relative;}
.btn-hero.primary{background:linear-gradient(90deg,#2563eb,#22d3ee);color:#fff;box-shadow:0 8px 24px -6px rgba(34,211,238,.4),0 4px 10px rgba(37,99,235,.35);} 
.btn-hero.primary:hover{filter:brightness(1.08);} 
.btn-hero.ghost{background:rgba(255,255,255,0.08);color:#e2e8f0;border:1px solid rgba(255,255,255,0.16);} 
.btn-hero.ghost:hover{background:rgba(255,255,255,0.14);} 
.hero-meta{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:#94a3b8;font-weight:500;}
.hero-illustration{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;}
.hero-illustration img{max-width:420px;width:100%;height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,0.35));animation:floatY 9s ease-in-out infinite;}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(max-width:1100px){.hero{gap:40px;padding:80px 50px 50px;}.hero-title{font-size:44px;} }
@media(max-width:900px){.hero{flex-direction:column;min-height:auto;text-align:center;padding:80px 40px 50px;}.hero-inner{max-width:680px}.hero-benefits{grid-template-columns:1fr 1fr;}.hero-illustration img{max-width:300px;} }
@media(max-width:640px){.hero{padding:70px 26px 50px;}.hero-title{font-size:38px;}.hero-benefits{grid-template-columns:1fr;font-size:15px;}.hero-subtitle{font-size:16px;margin-bottom:22px;} }

/* Glow / halo para ilustración hero */
.hero-illustration--glow{position:relative;}
.hero-illustration--glow:before,.hero-illustration--glow:after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;border-radius:40px;}
.hero-illustration--glow:before{background:radial-gradient(circle at 50% 55%,rgba(34,211,238,.55),transparent 65%);filter:blur(40px);opacity:.7;animation:pulseGlow 6s ease-in-out infinite;}
.hero-illustration--glow:after{background:radial-gradient(circle at 60% 40%,rgba(96,165,250,.35),transparent 70%);filter:blur(50px);opacity:.55;animation:pulseGlowAlt 7.5s ease-in-out infinite;}
@keyframes pulseGlow{0%,100%{opacity:.65;transform:scale(1);}50%{opacity:.85;transform:scale(1.04);} }
@keyframes pulseGlowAlt{0%,100%{opacity:.5;transform:scale(1);}50%{opacity:.75;transform:scale(1.06);} }

/* --- Navegación principal moderna --- */
.site-header{position:sticky;top:0;z-index:1000;width:100%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(15,23,42,0.55);border-bottom:1px solid rgba(255,255,255,0.08);box-shadow:0 2px 8px -2px rgba(0,0,0,0.4);transition:background .35s, box-shadow .35s, transform .4s;}
.site-header.is-scrolled{background:rgba(15,23,42,0.80);box-shadow:0 4px 18px -4px rgba(0,0,0,0.55);} 
.site-header .contentHeader{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 34px;gap:38px;}
.site-header .logo a{display:flex;align-items:center;gap:10px;text-decoration:none;}
.site-header .logo img#iso{width:44px;height:auto;}
.site-header .logo img#logo{height:40px;width:auto;}
.main-nav{display:flex;align-items:center;}
.nav-list{list-style:none;display:flex;align-items:center;gap:6px;margin:0;padding:0;}
.nav-item{position:relative;}
.nav-link{--c:rgba(255,255,255,0.65);display:inline-flex;align-items:center;position:relative;padding:10px 16px;font-size:14px;font-weight:500;line-height:1;color:var(--c);text-decoration:none;letter-spacing:.4px;border-radius:10px;transition:color .25s, background .25s;} 
.nav-link:hover{color:#fff;background:rgba(255,255,255,0.06);} 
.nav-link:focus-visible{outline:2px solid #22d3ee;outline-offset:2px;} 
.nav-link.active, .nav-link[aria-current="page"]{color:#fff;} 
.nav-link.active:after, .nav-link[aria-current="page"]:after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,#22d3ee,#2563eb);} 
.nav-login{margin-left:4px;} 
.nav-login .nav-link{background:linear-gradient(90deg,#2563eb,#22d3ee);color:#fff !important;font-weight:600;box-shadow:0 4px 14px -4px rgba(34,211,238,.55);}
.nav-login .nav-link:hover{filter:brightness(1.07);} 
.nav-login .nav-link:after{display:none;} 
.site-header.compact{transform:translateY(0);}
.site-header.compact .contentHeader{padding:6px 30px;}
.site-header.compact .logo img#logo{height:34px;}
.site-header.compact .logo img#iso{width:38px;}

/* Indicador sutil (puntito) en hover para items no activos */
.nav-link:not(.active):not([aria-current])::before{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;background:radial-gradient(circle,#22d3ee,#2563eb);border-radius:50%;opacity:0;transform:translate(-50%,6px) scale(.4);transition:opacity .25s, transform .25s;}
.nav-link:hover::before{opacity:.85;transform:translate(-50%,2px) scale(1);} 

/* Responsive */
@media (max-width: 860px){
  .site-header .contentHeader{padding:10px 18px;gap:20px;}
  .nav-list{gap:2px;}
  .nav-link{padding:9px 12px;font-size:13px;}
  .site-header.compact .contentHeader{padding:6px 16px;}
}
@media (max-width: 640px){
  .nav-list{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
  .nav-list::-webkit-scrollbar{display:none;}
  .nav-link{padding:10px 14px;}
}

/* Scroll suave activación (clase resaltada) */
.nav-link.section-active{color:#fff;}
.nav-link.section-active:after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:linear-gradient(90deg,#22d3ee,#2563eb);border-radius:2px;}

/* === Overrides de color (rojo corporativo) para la botonera === */
:root{--nav-red:#e4032e;--nav-red-grad:#ff4d34;}
.nav-link.active:after, .nav-link[aria-current="page"]:after,
.nav-link.section-active:after{background:linear-gradient(90deg,var(--nav-red),var(--nav-red-grad));}
.nav-link:not(.active):not([aria-current])::before{background:radial-gradient(circle,var(--nav-red),var(--nav-red-grad));}
.nav-login .nav-link{background:linear-gradient(90deg,var(--nav-red),var(--nav-red-grad));color:#fff !important;font-weight:600;box-shadow:0 6px 18px -6px rgba(228,3,46,.55);}
.nav-login .nav-link:hover{background:linear-gradient(90deg,#ff4d34,#e4032e);filter:brightness(1.02);}
.nav-link:hover{background:rgba(255,255,255,0.08);} 
/* Header rojo */
.site-header{background:linear-gradient(120deg,rgba(228,3,46,0.92),rgba(255,77,52,0.92));}
.site-header.is-scrolled{background:linear-gradient(120deg,#e4032e,#ff4d34);} 
.site-header .nav-link{--c:rgba(255,255,255,0.85);} 
.site-header .nav-link:hover{background:rgba(255,255,255,0.12);} 
.site-header .nav-link.active:after,
.site-header .nav-link[aria-current="page"]:after,
.site-header .nav-link.section-active:after{background:linear-gradient(90deg,#ffffff,#ffe1db);height:2px;} 

/* --- Ajustes móviles header / menú lateral --- */
@media(max-width:860px){
  .menu-btn{position:absolute;left:10px;top:8px;margin:0;z-index:1100;width:54px;height:54px;display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1;border:none;cursor:pointer;background:linear-gradient(160deg,#e4032e,#ff4d34);color:#fff;border-radius:18px;box-shadow:0 6px 18px -6px rgba(0,0,0,.45);transition:background .3s, transform .25s;} 
  .menu-btn:active{transform:scale(.94);} 
  .site-header .contentHeader{padding-left:70px;}
  .site-header .logo{margin-left:auto;display:flex;justify-content:flex-end;}
  .site-header .logo a{justify-content:flex-end;}
  .site-header .logo img#iso{display:none;} /* oculta iso para ganar espacio */
  .site-header .logo img#logo{height:38px;}
  .main-nav{display:none;} /* ocultar nav horizontal en móviles si existe menú lateral */
}
@media(max-width:640px){
  .menu-btn{width:50px;height:50px;font-size:28px;border-radius:16px;left:8px;top:6px;}
  .site-header .contentHeader{padding:8px 16px 8px 66px;}
  .site-header .logo img#logo{height:34px;}
}

/* --- Menú móvil lateral refinado --- */
.mobile-drawer .mobile-drawer-header{padding:34px 26px 18px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(0,0,0,0.06);}
.mobile-drawer-logo{max-width:170px;width:100%;height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));}
.mobile-nav{margin:0;padding:26px 0 10px;list-style:none;display:flex;flex-direction:column;gap:4px;}
.mobile-nav li{margin:0;padding:0;}
.mnav-link{display:block;padding:14px 34px 14px 42px;font-size:16px;font-weight:500;letter-spacing:.3px;text-decoration:none;color:#1e293b;position:relative;transition:background .25s,color .25s;} 
.mnav-link:before{content:"";position:absolute;left:22px;top:50%;width:10px;height:10px;border-radius:50%;background:linear-gradient(90deg,#e4032e,#ff4d34);transform:translateY(-50%) scale(0);opacity:0;transition:transform .3s, opacity .3s;} 
.mnav-link:hover{background:#f5f7fb;color:#0f172a;} 
.mnav-link:hover:before{transform:translateY(-50%) scale(1);opacity:1;} 
.mnav-link.mnav-active{background:linear-gradient(90deg,#ffe4e9,#ffd2c7);color:#0f172a;font-weight:600;} 
.mnav-link.mnav-active:before{transform:translateY(-50%) scale(1);opacity:1;} 
.mobile-drawer-footer{padding:24px 26px 40px;border-top:1px solid rgba(0,0,0,0.06);} 
.mnav-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 20px;font-size:15px;font-weight:600;border-radius:10px;text-decoration:none;background:linear-gradient(90deg,#e4032e,#ff4d34);color:#fff;box-shadow:0 6px 18px -6px rgba(228,3,46,.55);transition:filter .25s;} 
.mnav-cta:hover{filter:brightness(1.05);} 
@media(min-width:861px){.mobile-drawer{display:none;} }


