/* ============================================================
   transp_becas.css — Instituto Margarita Cabrera
============================================================ */

/* ══ SIDEBAR ══ */
.mci .sidebar { position:fixed; left:0; top:0; bottom:0; width:40px; background:var(--red); z-index:9300; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding-bottom:16px; gap:14px; }
.mci .sidebar a { color:rgba(255,255,255,0.75); display:flex; align-items:center; justify-content:center; width:24px; height:24px; transition:color .15s; }
.mci .sidebar a:hover { color:#fff; }
.mci .sidebar svg { width:15px; height:15px; fill:currentColor; }

/* ══ HEADER ══ */
.mci .mci-header { position:sticky; top:0; z-index:9200; background:#fff; border-bottom:1px solid var(--border); box-shadow:0 1px 8px rgba(0,0,0,0.06); width:100%; }
.mci .header-inner { max-width:1160px; margin:0 auto; padding:0 24px; height:60px; display:flex; align-items:center; justify-content:space-between; }
.mci .logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.mci .logo-sun { height:44px; width:auto; flex-shrink:0; }
.mci .header-right { display:flex; align-items:center; gap:10px; }
.mci .btn-buscador { font-size:12px; font-weight:600; color:var(--text); letter-spacing:1px; text-transform:uppercase; display:flex; align-items:center; gap:5px; }
.mci .btn-buscador:hover { color:var(--red); }
.mci .btn-admision { background:var(--red); color:#fff !important; padding:7px 18px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; border-radius:4px; white-space:nowrap; display:inline-block; }
.mci .btn-admision:hover { background:var(--red-dark); }
.mci .btn-menu-toggle { background:var(--red-dark); color:#fff; padding:7px 14px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; border-radius:4px; display:flex; align-items:center; gap:7px; cursor:pointer; border:none; white-space:nowrap; font-family:var(--font); }
.mci .btn-menu-toggle:hover { background:var(--red-deep); }

/* ══ MEGAMENÚ ══ */
.mci .menu-overlay { display:none !important; position:fixed !important; inset:0 !important; z-index:99190 !important; background:rgba(30,5,5,0.55) !important; backdrop-filter:blur(3px) !important; margin:0 !important; padding:0 !important; }
.mci .menu-overlay.open { display:block !important; }
.mci .megamenu { position:fixed !important; top:0 !important; right:0 !important; bottom:0 !important; z-index:99195 !important; width:380px !important; max-width:92vw !important; background:#ffffff !important; border-left:4px solid #B82020 !important; overflow-y:auto !important; overflow-x:hidden !important; transform:translateX(100%) !important; transition:transform .28s cubic-bezier(.4,0,.2,1) !important; box-shadow:-8px 0 40px rgba(0,0,0,0.22) !important; margin:0 !important; padding:0 !important; border-radius:0 !important; }
.mci .megamenu.open { transform:translateX(0) !important; }
.mci .menu-head { background:#B82020 !important; padding:14px 20px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; position:sticky !important; top:0 !important; z-index:2 !important; margin:0 !important; border:none !important; }
.mci .menu-head-title { font-family:'Barlow Condensed',sans-serif !important; font-size:11px !important; font-weight:700 !important; letter-spacing:2px !important; text-transform:uppercase !important; color:rgba(255,255,255,0.8) !important; margin:0 !important; padding:0 !important; }
.mci .menu-close { background:none !important; border:none !important; cursor:pointer !important; color:#fff !important; font-size:20px !important; line-height:1 !important; padding:2px 8px !important; border-radius:4px !important; }
.mci .menu-close:hover { background:rgba(255,255,255,0.2) !important; }
.mci .mi { border-bottom:1px solid #e8d8d8 !important; margin:0 !important; padding:0 !important; background:#fff !important; }
.mci .mi-top { display:flex !important; align-items:center !important; padding:12px 20px !important; cursor:pointer !important; transition:background .12s !important; gap:8px !important; margin:0 !important; }
.mci .mi-top:hover { background:#f5f0f0 !important; }
.mci .mi-top > a { font-family:'Barlow Condensed',sans-serif !important; font-size:13px !important; font-weight:700 !important; letter-spacing:1px !important; text-transform:uppercase !important; color:#1a0808 !important; flex:1 !important; text-decoration:none !important; margin:0 !important; padding:0 !important; background:none !important; border:none !important; }
.mci .mi-top:hover > a { color:#B82020 !important; }
.mci .mi-chev { font-size:9px !important; color:#9a6060 !important; transition:transform .2s !important; flex-shrink:0 !important; margin-left:auto !important; }
.mci .mi.open > .mi-top .mi-chev { transform:rotate(180deg) !important; color:#B82020 !important; }
.mci .mi-sub { display:none !important; background:#faf5f5 !important; margin:0 !important; padding:0 !important; }
.mci .mi.open > .mi-sub { display:block !important; }
.mci .ms-item { display:flex !important; align-items:center !important; padding:9px 20px 9px 32px !important; cursor:pointer !important; border-bottom:1px solid #eedede !important; transition:background .12s !important; gap:6px !important; margin:0 !important; }
.mci .ms-item:last-child { border-bottom:none !important; }
.mci .ms-item:hover { background:#f0e4e4 !important; }
.mci .ms-item > a { font-family:'Barlow',sans-serif !important; font-size:12.5px !important; font-weight:500 !important; color:#4a1a1a !important; flex:1 !important; text-decoration:none !important; margin:0 !important; padding:0 !important; background:none !important; }
.mci .ms-item:hover > a { color:#B82020 !important; }
.mci .ms-item .mi-chev { font-size:8px !important; }
.mci .ms-item.open2 .mi-chev { transform:rotate(180deg) !important; color:#B82020 !important; }
.mci .ms-sub { display:none !important; background:#f5eaea !important; margin:0 !important; padding:0 !important; }
.mci .ms-sub.open { display:block !important; }
.mci .ms2-item { padding:8px 20px 8px 46px !important; border-bottom:1px solid #e8d8d8 !important; font-family:'Barlow',sans-serif !important; font-size:12px !important; color:#9a6060 !important; display:block !important; text-decoration:none !important; margin:0 !important; background:#f5eaea !important; }
.mci .ms2-item:last-child { border-bottom:none !important; }
.mci .ms2-item:hover { color:#B82020 !important; background:#f0dfdf !important; }

/* ══ FOOTER ══ */
.mci .mci-footer { background:var(--red-deep); color:rgba(255,255,255,0.50); padding:52px 0 0; }
.mci .footer-inner { max-width:1160px; margin:0 auto; padding:0 24px 44px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:44px; }
.mci .footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.mci .footer-logo-sun { height:70px; width:auto; }
.mci .footer-brand p { font-size:13.5px; line-height:1.7; margin-bottom:8px; }
.mci .footer-brand address { font-style:normal; font-size:13px; }
.mci .footer-col h4 { font-family:var(--fontc); font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.40); margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,0.10); }
.mci .footer-col ul li { margin-bottom:9px; }
.mci .footer-col ul li a { font-size:14px; color:rgba(255,255,255,0.50); transition:color .15s; }
.mci .footer-col ul li a:hover { color:rgba(255,255,255,0.90) !important; }
.mci .footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding:18px 24px; max-width:1160px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; font-size:12px; }
.mci .footer-links { display:flex; gap:16px; }
.mci .footer-links a { color:rgba(255,255,255,0.40); transition:color .15s; }
.mci .footer-links a:hover { color:rgba(255,255,255,0.80) !important; }

/* ══ WA FLOAT ══ */
.mci .wa { position:fixed; bottom:24px; right:24px; z-index:9999; width:52px; height:52px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 18px rgba(37,211,102,0.45); transition:transform .2s; }
.mci .wa:hover { transform:scale(1.08); }
.mci .wa svg { width:26px; height:26px; fill:#fff; }

/* ══ BECAS — CONTENIDO ══ */
.mci .bk-hero { position:relative; overflow:hidden; min-height:300px; display:flex; align-items:flex-end; background:var(--red-deep); }
.mci .bk-hero-bg { position:absolute; inset:0; background-image:url('https://www.margaritacabrera.edu.pe/wp-content/uploads/slider2/img_7489.jpg'); background-size:cover; background-position:center; }
.mci .bk-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(100deg,rgba(60,8,8,0.92) 0%,rgba(60,8,8,0.70) 60%,rgba(60,8,8,0.35) 100%); }
.mci .bk-hero-content { position:relative; z-index:2; max-width:1160px; margin:0 auto; width:100%; padding:72px 24px 48px; }
.mci .bk-hero-label { font-family:var(--fontc); font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.50); margin-bottom:10px; display:block; }
.mci .bk-hero-title { font-family:var(--fontc); font-size:clamp(36px,5vw,64px); font-weight:800; text-transform:uppercase; color:#fff; line-height:1; margin-bottom:10px; }
.mci .bk-hero-sub { font-size:15px; color:rgba(255,255,255,0.65); max-width:560px; line-height:1.7; }

.mci .bk-section { padding:64px 0; }
.mci .bk-section-alt { background:var(--light); }
.mci .bk-section-dark { background:var(--red-deep); }
.mci .bk-inner { max-width:1160px; margin:0 auto; padding:0 24px; }

.mci .bk-sec-label { font-family:var(--fontc); font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--red); margin-bottom:10px; display:block; }
.mci .bk-sec-label-white { color:rgba(255,255,255,0.50); }
.mci .bk-sec-title { font-family:var(--fontc); font-size:clamp(26px,4vw,40px); font-weight:800; text-transform:uppercase; color:var(--text); line-height:1.05; margin-bottom:20px; }
.mci .bk-sec-title-white { color:#fff; }

/* Tipos de beca */
.mci .bk-tipos { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-bottom:44px; }
.mci .bk-tipo { background:#fff; padding:32px 24px; text-align:center; transition:background .15s; }
.mci .bk-tipo:hover { background:var(--off); }
.mci .bk-tipo-icon { font-size:36px; margin-bottom:12px; display:block; }
.mci .bk-tipo-name { font-family:var(--fontc); font-size:20px; font-weight:800; text-transform:uppercase; color:var(--text); margin-bottom:6px; }
.mci .bk-tipo-name span { color:var(--red); }
.mci .bk-tipo-desc { font-size:13px; color:var(--text-mut); line-height:1.6; }

/* Condiciones */
.mci .bk-condiciones { display:flex; flex-direction:column; gap:10px; margin-top:32px; }
.mci .bk-condicion { display:flex; gap:14px; align-items:flex-start; padding:14px 18px; background:#fff; border:1px solid var(--border); border-radius:4px; }
.mci .bk-condicion-num { font-family:var(--fontc); font-size:18px; font-weight:800; color:var(--red); flex-shrink:0; min-width:28px; line-height:1.3; }
.mci .bk-condicion-text { font-size:14px; color:var(--text-mid); line-height:1.65; }
.mci .bk-condicion-text strong { color:var(--text); }

/* Promedio destacado */
.mci .bk-promedio-badge {
  display:inline-flex; align-items:center; gap:12px;
  background:var(--red); color:#fff; padding:12px 24px;
  border-radius:4px; margin:20px 0;
}
.mci .bk-promedio-num { font-family:var(--fontc); font-size:36px; font-weight:800; line-height:1; }
.mci .bk-promedio-lbl { font-family:var(--fontc); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; line-height:1.3; }

/* Quién puede pedir */
.mci .bk-quien-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.10); margin-top:32px; }
.mci .bk-quien { background:var(--red-deep); padding:24px 28px; display:flex; gap:16px; align-items:flex-start; transition:background .15s; }
.mci .bk-quien:hover { background:rgba(255,255,255,0.05); }
.mci .bk-quien-icon { font-size:28px; flex-shrink:0; }
.mci .bk-quien-title { font-family:var(--fontc); font-size:14px; font-weight:800; text-transform:uppercase; color:#fff; margin-bottom:4px; }
.mci .bk-quien-desc { font-size:13.5px; color:rgba(255,255,255,0.55); line-height:1.6; }

/* Requisitos documentos */
.mci .bk-docs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:28px; }
.mci .bk-doc { display:flex; gap:10px; align-items:center; padding:12px 16px; background:var(--light); border:1px solid var(--border); border-radius:4px; }
.mci .bk-doc-icon { font-size:18px; flex-shrink:0; }
.mci .bk-doc-text { font-size:13.5px; color:var(--text-mid); font-weight:500; }

/* CTA formulario */
.mci .bk-cta { background:var(--red); padding:52px 0; }
.mci .bk-cta-inner { max-width:1160px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.mci .bk-cta h2 { font-family:var(--fontc); font-size:clamp(24px,4vw,40px); font-weight:800; text-transform:uppercase; color:#fff; line-height:1; margin-bottom:8px; }
.mci .bk-cta p { font-size:14px; color:rgba(255,255,255,0.75); max-width:480px; }
.mci .bk-cta-btns { display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.mci .bk-btn-white { background:#fff; color:var(--red) !important; font-family:var(--fontc); font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:13px 28px; border-radius:4px; display:inline-block; white-space:nowrap; transition:background .2s; text-align:center; }
.mci .bk-btn-white:hover { background:#f5e0e0; }
.mci .bk-btn-outline { border:2px solid rgba(255,255,255,0.6); color:#fff !important; font-family:var(--fontc); font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:11px 28px; border-radius:4px; display:inline-block; white-space:nowrap; transition:border-color .2s, background .2s; text-align:center; }
.mci .bk-btn-outline:hover { border-color:#fff; background:rgba(255,255,255,0.1); }


/* Proceso de beca */
.mci .bk-proceso { display:flex; flex-direction:column; margin-top:32px; }
.mci .bk-paso { display:flex; gap:20px; align-items:flex-start; }
.mci .bk-paso-num {
  width:44px; height:44px; border-radius:50%;
  background:var(--red); color:#fff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fontc); font-size:18px; font-weight:800;
}
.mci .bk-paso-body { padding-bottom:4px; flex:1; }
.mci .bk-paso-title { font-family:var(--fontc); font-size:15px; font-weight:800; text-transform:uppercase; color:var(--text); letter-spacing:.3px; margin-bottom:4px; }
.mci .bk-paso-desc { font-size:13.5px; color:var(--text-mut); line-height:1.6; }
.mci .bk-paso-line { width:2px; height:32px; background:var(--border); margin-left:21px; }

/* Responsive */
@media (max-width:900px) {
  .mci .sidebar { display:none; }
  .mci .btn-buscador { display:none; }
  .mci .bk-tipos { grid-template-columns:1fr; }
  .mci .bk-quien-grid { grid-template-columns:1fr; }
  .mci .bk-docs-grid { grid-template-columns:1fr; }
  .mci .bk-section { padding:48px 0; }
  .mci .bk-cta-inner { flex-direction:column; align-items:flex-start; gap:20px; }
  .mci .footer-inner { grid-template-columns:1fr 1fr; gap:28px; }
  .mci .footer-brand { grid-column:1/-1; }
  .mci .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
  .mci .footer-links { justify-content:center; flex-wrap:wrap; }
}
@media (max-width:560px) {
  .mci .btn-admision { display:none; }
  .mci .bk-inner { padding:0 14px; }
  .mci .footer-inner { grid-template-columns:1fr; }
  .mci .megamenu { width:100% !important; max-width:100vw !important; }
}