.gallery-hero {
  height: 360px;
}
.mt5{
    margin-top: 80px;
}
@media (min-width: 992px) {
  .gallery-hero {
    height: 460px;
  }
}
.booking-card {
  position: sticky;
  top: 6rem;
}
.service-icons i {
  color: var(--brand);
}
.accordion-button:focus {
  box-shadow: none;
}
.pt-nav {
  padding-top: 6rem;
}
/* Gallery 50/50 layout */
.gallery-grid{
  display: grid;
  grid-template-columns: 1fr 1fr; /* 50% - 50% */
  gap: 12px;
  height: 460px; /* altura desktop */
  align-items: stretch;
}

/* Left main */
.gallery-main{
  position: relative;
  overflow: hidden;
  height: 100%;
  border-radius: .75rem;
  background: #000;
}
.img-main{
  width: 100%;
  height: 460px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Right: thumbs stacked */
/* Columna de thumbs: 2x2 */
.gallery-thumbs {
  display: grid;
  grid-template-columns: 1fr 1fr; /* dos columnas */
  grid-template-rows: 1fr 1fr;   /* dos filas */
  gap: 8px;
  height: 100%; /* que ocupe el 100% del lado derecho */
}

.thumb-btn {
  width: 100%;
  height: 230px;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
  border-radius: .5rem;
}

.thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.thumb-btn.active .thumb-img{ transform: scale(1.03); box-shadow: 0 6px 18px rgba(0,0,0,0.12); }

/* Open gallery button on main image */
.gallery-open-btn{
  right: 14px;
  bottom: 14px;
  z-index: 3;
  opacity: .95;
    height: 50px;
}

/* Responsive: mobile - stack main then horizontal thumbs */
@media (max-width: 991.98px){
  .gallery-grid{
    grid-template-columns: 1fr; /* stack */
    height: auto;
  }
  .gallery-main{ height: min(56vw, 420px); } /* responsive height */
  .gallery-thumbs{
    grid-template-columns: repeat(4, min(120px, 28%));
    grid-auto-rows: 1fr;
    grid-template-rows: none;
    overflow-x: auto;
    display: flex;
    gap: 8px;
    padding: 8px 0;
  }
  .thumb-btn{ min-width: 120px; height: 80px; flex: 0 0 auto; }
  .thumb-img{ height: 100%; }
}

/* Small tweaks */
.thumb-btn{ cursor: pointer; }


/* Modal / Carousel visuals */
.modal .modal-content { background: transparent; box-shadow: none; }
.carousel-img-wrapper {
  height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: rgba(0,0,0,0.65);
}

/* Carousel image: respect aspect ratio, center, don't overflow */
.carousel-img-wrapper img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  display: block;
}
.z-4{
    z-index: 4;
}
/* Counter look */
#propertyGalleryCounter {
  font-size: .95rem;
  opacity: .95;
}

/* Ajustes para botones y accesibilidad */
.gallery-open-btn { right: 1rem; top: 1rem; }

