/* Keep the same available width at every step, including long input values. */
:is(.elementor-widget-shortcode, .elementor-widget-catalogbooking):has(.bgs-rsv[data-bgs-reservation]),
:is(.elementor-widget-shortcode, .elementor-widget-catalogbooking):has(.bgs-rsv[data-bgs-reservation]) > .elementor-widget-container,
.bgs-rsv[data-bgs-reservation] {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.bgs-rsv[data-bgs-reservation] > *,
.bgs-rsv[data-bgs-reservation] :is(
  .bgs-rsv__recap, .bgs-rsv__recap dl, .bgs-rsv__recap-item,
  .bgs-rsv__booking, [data-bgs-form], .amelia-v2-booking,
  #amelia-container, .am-fs__main, .am-fs__main-inner,
  .am-fs__main-content, .am-fs__info-form,
  .el-form-item, .el-form-item__content, .am-input-wrapper,
  .am-input, .el-input, .el-input__wrapper, input, textarea
) {
  box-sizing: border-box;
  min-width: 0 !important;
  max-width: 100% !important;
}
.bgs-rsv[data-bgs-reservation] .bgs-rsv__recap {
  width: 100%;
  overflow: hidden;
}
.bgs-rsv[data-bgs-reservation] .bgs-rsv__recap dl { width: 100%; }
.bgs-rsv[data-bgs-reservation] .bgs-rsv__recap dd {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.bgs-rsv[data-bgs-reservation] .bgs-rsv__recap-item--slot {
  flex: 0 0 auto;
  min-width: max-content !important;
}
.bgs-rsv[data-bgs-reservation] .bgs-rsv__recap-item--slot dd {
  overflow: visible;
  text-overflow: clip;
}
.bgs-rsv[data-bgs-reservation] .amelia-v2-booking #amelia-container .am-fs__info-form {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.bgs-rsv[data-bgs-reservation] .amelia-v2-booking #amelia-container .am-fs__info-form .el-form-item {
  width: 100% !important;
}
.bgs-rsv[data-bgs-reservation] .amelia-v2-booking #amelia-container .am-input-wrapper { width: 100%; }

/* Let the page scroll naturally instead of clipping the active booking step. */
.bgs-rsv[data-bgs-reservation] {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
.bgs-rsv[data-bgs-reservation] :is(.bgs-rsv__category, .bgs-rsv__duration, .bgs-rsv__booking),
.bgs-rsv[data-bgs-reservation] .bgs-rsv__booking > [data-bgs-form],
.bgs-rsv[data-bgs-reservation] .bgs-rsv__booking .amelia-v2-booking {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
}
.bgs-rsv[data-bgs-reservation] .amelia-v2-booking #amelia-container.am-fs__wrapper,
.bgs-rsv[data-bgs-reservation] .amelia-v2-booking #amelia-container :is(.am-fs__main, .am-fs__main-inner, .am-fs__main-content) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
}
.bgs-rsv[data-bgs-reservation] .bgs-rsv__packs {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.bgs-rsv[data-bgs-reservation] .amelia-v2-booking #amelia-container .am-fs__main-footer {
  position: static !important;
  inset: auto !important;
  width: 100%;
  flex: 0 0 auto !important;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .bgs-rsv[data-bgs-reservation] .amelia-v2-booking #amelia-container .am-fs__info-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
