@charset "UTF-8";
/* =============================================
   RESPONSIVE MÓVIL — BOOKING FORM
   ============================================= */
/* Tabla features — fix word-break */
#dynamic-details td,
#dynamic-additional-details td {
  word-break: break-word;
  white-space: normal;
}

/* Caja precio — sticky bottom en móvil */
@media (max-width: 991.98px) {
  .sticky-precio-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    padding: 0 12px;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.12);
  }
  .sticky-precio-mobile .card {
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    margin-bottom: 0;
  }
  /* Espacio para que el contenido no quede tapado por la barra */
  #col-main {
    padding-bottom: 100px;
  }
  .sticky-precio-mobile .card-body {
    padding: 0.5rem 0.75rem;
  }
  .sticky-precio-mobile .row {
    flex-direction: row !important;
    align-items: center !important;
  }
  .sticky-precio-mobile .col-sm,
  .sticky-precio-mobile .col-sm-auto {
    flex: 0 0 auto !important;
    width: auto !important;
  }
  .sticky-precio-mobile .col-sm:first-child {
    flex: 1 !important;
  }
  .sticky-precio-mobile h3 {
    font-size: 1.1rem;
    margin-bottom: 0 !important;
  }
  .sticky-precio-mobile .text-sm {
    font-size: 0.75rem;
    display: inline;
  }
  .sticky-precio-mobile .gy-4 {
    --bs-gutter-y: 0 !important;
  }
}
/* Tabla features — dl/dt/dd responsive */
.detail-item {
  display: flex !important;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #dee2e6;
}

.detail-item dt {
  flex: 0 0 160px;
  font-weight: 600;
  color: #495057;
}

.detail-item dd {
  flex: 1;
  margin: 0;
}

.detail-item dt,
.detail-item dd {
  display: block;
}

@media (max-width: 575px) {
  .detail-item {
    flex-direction: column;
    gap: 0.25rem;
  }
  .detail-item dt {
    flex: none;
  }
  #image-gallery.custom2-container {
    grid-template-areas: "box1" !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
    height: 220px !important;
  }
  #image-gallery .custom2-box:not(:first-child) {
    display: none !important;
  }
  #city-info .hstack {
    gap: 0.15rem !important;
    row-gap: 0rem !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #city-info .vr {
    display: none !important;
  }
  .accordion-button .text-end .h5 {
    white-space: nowrap !important;
  }
  .accordion-button .w-100 {
    gap: 0.5rem;
  }
  .accordion-button .w-100 > div:first-child {
    min-width: 0;
    flex: 1;
  }
  .accordion-button .w-100 > .text-end {
    flex-shrink: 0;
  }
  .book-now-wrapper {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .book-now-wrapper .mb-3 {
    margin-bottom: 0 !important;
  }
}
/*# sourceMappingURL=booking.css.map*/