/* ==========================================================
   GENESIS INTERNATIONAL SCHOOL
   Estilos principales separados del index.php
   Paleta institucional: azul #1e2648 / dorado #edb34f
   ========================================================== */ body  {
      font-family: 'Poppins', sans-serif;
}
h1, h2, h3, p, a  {
      font-family: 'Poppins', sans-serif;
      color: #000000
}
  .schedule-table  {
          width: 100%;
          max-width:1000px;
        margin: 20px auto;
          border-collapse: collapse;
          animation: fade-in 0.5s ease-in-out;
}
      /* Estilos para las celdas */      .schedule-table th, .schedule-table td  {
          padding: 12px;
          text-align: left;
          border-bottom: 1px solid #ddd;
}
      .schedule-table th  {
          background-color: #ffcc00;
}
      /* Estilos responsive */      @media (max-width: 768px)  {
          .schedule-table  {
              font-size: 14px;
  }
          .schedule-table th, .schedule-table td  {
              padding: 8px;
  }
}
      /* Animación de entrada */      @keyframes fade-in  {
          0%  {
              opacity: 0;
              transform: translateY(-20px);
  }
          100%  {
              opacity: 1;
              transform: translateY(0);
  }
}
 /* Personalización de las flechas de navegación */  .carousel  {
    position: relative;
   /* Asegura que los controles se posicionen respecto al carrusel */
}
.carousel-inner  {
    max-height: 600px;
   /* Altura máxima para el carrusel */
}
.carousel-item  {
    transition: transform 0.6s ease-in-out;
}
.carousel-item img  {
    width: 100%;
    height: 100%;
   /* Mantiene la altura máxima definida */   object-fit: cover;
   /* Cubre el área sin distorsionar */
}
.carousel-caption  {
    position: absolute;
   /* Posiciona la leyenda sobre la imagen */   bottom: 20px;
   /* Espacio desde la parte inferior */   left: 50%;
   /* Centramos horizontalmente */   transform: translateX(-50%);
   /* Ajuste para centrar */   color: white;
   /* Color del texto */   text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
   /* Sombra para mejor legibilidad */   padding: 10px;
   /* Espaciado interno */
}
.carousel-control-prev, .carousel-control-next  {
    position: absolute;
   /* Posición absoluta para que se superpongan a las imágenes */   top: 50%;
   /* Centrado vertical */   transform: translateY(-50%);
   /* Ajuste para centrar verticalmente */   width: 50px;
   /* Ancho fijo para los botones */   height: 50px;
   /* Alto fijo */   background: rgba(255, 255, 255, 0.8);
   /* Fondo blanco semi-transparente */   border: none;
   /* Sin borde */   display: flex;
   /* Flex para centrar */   align-items: center;
   /* Centrado vertical */   justify-content: center;
   /* Centrado horizontal */   border-radius: 50%;
   /* Borde redondeado */   transition: background-color 0.3s;
   /* Transición para hover */   z-index: 10;
   /* Asegura que los controles estén por encima de las imágenes */
}
.carousel-control-prev:hover, .carousel-control-next:hover  {
    background: rgba(255, 255, 255, 1);
   /* Fondo blanco al pasar el mouse */
}
.carousel-control-prev-icon, .carousel-control-next-icon  {
    width: 20px;
   /* Ancho del ícono */   height: 20px;
   /* Alto del ícono */   background-size: contain;
   /* Ajusta el tamaño del ícono */
}
.carousel-control-prev  {
    left: 10px;
   /* Distancia desde el lado izquierdo */
}
.carousel-control-next  {
    right: 10px;
   /* Distancia desde el lado derecho */
}
/* INICIO ESTILO DE ESCUDO Y TEXTO */ .container1 {
          display: flex;
          flex-wrap: wrap;
          background-image: url('images/l4.png');
   /* Cambia esto por la ruta de tu imagen de fondo general */       padding: 10px;
          border-radius: 10px;
          width: 100%;
          max-width: 1200px;
          margin: 50px auto 0;
          color: #f1f1f1;
}
         .image-container1  {
          flex: 1;
          max-width: 300px;
          padding-right: 20px;
          overflow: hidden;
   /* Oculta la parte de la imagen que sale del contenedor */
}
      .image-container1 img  {
          max-width:100%;
          height: 250px;
          transform: scale(1);
   /* Escala inicial de la imagen */        transition: transform 0.3s ease-in-out;
   /* Transición de la escala */
}
      .image-container1:hover img  {
          transform: scale(1.1);
   /* Escala de la imagen al pasar el mouse por encima */
}
      .text-container1  {
         flex: 1;
        padding-left: 0;
     color: #f1f1f1;
     background-color: rgba(255, 255, 255, 0.82);
   /* Fondo negro con 50% de opacidad */
}
    .title {
        color: #f1f1f1;
}
    @media (max-width: 1200px)  {
          .container1  {
              width: 90%;
  }
}
      @media (max-width: 768px)  {
          .container1  {
              flex-direction: column;
  }
          .image-container1  {
              max-width: 100%;
              padding-right: 0;
              padding-bottom: 20px;
  }
          .text-container1  {
              padding-left: 0;
  }
}
 /*INICIO ESTILO DE NIVELES */     /* === NIVELES ACADÉMICOS === */ .container3  {
  background-color: #1e2648;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.container3 h1.title  {
    font-size: 3.5rem;
    color: #ffffff ;
    font-weight: bold;
    text-shadow: 1px 1px 2px #ccc;
}
.card-container  {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: url('images/img4.jpg') no-repeat center center/cover;
    padding: 20px;
    border-radius: 15px;
    margin-top: -15px;
}
.card-container .card  {
    width: 300px;
    margin: 10px;
    background: #fff;
    border-radius: 15px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}
