html, body {
  overflow-y: auto !important;
  height: auto !important;
}

/* ==========================
   HEADER GENERAL
========================== */
header.container-fluid.bg-light {
  background-color: #3180c2 !important;
  color: #fff;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* LOGO */
.logo img {
  max-height: 60px;
  height: auto;
}

/* ==========================
   MENÚ PRINCIPAL
========================== */
.menu ul.mod-menu {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
  font-size: 0.9rem;
  /* ⬅️ Aquí aumentas el tamaño */

}

/* Cada ítem */
.menu ul.mod-menu li.nav-item {
  position: relative;
}

/* Enlaces */
.menu ul.mod-menu li.nav-item>a {
  text-decoration: none;
  color: #fff;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

/* Íconos FA dentro de los enlaces */
.menu ul.mod-menu li.nav-item>a i {
  font-size: 1rem;
  margin-right: 0.25rem;
}

/* Hover / Activo */
.menu ul.mod-menu li.nav-item>a:hover,
.menu ul.mod-menu li.current>a {
  background-color: #27679a;
  color: #fff;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.3);
}


/*fleca para submenus */
/* Flecha para items con submenús */
.menu ul.mod-menu > li.parent > a,
.menu ul.mod-menu > li.deeper > a{
  position: relative;
  padding-right: 1.8rem;            /* espacio para la flecha */
}

/* caret usando Font Awesome (chevron-down) */
.menu ul.mod-menu > li.parent > a::after,
.menu ul.mod-menu > li.deeper > a::after{
  content: "\f078";                  /* fa-chevron-down */
  font-family: "Font Awesome 6 Free","Font Awesome 5 Free"; /* compat */
  font-weight: 900;                  /* solid */
  position: absolute;
  right: .55rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: .85rem;
  color: currentColor;               /* mismo color que el texto */
  opacity: .85;
  transition: transform .25s ease, opacity .2s ease;
}

/* animación: gira cuando está abierto/hover/activo */
.menu ul.mod-menu > li.parent:hover > a::after,
.menu ul.mod-menu > li.parent.open > a::after,
.menu ul.mod-menu > li.parent > a[aria-expanded="true"]::after{
  transform: translateY(-50%) rotate(180deg);
  opacity: 1;
}

/* ==========================
   SUBMENÚ
========================== */
.menu ul.mod-menu__sub {
  display: none;
  position: absolute;
  background-color: #29679a;
  list-style: none;
  padding: 0.5rem 0;
  font-size: 1rem;
  /* ⬅️ Aquí aumentas el tamaño */

  margin: 0;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  top: 100%;
  /* justo debajo */
  left: 0;
  min-width: 220px;
  z-index: 9999;
  animation: fadeIn 0.2s ease-in-out;
}

/* Mostrar submenú al hacer hover */
.menu ul.mod-menu li.deeper:hover>ul.mod-menu__sub {
  display: block;
}

/* Cada ítem del submenú */
.menu ul.mod-menu__sub li {
  transition: background-color 0.3s ease;
  border-radius: 0;
}

/* Hover sobre ítem */
.menu ul.mod-menu__sub li:hover {
  background-color: #1a3e5c;
}

/* Enlaces del submenú */
.menu ul.mod-menu__sub li a {
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  transition: color 0.3s ease, background-color 0.3s ease;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border-radius: 0;
}


/* ==========================
   iconos del menu
========================== */
/* Íconos en submenús */
.menu ul.mod-menu__sub li a i {
  font-size: 0.9rem;
}


/* Iconos automáticos según alias */
.menu ul.mod-menu li.nav-item a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  margin-right: 0.5rem;
}

/* matriculacion(carro) */
.menu ul.mod-menu li.nav-item.matriculacion a::before {
  content: "\f5e4";
  /* fa-car-side */
}

.menu ul.mod-menu li.nav-item.revision a::before {
  content: "\f5e4";
  /* fa-car-side */
}


/* INICIO */
.menu ul.mod-menu li.nav-item.emovtt a::before {
  content: "\f015";
  /* fa-house */
}

/* CONTACTO */
.menu ul.mod-menu li.nav-item.contactos a::before {
  content: "\f095";
  /* fa-phone */
}

/* CONTACTO */
.menu ul.mod-menu li.nav-item.buses a::before {
  content: "\f207";
  /* fa-phone */
}

/* TRANSPARENCIA */
.menu ul.mod-menu li.nav-item.trans a::before {
  content: "\f06e";
  /* fa-file-alt */
}



/* SERVICIOS */
.menu ul.mod-menu li.nav-item.servicios a::before {
  content: "\f0ad";
  /* fa-tools */
}

/* NOTICIAS */
.menu ul.mod-menu li.nav-item.noticias a::before {
  content: "\f1ea";
  /* fa-newspaper */
}



/* MISIÓN */
.menu ul.mod-menu li.nav-item.mision a::before {
  content: "\f140";
  /* fa-bullseye */
}




/* poa */
.menu ul.mod-menu li.nav-item.poa a::before {
  content: "\f002";
  /* fa-file-alt */
}

/* lotaip */
.menu ul.mod-menu li.nav-item.lotaip a::before {
  content: "\f0a8";
  /* fa-file-alt */
}

/* rendicion */
.menu ul.mod-menu li.nav-item.rendicion a::before {
  content: "\f06e";
  /* fa-file-alt */
}

/* servicio de matriculacion */
.menu ul.mod-menu li.nav-item.servicio a::before {
  content: "\f0ad";
  /* fa-file-alt */
}

/* calendario de matriculacion */
.menu ul.mod-menu li.nav-item.calendario a::before {
  content: "\f073";
  /* fa-file-alt */
}


/* solicitud en linea  */
.menu ul.mod-menu li.nav-item.solicitud a::before {
  content: "\f4ad";
  /* fa-file-alt */
}



/* ===== Carrusel Custom ===== */
/* Altura adaptable del slider */
.custom-slider {
  max-height: 100vh;
  overflow: hidden;
}

/* Imagenes adaptables */
.slider-image {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: block;
}

.carousel-control-prev,
.carousel-control-next {
  width: 70px;
  height: 70px;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.85);
  /* círculo blanco semitransparente */
  border-radius: 50%;
  transition: all 0.35s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  opacity: 0.85;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 30px;
  height: 30px;
  background-size: 100% 100%;
  filter: invert(40%) sepia(100%) saturate(500%) hue-rotate(350deg);
  /* Color rojo suave */
  transition: all 0.3s ease-in-out;
}

