.lm-reservations {
  width: 100%;
  max-width: 840px;
  margin-inline: auto;
  text-align: center;
  scroll-margin-top: 110px;
}
.lm-reservations-mount {
  display: flex;
  justify-content: center;
  justify-content: safe center;
  overflow-x: auto;
  min-height: 301px;
}
.lm-reservations-mount > div { flex-shrink: 0; }
.lm-reservations-mount:empty { min-height: 0; }
.lm-reservations-mount iframe { border: 0; display: block; max-width: none; }
/* Elementor's percentage iframe width otherwise collapses the flex item to 300px.
   Preserve the dimensions supplied by the official wide and standard embeds. */
.lm-reservations-mount iframe[width="840"] { width: 840px; }
.lm-reservations-mount iframe[width="224"] { width: 224px; }
.lm-reservations-status,
.lm-reservations-fallback,
.lm-reservations-clean { font-size: 1rem; line-height: 1.5; }
.lm-reservations a { text-decoration: underline; text-underline-offset: 3px; }
.lm-reservations a:focus-visible,
.lm-reservations:focus-visible { outline: 3px solid #942f14; outline-offset: 5px; }
.lm-reservations [hidden] { display: none !important; }
/* Keep the booking region available even if Elementor's animation JS fails. */
.elementor .elementor-element.elementor-element-bfb68be {
  width: 100%;
  visibility: visible;
  opacity: 1;
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  .lm-reservations { scroll-behavior: auto; }
}
