/* Fix for div.vertical-centered-box */
.vertical-centered-box {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9; /* Adjust based on your needs */
  overflow: hidden;
}

/* Fix for images */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Reserve space for images before they load */
img[width][height] {
  aspect-ratio: attr(width) / attr(height);
}

/* Fix for h3.text-muted.booking-subtitle */
h3.text-muted.booking-subtitle {
  min-height: 1.2em; /* Adjust based on your line-height */
  line-height: 1.2; /* Match your design */
  overflow: hidden;
}

/* General layout stability */
* {
  box-sizing: border-box;
}

/* Font loading optimization */
@font-face {
  font-family: 'YourFont';
  src: url('../fonts/your-font.woff2') format('woff2');
  font-display: swap; /* or 'optional' for better CLS */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Reserve space for dynamic content */
.dynamic-content {
  min-height: 1px; /* Prevents collapse */
}

/* Add smooth transitions for any layout changes */
* {
  transition: transform 0.2s, opacity 0.2s;
}