/* Hover animado con escalado y sombra */
.carousel-control-prev:hover,
.carousel-control-next:hover {
  transform: translateY(-50%) scale(1.2);
  background-color: #ffffff;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
  opacity: 1;
}

.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon {
  transform: scale(1.3);
  filter: invert(19%) sepia(90%) saturate(7482%) hue-rotate(350deg) brightness(95%) contrast(100%);
}

/* Posición más centrada horizontalmente */
.carousel-control-prev {
  left: 40px;
}

.carousel-control-next {
  right: 40px;
}

/* Transición suave de las imágenes */
.carousel-item {
  transition: opacity 1s ease-in-out;
}






/* ==========================
   RESPONSIVE
========================== */
@media (max-width: 768px) {

  /* Centrar el logo en móvil */
  .logo {
    flex: 1 0 100%;
    /* ocupa todo el ancho */
    display: flex;
    justify-content: center;
    /* centro horizontal */
    align-items: center;
    /* centro vertical */
    order: 1;
    /* para que aparezca en medio si hay otros elementos */
    text-align: center;
  }

  .logo img {
    max-height: 60px !important;
    height: auto;
  }

  .slider-img {
    max-height: 400px;
  }

  .carousel-control-prev,
  .carousel-control-next {
    width: 20px;
    height: 20px;
  }

  .carousel-control-prev-icon,
  .carousel-control-next-icon {
    width: 15px;
    height: 15px;
  }
}

/* ==========================
   ANIMACIONES
========================== */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/********* PUSH DEL CONTENIDO (no el menú/overlay) *********/
html,
body {
  width: 100%;
  overflow-x: hidden;
}

body.push>*:not(.mobile-menu):not(#mobileMenu):not(.mobile-overlay):not(#mobileOverlay) {
  transform: translateX(50vw);
  transition: transform .30s ease;
}

/********* DRAWER 50vw + OVERLAY *********/
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  height: 100dvh;
  width: 50vw;
  background: #0f2b4d;
  color: #fff;
  z-index: 999;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .30s ease;
  box-shadow: 0 0 30px rgba(0, 0, 0, .35);
}

.mobile-menu.show {
  transform: translateX(0);
}

.mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .45);
  z-index: 998;
  display: none;
}

.mobile-overlay.active {
  display: block;
}

/********* HEADER DEL DRAWER *********/
.mobile-menu-header {
  background: #0f2b4d;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  /* el alto real lo iguala el JS; esto es fallback */
  padding: .8rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.drawer-brand {
  display: flex;
  align-items: center;
}

.drawer-brand img {
  max-height: 40px;
}

/* Sin “X” (cerramos con overlay o hamburguesa) */
.mobile-menu-header .close-menu,
.mobile-menu-header #btnCloseMenu,
.mobile-menu-header .btn-close,
.mobile-menu-header [aria-label="Cerrar menú"] {
  display: none !important;
}

.mobile-menu-header::after {
  content: none !important;
}

/********* LISTA PRINCIPAL + SUBMENÚ (look unificado) *********/
.mobile-nav .mod-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav .mod-menu>li {
  border-bottom: 1px solid rgba(255, 255, 255, .085);
}

.mobile-nav .mod-menu>li>a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .6rem;
  padding: .9rem 1rem;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  /* evita quiebres raros */

}

/* Padre con flecha */
.mobile-nav li.parent>a {
  position: relative;
  padding-right: 1.75rem;
}

.mobile-nav li.parent>a::after {
  content: '›';
  position: absolute;
  right: .9rem;
  top: 50%;
  transform: translateY(-50%) rotate(0);
  transition: transform .2s ease;
  opacity: .9;
}

.mobile-nav li.parent.open>a::after {
  transform: translateY(-50%) rotate(90deg);
}

/* Submenús */
.mobile-nav .mod-menu__sub {
  display: none;
  background: #112e4f;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.mobile-nav li.open>.mod-menu__sub {
  display: block;
}

.mobile-nav .mod-menu__sub>li {
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.mobile-nav .mod-menu__sub>li>a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: .75rem 1rem .75rem 1.4rem;
  color: #e9f0f8;
  text-decoration: none;
  font-size: .96rem;
}

.mobile-nav .mod-menu__sub>li>a:hover {
  background: #1d4f7a;
}

/********* HAMBURGUESA BLANCA *********/
:root {
  --hb-w: 26px;
  --hb-h: 3px;
  --hb-gap: 6px;
}


.hamburger {
  position: absolute;
  width: var(--hb-w);
  height: calc(var(--hb-h)*3 + var(--hb-gap)*2);
  display: inline-block;
  border: 0;
  background: transparent;
  padding: 6px;
  cursor: pointer;
  z-index: 1001;
}

.hamburger span {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  height: var(--hb-h);
  background: #fff;
  border-radius: 2px;
  transition: transform .25s ease, opacity .2s ease;
  transform-origin: center;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  top: calc(var(--hb-h) + var(--hb-gap));
}

.hamburger span:nth-child(3) {
  top: calc((var(--hb-h) + var(--hb-gap)) * 2);
}

.hamburger.is-active span:nth-child(1) {
  transform: translateY(calc(var(--hb-gap) + var(--hb-h))) rotate(45deg);
}

.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}

.hamburger.is-active span:nth-child(3) {
  transform: translateY(calc(-1 * (var(--hb-gap) + var(--hb-h)))) rotate(-45deg);
}






/********* ICONOS FA6 POR ALIAS (MENÚ MÓVIL) *********/
:root {
  --icon-w: 22px;
  --icon-fs: 1rem;
}

/* Normalizar icono tanto si es ::before como si es <i> */
.mobile-nav .mod-menu>li>a,
.mobile-nav .mod-menu__sub>li>a {
  gap: 12px;
}

.mobile-nav .mod-menu li.nav-item>a::before,
.mobile-nav .mod-menu__sub li.nav-item>a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: '';
  display: inline-block;
  width: var(--icon-w);
  min-width: var(--icon-w);
  text-align: center;
  font-size: var(--icon-fs);
  line-height: 1;
  color: #fff;
  margin: 0;
}

