/*
Theme Name: ITESA Pro
Theme URI: https://www.itesa.edu.do/
Author: SmartBytes / Viral
Description: Plantilla institucional moderna para ITESA: admisiones, carreras técnicas, campus virtual, noticias y contacto.
Version: 1.1.0
License: GPL v2 or later
Text Domain: itesa-pro
*/

:root{
  --azul:#0b3f91;
  --azul2:#062b63;
  --celeste:#00a6e8;
  --amarillo:#f7c600;
  --rojo:#d71920;
  --verde:#0fa958;
  --oscuro:#081424;
  --gris:#f4f7fb;
  --texto:#152033;
  --blanco:#ffffff;
  --sombra:0 18px 45px rgba(3,20,48,.14);
  --radio:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--texto);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.container{width:min(1180px,92%);margin:auto}
.topbar{background:var(--azul2);color:#fff;font-size:14px;padding:8px 0}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.topbar-info{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.topbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.top-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 13px;font-weight:900;font-size:13px;line-height:1;color:#fff;border:1px solid rgba(255,255,255,.22)}
.top-link.campus{background:rgba(0,166,232,.22)}
.top-link.login{background:var(--amarillo);color:#111;border-color:var(--amarillo)}
.top-link.admision{background:var(--verde);border-color:var(--verde)}
.header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 5px 24px rgba(0,0,0,.07)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}
.logo{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--azul);font-size:24px;letter-spacing:.4px}
.logo-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--azul),var(--celeste));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:var(--sombra)}
.menu{display:flex;gap:22px;align-items:center;margin:0;padding:0;list-style:none;font-weight:700;color:#25344d}
.menu a:hover{color:var(--azul)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 22px;font-weight:900;border:0;cursor:pointer;transition:.2s transform,.2s box-shadow;background:var(--azul);color:#fff;box-shadow:0 12px 25px rgba(11,63,145,.22)}
.btn:hover{transform:translateY(-2px)}
.btn.yellow{background:var(--amarillo);color:#111;box-shadow:0 12px 25px rgba(247,198,0,.27)}
.btn.green{background:var(--verde)}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn-login-main{background:var(--amarillo);color:#111;box-shadow:0 12px 25px rgba(247,198,0,.25)}
.menu-login{display:none}
.mobile-toggle{display:none;background:var(--azul);color:#fff;border:0;border-radius:12px;padding:10px 13px;font-size:22px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(0,166,232,.35),transparent 30%),linear-gradient(135deg,var(--azul2),var(--azul));color:#fff;padding:92px 0 70px}
.hero:after{content:"";position:absolute;inset:auto -10% -120px -10%;height:240px;background:#fff;transform:skewY(-4deg)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center}
.badge{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:999px;font-weight:800;margin-bottom:18px}
h1{font-size:clamp(38px,6vw,68px);line-height:.98;margin:0 0 18px;letter-spacing:-2px}
.hero p{font-size:20px;opacity:.94;margin:0 0 28px;max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:30px;padding:18px;backdrop-filter:blur(10px);box-shadow:var(--sombra)}
.hero-img{min-height:430px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.04)),url('assets/hero-placeholder.svg') center/cover no-repeat;display:flex;align-items:flex-end;padding:20px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}.stat{background:#fff;color:var(--azul2);border-radius:18px;padding:16px;text-align:center}.stat b{font-size:26px;display:block;color:var(--azul)}
.section{padding:82px 0}.section.gray{background:var(--gris)}.title{text-align:center;margin-bottom:42px}.title span{color:var(--azul);font-weight:900;text-transform:uppercase;letter-spacing:1.5px}.title h2{font-size:clamp(30px,4vw,46px);margin:8px 0 10px;line-height:1.05}.title p{max-width:720px;margin:auto;color:#5c6a80;font-size:18px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card{background:#fff;border-radius:var(--radio);padding:28px;box-shadow:var(--sombra);border:1px solid rgba(11,63,145,.08);transition:.22s}.card:hover{transform:translateY(-6px)}.icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--azul),var(--celeste));color:#fff;font-size:30px;margin-bottom:18px}.card h3{margin:0 0 10px;font-size:21px;color:var(--azul2)}.card p{margin:0 0 18px;color:#607086}.card a{font-weight:900;color:var(--azul)}
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center}.feature-box{background:#fff;border-radius:28px;padding:34px;box-shadow:var(--sombra)}.check{display:flex;gap:13px;margin:16px 0}.check b{color:var(--azul2)}.check i{background:var(--verde);color:#fff;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;flex:0 0 28px}.visual-panel{min-height:430px;border-radius:30px;background:linear-gradient(135deg,rgba(11,63,145,.15),rgba(0,166,232,.12)),url('assets/lab-placeholder.svg') center/cover no-repeat;box-shadow:var(--sombra)}
.cta{background:linear-gradient(135deg,var(--rojo),#9f1117);color:#fff;border-radius:34px;padding:44px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;box-shadow:var(--sombra)}.cta h2{font-size:40px;line-height:1.05;margin:0 0 10px}.cta p{font-size:18px;opacity:.94;margin:0}.cta .hero-actions{justify-content:flex-end}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.news{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--sombra)}.thumb{height:190px;background:linear-gradient(135deg,var(--azul),var(--celeste));display:grid;place-items:center;color:#fff;font-size:46px}.news-body{padding:22px}.news-body small{font-weight:900;color:var(--rojo)}.news-body h3{margin:8px 0 8px;color:var(--azul2)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.form{background:#fff;border-radius:28px;padding:30px;box-shadow:var(--sombra)}.form input,.form select,.form textarea{width:100%;padding:15px;border:1px solid #dbe4f0;border-radius:14px;margin-bottom:14px;font:inherit}.info{background:var(--azul2);color:#fff;border-radius:28px;padding:32px;box-shadow:var(--sombra)}.info h3{font-size:30px;margin-top:0}.info p{opacity:.92}
.footer{background:#071222;color:#fff;padding:42px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer a{color:#dce8ff}.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px;color:#b7c4d8;font-size:14px}
.whatsapp{position:fixed;right:22px;bottom:22px;z-index:999;background:#25D366;color:#fff;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:31px;box-shadow:0 16px 35px rgba(37,211,102,.35)}
@media(max-width:960px){.mobile-toggle{display:block}.nav-actions{display:none}.menu-login{display:block}.menu{position:absolute;top:76px;left:4%;right:4%;background:#fff;border-radius:18px;box-shadow:var(--sombra);padding:18px;display:none;flex-direction:column;align-items:flex-start}.menu.open{display:flex}.hero-grid,.why,.cta,.contact-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:1fr}.cta .hero-actions{justify-content:flex-start}.hero{padding-top:62px}.hero-img{min-height:320px}.footer-grid{grid-template-columns:1fr}}
@media(max-width:580px){.topbar-inner{justify-content:center;text-align:center}.topbar-info{justify-content:center}.topbar-actions{justify-content:center}.cards{grid-template-columns:1fr}.hero-stats{grid-template-columns:1fr}.topbar .container{font-size:13px}h1{letter-spacing:-1px}.section{padding:58px 0}.cta{padding:28px}.cta h2{font-size:30px}}

/* ITESA Pro 1.2 - Submenús y Builder */
.menu li{position:relative}
.menu .sub-menu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border-radius:16px;padding:10px;margin:14px 0 0;list-style:none;box-shadow:var(--sombra);border:1px solid rgba(11,63,145,.08);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:1000}
.menu li:hover > .sub-menu,.menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.menu .sub-menu li{width:100%}
.menu .sub-menu a{display:block;padding:10px 12px;border-radius:10px;color:#25344d;white-space:nowrap}
.menu .sub-menu a:hover{background:var(--gris);color:var(--azul)}
.menu > li.menu-item-has-children > a:after{content:' ▾';font-size:12px;font-weight:900}
.somos-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}
.somos-title{text-align:left;margin-bottom:0}.somos-title p{margin:0;color:#5c6a80}
.somos-cards{display:grid;gap:16px}.somos-card{background:#fff;border-radius:var(--radio);padding:24px;box-shadow:var(--sombra);border-left:7px solid var(--azul)}
.somos-card h3{margin:0 0 8px;color:var(--azul2);font-size:24px}.somos-card p{margin:0;color:#607086}
.social-links{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.social-links strong{width:100%;color:#fff}.social-links a{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 11px;color:#fff;font-weight:800;font-size:13px}
.custom-logo-link img{max-height:90px;width:auto}
@media(max-width:960px){
  .menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:var(--gris);margin:8px 0 0 0;width:100%;display:block}
  .menu .sub-menu a{white-space:normal}
  .somos-grid{grid-template-columns:1fr}
}

/* ITESA Pro 1.3 - Zona Somos / Builder ampliado */
.somos-strip-section{
  background:var(--somos-bg);
  padding:34px 0;
}
.somos-strip-inner{
  display:flex;
  align-items:center;
  gap:28px;
}
.somos-strip-title{
  margin:0;
  color:var(--somos-text);
  font-size:clamp(28px,3vw,46px);
  line-height:1;
  flex:0 0 auto;
}
.somos-strip-logos{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:24px;
  flex-wrap:wrap;
}
.somos-logo-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.somos-logo-link img{
  width:auto;
  height:auto;
  max-height:62px;
  object-fit:contain;
}
.footer-recognition{
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}
.footer-logo-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
}
.footer-logo-card img{
  width:auto;
  height:auto;
  max-width:170px;
  max-height:34px;
  object-fit:contain;
}
.copy{
  text-align:center;
  color:#fff;
}
@media(max-width:960px){
  .somos-strip-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:580px){
  .somos-strip-title{
    font-size:28px;
  }
  .somos-strip-logos{
    gap:16px;
  }
  .footer-logo-card{
    width:100%;
  }
}

/* ITESA Pro 1.4 - controles de logos y ajuste del menú */
.somos-strip-logos{
  justify-content:var(--somos-justify);
  flex:1 1 auto;
}
.somos-logo-link img{
  width:var(--somos-logo-size);
  max-width:var(--somos-logo-size);
  max-height:none;
  object-fit:contain;
}
.footer-recognition{
  justify-content:var(--footer-logos-justify);
}
.footer-logo-card img{
  width:var(--footer-logo-size);
  max-width:var(--footer-logo-size);
  max-height:none;
  object-fit:contain;
}
.menu-login{
  display:none !important;
}
.nav-actions .btn{
  white-space:nowrap;
}
@media(max-width:960px){
  .nav-actions{
    display:flex;
    margin-left:auto;
  }
  .nav-actions .btn-login-main,
  .nav-actions .btn{
    padding:10px 16px;
    font-size:14px;
  }
}
@media(max-width:720px){
  .nav{
    flex-wrap:wrap;
  }
  .nav-actions{
    order:3;
    width:100%;
    justify-content:center;
  }
}

/* ITESA Pro 1.5 - íconos independientes del footer */
.footer-icon-item{
  width:calc(var(--footer-logo-size) + 28px);
  height:calc(var(--footer-logo-size) + 18px);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
}
.footer-icon-item img{
  width:var(--footer-logo-size);
  height:var(--footer-logo-size);
  max-width:var(--footer-logo-size);
  max-height:var(--footer-logo-size);
  object-fit:contain;
}
.footer-logo-card{
  width:calc(var(--footer-logo-size) + 28px);
  height:calc(var(--footer-logo-size) + 18px);
}
.footer-logo-card img{
  width:var(--footer-logo-size);
  height:var(--footer-logo-size);
  max-width:var(--footer-logo-size);
  max-height:var(--footer-logo-size);
}

/* ITESA Pro 1.6 - botones superiores fuera del menú principal */
.header .nav-actions,
.menu .menu-login{
  display:none !important;
}
@media(max-width:960px){
  .header .nav-actions{
    display:none !important;
  }
}

/* ITESA Pro 1.7 - sección separada Crédito Somos */
.footer-recognition{
  justify-content:var(--footer-logos-justify);
}

/* ITESA Pro 1.8 - presentación bonita de Crédito Somos */
.footer-recognition{
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:var(--footer-logos-justify);
  gap:18px;
}

.footer-icon-item,
.footer-logo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(var(--footer-logo-size) * 2.4);
  height:calc(var(--footer-logo-size) * 1.9);
  min-width:120px;
  min-height:92px;
  max-width:220px;
  max-height:170px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  padding:12px;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  overflow:hidden;
}

.footer-icon-item img,
.footer-logo-card img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:var(--footer-logo-size);
  object-fit:contain;
}

@media(max-width:768px){
  .footer-recognition{
    gap:14px;
  }

  .footer-icon-item,
  .footer-logo-card{
    width:110px;
    height:86px;
    min-width:110px;
    min-height:86px;
    padding:10px;
  }
}

/* ITESA Pro 1.9 - Hero con imagen, YouTube o video subido */
.hero-media-wrap{
  position:relative;
  min-height:430px;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg,var(--azul),var(--celeste));
}
.hero-media-wrap .hero-img{
  min-height:430px;
  border-radius:0;
}
.hero-media-frame,
.hero-media-video{
  display:block;
  width:100%;
  height:430px;
  border:0;
  background:#000;
  object-fit:cover;
}
.hero-stats-overlay{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
}
@media(max-width:960px){
  .hero-media-wrap,
  .hero-media-wrap .hero-img,
  .hero-media-frame,
  .hero-media-video{
    min-height:320px;
    height:320px;
  }
  .hero-stats-overlay{
    position:static;
    padding:12px;
    background:rgba(255,255,255,.08);
  }
}

/* ITESA Pro 2.0 - video Hero visible automáticamente */
.hero-media-wrap{
  background:#071222;
}
.hero-media-frame,
.hero-media-video{
  position:relative;
  z-index:1;
  border-radius:0;
}
.hero-media-wrap iframe{
  pointer-events:auto;
}
.hero-media-wrap .hero-stats-overlay{
  z-index:2;
}
@media(min-width:961px){
  .hero-media-frame,
  .hero-media-video{
    height:430px;
  }
}

/* ITESA Pro 2.1 - sección Formularios arriba de Crédito Somos */
.formularios-footer-section{
  background:var(--formularios-bg);
  padding:var(--formularios-padding) 0;
}
.formularios-footer-grid{
  display:flex;
  align-items:center;
  justify-content:var(--formularios-justify);
  gap:var(--formularios-gap);
  flex-wrap:wrap;
}
.formulario-card{
  width:var(--formularios-img-width);
  height:var(--formularios-img-height);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:0;
  background:transparent;
  transition:transform .18s ease, filter .18s ease;
}
.formulario-card:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
}
.formulario-card img{
  width:100%;
  height:100%;
  object-fit:var(--formularios-fit);
  display:block;
}
@media(max-width:780px){
  .formularios-footer-grid{
    justify-content:center;
  }
  .formulario-card{
    width:min(var(--formularios-img-width), 42vw);
  }
}
@media(max-width:480px){
  .formulario-card{
    width:88vw;
  }
}

/* ITESA Pro 2.2 - tamaño editable del video Hero y tarjetas opcionales */
.hero-card{
  width:var(--hero-media-width);
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.hero-media-wrap{
  min-height:var(--hero-media-height);
  height:auto;
}
.hero-media-wrap .hero-img,
.hero-media-frame,
.hero-media-video{
  width:100%;
  height:var(--hero-media-height);
  min-height:var(--hero-media-height);
}
.hero-media-wrap.no-hero-stats .hero-img,
.hero-media-wrap.no-hero-stats .hero-media-frame,
.hero-media-wrap.no-hero-stats .hero-media-video{
  border-radius:24px;
}
.hero-stats-below{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  padding:14px;
  background:#fff;
  border-radius:0 0 24px 24px;
}
.hero-stats-below .stat{
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
@media(max-width:960px){
  .hero-card{
    width:100%;
  }
  .hero-media-wrap,
  .hero-media-wrap .hero-img,
  .hero-media-frame,
  .hero-media-video{
    height:min(var(--hero-media-height), 420px);
    min-height:min(var(--hero-media-height), 320px);
  }
}

/* ITESA Pro 2.3 - video Hero a tamaño completo y sin campo duplicado */
.hero-media-wrap{
  width:100% !important;
  height:var(--hero-media-height) !important;
  min-height:var(--hero-media-height) !important;
  position:relative !important;
  overflow:hidden !important;
}
.hero-media-wrap .hero-img{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
}
.hero-media-frame,
.hero-media-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-width:none !important;
  display:block !important;
  border:0 !important;
}
.hero-media-wrap.has-hero-stats .hero-media-frame,
.hero-media-wrap.has-hero-stats .hero-media-video{
  height:100% !important;
}
.hero-stats-overlay{
  z-index:5 !important;
}
.hero-stats-below{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:5 !important;
}
@media(max-width:960px){
  .hero-media-wrap{
    height:min(var(--hero-media-height), 420px) !important;
    min-height:min(var(--hero-media-height), 320px) !important;
  }
}

/* ITESA Pro 2.4 - control real e inline del tamaño del Hero */
.hero-card-video-custom{
  max-width:100% !important;
}
.hero-card-video-custom .hero-media-wrap{
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
}
.hero-card-video-custom iframe.hero-media-frame,
.hero-card-video-custom video.hero-media-video{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
}
.hero-card-video-custom .hero-img{
  width:100% !important;
  max-width:100% !important;
}

/* ITESA Pro 2.5 - mejor diseño para Formularios */
.formularios-footer-section{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.formularios-footer-grid{
  gap:var(--formularios-gap);
}
.formulario-card{
  width:var(--formularios-img-width);
  height:var(--formularios-img-height);
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  position:relative;
}
.formulario-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:var(--formularios-fit);
  border-radius:calc(var(--formularios-card-radius) - 2px);
}
.formulario-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:var(--formularios-card-radius);
  pointer-events:none;
}
:root{
  --formularios-card-bg-fallback:#10233f;
}
.formulario-card{
  background:transparent;
}
html .formulario-card{
  background:transparent;
}
body .formulario-card{
  background:transparent;
}
body .formulario-card.has-card,
body .formularios-footer-grid .formulario-card{
  border-radius:var(--formularios-card-radius);
}
body .formularios-footer-grid .formulario-card{
  padding:var(--formularios-inner-padding);
}
body .formularios-footer-grid .formulario-card{
  background:color-mix(in srgb, var(--formularios-card-bg) calc(var(--formularios-use-card) * 100%), transparent);
}
body .formularios-footer-grid .formulario-card{
  box-shadow:var(--formularios-shadow);
}
body .formularios-footer-grid .formulario-card{
  border:var(--formularios-border-width) solid var(--formularios-border-color);
}
@supports not (background: color-mix(in srgb, black 50%, white 50%)) {
  body .formularios-footer-grid .formulario-card{
    background:var(--formularios-card-bg);
  }
}
body .formularios-footer-grid .formulario-card img{
  border-radius:max(0px, calc(var(--formularios-card-radius) - var(--formularios-inner-padding)));
}
@media(max-width:780px){
  .formularios-footer-grid{
    gap:max(8px, calc(var(--formularios-gap) - 2px));
  }
}
/* Compactar también Crédito Somos un poco */
.footer-recognition{
  gap:14px;
}
.footer-icon-item,
.footer-logo-card{
  min-width:105px;
  min-height:82px;
}

/* Si se desactiva el diseño de tarjeta en Formularios */
body[data-formularios-card="0"] .formularios-footer-grid .formulario-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* ITESA Pro 2.6 - colores del footer editables desde personalizar */
.footer h3{
  color:var(--footer-title-color) !important;
}
.footer p,
.footer div,
.footer strong{
  color:var(--footer-text-color);
}
.footer .social-links strong{
  color:var(--footer-social-text-color) !important;
}
.footer a{
  color:var(--footer-link-color) !important;
}
.footer .copy{
  color:var(--footer-copy-color) !important;
}

/* ITESA Pro 2.7 - organización de títulos y menú desde Personalizar */
.topbar{
  background:var(--topbar-bg) !important;
  color:var(--topbar-text-color) !important;
  font-size:var(--topbar-text-size) !important;
  min-height:var(--topbar-height) !important;
  display:flex;
  align-items:center;
}
.topbar-inner{
  justify-content:var(--topbar-justify) !important;
}
.topbar-info,
.topbar-info span,
.topbar-actions,
.topbar a{
  color:var(--topbar-text-color);
}
.header{
  background:var(--header-bg) !important;
}
.nav{
  min-height:var(--header-height) !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.nav .logo{
  flex:0 0 auto;
  margin-right:var(--logo-menu-gap);
}
.nav .menu{
  flex:1 1 auto;
  justify-content:var(--menu-justify) !important;
  gap:var(--menu-gap) !important;
  font-size:var(--menu-text-size) !important;
  font-weight:var(--menu-weight) !important;
  text-transform:var(--menu-transform) !important;
  color:var(--menu-text-color) !important;
}
.nav .menu > li > a,
.nav .menu a{
  color:var(--menu-text-color) !important;
}
.nav .menu a:hover,
.nav .menu li:hover > a{
  color:var(--menu-hover-color) !important;
}
.menu .sub-menu{
  text-transform:none !important;
  font-size:calc(var(--menu-text-size) - 1px);
}
@media(max-width:960px){
  .nav .logo{
    margin-right:0;
  }
  .nav .menu{
    justify-content:flex-start !important;
    gap:10px !important;
  }
}
