/* Keyboard focus must reveal cards even during Webflow's scroll entrance. */
.room-card:focus-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  outline: 3px solid var(--black);
  outline-offset: 4px;
}

@media screen and (min-width: 992px) {
  /* Match the existing hover interaction without changing its inline styles. */
  .room-card:focus-visible > .room-card-content {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .room-card:focus-visible > img.image.absolute {
    filter: blur(6px) grayscale(32%) !important;
  }
}

.brand-link:focus-visible,
.w-nav-button:focus-visible,
.w-nav-menu a:focus-visible,
.main-link.nav.book:focus-visible,
a[aria-label]:focus-visible,
#contact .text-field:focus-visible,
#contact .button:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 4px;
}

#contact {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#contact > .row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  align-items: stretch;
}

#contact .contact-field {
  min-width: 0;
}

#contact .contact-field > label {
  display: block;
  margin-bottom: .4rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}

#contact .text-field {
  margin-bottom: 0;
}

#contact > .button {
  align-self: flex-start;
}