.mobile-nav .mod-menu a i[class^="fa"],
.mobile-nav .mod-menu a i[class*=" fa"] {
  width: var(--icon-w);
  min-width: var(--icon-w);
  text-align: center;
  font-size: var(--icon-fs);
  line-height: 1;
  color: #fff;
}

.mobile-nav .mod-menu__sub a i {
  color: #e9f0f8;
}

/* Mapear alias -> ícono */
.mobile-nav .mod-menu li.nav-item.emovtt>a::before {
  content: "\f015";
}

/* casa */
.mobile-nav .mod-menu li.nav-item.noticias>a::before {
  content: "\f1ea";
}

/* newspaper */
.mobile-nav .mod-menu li.nav-item.trans>a::before {
  content: "\f5e4";
}

/* file-alt */
.mobile-nav .mod-menu li.nav-item.contactos>a::before {
  content: "\f095";
}

/* file-alt */
.mobile-nav .mod-menu li.nav-item.buses>a::before {
  content: "\f207";
}


/* phone */
.mobile-nav .mod-menu li.nav-item.matriculacion>a::before {
  content: "\f5e4";
}

/* phone */
.mobile-nav .mod-menu li.nav-item.revision>a::before {
  content: "\f5e4";
}


/* car-side */
.mobile-nav .mod-menu li.nav-item.solicitud>a::before {
  content: "\f4ad";
}

/* file-signature */

.mobile-nav .mod-menu__sub li.nav-item.poa>a::before {
  content: "\f002";
}

/* search */
.mobile-nav .mod-menu__sub li.nav-item.lotaip>a::before {
  content: "\f0a8";
}

/* file-lines (mejor que flecha) */
.mobile-nav .mod-menu__sub li.nav-item.rendicion2>a::before {
  content: "\f06e";
}

.mobile-nav .mod-menu__sub li.nav-item.mision>a::before {
  content: "\f140";
}

.mobile-nav .mod-menu__sub li.nav-item.servicio>a::before {
  content: "\f0ad";
}

.mobile-nav .mod-menu__sub li.nav-item.calendario>a::before {
  content: "\f073";
}


/********* DESKTOP *********/
@media (min-width:768px) {
  .hamburger {
    display: none;
  }

  .mobile-menu,
  .mobile-overlay {
    display: none !important;
  }
}


/* Estilo de los íconos */
.topbar-social a {
  color: #ffffff;
  font-size: 25px;
  line-height: 1;
  transition: all 0.3s ease;
}

/* Ajuste en pantallas pequeñas */
@media (max-width: 768px) {
  .topbar-social .topbar-inner {
    justify-content: center;
    /* En móvil centramos */
    gap: 25px;
  }

  .topbar-social a {
    font-size: 20px;
  }
}


  /* Mantener footer al fondo */
  html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
  }
  body > .emv-wrap {
    margin-top: auto;
  }

  /* Barra principal del footer */
  .emv-bar {
    background: #3180c2;
    color: #fff;
    padding: 40px 20px;
    text-align: center;
  }

  /* Contenedor de íconos */
  .emv-icons {
    display: flex;
    justify-content: center;
    gap: 40px; /* separación entre íconos */
    margin-bottom: 20px;
  }

  /* Círculos */
  .emv-circle {
    width: 90px; /* más grandes */
    height: 90px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,.28);
    transition: transform .15s ease;
  }
  .emv-circle:hover {
    transform: translateY(-4px);
  }
  .emv-circle img {
    width: 44px;
    height: 44px;
    object-fit: contain;
  }

  /* Logo y derechos */
  .emv-row {
    margin-bottom: 10px;
  }
  .emv-logo img {
    height: 70px;
    max-width: 240px;
  }
  .emv-rights {
    font-size: 14px;
  }

  /* Responsive móvil */
  @media (max-width: 768px) {
    .emv-icons {
      flex-wrap: wrap;
      gap: 20px;
    }
    .emv-circle {
      width: 70px;
      height: 70px;
    }
    .emv-circle img {
      width: 34px;
      height: 34px;
    }
    .emv-logo img {
      height: 60px;
    }
  }


/* ===== Ajustes responsive del módulo EMOVTT Footer ===== */
/* Ocultar íconos del footer en teléfonos */
@media (max-width: 576px){  /* puedes subir a 640/768 si quieres ocultarlos también en tablets */
  .emv-icons{ display:none !important; }
  /* Ajusta el padding para que el bloque no quede alto de más */
  .emv-bar{ padding: 14px 0 10px; }
  .emv-logo img{ height: 42px; }      /* opcional: logo un poco más pequeño */
  .emv-rights{ font-size: 12px; }      /* opcional */
}



.top-banner img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    transition: transform 0.3s ease;
}

.top-banner img:hover {
    transform: scale(1.02);
}

/* Cards con efecto sutil */
.contacto-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contacto-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

/* Íconos */
.icon-wrap {
    font-size: 2rem;
    color: #007bff;
}

/* Mapa */
.map-embed iframe {
    border-radius: 6px;
}




.banner-container {
    margin-top: 0;
    width: 100%;
}
/* Banner solo visual */
.top-banner img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

/* Animación sutil al pasar */
.top-banner img:hover {
    transform: scale(1.01);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    cursor: default !important; /* 👈 siempre flecha normal */
}


/* Cards con efecto sutil */
.contacto-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contacto-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

/* Íconos */
.icon-wrap {
    font-size: 2rem;
    color: #007bff;
}



/* ====== Tarjetas y mapa con estilo profesional ====== */
.contacto-emovtt .contacto-card,
.map-embed {
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  border-radius: 16px;
  background: #fff;
  transition: all 0.25s ease;
}

.contacto-emovtt .contacto-card:hover,
.map-embed:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  transform: translateY(-4px);
}

.contacto-emovtt .card-body {
  padding: 1.25rem;
}

.ext-title {
  letter-spacing: .04em;
  font-weight: 700;
}

.contacto-extensiones .table {
  --bs-table-bg: transparent;
}
.contacto-extensiones td {
  padding: .55rem .25rem;
}