.card-container .card:hover  {
    transform: translateY(-8px);
}
.card-container .card img  {
    height: 200px;
    object-fit: cover;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
.card-container .card h3  {
    font-size: 2rem;
    font-weight: bold;
    margin-top: 10px;
    color: #0d6efd;
   /* Azul por defecto */   text-align: center;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
}
/* Colores diferentes por nivel */ .card-container .card:nth-child(1) h5  {
    color: #edb34f;
   /* Preescolar - Amarillo */
}
.card-container .card:nth-child(2) h5  {
    color: #1e2648;
   /* Primaria - Celeste */
}
.card-container .card:nth-child(3) h5  {
    color: #edb34f;
   /* Secundaria - Verde */
}
.card-container .card:nth-child(4) h5  {
    color: #1e2648;
   /* Media Académica - Rojo */
}
.boton-centrado  {
    display: block;
          /* Necesario para que el margin auto funcione */   width: 50%;
              /* Ancho del botón */   margin: 20px auto 0;
     /* Centrado horizontal y bajado desde arriba */   text-align: center;
      /* Centra el texto dentro del botón (opcional) */
}
  /* INICIO ESTILOS AVISOS IMPORTANTES*/     .title-section  {
        background-color: #FAD118;
    /* fondo del texto avisos importantes */       color: #000000;
        padding: 4px;
        border-radius: 10px;
        margin-bottom: 15px;
        animation: fadeIn 1s ease-in-out;
        /* Animación de entrada */
}
 .carousel1 .carousel-item  {
        height: 370px;
  /* Altura deseada del carrusel */       background-size: cover;
        background-position: center;
        transition: transform 1.5s ease;
        /* Transición de transformación */
}
    .carousel1 .carousel-item:hover  {
        transform: scale(1.1);
        /* Efecto de escala al pasar el mouse */
}
   /*INICIO ESTILO DE MISION VISION */  .container2  {
          background-image: url('images/img4.jpg');
   /* Cambia esto por la ruta de tu imagen de fondo general */       background-color: #f1f1f1;
   /* Fondo gris claro */        padding: 2rem;
          border-radius: 0.5rem;
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          text-align: left;
}
   /* Contenedor principal */ .container-title  {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 30px;
    color: #1e2648;
   /* Azul institucional */   text-align: center;
}
/* Tarjetas */ .card  {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: none;
    border-radius: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}
.card:hover  {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.card-body  {
    padding: 20px;
}
.card-title  {
   text-align: center;
        /* Texto centrado */       margin-bottom: 20px;
        /* Margen inferior */       font-size: 1.9rem;
        /* Tamaño del título */       color: #5dbb9e;
        /* Color del título al pasar el cursor*/       transition: color 0.3s ease;
        /* Transición de color */       background-color: #1e2648;
        color: #fff;
        padding: 4px;
        border-radius: 10px;
        margin-bottom: 15px;
        animation: fadeIn 1s ease-in-out;
        /* Animación de entrada */
}
.card-text  {
    text-align: justify;
    color: #444;
    line-height: 1.6;
}
/* Imagen de la tarjeta */ .card-img-top  {
    width: 80%;
    height: auto;
    border-radius: 8px;
    margin-top: 10px;
}
/* Botón personalizado */ .btn-custom1  {
    background-color: #1e2648;
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 1rem;
    border-radius: 30px;
    transition: background-color 0.3s ease;
}
.btn-custom1:hover  {
    background-color: #edb34f;
}
/* Centramos el botón */ .text-center  {
    text-align: center;
}
/* Responsive: ajustar altura de tarjetas */ @media (min-width: 768px)  {
    .card  {
        min-height: 100%;
  }
}
   #animatedImage  {
    animation: pulse 2s infinite;
}
@keyframes pulse  {
    0%  {
        transform: scale(1);
  }
    50%  {
        transform: scale(1.05);
  }
    100%  {
        transform: scale(1);
  }
}
    .container4  {
           background-image: url('images/l1.png');
   /* Cambia esto por la ruta de tu imagen de fondo general */       padding: 0.5rem;
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          text-align: left;
        color: #ffffff;
        text-align: center;
        text-decoration: double;
}
/* ventana emergente*/   .modal-ancho  {
        max-width: 1200px;
        width: 90%;
}
    .modal-content  {
        animation: zoomIn 0.5s ease;
        border-radius: 20px;
        border: 4px solid #ffc107;
}
    @keyframes zoomIn  {
        from  {
            transform: scale(0.7);
            opacity: 0;
  }
        to  {
            transform: scale(1);
            opacity: 1;
  }
}
    .popup-img  {
        max-width: 500%;
        border-radius: 10px;
}
    .modal-header  {
        border-bottom: none;
}
    .modal-footer  {
        border-top: none;
}
    .texto-popup  {
        font-size: 1rem;
}
    @media (max-width: 768px)  {
        .modal-ancho  {
            width: 95%;
  }
}
 /* CARRUSEL VIDEOS*/  body  {
        background-color: #f8f9fa;
}
    .video-slider  {
        overflow: hidden;
        padding: 2rem 1rem;
}
    .video-container  {
        display: flex;
        gap: 1rem;
        transition: transform 0.5s ease;
}
    .video-item  {
        flex: 0 0 33.3333%;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        background: #fff;
        animation: fadeInUp 1s ease;
}
    .video-item iframe, .video-item video  {
        width: 100%;
        height: 200px;
        border: none;
}
    @keyframes fadeInUp  {
        from  {
            opacity: 0;
            transform: translateY(30px);
  }
        to  {
            opacity: 1;
            transform: translateY(0);
  }
}
    /* Responsive */     @media (max-width: 992px)  {
        .video-item  {
            flex: 0 0 50%;
  }
}
    @media (max-width: 576px)  {
        .video-item  {
            flex: 0 0 100%;
  }
}
    .slider-controls  {
        text-align: center;
        margin-top: 1rem;
}
    .slider-controls button  {
        background-color: #1e2648;
        color: white;
        border: none;
        margin: 0 5px;
        padding: 8px 15px;
        border-radius: 5px;
        transition: background-color 0.3s;
}
    .slider-controls button:hover  {
        background-color: #1e2648;
}
   /* gis-main-gallery-robert-style */ .gis-home-hero {
    position:relative;
    overflow:hidden;
    padding:clamp(2.2rem,5vw,4.6rem) 0 clamp(2.5rem,5vw,5rem);
    background:     radial-gradient(circle at 8% 14%,rgba(217,157,69,.30),transparent 22%),     radial-gradient(circle at 92% 84%,rgba(10,22,78,.15),transparent 28%),     linear-gradient(135deg,#fffaf0 0%,#fff 48%,#f4f7ff 100%);
}
.gis-home-hero::before {
    content:'GIS';
    position:absolute;
    right:-18px;
    top:16px;
    color:rgba(10,22,78,.045);
    font-size:clamp(6rem,17vw,15rem);
    font-weight:900;
    letter-spacing:-.08em;
    pointer-events:none;
}
.gis-home-hero::after {
    content:'';
    position:absolute;
    left:-90px;
    bottom:-90px;
    width:260px;
    height:260px;
    border:44px solid rgba(217,157,69,.12);
    border-radius:50%;
    pointer-events:none;
}
.gis-home-hero .container {
  position:relative;
  z-index:2
}
.gis-gallery-shell {
    position:relative;
    max-width:640px;
    margin:auto;
    padding:13px;
    border-radius:34px;
    background:#fff;
    box-shadow:15px 17px 0 rgba(10,22,78,.11),0 28px 60px rgba(10,22,78,.20);
}
.gis-gallery-shell::before {
    content:'';
    position:absolute;
    inset:20px -18px -18px 28px;
    z-index:-1;
    border-radius:30px;
    background:linear-gradient(135deg,rgba(10,22,78,.12),rgba(217,157,69,.18));
}
.gis-gallery-doodle {
    position:absolute;
    z-index:5;
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:16px;
    color:#1e2648;
    background:#edb34f;
    box-shadow:0 12px 25px rgba(217,157,69,.28);
}
.gis-gallery-doodle.one {
  left:-18px;
  top:32%;
  transform:rotate(-12deg)
}
.gis-gallery-doodle.two {
  right:-16px;
  top:18%;
  color:#fff;
  background:#1e2648;
  transform:rotate(10deg)
}
.gis-hero-carousel {
    overflow:hidden;
    border-radius:26px;
    background:#1e2648;
}
.gis-hero-carousel .carousel-inner {
  max-height:none
}
.gis-hero-carousel .carousel-item {
  height:auto;
  transition:transform .7s ease-in-out
}
.gis-hero-slide {
    position:relative;
    min-height:clamp(310px,41vw,500px);
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#1e2648;
}
.gis-hero-slide::before {
    content:'';
    position:absolute;
    inset:0;
    background-image:var(--bg-image);
    background-size:cover;
    background-position:center;
    filter:blur(18px) saturate(.9);
    opacity:.42;
    transform:scale(1.1);
}
.gis-hero-slide::after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(10,22,78,.05),rgba(10,22,78,.32));
}
.gis-hero-slide img {
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:clamp(310px,41vw,500px)!important;
    object-fit:cover!important;
}
.gis-hero-carousel .carousel-control-prev, .gis-hero-carousel .carousel-control-next {
    top:50%;
    width:46px;
    height:46px;
    border-radius:50%;
    background:rgba(10,22,78,.82)!important;
    opacity:1;
    box-shadow:0 12px 24px rgba(10,22,78,.24);
}
.gis-hero-carousel .carousel-control-prev {
  left:14px
}
.gis-hero-carousel .carousel-control-next {
  right:14px
}
.gis-hero-carousel .carousel-control-prev:hover, .gis-hero-carousel .carousel-control-next:hover {
  background:#edb34f!important
}
.gis-hero-carousel .carousel-indicators {
  bottom:14px;
  margin-bottom:0
}
.gis-hero-carousel .carousel-indicators li {
    width:11px;
    height:11px;
    border:2px solid #fff;
    border-radius:999px;
    background:#fff;
    opacity:.85;
}
.gis-hero-carousel .carousel-indicators li.active {
    width:32px;
    background:#edb34f;
    border-color:#edb34f;
}
.gis-gallery-note {
    position:absolute;
    left:34px;
    bottom:-28px;
    z-index:6;
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    max-width:86%;
    padding:.8rem 1rem;
    border-radius:16px;
    color:#1e2648;
    background:#fff;
    box-shadow:0 16px 34px rgba(10,22,78,.16);
    font-weight:850;
}
.gis-gallery-note i {
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:0 0 32px;
    border-radius:50%;
    color:#fff;
    background:#edb34f;
}
.gis-hero-copy {
  padding:1.5rem 0
}
.gis-hero-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    margin-bottom:1rem;
    padding:.58rem 1rem;
    border:1px solid rgba(10,22,78,.12);
    border-radius:999px;
    color:#1e2648;
    background:rgba(255,255,255,.78);
    box-shadow:0 8px 22px rgba(10,22,78,.08);
    font-size:.78rem;
    font-weight:850;
}
.gis-hero-eyebrow i {
  color:#edb34f
}
.gis-hero-copy h1 {
    margin:0;
    color:#1e2648;
    font-size:clamp(2.35rem,5.6vw,5rem);
    font-weight:900;
    letter-spacing:-.065em;
    line-height:1.02;
}
.gis-hero-copy h1 span {
  color:#edb34f
}
.gis-hero-copy p {
    max-width:610px;
    margin:1.15rem 0 0;
    color:#526070;
    font-size:clamp(1rem,1.7vw,1.18rem);
    line-height:1.75;
}
.gis-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.85rem;
    margin-top:1.5rem;
}
.gis-hero-btn {
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    min-height:52px;
    padding:.8rem 1.15rem;
    border-radius:15px;
    font-weight:850;
    text-decoration:none!important;
    transition:.22s ease;
}
.gis-hero-btn.primary {
    color:#fff!important;
    background:linear-gradient(135deg,#1e2648,#142a78);
    box-shadow:0 13px 25px rgba(10,22,78,.22);
}
.gis-hero-btn.secondary {
    color:#1e2648!important;
    background:#fff;
    border:1px solid rgba(10,22,78,.14);
    box-shadow:0 12px 24px rgba(10,22,78,.08);
}
.gis-hero-btn:hover {
  transform:translateY(-3px)
}
.gis-hero-btn.primary:hover {
  background:#edb34f;
  color:#1e2648!important
}
.gis-hero-trust {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 1.1rem;
    margin-top:1.4rem;
    color:#647184;
    font-size:.9rem;
    font-weight:650;
}
.gis-hero-trust span {
  display:inline-flex;
  align-items:center;
  gap:.4rem
}
.gis-hero-trust i {
  color:#edb34f
}
.gis-gallery-empty {
    min-height:340px;
    display:grid;
    place-items:center;
    padding:2rem;
    border-radius:26px;
    color:#1e2648;
    background:linear-gradient(135deg,#fff,#fff8ea);
    text-align:center;
}
.gis-gallery-empty i {
  color:#edb34f;
  font-size:3rem
}
.gis-gallery-empty h3 {
  margin:.75rem 0 .35rem;
  color:#1e2648;
  font-weight:900
}
.gis-gallery-empty p {
  margin:0;
  color:#667085
}
@media(max-width:991px) {
    .gis-home-hero {
    text-align:center
  }
    .gis-hero-copy p {
    margin-left:auto;
    margin-right:auto
  }
    .gis-hero-actions,.gis-hero-trust {
    justify-content:center
  }
    .gis-gallery-shell {
    margin-bottom:2.4rem
  }
}
@media(max-width:575px) {
    .gis-home-hero {
    padding-top:1.5rem
  }
    .gis-gallery-shell {
    padding:8px;
    border-radius:24px;
    box-shadow:9px 10px 0 rgba(10,22,78,.1),0 20px 42px rgba(10,22,78,.17)
  }
    .gis-hero-carousel,.gis-hero-slide {
    border-radius:18px
  }
    .gis-hero-slide,.gis-hero-slide img {
    height:300px!important;
    min-height:300px
  }
    .gis-gallery-doodle {
    display:none
  }
    .gis-gallery-note {
    left:16px;
    right:16px;
    bottom:-24px;
    max-width:none;
    justify-content:center;
    font-size:.84rem
  }
    .gis-hero-btn {
    width:100%;
    justify-content:center
  }
}
/* gis-hero-5-slides */ .gis-home-hero {
  padding-top:clamp(1.5rem,3.5vw,3.2rem);
  padding-bottom:clamp(2.5rem,5vw,4.6rem)
}
.gis-hero-stage {
  position:relative;
  z-index:2
}
.gis-hero-stage .carousel-inner {
  max-height:none!important;
  overflow:visible
}
.gis-hero-stage .carousel-item {
  transition:transform .75s ease-in-out,opacity .45s ease-in-out
}
.gis-hero-stage .carousel-item img {
  width:100%
}
.gis-hero-stage .carousel-indicators {
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    justify-content:center;
    margin:1.4rem 0 0;
}
.gis-hero-stage .carousel-indicators li {
    width:12px;
    height:12px;
    border:2px solid #1e2648;
    border-radius:999px;
    background:#fff;
    opacity:1;
}
.gis-hero-stage .carousel-indicators li.active {
    width:34px;
    background:#edb34f;
    border-color:#edb34f;
}
.gis-hero-stage>.carousel-control-prev, .gis-hero-stage>.carousel-control-next {
    top:50%;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#1e2648!important;
    opacity:.96;
    transform:translateY(-50%);
    box-shadow:0 14px 28px rgba(10,22,78,.25);
}
.gis-hero-stage>.carousel-control-prev {
  left:8px
}
.gis-hero-stage>.carousel-control-next {
  right:8px
}
.gis-hero-stage>.carousel-control-prev:hover, .gis-hero-stage>.carousel-control-next:hover {
  background:#edb34f!important
}
.gis-hero-slide-layout {
  padding:1rem 0 1.2rem
}
.gis-hero-kicker {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    margin-top:1rem;
    padding:.5rem .85rem;
    border-radius:999px;
    color:#1e2648;
    background:rgba(217,157,69,.14);
    font-size:.78rem;
    font-weight:850;
}
.gis-hero-kicker i {
  color:#edb34f
}
@media(max-width:991px) {
    .gis-hero-stage>.carousel-control-prev,   .gis-hero-stage>.carousel-control-next {
    top:34%;
    width:42px;
    height:42px
  }
    .gis-hero-stage>.carousel-control-prev {
    left:4px
  }
    .gis-hero-stage>.carousel-control-next {
    right:4px
  }
}
@media(max-width:575px) {
    .gis-hero-stage>.carousel-control-prev,   .gis-hero-stage>.carousel-control-next {
    display:none
  }
}
/* gis-missing-photo: placeholder para fotos independientes del hero */ .gis-hero-slide-missing {
    background:linear-gradient(135deg,#fffaf0,#f4f7ff)!important;
}
.gis-hero-slide-missing::before, .gis-hero-slide-missing::after {
    display:none!important;
}
.gis-missing-photo {
    position:relative;
    z-index:2;
    min-height:clamp(310px,41vw,500px);
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    padding:2rem;
    color:#1e2648;
    text-align:center;
}
.gis-missing-photo i {
    display:grid;
    place-items:center;
    width:76px;
    height:76px;
    border-radius:24px;
    color:#fff;
    background:#1e2648;
    font-size:2.15rem;
    box-shadow:0 16px 30px rgba(10,22,78,.18);
}
.gis-missing-photo strong {
    margin-top:.4rem;
    color:#1e2648;
    font-size:1.35rem;
    font-weight:900;
}
.gis-missing-photo span {
    color:#667085;
    font-weight:700;
}
/* Ajuste carrusel principal Genesis: sin puntos y carga fluida */ .gis-hero-stage > .carousel-indicators {
    display:none!important;
}
.gis-preload-hero-images {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}
.gis-preload-hero-images img {
    width:1px;
    height:1px;
    object-fit:cover;
}
.gis-hero-stage .carousel-item {
    backface-visibility:hidden;
    transform:translateZ(0);
    will-change:transform;
}
.gis-hero-slide, .gis-hero-slide img {
    transform:translateZ(0);
}
/* Ajuste Genesis: evita texto montado al cambiar el carrusel principal */ #gisHeroCarousel.carousel-fade .carousel-item {
    opacity:0;
    transform:none!important;
    transition:opacity .38s ease-in-out!important;
    backface-visibility:hidden;
}
#gisHeroCarousel.carousel-fade .carousel-item.active, #gisHeroCarousel.carousel-fade .carousel-item-next.carousel-item-left, #gisHeroCarousel.carousel-fade .carousel-item-prev.carousel-item-right {
    opacity:1;
    transform:none!important;
}
#gisHeroCarousel.carousel-fade .active.carousel-item-left, #gisHeroCarousel.carousel-fade .active.carousel-item-right {
    opacity:0;
    transform:none!important;
}
#gisHeroCarousel .carousel-item-next .gis-hero-copy, #gisHeroCarousel .carousel-item-prev .gis-hero-copy {
    opacity:0!important;
    visibility:hidden!important;
    transition:none!important;
}
#gisHeroCarousel .carousel-item.active .gis-hero-copy {
    opacity:1;
    visibility:visible;
}
#gisHeroCarousel .gis-hero-copy {
    transition:opacity .22s ease;
}
/* Ajuste Genesis: título principal de la primera diapositiva */ #gis-hero-title {
    max-width:720px;
    font-size:clamp(2.25rem,4.6vw,4.25rem)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
    overflow-wrap:normal;
}
#gis-hero-title span {
    display:block;
    margin-top:.12em;
}
@media(max-width:991px) {
    #gis-hero-title {
        max-width:760px;
        margin-left:auto!important;
        margin-right:auto!important;
        font-size:clamp(2.15rem,7vw,3.45rem)!important;
        text-align:center;
  }
}
@media(max-width:575px) {
    #gis-hero-title {
        font-size:clamp(1.9rem,10vw,2.55rem)!important;
        letter-spacing:-.04em!important;
  }
}
