
/*================================*/
/*#region PAGINA: Banner          */
/*================================*/

.banner{ min-height: 200px; padding: 0 0 30px 0;
}
@media(min-width:992px){
    .banner{ min-height: 400px; padding: 100px 0 0px 0;
    }
}
@media(min-width:1400px){
    .banner{ min-height: 600px;
    }
}

/*#endregion*/

/*================================*/
/*       #region: CARRUSEL        */
/*================================*/

.carrusel{ margin: 30px 0;
}
.carrusel .carousel{ background-color: #fff; border-radius: 0 15px 0 15px; overflow: hidden; padding-bottom: 160px;
}
.carrusel img{ width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover;
}
.carrusel-info{ padding: 25px 25px 40px 25px;
}
.carrusel .antetitulo{ font-size: 1rem; font-weight: 800; color: #85919F; text-transform: uppercase; margin: 0;
}
.carousel .titulo{ color: #000; font-weight: bold; font-size: 1.4375rem;
}
/**/
.carousel-indicators{ bottom: 110px; border-top: 1px solid #333;  margin:0 25px; padding-top: 40px;
}
.carousel-indicators [data-bs-target]{ background-color: #D9D9D9; border: 1px solid #d9d9d9; width: 9px; height: 9px; border-radius: 5px; opacity: 1;
}
.carousel-indicators .active{ background-color: #E32726; width: 18px; border: 1px solid #E32726;
}
/**/
.carrusel-prev, .carrusel-sig{ position: absolute; left: calc(50% + 10px); bottom: 35px; width: 50px; height: 50px; background-color: transparent; border: 2px solid #E32726; opacity: 1; border-radius: 40px; background: url("/media/vgyhv1ro/flecha-roja-derecha.png") no-repeat center; background-size: 80% 80%;
}
.carrusel-prev{ margin-left: -70px; transform: rotate(180deg);
}
.carrusel-info .btn{ width: 100%; margin-top: 25px;
}

@media(min-width:992px){
    .carrusel{ margin: 60px 0;
    }
    .carrusel .carousel{ border-radius: 0 30px 0 30px; padding-bottom: 0;
    }
    .carrusel img{ width: 100%; height: auto; aspect-ratio: 4/3.25; object-fit: cover;
    }
    .carrusel-info{ display: flex; flex-direction: column; height: 100%; padding: 50px 95px 50px 50px;
    }
    .carousel .titulo{ font-size: 1.75rem;  margin-bottom: 2rem;
    }
    /**/
    .carousel-indicators{ width: 50%; bottom: 30px; left: 0%; border-top: none; margin:0; padding-top: 0;
    }
    .carrusel-sig{ position: absolute; left:auto; right: 25px; bottom: calc(50% - 25px);
    }
    .carrusel-info .btn{ width: auto;
    }
}
@media(min-width:1200px){
    .carrusel .carousel{ border-radius:0 50px;
    }
    .carrusel img{ aspect-ratio: 4/3;
    }
    .carrusel-info{ padding: 50px 130px 50px 50px;
    }
    .carousel .titulo{ font-size: 2.25rem; margin-bottom: 2rem;
    }
    .carrusel-sig{ width: 70px; height: 70px; right: 50px; bottom: calc(50% - 35px); border-width: 3px;
    }
}

@media(min-width:1400px){
    .carrusel .carousel{ font-size: 1.125rem; line-height: 180%;
    }
    .carousel .titulo{ font-size: 2.5rem;
    }
}

/*#endregion*/

/*================================*/
/*       #region: CUERPO          */
/*================================*/

.cuerpo{ position: relative; margin: 30px 0 70px 0;
}

#filtro-galerias #titulo-filtro-galerias{ font-size: 1rem;
}
#filtro-galerias ul{ margin-top: 15px;
}
#filtro-galerias .nav-pills{ gap: 1rem;
}
#filtro-galerias .nav-pills .nav-link { font-size: 1rem; color: #022C51; border-radius: 999px; padding: .675rem 1rem; background-color: #F2F5F8; border: 1px solid #C7D0DA;
}
#filtro-galerias .nav-pills .nav-link.active { color: #fff; border: none; background-color: #0058A6; border: 1px solid transparent;
}

@media(min-width:1400px){
    #filtro-galerias .nav-pills{ gap: 1.5rem;
}
    #filtro-galerias .nav-pills .nav-link { font-size: 1.125rem; padding: .75rem 1.5rem; 
    }
}

/*#endregion*/

/*================================*/
/*       #region: GALERIA         */
/*================================*/

/* Grid visual */
.lista-galerias{ margin-top: 100px;
}
.galeria-item { position: relative; }
.galeria-link {
  display:block; text-decoration:none; color:inherit;
  border-radius:.75rem; overflow:hidden; background:#0b0b0b;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  transition:transform .25s ease, box-shadow .25s ease;
  border-radius: 15px 0 15px 15px;
}
.galeria-link:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.14); }
.galeria-link:focus-visible { outline:2px solid #0d6efd; outline-offset:3px; }

/* Imagen en cover dentro de .ratio */
.img-cover { width:100%; height:100%; object-fit:cover; }
figure{ margin: 0px;
}
/* Overlay */
.galeria-overlay{
  position:absolute; inset:0; display:grid; align-content:end;
  padding:.9rem; gap:.35rem;
  background:linear-gradient(to top, rgba(0,0,0,.80) 20%, rgba(0,0,0,.1) 60%);
  border-radius: 15px 0 15px 15px;
}
.galeria-titulo{ margin:0; font-size:1rem; font-weight:700; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.5); }
.galeria-meta{ display:inline-flex; align-items:center; gap:.5rem; }
.badge-cat{
  display:inline-block; padding:.2rem .5rem; font-size:.75rem; font-weight:600;
  color:#0d6efd; background:#fff; border-radius:999px;
}
.contador{
  display:inline-block; min-width:2rem; text-align:center; font-size:.75rem; color:#fff;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:.15rem .5rem;
}
.galeria-cta{
  position:absolute; right:.6rem; bottom:.6rem; width:2rem; height:2rem; line-height:2rem; text-align:center;
  border-radius:999px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); color:#fff; font-weight:700;
  transition:transform .2s ease;
}
.galeria-link:hover .galeria-cta{ transform:scale(1.06); }


/* #endregion */