/* ====== Iconos por CSS (mask SVG) ====== */
.icon-wrap {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #eaf3ff;
  flex: 0 0 auto;
}
.icon-wrap::after {
  content: "";
  position: absolute;
  inset: 10px;
  background: #0d6efd;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
/* Teléfono */
.icon-phone::after {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" viewBox="0 0 24 24"><path stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M2 5a2 2 0 0 1 2-2h.28A2 2 0 0 1 6.22 4.52l.57 2.28a2 2 0 0 1-.45 1.86l-1 1a16 16 0 0 0 6.34 6.34l1-1a2 2 0 0 1 1.86-.45l2.28.57A2 2 0 0 1 21 18.72V19a2 2 0 0 1-2 2h-1C9.82 21 3 14.18 3 6V5Z"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" viewBox="0 0 24 24"><path stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M2 5a2 2 0 0 1 2-2h.28A2 2 0 0 1 6.22 4.52l.57 2.28a2 2 0 0 1-.45 1.86l-1 1a16 16 0 0 0 6.34 6.34l1-1a2 2 0 0 1 1.86-.45l2.28.57A2 2 0 0 1 21 18.72V19a2 2 0 0 1-2 2h-1C9.82 21 3 14.18 3 6V5Z"/></svg>');
}
/* Ubicación */
.icon-location::after {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" viewBox="0 0 24 24"><path stroke-width="2" d="M12 21s-6-5.373-6-10a6 6 0 1 1 12 0c0 4.627-6 10-6 10Z"/><circle cx="12" cy="11" r="2"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" viewBox="0 0 24 24"><path stroke-width="2" d="M12 21s-6-5.373-6-10a6 6 0 1 1 12 0c0 4.627-6 10-6 10Z"/><circle cx="12" cy="11" r="2"/></svg>');
}
/* Correo */
.icon-mail::after {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" viewBox="0 0 24 24"><path stroke-width="2" d="M4 6h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z"/><path stroke-width="2" d="m22 8-10 6L2 8"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" viewBox="0 0 24 24"><path stroke-width="2" d="M4 6h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z"/><path stroke-width="2" d="m22 8-10 6L2 8"/></svg>');
}

/* ====== Mapa embed ====== */
.map-embed iframe {
  width: 100%;
  aspect-ratio: 16/10;
  height: auto;
  display: block;
  border: 0;
}
@supports not (aspect-ratio: 1 / 1) {
  .map-embed { position: relative; padding-top: 62.5%; }
  .map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
}
/* Fallback oculto si hay iframe */
.map-embed iframe + .map-fallback,
.map-embed .map-fallback + iframe {
  display: none;
}




/* Banner clickeable como botón */
.top-banner .banner-link{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:10px;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  cursor:pointer;                    /* 👈 puntero de botón */
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.top-banner .banner-link:hover{
  transform: translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  filter:saturate(1.03);
}
.top-banner .banner-link:active{
  transform: translateY(0) scale(.99);  /* “click” feel */
}
.top-banner .banner-link:focus-visible{
  outline: 3px solid #0d6efd;           /* accesible al tab */
  outline-offset: 3px;
}
.top-banner .banner-link img{
  display:block; width:100%; height:auto;
}





/* ===== Rendición de Cuentas (article-safe) ===== */
.rendicion { background:#fff; }

/* Tarjeta izquierda */
.rc-card{
  position:relative; overflow:hidden; border-radius:16px;
  margin:0; background:#f3f6fb; display:block;
  box-shadow:0 6px 18px rgba(0,0,0,.06); border:1px solid rgba(0,0,0,.06);
  transition:transform .2s ease, box-shadow .2s ease;
}
.rc-card:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(0,0,0,.12); }
.rc-card img{ display:block; width:100%; height:auto; aspect-ratio: 16/9; object-fit:cover; }
.rc-card figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:12px 14px; color:#fff;
  background: linear-gradient(0deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 65%);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}

/* Tarjeta derecha (lista) */
.rc-list.card{
  border-radius:16px; border:1px solid rgba(0,0,0,.06);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.rc-links{
  list-style:none; padding:0; margin:0;
  display:grid; gap:.35rem;
}
.rc-links li a{
  display:flex; align-items:center; gap:.5rem;
  padding:.5rem .25rem .5rem 0;
  text-decoration:none; border-radius:10px; color:#0d6efd;
  transition:background .15s ease, transform .15s ease;
}
.rc-links li a:hover{
  background:rgba(13,110,253,.06);
  transform:translateX(2px);
}

/* Bullet con ícono (SVG, sin depender de FA) */
.rc-links li a::before{
  content:""; width:18px; height:18px; flex:0 0 18px; background:#0d6efd;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M4 4h13a3 3 0 0 1 3 3v13l-4-4H7a3 3 0 0 1-3-3V4z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M4 4h13a3 3 0 0 1 3 3v13l-4-4H7a3 3 0 0 1-3-3V4z"/></svg>') center/contain no-repeat;
  opacity:.9;
}

/* Responsive tweaks */
@media (max-width: 991.98px){
  .rc-card img{ aspect-ratio: 21/9; }
}
@media (max-width: 575.98px){
  .rc-card img{ aspect-ratio: 16/10; }
}




/* Contenedor del banner */
.home-banner {
  width: 100%;
  max-width: 100%;
  overflow: hidden; /* evita scroll si hay recorte */
}

/* Imagen del banner */
.home-banner img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Ajustes para pantallas pequeñas */
@media (max-width: 768px) {
  .home-banner img {
    height: auto; /* altura fija en móvil */
    object-fit: cover; /* recorta la imagen */
    object-position: center; /* centra el recorte */
  }
}







/* Noticias  */
/* ===== Noticias (Category Blog) ===== */
.emv-news .blog-items-leading .blog-item {
  display: grid;
  gap: 1rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  overflow: hidden;
  padding: 0; /* la imagen va al borde */
  margin-bottom: 1.25rem;
}

/* Imagen principal grande (leading) con relación 16:9 */
.emv-news .blog-items-leading .blog-item .item-image img,
.emv-news .blog-items-leading .blog-item figure img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
}

/* Contenido del leading */
.emv-news .blog-items-leading .blog-item .article-body,
.emv-news .blog-items-leading .blog-item .content,
.emv-news .blog-items-leading .blog-item .article-info + * {
  padding: 1.25rem 1.25rem 1.5rem;
}

.emv-news .blog-items-leading .blog-item h2,
.emv-news .blog-items-leading .blog-item h1 {
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
  line-height: 1.2;
  margin: .25rem 0 .5rem;
}

.emv-news .blog-items-leading .blog-item p {
  text-align: justify;           /* lo que pediste */
  margin-bottom: 1rem;
}

/* Botón Leer más */
.emv-news a.readmore,
.emv-news a.btn-readmore,
.emv-news .readmore a {
  display: inline-block;
  padding: .55rem 1rem;
  border-radius: 10px;
  border: 1px solid #ddd;
  text-decoration: none;
  font-weight: 600;
  transition: transform .15s ease, box-shadow .15s ease;
}
.emv-news a.readmore:hover,
.emv-news a.btn-readmore:hover,
.emv-news .readmore a:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

/* ===== Grid de noticias pequeñas (intro items) ===== */
.emv-news .blog-items:not(.blog-items-leading) {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 576px){
  .emv-news .blog-items:not(.blog-items-leading){ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px){
  .emv-news .blog-items:not(.blog-items-leading){ grid-template-columns: repeat(3, 1fr); }
}

.emv-news .blog-items:not(.blog-items-leading) .blog-item {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.emv-news .blog-items:not(.blog-items-leading) .blog-item .item-image img,
.emv-news .blog-items:not(.blog-items-leading) .blog-item figure img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}

.emv-news .blog-items:not(.blog-items-leading) .blog-item .article-body,
.emv-news .blog-items:not(.blog-items-leading) .blog-item .content {
  padding: 0.9rem 1rem 1.1rem;
}

.emv-news .blog-items:not(.blog-items-leading) .blog-item h2 {
  font-size: 1rem;
  line-height: 1.25;
  margin: .25rem 0 .4rem;
}

.emv-news .blog-items:not(.blog-items-leading) .blog-item p {
  text-align: justify;           /* también justificado */
  font-size: .95rem;
  margin: 0 0 .75rem;
}

.emv-news .article-info,
.emv-news .published,
.emv-news .category-name {
  color: #6c757d;
  font-size: .82rem;
}

/* Espaciado general */
.emv-news .blog {
  margin-top: .75rem;
}



/* ===== Badges de categoría y vistas (emv-news) ===== */
.emv-news .article-info {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin: .25rem 0 .5rem;
}

/* Badge genérico */
.emv-news .article-info .category-name a,
.emv-news .article-info .hits,
.emv-news .article-info .published,
.emv-news .article-info .createdby {
  display: inline-block;
  padding: .28rem .65rem;
  border-radius: 999px;
  background: #f1f3f5;
  color: #333;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

/* Iconitos (si tienes Font Awesome cargado) */
.emv-news .article-info .category-name a::before {
  content: "#";
  margin-right: .35rem;
  opacity: .7;
}
.emv-news .article-info .hits::before {
  content: "\f06e";                 /* fa-eye */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4rem;
  opacity: .75;
}

/* Leading (la grande) un pelín más pro */
.emv-news .blog-items-leading .article-info {
  gap: .6rem;
}
.emv-news .blog-items-leading .article-info .category-name a,
.emv-news .blog-items-leading .article-info .hits {
  background: #eef2ff;
}

/* Meta más discreta en las pequeñas */
.emv-news .blog-items:not(.blog-items-leading) .article-info {
  font-size: .86rem;
}
.emv-news .img-wrap img{ height: 200px; object-fit: cover; }
.emv-news .blog > article .img-wrap img{ height: 380px; } /* leading grande */

/* LOTAIP  */
 #art7 .art7-intro { border: 1px solid #e9ecef; }
  #art7 .year-btn { border-radius: 999px; padding-inline: .9rem; }
  #art7 .year-btn[aria-selected="true"], #art7 .year-btn.active {
    color: #fff; background-color: #0d6efd; border-color: #0d6efd;
  }
  #art7 .accordion-button { font-weight: 700; letter-spacing: .2px; }
  #art7 .accordion-item { border: 1px solid #e9ecef; border-radius: 12px; overflow: hidden; margin-bottom: .75rem; }
  #art7 .accordion-body { background: #fff; }
  #art7 .art7-links a { text-decoration: none; }
  #art7 .art7-links a:hover { text-decoration: underline; }

  /* Responsive tweaks */
  @media (max-width: 576px){
    #art7 header h1 { font-size: 1.35rem; }
    #art7 .art7-intro { font-size: .95rem; }
    #art7 .year-btn { font-size: .85rem; }
  }





/* ===== Noticas: imágenes al 50% centradas ===== */
.emv-news .img-wrap {
  display: flex;
  justify-content: center;   /* centra horizontal */
}

.emv-news .img-wrap img {
  width: 50% !important;     /* mitad del contenedor */
  height: auto !important;    /* respeta proporción */
  object-fit: contain !important; /* evita recortes */
}

/* En móvil: que se vean a 100% para que no queden muy pequeñas */
@media (max-width: 576px){
  .emv-news .img-wrap img {
    width: 100% !important;
  }
}

/* Leading: convertir el <a.img-wrap> en flex y centrar */
.emv-news > article:first-child .img-wrap{
  display: flex !important;      /* pisa .d-block */
  justify-content: center;
}

/* Leading: imagen al 50% centrada (pisa .w-100 de Bootstrap) */
.emv-news > article:first-child .img-wrap img{
  width: 50% !important;
  max-width: 50% !important;
  height: auto !important;
  margin: 0 auto;
}

/* En móvil: que ocupe todo el ancho */
@media (max-width: 576px){
  .emv-news > article:first-child .img-wrap img{
    width: 100% !important;
    max-width: 100% !important;
  }
}





  /* PAC POA */

    /* Contenedor visual del ícono / imagen */
   /* Contenedor visual del ícono / imagen */
  #pacs .pacs-figure {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    aspect-ratio: 16/10; /* ⬅ más compacto */
    padding: .2rem;
    box-shadow: 0 4px 15px rgba(0,0,0,.15); /* ⬅ más sombra */
    transition: box-shadow 0.3s ease;
  }

  /* Hover para más efecto */
  #pacs .pacs-figure:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,.25);
  }

  /* Imagen centrada y contenida */
  #pacs .pacs-figure > img {
    max-width:80%;
    max-height: 80%;
    width: 70%;
    height: 70%;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
  }

  /* Badge PDF */
  #pacs .pacs-badge {
    position: absolute;
    top: .6rem;
    left: .6rem;
    font-size: .75rem;
    line-height: 1;
    padding: .35rem .5rem;
    background: #dc2626;
    color: #fff;
    border-radius: .5rem;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(220,38,38,.25);
  }

  /* Responsive */
  @media (max-width: 768px) {
    #pacs .pacs-figure { aspect-ratio: 16/9; }
  }
  @media (max-width: 576px) {
    #pacs .pacs-figure { aspect-ratio: 4/3; }
  }




  /*Fases de la rendicion de cuentas */

  /* =========================
   Rendición de Cuentas 2024
   CSS estable (sin dependencias raras)
   ========================= */

