/* ===========================
   Botones de servicios
   =========================== */
.botones-servicios img {
  transition: transform .15s ease-in-out;
}

.botones-servicios img:hover {
  transform: translateY(-2px);
}

.redessocialeshead .btn {
  line-height: 1;
}

/* Tira horizontal en pantallas < 1200px */
@media (max-width: 1199.98px) {
  .botones-servicios {
    gap: .25rem;
  }

  .botones-servicios::-webkit-scrollbar {
    height: 6px;
  }
}

/* ===========================
   Navbar: dropdown estable + animado
   =========================== */
/* Transición sin interferir con Bootstrap */
.navbar .dropdown-menu {
  transition: opacity .2s ease, transform .2s ease;
  opacity: 0;
  transform: translateY(6px);
}

.navbar .dropdown-menu.show {
  opacity: 1;
  transform: translateY(0);
}

/* Móvil: el submenú se integra como lista, sin overlays */
@media (max-width: 991.98px) {
  .navbar .dropdown-menu {
    position: static !important;
    float: none;
    width: 100%;
    margin: 0;
    border: 0;
    box-shadow: none;

    /* Respetar la lógica de Bootstrap (toggle .show) */
    display: none;
  }

  .navbar .dropdown-menu.show {
    display: block;
  }

  /* Un poco de indent para items del submenú */
  .navbar .dropdown-item {
    padding-left: 1.25rem;
  }
}

/* Desktop: abrir por hover (opcional) */
@media (min-width: 992px) {
  .navbar .dropdown:hover>.dropdown-menu {
    display: block;
  }
}

/* ===========================
   Redes sociales: centradas en móvil, derecha en desktop
   =========================== */
.redessocialeshead {
  display: flex;
  align-items: center;
  justify-content: center;
  /* centro por defecto (móvil) */
  flex-wrap: wrap;
  gap: .5rem;
}

@media (min-width: 992px) {
  .redessocialeshead {
    justify-content: flex-end;
  }
}

/* Quitar márgenes heredados que desalinean */
.redessocialeshead a {
  margin-left: 0 !important;
}

/* Área táctil cómoda y consistencia visual */
.redessocialeshead .btn {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* Tamaño de icono */
.redessocialeshead i {
  font-size: 1.1rem;
}

@media (max-width: 575.98px) {
  .redessocialeshead i {
    font-size: 1.25rem;
  }
}

/* ===========================
   Footer: estilos personalizados
   =========================== */

.bg-igss-primary {
  background-color: #266b92;
}

.bg-igss-dark {
  background-color: #174058;
}

.border-opacity-10 {
  --bs-border-opacity: .1;
}

.footer .nav-link.link-light:hover,
.footer a.link-light:hover {
  opacity: .85;
  text-decoration: underline;
}

/* Footer links look & feel */
.footer .footer-links .nav-link {
  text-decoration: none;
  color: rgba(255, 255, 255, .92);
}

.footer .footer-links .nav-link:hover {
  text-decoration: underline;
  color: #fff;
}

/* Espaciado vertical parejo entre items (además del .py-1 en el HTML) */
.footer .footer-links .nav-item+.nav-item {
  margin-top: .125rem;
}

/* ===========================
   Home: 01_baners.php
   =========================== */
.bannerprincipalpcsuperior .banner-img {
  height: clamp(220px, 28vw, 460px);
  width: 100%;
  object-fit: cover;
  object-position: center;
}

/* Móvil: deja crecer en vertical sin recorte */
@media (max-width: 575.98px) {
  .bannerprincipalpcsuperior .banner-img {
    height: auto;
    width: 100%;
    object-fit: contain;
  }
}

/* Respeta "reduce motion" del usuario */
@media (prefers-reduced-motion: reduce) {
  #igssCarousel {
    scroll-behavior: auto;
  }

  #igssCarousel .carousel-item {
    transition: none !important;
  }
}

/* ===========================
   Home: 02_cinta.php
   =========================== */
.cinta-igss {
  background: linear-gradient(90deg, #0d6efd 0%, #20c997 100%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 2;
}

/* Enlace con enfoque accesible */
.cinta-igss__link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -3px;
  text-decoration: none;
}

/* Texto más grande y espaciado amplio */
.cinta-igss__text {
  font-size: clamp(1.4rem, 3.5vw, 2rem);
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Flechas */
.cinta-igss__arrow {
  display: inline-block;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  line-height: 1;
  opacity: 0.95;
}

/* Animación “respirar” sutil */
@keyframes cinta-breathe {

  0%,
  100% {
    transform: translateX(0);
    opacity: 0.9;
  }

  50% {
    transform: translateX(3px);
    opacity: 1;
  }
}

.cinta-igss__arrow--start {
  animation: cinta-breathe 1.8s ease-in-out infinite;
}

.cinta-igss__arrow--end {
  animation: cinta-breathe 1.8s ease-in-out infinite reverse;
}

/* Responsive */
@media (max-width: 575.98px) {
  .cinta-igss .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .cinta-igss__text {
    font-size: clamp(1rem, 2.5vw, 1.3rem);
  }

  .cinta-igss .d-flex {
    gap: 0.75rem;
    flex-wrap: wrap;
  }
}

/* ===========================
   Home: 03_carrusel_noticias.php
   =========================== */
.home-news-carousel {
  position: relative;
}

/* Indicadores centrados y espaciados */
.home-news-carousel .carousel-indicators {
  margin-bottom: -3rem;
  gap: .4rem;
}

/* Puntos indicadores */
.home-news-carousel .carousel-indicators [data-bs-target] {
  width: .75rem;
  height: .75rem;
  border-radius: 50%;
  background-color: #adb5bd;
  transition: all .3s ease;
}

.home-news-carousel .carousel-indicators [data-bs-target]:hover {
  background-color: #0d6efd;
  opacity: 0.75;
}

.home-news-carousel .carousel-indicators .active {
  background-color: #0d6efd;
  opacity: 1;
}

/* Controles (flechas) */
.home-news-carousel .carousel-control-prev,
.home-news-carousel .carousel-control-next {
  top: 50%;
  transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  opacity: 0.9;
  transition: opacity 0.3s ease, transform 0.2s ease;
  z-index: 3;
}

.home-news-carousel .carousel-control-prev:hover,
.home-news-carousel .carousel-control-next:hover {
  opacity: 1;
  transform: translateY(-50%) scale(1.05);
}

/* Iconos más visibles */
.home-news-carousel .carousel-control-prev-icon,
.home-news-carousel .carousel-control-next-icon {
  width: 2rem;
  height: 2rem;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .35));
  background-size: 75%;
}