/* Títulos */
.rc24-title{
  font-weight:800; letter-spacing:.3px; text-transform:uppercase;
  color:#0d6efd; margin-bottom:.2rem;
}
.rc24-subtitle{
  color:#6c757d; text-transform:uppercase; letter-spacing:.6px;
}

/* Tarjetas de literales a, b, c, d */
.rc24-card{
  display:block; text-decoration:none;
  border:1px solid #e9ecef; border-radius:14px;
  background:#fff; height:100%;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rc24-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(13,110,253,.12);
  border-color:#cfe2ff;
}
.rc24-card-body{
  padding:16px 18px; display:flex; gap:12px; align-items:flex-start;
}
.rc24-badge{
  flex:0 0 auto; width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px; background:#eef5ff; color:#0d6efd; font-weight:700;
}
.rc24-card-title{ font-weight:700; color:#212529; line-height:1.25; }
.rc24-card-meta{ font-size:.85rem; color:#6c757d; margin-top:2px; }

/* Acordeón (fases) */
.rc24-acc .accordion-item{
  border:1px solid #e9ecef; border-radius:14px; overflow:hidden;
  margin-bottom:10px; background:#fff;
}
.rc24-acc-btn{
  font-weight:700; background:linear-gradient(180deg,#f7faff,#f1f6ff); color:#0d6efd;
}
.rc24-acc .accordion-button:not(.collapsed){
  color:#0b5ed7; background:#e7f1ff; box-shadow: inset 0 -1px 0 rgba(0,0,0,.05);
}
.rc24-acc .accordion-button::after{ filter:hue-rotate(190deg) saturate(160%); }

/* Lista de enlaces dentro de cada fase */
/* 1) Reset y estructura */
.rc24-list{ list-style:none; padding-left:0; margin:0; }
.rc24-list li{
  position:relative;
  padding:10px 12px 10px 1.75rem;   /* espacio para el bullet */
  border-bottom:1px dashed #e9ecef;
}
.rc24-list li:last-child{ border-bottom:0; }

/* 2) Quitar iconos rotos heredados de otros estilos */
.rc24-list a::before{
  content:none !important; display:none !important;
}

/* 3) Bullet sólido y confiable */
.rc24-list li::before{
  content:'•';
  position:absolute; left:0; top:.35rem;
  font-size:1.35rem; line-height:1;
  color:var(--bs-primary, #0d6efd);
}

/* 4) Enlaces */
.rc24-list a{
  text-decoration:none; color:#0d6efd; font-weight:600;
}
.rc24-list a:hover{ text-decoration:underline; }

/* 5) Chapita PDF automática (si el href termina en .pdf) */
.rc24-list a[href$=".pdf"]::after{
  content:'PDF';
  margin-left:.5rem;
  font-size:.75rem;
  padding:.15rem .4rem;
  border-radius:.35rem;
  background:#eef5ff;
  color:var(--bs-primary, #0d6efd);
}

/* Chips de archivos adicionales */
.rc24-section-title{
  font-weight:800; color:#0d6efd; text-transform:uppercase; margin-bottom:12px;
}
.rc24-chip{
  display:flex; align-items:center; gap:10px;
  border:1px solid #e9ecef; border-radius:999px; padding:10px 14px;
  background:#fff; color:#0d6efd; text-decoration:none; font-weight:600;
  transition: all .2s ease;
}
.rc24-chip:hover{ background:#eef5ff; border-color:#cfe2ff; }
.rc24-chip i{ color:#0d6efd; }

/* Navegación superior (chips) */
.rc24-nav .btn{ border-radius:999px; padding:.35rem .9rem; }
.rc24-nav .btn.active{
  color:#fff; background-color:var(--bs-primary,#0d6efd); border-color:var(--bs-primary,#0d6efd);
}

/* Responsivo fino */
@media (max-width: 576px){
  .rc24-card-body{ padding:14px 14px; }
  .rc24-badge{ width:32px; height:32px; }
  .rc24-card-title{ font-size:.98rem; }
  .rc24-list li{ padding:10px 6px 10px 1.6rem; }
  .rc24-list a{ font-size:.98rem; }
}




/* Enlace bonito + etiqueta PDF (opcional) */
.rc24-list a{
  text-decoration: none;
}
.rc24-list a:hover{
  text-decoration: underline;
}

.rc24-list a::after{
  content: 'PDF';
  margin-left: .5rem;
  font-size: .75rem;
  padding: .15rem .4rem;
  border-radius: .35rem;
  background: #ffeeee;
  color: var(--bs-primary, #f50202);
}

  /* Mision- Vision */
  /* ====== Scope solo dentro del artículo ====== */
   
    #corp-vmi{
      --c-text:#1f2937;            /* gris 800 */
      --c-muted:#6b7280;           /* gris 500 */
      --c-border:#e5e7eb;          /* gris 200 */
      --c-bg:#ffffff;              /* fondo tarjetas */
      --c-accent:#0d6efd;          /* azul Bootstrap (sobrio) */
      color:var(--c-text);
      font-size:clamp(15px, .95rem + .2vw, 16.5px);
      line-height:1.65;
    }

    /* Contenido centrado */
    #corp-vmi .content{
      max-width: 980px;
      margin-inline:auto;
    }

    /* Títulos */
    #corp-vmi .h-title{
      font-weight: 800;
      letter-spacing:.2px;
      line-height:1.2;
      margin: 0 0 .25rem;
      font-size:clamp(1.4rem, 1rem + 1.2vw, 2rem);
      color:#111827;
      text-transform:uppercase;
    }

    /* Subtítulo */
    #corp-vmi .sub{
      color:var(--c-muted);
      font-size:.96rem;
      margin: 0 0 1rem;
    }

    /* Tarjeta */
    #corp-vmi .card{
      background:var(--c-bg);
      border:1px solid var(--c-border);
      border-radius:12px;
      padding: clamp(16px, 2vw, 24px);
      box-shadow: 0 4px 14px rgba(0,0,0,.04);
    }

    /* Separador */
    #corp-vmi .divider{
      height:1px;
      background:var(--c-border);
      margin: .75rem 0 1rem;
    }

    /* Lista de objetivos */
    #corp-vmi .obj{
      margin:0; 
      padding-left: 1.1rem;
      display:grid; 
      gap:.55rem;
    }
    #corp-vmi .obj li{ margin:0; }

    /* Texto justificado */
    #corp-vmi p, 
    #corp-vmi li{
      text-align: justify;
    }

    /* Enlaces */
    #corp-vmi a{
      color:var(--c-accent);
      text-decoration: none;
    }
    #corp-vmi a:hover{ text-decoration: underline; }



    /* matriculacion */
     /* ===== Scope solo dentro del artículo ===== */
    #corp-vmi{
      --c-text:#1f2937;            /* gris 800 */
      --c-muted:#6b7280;           /* gris 500 */
      --c-border:#e5e7eb;          /* gris 200 */
      --c-bg:#ffffff;              /* fondo tarjetas */
      --c-accent:#0d6efd;          /* azul Bootstrap (sobrio) */
      color:var(--c-text);
      font-size:clamp(15px, .95rem + .2vw, 16.5px);
      line-height:1.65;
    }

    /* Contenido centrado */
    #corp-vmi .content{
      max-width: 980px;
      margin-inline:auto;
    }

    /* Títulos */
    #corp-vmi .h-title{
      font-weight: 800;
      letter-spacing:.2px;
      line-height:1.2;
      margin: 0 0 .25rem;
      font-size:clamp(1.4rem, 1rem + 1.2vw, 2rem);
      color:#111827;
      text-transform:uppercase;
    }

    /* Subtítulo */
    #corp-vmi .sub{
      color:var(--c-muted);
      font-size:.96rem;
      margin: 0 0 1rem;
    }

    /* Tarjeta */
    #corp-vmi .card{
      background:var(--c-bg);
      border:1px solid var(--c-border);
      border-radius:12px;
      padding: clamp(16px, 2vw, 24px);
      box-shadow: 0 4px 14px rgba(0,0,0,.04);
    }

    /* Separador */
    #corp-vmi .divider{
      height:1px;
      background:var(--c-border);
      margin: .75rem 0 1rem;
    }

    /* Lista de objetivos */
    #corp-vmi .obj{
      margin:0; 
      padding-left: 1.1rem;
      display:grid; 
      gap:.55rem;
    }
    #corp-vmi .obj li{ margin:0; }

    /* Texto justificado */
    #corp-vmi p, 
    #corp-vmi li{
      text-align: justify;
    }

    /* Enlaces */
    #corp-vmi a{
      color:var(--c-accent);
      text-decoration: none;
    }
    #corp-vmi a:hover{ text-decoration: underline; }



     /* ===== Estilos scoped para este artículo (no rompe otras vistas) ===== */
  #serv-matric-emovtt .em-justify{
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }
  #serv-matric-emovtt .object-fit-cover{
    object-fit: cover; /* que la imagen siempre llene sin deformarse */
  }
  /* Lista elegante con viñeta personalizada */
  #serv-matric-emovtt .em-list{
    list-style: none;
    padding-left: 0;
    margin: 0;
  }
  #serv-matric-emovtt .em-list li{
    position: relative;
    padding-left: 1.4rem;
    margin-bottom: .6rem;
    line-height: 1.35;
  }
  #serv-matric-emovtt .em-list li::before{
    content: "●";
    color: #0d6efd;        /* primario Bootstrap */
    position: absolute;
    left: 0;
    top: 0;
    font-size: .8rem;
    line-height: 1.6;
  }
  #serv-matric-emovtt a{
    text-decoration: none;
  }
  #serv-matric-emovtt a:hover{
    text-decoration: underline;
  }
  /* Botones tipo chip */
  #serv-matric-emovtt .em-btn{
    white-space: normal;     /* que el texto haga wrap */
    text-align: left;
  }

  /* Ajustes responsive finos */
  @media (max-width: 576px){
    #serv-matric-emovtt h1{ font-size: 1.35rem; }
    #serv-matric-emovtt .lead{ font-size: 1rem; }
  }


  /*calendario de matriculacion*/
   #ant-cal p,
  #ant-cal li,
  #ant-cal .card-body { 
    text-align: justify; 
    text-justify: inter-word; 
    hyphens: auto;
  }

  /* Caja que imita el marco de la tabla del ejemplo */
  #ant-cal .cal-box{
    border: 1px solid #cfd8e3;
    border-radius: .25rem;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(16,24,40,.04);
  }
  #ant-cal .cal-box-header{
    background: #d7e7f6;      /* franja azul clara como en la captura */
    color: #1f2937;
    text-align: center;
    font-weight: 700;
    padding: .6rem 1rem;
    border-bottom: 1px solid #cfd8e3;
  }

  /* Ajustes responsive sutiles */
  @media (max-width: 576px){
    #ant-cal h1{ font-size: 1.2rem; }
  }




  /* solicitud en linea */
  /* ===== Theme vars (ajusta a tu gusto) ===== */
/* === Parche: que el fondo gris cubra TODO hasta el botón === */
#den-form{
  --panel-bg: #e9edf3;          /* gris elegante */
  --panel-border: #dbe3ea;
  --panel-shadow: 0 10px 30px rgba(16,24,40,.12), 0 2px 8px rgba(16,24,40,.08);

  background: var(--panel-bg);      /* ✅ AHORA el gris va en todo el SECTION */
  border: 1px solid var(--panel-border);
  border-radius: 16px;
  box-shadow: var(--panel-shadow);
  padding: 22px;                    /* padding interno del panel */
}

/* El wrapper ya no necesita fondo propio */
#den-form .den-wrapper{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

/* Evitar “hueco” por colapso de márgenes del último hijo */
#den-form .den-wrapper > *:last-child{ margin-bottom: 0 !important; }
#den-form form .d-flex:last-child{ margin-bottom: 0 !important; }

/* (Opcional) separa un poco el botón del borde del panel */
#den-form form .d-flex{ padding-bottom: 6px; }

/* Mantener estilo de cards blancas internas */
#den-form .card{ background: transparent; border-radius:12px; }
/* Opcional: forzar gris en el article que envuelve al SECTION */
.item-page #den-form{ background: var(--panel-bg); }

/* Añade un * rojo a cualquier control requerido al lado del label */
#den-form label:has(+ input[required]),
#den-form label:has(+ textarea[required]),
#den-form label:has(+ select[required]){ position:relative; }