/* Separar hacia los bordes */
.home-news-carousel .carousel-control-prev {
  left: -2.5rem;
}

.home-news-carousel .carousel-control-next {
  right: -2.5rem;
}

/* Responsive: vuelve a colocar dentro en pantallas pequeñas */
@media (max-width: 767.98px) {
  .home-news-carousel .carousel-control-prev {
    left: 0;
  }

  .home-news-carousel .carousel-control-next {
    right: 0;
  }
}
/* ===========================
   Home: 05_cifras_guia.php
   =========================== */
.igss-video-block__banner {
  border-radius: 1rem;
  position: relative;
}

.igss-video-block__img {
  display: block;
  transition: transform .5s ease;
}

.igss-video-block__banner:hover .igss-video-block__img {
  transform: scale(1.03);
}

.igss-video-block__overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .65) 60%);
  pointer-events: none;
}

/* Botón play */
.igss-video-block__play {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, .15);
  backdrop-filter: blur(2px);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  z-index: 2;
}

.igss-video-block__play i {
  font-size: 2.5rem;
  color: #fff;
  margin-left: .15rem;
}

.igss-video-block__play::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .28);
  opacity: .6;
  animation: igss-video-pulse 1.8s ease-in-out infinite;
  pointer-events: none;
}

.igss-video-block__play:hover {
  transform: translate(-50%, -50%) scale(1.06);
  background: rgba(255, 255, 255, .22);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
}

@keyframes igss-video-pulse {
  0% {
    transform: scale(1);
    opacity: .6;
  }

  70%,
  100% {
    transform: scale(1.45);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .igss-video-block__play::after {
    animation: none;
    opacity: 0;
  }
}

/* Modal */
.igss-video-block__modal {
  background: #000;
  border: 0;
  border-radius: .75rem;
  overflow: hidden;
  position: relative;
}

.igss-video-block__wrapper {
  background: #000;
}

.igss-video-block__close {
  position: absolute;
  top: .65rem;
  right: .65rem;
  z-index: 10;
  background: rgba(0, 0, 0, .55);
  border-radius: 50%;
  width: 2.3rem;
  height: 2.3rem;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .35));
}

.igss-video-block__close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

@media (max-width: 576px) {
  .igss-video-block__play {
    width: 72px;
    height: 72px;
  }

  .igss-video-block__play i {
    font-size: 2rem;
  }
}

/* ===========================
   Home: 06_servicios.php
   =========================== */
.igss-services__img {
  width: 225px;
  height: 225px;
}

.igss-services__border {
  border-color: #256B92 !important;
}

.igss-services__links .igss-services__link {
  text-decoration: none;
  color: #256B92;
  transition: color .2s ease;
}

.igss-services__links .igss-services__link:hover,
.igss-services__links .igss-services__link:focus-visible {
  color: #1d4f6a;
}

.igss-services__links .igss-services__link:active {
  color: #0f2f42;
}

/* Banner pdf */
.igss-services__banner {
  border-radius: .75rem;
}

.igss-services__banner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .35);
  text-shadow: 0 2px 6px rgba(0, 0, 0, .35);
}

@media (max-width: 575.98px) {
  .igss-services__img {
    width: 180px;
    height: 180px;
  }
}

/* ===========================
   Home: 07_nuestros_programas.php
   =========================== */
.igss-programs__title {
  color: #1d7da5;
  font-size: 1.3125rem;
  /* 21px */
}

.igss-programs__card {
  transition: transform .15s ease-out, box-shadow .15s ease-out;
}

.igss-programs__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .05);
}

.igss-programs__icon-wrap {
  position: relative;
  width: 177px;
  height: 71px;
}

.igss-programs__icon {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  transition: opacity .2s ease-in-out;
}

.igss-programs__icon--hover {
  opacity: 0;
}

/* el hover solo aplica dentro de este bloque */
.igss-programs__card:hover .igss-programs__icon--hover {
  opacity: 1;
}

.igss-programs__card:hover .igss-programs__icon--default {
  opacity: 0;
}

@media (max-width: 575.98px) {
  .igss-programs__icon-wrap {
    width: 150px;
    height: 65px;
  }
}

/* ===========================
   Home: 08_videos.php
   =========================== */

.bg-igss-navy {
  background-color: #001A3F;
}

@media (max-width: 575.98px) {
  .bg-igss-navy .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ===========================
   Home: 09_institucional.php
   =========================== */

.igss-institucional__img {
  transition: transform .25s ease-in-out, opacity .25s ease-in-out;
  opacity: 0.95;
}

.igss-institucional__card:hover .igss-institucional__img {
  transform: scale(1.05);
  opacity: 1;
}

.igss-institucional__headline {
  font-weight: 700;
  color: #1d7da5;
}

@media (max-width: 575.98px) {
  .igss-institucional__img {
    width: 150px !important;
    height: auto !important;
  }
}