#den-form label:has(+ input[required])::after,
#den-form label:has(+ textarea[required])::after,
#den-form label:has(+ select[required])::after{
  content:" *";
  color:#dc2626;
  font-weight:700;
}

.top-banner + .pagination,
.top-banner + .counter {
  display: none !important;
}




/*noticias */ 
/* ====== Article: Noticia Detalle (scope local) ====== */
.noticia-detalle .nd-content{ max-width:100%; margin-inline:auto; }
.noticia-detalle .nd-title{ line-height:1.2; }

/* HERO responsive: nunca se deforma */
.noticia-detalle .nd-hero{
  width:100%;
  aspect-ratio:16/9;               /* reserva espacio, evita saltos */
  background:#f6f7fb;
  border-radius:1rem;
  overflow:hidden;
  box-shadow:0 .25rem .5rem rgba(0,0,0,.06);
}
.noticia-detalle .nd-hero img{
  width:100%; height:100%;
  object-fit:contain;              /* ver imagen completa */
  object-position:center;
  display:block;
}
/* Si prefieres que la imagen RELLENE (recortando un poco), usa cover: */
/* .noticia-detalle .nd-hero img{ object-fit:cover; } */

@media (max-width:576px){
  .noticia-detalle .nd-hero{ aspect-ratio:auto; } /* alto natural en móviles chicos */
  .noticia-detalle .nd-hero img{ height:auto; }
}

/* Texto justificado */
.noticia-detalle .nd-text{
  text-align:justify;
  text-justify:inter-word;
}

/* Botones de tienda */
.noticia-detalle .btn-store{
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  border:2px solid #e9ecef; background:#fff; color:#0d6efd; font-weight:700;
  padding:.65rem .9rem; border-radius:.75rem;
  transition:transform .15s, box-shadow .15s, border-color .15s;
  text-decoration:none;
}
.noticia-detalle .btn-store:hover{
  transform:translateY(-1px);
  border-color:#cfe2ff;
  box-shadow:0 8px 20px rgba(13,110,253,.10);
}
.noticia-detalle .nd-android{ color:#198754; border-color:#d1e7dd; }
.noticia-detalle .nd-android:hover{ border-color:#a3cfbb; }
.noticia-detalle .nd-win{ color:#6c757d; }






/* Ocultar el botón "Alternar editor" del editor TinyMCE */
.js-tiny-toggler-button {
  display: none !important;
}



/* editor de texto */ 

/* Más margen debajo del input de correo */
.akeeba-engage input[type="email"].form-control {
  margin-bottom: 12px;
}

/* O agrega margen arriba del contenedor del editor JCE */
.akeeba-engage .mce-tinymce,              /* contenedor del editor */
.akeeba-engage .jce-container,            /* según versión */
.akeeba-engage .jce-frame {               /* fallback */
  margin-top: 12px !important;
}


/* Evita scroll innecesario dentro del área de edición */
.akeeba-engage .mce-content-body {
  min-height: 180px;
  overflow: auto;
}

.mceBranding {
    display: none !important;
}


.moovit-widget .card {
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  border-radius: 12px;
}
.moovit-widget .form-control {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
}





/* CONTACTO DE COOPERATIVAS DE BUSES */

#coops-contact .coop-logo{ width:84px; height:84px; object-fit:contain; }
  #coops-contact .card{ border-radius: 1rem; }
  #coops-contact .btn{ border-radius: .75rem; }
  .phone-pill{
    background: rgba(13,110,253,.08);
    color:#0d6efd;
    border:1px solid rgba(13,110,253,.3);
    border-radius:.75rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }
  @media (max-width: 575.98px){
    #coops-contact header h2{ font-size: 1.25rem; }
    #coops-contact .coop-logo{ width:64px; height:64px; }
  }






  /* === Base: no recortes nunca === */
#popupInicio .emv-media { background:#000; }
#popupInicio .emv-media iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
  object-fit: contain;   /* clave para que no recorte */
  background: #000;      /* barras negras elegantes */
}

/* === REEL VERTICAL (9:16) === */
#popupInicio .emv-aspect-9x16 {
  /* ancho razonable y centrado en desktop */
  width: clamp(280px, 38vw, 420px);
  margin-inline: auto;
  max-height: 82vh;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

/* === VIDEO HORIZONTAL (16:9) === */
#popupInicio .emv-aspect-16x9 {
  /* limita la anchura en desktop para que no quede gigante */
  width: clamp(320px, 72vw, 960px);
  margin-inline: auto;
  max-height: 82vh;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
}

/* === Tablets y móviles === */
@media (max-width: 992px) {
  #popupInicio .emv-aspect-9x16 { width: min(72vw, 420px); max-height: 78vh; }
  #popupInicio .emv-aspect-16x9 { width: 88vw;              max-height: 78vh; }
}

@media (max-width: 576px) {
  /* fullscreen “bonito” en phones */
  #popupInicio .modal-dialog { margin: .5rem; }
  #popupInicio .emv-aspect-9x16,
  #popupInicio .emv-aspect-16x9 { width: 100%; max-height: 76vh; }
}

/* (Opcional) aprovecha toda la pantalla en móvil */
@media (max-width: 576px) {
  #popupInicio .modal-dialog.modal-fullscreen-sm-down { margin: 0; }
}


