.w-image__inner-img {
  display: inherit;
  object-fit: inherit;
  aspect-ratio: inherit;
  object-position: inherit;
  width: inherit;
  height: inherit;
  border-radius: inherit;
}

.w-spinner {
  display: inline-block;
  flex-shrink: 0;
  box-sizing: border-box;
  border-style: solid;
  border-radius: 50%;
  border-color: var(--spinner-track, var(--color-fg-default-quaternary));
  border-top-color: var(--spinner-accent, var(--color-fg-default-primary));
  animation: w-spinner-spin .8s linear infinite;
}
@keyframes w-spinner-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.w-text-link {
  display: inline-flex;
  align-items: center;
  transition: all 150ms ease-in-out;
}
.w-text-link__anchor {
  color: var(--text-link-color);
  cursor: pointer;
  text-decoration: var(--text-link-text-decoration, none);
  display: flex;
  flex-direction: var(--text-link-flex-direction, row);
  align-items: center;
  gap: var(--spacing-4-rem);
}
.w-text-link__anchor--button {
  font: inherit;
  text-align: inherit;
}
.w-text-link__anchor--disabled {
  color: var(--color-fg-default-disabled);
  cursor: auto;
}
.w-text-link__anchor:hover {
  --text-link-text-decoration: underline;
}
.w-text-link--default-container {
  --text-link-color: var(--color-fg-brand-link);
}
.w-text-link--light-container {
  --text-link-color: var(--color-fg-brand-link);
}
.w-text-link--dark-container {
  --text-link-color: var(--color-fg-brand-link-inverted);
}
.w-container--theme-light .w-text-link--default-container,
.w-container--theme-subtle .w-text-link--default-container {
  --text-link-color: var(--color-fg-brand-link);
}
.w-container--theme-dark .w-text-link--default-container {
  --text-link-color: var(--color-fg-brand-link-inverted);
}
.w-text-link--size-small {
  --text-link-icon-size: var(--spacing-16-rem);
}
.w-text-link--size-medium {
  --text-link-icon-size: var(--spacing-24-rem);
}
.w-text-link--icon-left {
  --text-link-flex-direction: row-reverse;
}
.w-text-link svg {
  width: var(--text-link-icon-size);
  height: var(--text-link-icon-size);
  color: var(--text-link-color);
}

.w-divider {
  width: var(--divider-width);
  height: var(--divider-height);
  background-color: var(--divider-background-color);
}
.w-divider--background-light {
  --divider-background-color: var(--color-border-default-subtle);
}
.w-divider--background-dark {
  --divider-background-color: var(--color-border-default-subtle-inverted);
}
.w-divider--direction-horizontal {
  --divider-width: 100%;
  --divider-height: 1px;
}
.w-divider--direction-vertical {
  --divider-width: 1px;
  --divider-height: 100%;
}

.w-date {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-20-rem);
  padding: var(--spacing-16-rem);
  background-color: var(--color-container-default-subtle, #f5f5f5);
  border-radius: var(--spacing-8-rem);
}
.w-date__content {
  display: flex;
  flex-direction: column;
}
.w-date__night-count {
  text-align: center;
  margin-bottom: calc(10/var(--size-rem-base)*1rem);
}
.w-date__row {
  display: flex;
  align-items: center;
  width: 100%;
  gap: var(--spacing-8-rem);
  padding: 0 var(--spacing-16-rem);
}
.w-date__row--no-arrow {
  justify-content: space-between;
}
.w-date__col {
  display: flex;
  flex-direction: column;
  text-align: center;
  flex-basis: 100%;
}
.w-date__col--no-arrow {
  flex-basis: auto;
}
.w-date__col-label {
  margin-bottom: var(--spacing-2-rem);
}
.w-date__col-date {
  margin-bottom: var(--spacing-8-rem);
}
.w-date__arrow {
  flex-shrink: 0;
  width: var(--spacing-24-rem);
  height: var(--spacing-24-rem);
  color: var(--color-fg-default-secondary, #666);
}
.w-date__rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-8-rem);
  margin-top: calc(8/var(--size-rem-base)*1rem);
}
.w-date__rating-stars {
  display: flex;
  gap: var(--spacing-4-rem);
}
.w-date__rating-star {
  width: var(--spacing-16-rem);
  height: var(--spacing-16-rem);
  color: var(--color-fg-brand-primary, navy);
}
.w-date__text-link-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-16-rem);
  margin-bottom: calc(8/var(--size-rem-base)*1rem);
}
.w-date__hotel-amenities-link {
  display: block;
}
@media (min-width: 1024px) {
  .w-date__hotel-amenities-link {
    display: none;
  }
}

.w-modal {
  position: fixed;
  inset: var(--modal-inset, auto auto 0 50%);
  transform: var(--modal-transform, translateX(-50%));
  background-color: var(--color-container-default-lightest);
  border-radius: var(--modal-border-radius, var(--corner-radius-lg-rem) var(--corner-radius-lg-rem) 0 0);
  border: none;
  padding: 0;
  min-height: 0;
  width: var(--modal-width, 100vw);
  max-width: var(--modal-max-width, 100vw);
  max-height: var(--modal-max-height, calc(100vh - var(--spacing-40-rem)));
  height: auto;
  overflow: hidden;
}
@supports (height: 100dvh) {
  .w-modal {
    --modal-max-height: calc(100dvh - var(--spacing-40-rem));
  }
}
@media (min-width: 375px) {
  .w-modal {
    --modal-width: calc(100vw - var(--spacing-24-rem));
    --modal-max-width: calc(640 / var(--size-rem-base) * 1rem);
  }
}
@media (width <= 375px) {
  .w-modal {
    --modal-width: 100vw;
    --modal-max-width: 100vw;
  }
}
@media (min-width: 768px) {
  .w-modal {
    --modal-border-radius: var(--corner-radius-lg-rem);
    --modal-max-height: calc(100vh - var(--spacing-32-rem));
    --modal-inset: 50% auto auto 50%;
    --modal-transform: translate(-50%, -50%);
  }
  @supports (height: 100dvh) {
    .w-modal {
      --modal-max-height: calc(100dvh - var(--spacing-32-rem));
    }
  }
}
@media (min-width: 1024px) {
  .w-modal {
    --modal-max-width: auto;
    --modal-max-height: calc(720 / var(--size-rem-base) * 1rem);
  }
}
@media (min-width: 1024px) {
  .w-modal--size-small .w-modal {
    --modal-width: calc(480 / var(--size-rem-base) * 1rem);
  }
}
@media (min-width: 1024px) {
  .w-modal--size-large .w-modal {
    --modal-width: calc(936 / var(--size-rem-base) * 1rem);
  }
}
.w-modal--layout-keep-in-touch .w-modal {
  --modal-width: 100vw;
  --modal-max-width: 100vw;
  --modal-max-height: calc(100vh - var(--spacing-40-rem));
  --modal-inset: var(--spacing-40-rem) 0 0 50%;
  --modal-transform: translateX(-50%);
  --modal-border-radius: var(--corner-radius-lg-rem) var(--corner-radius-lg-rem) 0 0;
  --modal-header-padding: var(--spacing-16-rem) var(--spacing-20-rem);
  --modal-body-padding: var(--spacing-12-rem);
  --modal-body-padding-lg: var(--spacing-12-rem);
  --modal-footer-padding: var(--spacing-16-rem);
}
@supports (height: 100dvh) {
  .w-modal--layout-keep-in-touch .w-modal {
    --modal-max-height: calc(100dvh - var(--spacing-40-rem));
  }
}
@media (min-width: 768px) {
  .w-modal--layout-keep-in-touch .w-modal {
    --modal-width: calc(100vw - (var(--spacing-64-rem) * 2));
    --modal-max-width: calc(640 / var(--size-rem-base) * 1rem);
  }
}
@media (min-width: 1024px) {
  .w-modal--layout-keep-in-touch .w-modal {
    --modal-width: calc(480 / var(--size-rem-base) * 1rem);
    --modal-max-width: calc(480 / var(--size-rem-base) * 1rem);
    --modal-max-height: calc(100vh - (var(--spacing-40-rem) * 2));
    --modal-inset: 50% auto auto 50%;
    --modal-transform: translate(-50%, -50%);
    --modal-border-radius: var(--corner-radius-lg-rem);
  }
  @supports (height: 100dvh) {
    .w-modal--layout-keep-in-touch .w-modal {
      --modal-max-height: calc(100dvh - (var(--spacing-40-rem) * 2));
    }
  }
}
.w-modal--position-top .w-modal {
  --modal-inset: var(--spacing-40-rem) auto auto 50%;
  --modal-transform: translateX(-50%);
  --modal-max-height: calc(100vh - var(--spacing-40-rem));
}
@supports (height: 100dvh) {
  .w-modal--position-top .w-modal {
    --modal-max-height: calc(100dvh - var(--spacing-40-rem));
  }
}
@media (min-width: 1024px) {
  .w-modal--position-top .w-modal {
    --modal-max-height: calc(100vh - (var(--spacing-40-rem) * 2));
  }
  @supports (height: 100dvh) {
    .w-modal--position-top .w-modal {
      --modal-max-height: calc(100dvh - (var(--spacing-40-rem) * 2));
    }
  }
}
@media (min-width: 768px) {
  .w-modal--position-center .w-modal {
    --modal-width: calc(100vw - var(--spacing-128-rem));
    --modal-max-width: calc(640 / var(--size-rem-base) * 1rem);
    --modal-max-height: calc(100vh - var(--spacing-32-rem));
    --modal-inset: 50% auto auto 50%;
    --modal-transform: translate(-50%, -50%);
    --modal-border-radius: var(--corner-radius-lg-rem);
  }
  @supports (height: 100dvh) {
    .w-modal--position-center .w-modal {
      --modal-max-height: calc(100dvh - var(--spacing-32-rem));
    }
  }
}
@media (min-width: 1024px) {
  .w-modal--position-center .w-modal {
    --modal-width: calc(480 / var(--size-rem-base) * 1rem);
    --modal-max-width: auto;
    --modal-max-height: calc(100vh - (var(--spacing-40-rem) * 2));
  }
  @supports (height: 100dvh) {
    .w-modal--position-center .w-modal {
      --modal-max-height: calc(100dvh - (var(--spacing-40-rem) * 2));
    }
  }
}
.w-modal[open] {
  display: flex;
  flex-direction: column;
}
.w-modal::backdrop {
  background-color: var(--color-container-default-tone-80);
}
.w-modal__header {
  display: flex;
  flex-shrink: 0;
  gap: var(--spacing-8-rem);
  align-items: center;
  padding: var(--modal-header-padding, var(--spacing-16-rem) var(--spacing-24-rem));
  border-bottom: var(--modal-header-border-bottom, calc(1 / var(--size-rem-base) * 1rem) solid var(--color-border-default-subtle));
}
.w-modal__header.w-modal__header--no-divider {
  border-bottom: none;
}
.w-modal__header-close-button {
  margin-inline-start: auto;
  --button-color: var(--color-fg-default-primary);
  --button-color-hover: var(--color-fg-default-primary);
  --button-color-pressed: var(--color-fg-default-primary);
}
.w-modal__title-truncate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  min-width: 0;
}
.w-modal__body {
  padding: var(--modal-body-padding, var(--spacing-16-rem) var(--spacing-12-rem));
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
}
@media (min-width: 1024px) {
  .w-modal--no-footer .w-modal__body {
    border-radius: 0 0 var(--corner-radius-lg-rem) var(--corner-radius-lg-rem);
  }
}
@media (min-width: 1024px) {
  .w-modal__body {
    padding: var(--modal-body-padding-lg, var(--modal-body-padding, var(--spacing-16-rem) var(--spacing-16-rem)));
  }
}
.w-modal--background-subtle .w-modal__body {
  background-color: var(--color-container-default-subtle);
}
.w-modal--background-light .w-modal__body {
  background-color: var(--color-container-default-lightest);
}
.w-modal__footer {
  padding: var(--modal-footer-padding, var(--spacing-24-rem));
  border-top: calc(1/var(--size-rem-base)*1rem) solid var(--color-border-default-subtle);
  display: flex;
  flex-shrink: 0;
  justify-content: end;
  gap: var(--spacing-8-rem);
}
.w-modal__footer-link {
  margin-inline-end: auto;
}
.w-modal--header-borderless .w-modal__header {
  border-bottom: none;
  padding: var(--spacing-16-rem);
}
.w-modal--body-flush .w-modal__body {
  padding: 0;
}
@media (min-width: 1024px) {
  .w-modal--body-flush .w-modal__body {
    padding: 0;
  }
}
.w-modal.w-modal--legal {
  --modal-width: calc(100vw - var(--spacing-24-rem));
  --modal-max-width: calc(350 / var(--size-rem-base) * 1rem);
  --modal-inset: var(--spacing-32-rem) auto auto 50%;
  --modal-transform: translateX(-50%);
  --modal-border-radius: var(--corner-radius-lg-rem);
  --modal-max-height: calc(100vh - var(--spacing-32-rem));
  min-height: calc(350/var(--size-rem-base)*1rem);
  height: var(--modal-max-height);
  overflow: hidden;
}
@supports (height: 100dvh) {
  .w-modal.w-modal--legal {
    --modal-max-height: calc(100dvh - var(--spacing-32-rem));
  }
}
.w-modal.w-modal--legal .w-modal__body {
  flex: 1 1 auto;
  padding: var(--spacing-16-rem);
  overflow-x: hidden;
  overscroll-behavior-x: none;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.w-modal.w-modal--legal .w-modal__body a {
  display: inline;
  overflow-wrap: anywhere;
}
@media (min-width: 768px) {
  .w-modal.w-modal--legal {
    --modal-width: calc(100vw - var(--spacing-128-rem));
    --modal-max-width: calc(640 / var(--size-rem-base) * 1rem);
  }
}
@media (min-width: 1024px) {
  .w-modal.w-modal--legal {
    --modal-width: calc(936 / var(--size-rem-base) * 1rem);
    --modal-max-width: auto;
    --modal-max-height: calc(720 / var(--size-rem-base) * 1rem);
    --modal-inset: 50% auto auto 50%;
    --modal-transform: translate(-50%, -50%);
    height: auto;
  }
  .w-modal.w-modal--legal .w-modal__body {
    padding: var(--modal-body-padding-lg, var(--modal-body-padding, var(--spacing-16-rem) var(--spacing-16-rem)));
  }
}
.w-modal--room-details-booking {
  --room-details-booking-body-inline: var(--spacing-12-rem);
  --room-details-booking-room-inset: var(--spacing-12-rem);
}
@media (min-width: 768px) {
  .w-modal--room-details-booking {
    --room-details-booking-body-inline: var(--spacing-16-rem);
    --room-details-booking-room-inset: calc( var(--spacing-16-rem) + var(--spacing-4-rem) );
  }
}
.w-modal--room-details-booking {
  --modal-header-padding: var(--spacing-8-rem) var(--room-details-booking-room-inset);
  --modal-body-padding: var(--spacing-16-rem) var(--room-details-booking-body-inline) 0;
  --modal-body-padding-lg: var(--spacing-16-rem) var(--spacing-16-rem) 0;
}
.w-modal--room-details-booking .w-modal__header {
  box-sizing: border-box;
  min-height: calc(60/var(--size-rem-base)*1rem);
}
.w-modal--room-details-booking .w-modal__body {
  min-width: 0;
  overflow-x: hidden;
}
.w-modal--room-details-booking .w-modal__header.w-modal__header--no-divider {
  border-bottom: calc(1/var(--size-rem-base)*1rem) solid var(--color-border-default-subtle);
}
.w-modal--room-details-booking .w-modal__footer {
  box-sizing: border-box;
  align-items: center;
  min-height: var(--spacing-80-rem);
  height: var(--spacing-80-rem);
  padding: var(--spacing-12-rem) var(--room-details-booking-room-inset);
  border-top: calc(1/var(--size-rem-base)*1rem) solid var(--color-border-default-subtle, #bec9d8);
  background-color: var(--color-container-default-lightest);
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .w-modal--room-details-booking .w-modal__footer {
    padding: var(--spacing-24-rem) var(--room-details-booking-room-inset);
  }
}
@media (min-width: 1024px) {
  .w-modal--room-details-booking .w-modal__footer {
    padding: var(--spacing-24-rem);
  }
}
.w-modal--room-details-booking .w-modal__header-close-button {
  flex-shrink: 0;
  --button-min-width: 0;
  min-width: 0;
  box-sizing: border-box;
  padding: 0;
}

.w-total-for-stay-modal__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16-rem);
}
.w-total-for-stay-modal__price-table {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16-rem);
}
.w-total-for-stay-modal__price-table-header,
.w-total-for-stay-modal__price-table-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--spacing-16-rem);
}
.w-total-for-stay-modal__price-table-header-subtitle,
.w-total-for-stay-modal__price-table-total-value {
  text-align: right;
  white-space: nowrap;
}
.w-total-for-stay-modal__price-table-items {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8-rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.w-total-for-stay-modal__price-table-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--spacing-16-rem);
}
.w-total-for-stay-modal__price-table-item-value {
  text-align: right;
  white-space: nowrap;
}
.w-total-for-stay-modal__breakdown {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8-rem);
}
.w-total-for-stay-modal__legal-section {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8-rem);
}

.w-toast {
  --toast-bg-color: var(--color-container-default-subtle);
  --toast-color: var(--color-fg-default-primary);
  --toast-align-items: center;
  --toast-message-white-space: normal;
  --toast-gap: var(--spacing-16-rem);
  --toast-spacing: var(--spacing-16-rem);
  position: fixed;
  z-index: 1000;
  bottom: var(--toast-spacing);
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 1024px) {
  .w-toast {
    --toast-message-white-space: nowrap;
    left: auto;
    right: var(--toast-spacing);
    transform: none;
  }
}
.w-toast--type-large .w-toast {
  --toast-message-white-space: normal;
  --toast-gap: var(--spacing-8-rem);
}
.w-toast__surface {
  display: flex;
  align-items: var(--toast-align-items);
  gap: var(--toast-gap);
  padding: var(--spacing-16-rem);
  min-width: calc(280/var(--size-rem-base)*1rem);
  max-width: min(calc(480 / var(--size-rem-base) * 1rem), 100vw - var(--toast-spacing)*2);
  background-color: var(--toast-bg-color);
  border-radius: var(--corner-radius-md-rem);
  box-shadow: 0 1px 3px 0 rgba(85, 85, 85, .1), 1px 3px 8px 0 rgba(51, 51, 51, .08);
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  transition:
    opacity 300ms ease-in-out,
    transform 300ms ease-in-out,
    visibility 0s 0s;
}
.w-toast__surface--hidden {
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  visibility: hidden;
  transition:
    opacity 300ms ease-in-out,
    transform 300ms ease-in-out,
    visibility 0s 300ms;
}
.w-toast__sr-only {
  position: absolute;
  width: calc(1/var(--size-rem-base)*1rem);
  height: calc(1/var(--size-rem-base)*1rem);
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.w-toast__message {
  flex: 1;
  color: var(--toast-color);
  white-space: var(--toast-message-white-space);
}
.w-toast__divider {
  display: block;
  flex-shrink: 0;
  width: calc(1/var(--size-rem-base)*1rem);
  height: var(--spacing-24-rem);
  background-color: var(--toast-color);
}
.w-toast__action {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-bg-brand-primary);
}
.w-toast__close {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--spacing-16-rem);
  height: var(--spacing-16-rem);
  padding: 0;
  margin-left: auto;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--toast-color);
  aspect-ratio: 1/1;
}

.w-booking-confirmation-menu {
  --booking-menu-spin-duration: 0.8s;
  --booking-menu-action-transition-duration: 0.2s;
  display: flex;
  flex-direction: var(--column-layout-flex-direction, column);
  width: 100%;
  flex: 0 0 auto;
}
.w-booking-confirmation-menu__content {
  display: flex;
  flex-direction: var(--column-layout-flex-direction, column);
  gap: var(--spacing-16-rem);
  width: 100%;
}
.w-booking-confirmation-menu__title,
.w-booking-confirmation-menu__confirmation {
  margin: 0;
}
.w-booking-confirmation-menu__action-links {
  display: flex;
  flex-direction: var(--column-layout-flex-direction, column);
  width: 100%;
}
.w-booking-confirmation-menu__action-links--sidebar-desktop-only {
  display: none;
  margin-top: 0;
}
@media (min-width: 1024px) {
  .w-booking-confirmation-menu__action-links--sidebar-desktop-only {
    display: flex;
  }
}
.w-booking-confirmation-menu__action-links--inline-mobile {
  margin-top: 0;
}
.w-booking-confirmation-menu__action-link-row {
  padding: 0;
  border-bottom: calc(1/var(--size-rem-base)*1rem) solid var(--color-border-default-subtle);
}
.w-booking-confirmation-menu__action-link-row:first-child {
  border-top: calc(1/var(--size-rem-base)*1rem) solid var(--color-border-default-subtle);
}
.w-booking-confirmation-menu__action-row-hit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-4-rem);
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: var(--spacing-24-rem) var(--spacing-8-rem);
  border: none;
  background: rgba(0, 0, 0, 0);
  cursor: pointer;
  text-align: start;
  text-decoration: none;
  color: inherit;
  transition: opacity var(--booking-menu-action-transition-duration) ease;
}
.w-booking-confirmation-menu__action-row-hit:hover:not(:disabled) {
  opacity: .7;
}
.w-booking-confirmation-menu__action-row-hit:disabled {
  cursor: default;
  opacity: .5;
  pointer-events: none;
}
.w-booking-confirmation-menu__action-row-hit:focus-visible {
  outline: var(--spacing-2-rem) solid var(--color-border-default-focus);
  outline-offset: calc(var(--spacing-2-rem)*-1);
  border-radius: var(--corner-radius-sm-rem);
}
.w-booking-confirmation-menu__action-row-main {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.w-booking-confirmation-menu__action-row-label {
  flex: 1;
  min-width: 0;
}
.w-booking-confirmation-menu__action-row-chevron {
  flex-shrink: 0;
}
.w-booking-confirmation-menu__actions {
  margin-top: var(--spacing-0-rem);
  width: 100%;
}
@media (min-width: 768px) {
  .w-booking-confirmation-menu__actions {
    margin-top: var(--spacing-48-rem);
  }
}
.w-booking-confirmation-menu__spinner {
  display: inline-block;
  flex-shrink: 0;
  width: calc(20/var(--size-rem-base)*1rem);
  height: calc(20/var(--size-rem-base)*1rem);
  border: var(--spacing-2-rem) solid var(--color-border-default-subtle);
  border-top-color: var(--color-fg-brand-primary);
  border-radius: 50%;
  margin-right: var(--spacing-8-rem);
  animation: booking-menu-spin var(--booking-menu-spin-duration) linear infinite;
}
@keyframes booking-menu-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.w-booking-confirmation-offers {
  background-color: var(--booking-conf-offers-bg-color, var(--color-bg-default-subtle));
  padding: var(--booking-conf-offers-padding-block-start, var(--spacing-24-rem)) var(--web-grids-margin-rem) var(--spacing-40-rem);
  margin: var(--spacing-40-rem) calc(-1*var(--web-grids-margin-rem));
}
@media (min-width: 768px) {
  .w-booking-confirmation-offers {
    --booking-conf-offers-padding-block-start: var(--spacing-40-rem);
  }
}
@media (min-width: 1024px) {
  .w-booking-confirmation-offers {
    --booking-conf-offers-bg-color: var(--color-bg-default-lightest);
    border-block-start: 1px solid var(--color-border-default-subtle);
    margin-inline: 0;
    padding: var(--spacing-40-rem) 0 0;
  }
}
.w-booking-confirmation-offers.w-booking-confirmation-offers .w-content-card--container-color-light .w-content-card__container {
  --content-card-background-color: transparent;
}

.w-booking-modify-or-cancel {
  margin-top: var(--spacing-16-rem);
}
.w-booking-modify-or-cancel--status-default {
  display: flex;
  align-items: center;
  height: var(--spacing-16-rem);
  gap: var(--spacing-12-rem);
  justify-content: center;
}
@media (min-width: 768px) {
  .w-booking-modify-or-cancel--status-default {
    justify-content: start;
  }
}
.w-booking-modify-or-cancel--status-cancelling,
.w-booking-modify-or-cancel--status-cancelled {
  padding: var(--spacing-24-rem);
  background-color: var(--color-container-default-subtle);
  border-radius: var(--corner-radius-md-rem);
}
.w-booking-modify-or-cancel--status-cancelled {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-20-rem);
}
.w-booking-modify-or-cancel--status-modify-blocked {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-20-rem);
  padding: var(--spacing-24-rem);
  background-color: var(--color-container-default-subtle);
  border-radius: var(--corner-radius-md-rem);
}
.w-booking-modify-or-cancel__modify-blocked-actions {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-block-start: var(--spacing-4-rem);
}
@media (min-width: 1280px) {
  .w-booking-modify-or-cancel__modify-blocked-actions {
    margin-block-start: 0;
  }
}
.w-booking-modify-or-cancel__cancellation-data {
  display: grid;
  gap: var(--booking-moc-cancellation-data-gap, var(--spacing-16-rem));
  grid-template-columns: var(--booking-moc-cancellation-data-columns, 1fr);
  margin-block-start: var(--spacing-20-rem);
}
@media (min-width: 768px) {
  .w-booking-modify-or-cancel__cancellation-data {
    --booking-moc-cancellation-data-columns: minmax(0, 1fr) minmax(0, 1fr);
    --booking-moc-cancellation-data-gap: var(--spacing-20-rem) var(--spacing-12-rem);
  }
}
@media (min-width: 1024px) {
  .w-booking-modify-or-cancel__cancellation-data {
    --booking-moc-cancellation-data-columns: 1fr;
    --booking-moc-cancellation-data-gap: var(--spacing-16-rem);
  }
}
@media (min-width: 1280px) {
  .w-booking-modify-or-cancel__cancellation-data {
    --booking-moc-cancellation-data-columns: minmax(0, 1fr) minmax(0, 1fr);
    --booking-moc-cancellation-data-gap: var(--spacing-20-rem) var(--spacing-12-rem);
  }
}
.w-booking-modify-or-cancel__cancellation-data > :nth-child(odd):last-child {
  grid-column: 1/-1;
}
.w-booking-modify-or-cancel__canceled-data {
  display: grid;
  gap: var(--booking-moc-canceled-data-gap, var(--spacing-16-rem));
  grid-template-columns: var(--booking-moc-canceled-data-columns, 1fr);
}
@media (min-width: 768px) {
  .w-booking-modify-or-cancel__canceled-data {
    --booking-moc-canceled-data-columns: minmax(0, 1fr) minmax(0, 1fr);
    --booking-moc-canceled-data-gap: var(--spacing-20-rem) var(--spacing-12-rem);
  }
}
.w-booking-modify-or-cancel__cancellation-data-item {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4-rem);
  overflow-wrap: break-word;
}
.w-booking-modify-or-cancel__cancellation-buttons {
  display: flex;
  gap: var(--spacing-20-rem);
  margin-block-start: var(--spacing-24-rem);
  flex-wrap: wrap;
}
.w-booking-modify-or-cancel__cancellation-error-message {
  margin-block-start: var(--spacing-16-rem);
  text-align: var(--booking-moc-cancellation-error-message-text-align, center);
}
@media (min-width: 768px) {
  .w-booking-modify-or-cancel__cancellation-error-message {
    --booking-moc-cancellation-error-message-text-align: left;
  }
}
@media print {
  .w-booking-modify-or-cancel--status-default {
    display: none;
  }
}

.w-booking-confirmation {
  width: 100%;
  padding: var(--spacing-32-rem) var(--web-grids-margin-rem);
}
@media (min-width: 1024px) {
  .w-booking-confirmation {
    padding-block-start: var(--spacing-64-rem);
  }
}
@media (min-width: 1280px) {
  .w-booking-confirmation {
    margin-inline: auto;
    max-width: calc(1128/var(--size-rem-base)*1rem);
  }
}
.w-booking-confirmation__retrieve-status {
  margin-bottom: var(--spacing-16-rem);
}
.w-booking-confirmation__retrieve-status-message {
  margin: 0;
}
.w-booking-confirmation__retrieve-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-16-rem);
  margin-bottom: var(--spacing-16-rem);
}
.w-booking-confirmation__layout {
  --booking-confirmation-layout-flex-direction: column;
  --booking-confirmation-layout-gap: var(--spacing-24-rem);
  display: flex;
  flex-direction: var(--booking-confirmation-layout-flex-direction);
  gap: var(--booking-confirmation-layout-gap);
}
@media (min-width: 768px) {
  .w-booking-confirmation__layout {
    --booking-confirmation-layout-flex-direction: row;
    --booking-confirmation-layout-gap: var(--spacing-80-rem);
  }
}
.w-booking-confirmation__menu-sidebar {
  width: 100%;
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .w-booking-confirmation__menu-sidebar {
    flex: 3.5;
    min-width: 0;
  }
}
.w-booking-confirmation__menu-header-inline {
  width: 100%;
  margin-bottom: var(--spacing-24-rem);
}
.w-booking-confirmation__main {
  width: 100%;
  flex: 1 1 auto;
  min-width: 0;
}
@media (min-width: 768px) {
  .w-booking-confirmation__main {
    flex: 8.5;
  }
}
@media (min-width: 768px) {
  .w-booking-confirmation__main--tablet-small-only {
    flex: 1 1 auto;
    min-width: 0;
  }
}
.w-booking-confirmation__banner-image {
  display: block;
  max-width: 100%;
  width: 100%;
  aspect-ratio: 2.2/1;
  border-radius: var(--corner-radius-lg-rem);
  overflow: hidden;
  margin-bottom: var(--spacing-24-rem);
  object-fit: cover;
}
.w-booking-confirmation__hotel-info-wrapper {
  display: flex;
  flex-direction: var(--booking-confirmation-info-wrapper-flex-direction, column);
  gap: var(--spacing-24-rem);
}
@media (min-width: 768px) {
  .w-booking-confirmation__hotel-info-wrapper {
    --booking-confirmation-info-wrapper-flex-direction: row;
  }
}
.w-booking-confirmation__hotel-info-details {
  flex: 8;
}
.w-booking-confirmation__dates-wrapper {
  margin-top: var(--spacing-32-rem);
  display: flex;
  align-items: center;
  gap: var(--spacing-24-rem);
  margin-bottom: var(--spacing-24-rem);
  justify-content: center;
}
@media (min-width: 768px) {
  .w-booking-confirmation__dates-wrapper {
    justify-content: start;
  }
}
.w-booking-confirmation__rooms-summary,
.w-booking-confirmation__guests-summary {
  text-align: center;
}
@media (min-width: 768px) {
  .w-booking-confirmation__rooms-summary,
  .w-booking-confirmation__guests-summary {
    text-align: start;
  }
}
.w-booking-confirmation__date-block {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4-rem);
}
.w-booking-confirmation__menu-action-links-inline {
  width: 100%;
  margin-top: var(--spacing-40-rem);
}
@media (min-width: 1024px) {
  .w-booking-confirmation__menu-action-links-inline {
    display: none;
  }
}
.w-booking-confirmation__map-inline {
  display: block;
}
@media (min-width: 768px) {
  .w-booking-confirmation__map-inline {
    display: none;
  }
}
.w-booking-confirmation__map-column {
  display: none;
  flex: 4;
}
@media (min-width: 768px) {
  .w-booking-confirmation__map-column {
    display: block;
  }
}
.w-booking-confirmation__map-details-wrapper {
  display: flex;
  flex-direction: column;
  margin-top: var(--spacing-40-rem);
}
@media (min-width: 768px) {
  .w-booking-confirmation__map-details-wrapper {
    margin-top: var(--spacing-0-rem);
  }
}
.w-booking-confirmation__map-wrapper {
  border-radius: var(--corner-radius-lg-rem);
  overflow: hidden;
}
.w-booking-confirmation__map-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 27/8;
}
@media (min-width: 768px) {
  .w-booking-confirmation__map-image {
    aspect-ratio: auto;
  }
}
.w-booking-confirmation__map-details {
  margin-top: var(--spacing-8-rem);
}
@media (min-width: 768px) {
  .w-booking-confirmation__map-details {
    margin-top: var(--spacing-16-rem);
  }
}
.w-booking-confirmation__map-details,
.w-booking-confirmation__info-item,
.w-booking-confirmation__room-block {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8-rem);
}
.w-booking-confirmation__rooms-section {
  margin: var(--spacing-40-rem) var(--spacing-0-rem);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-24-rem);
}
.w-booking-confirmation__price-section {
  margin-top: var(--spacing-40-rem);
  display: flex;
  flex-direction: column;
}
.w-booking-confirmation__price-row-title,
.w-booking-confirmation__price-row {
  display: flex;
  justify-content: space-between;
}
.w-booking-confirmation__price-row-title {
  margin-bottom: var(--spacing-20-rem);
}
.w-booking-confirmation__price-row {
  margin-bottom: var(--spacing-8-rem);
}
.w-booking-confirmation__receipt-link {
  margin: var(--spacing-4-rem) var(--spacing-0-rem) var(--spacing-40-rem) var(--spacing-0-rem);
}
.w-booking-confirmation__receipt-modal-error {
  margin-top: var(--spacing-8-rem);
}
.w-booking-confirmation__print-only {
  display: none;
}
.w-booking-confirmation__policy-section {
  margin-bottom: var(--spacing-24-rem);
}
@media print {
  .w-booking-confirmation__map-inline,
  .w-booking-confirmation__map-column,
  .w-booking-confirmation__receipt-link {
    display: none;
  }
  .w-booking-confirmation__print-only {
    display: block;
    margin-top: var(--spacing-24-rem);
  }
  .w-booking-confirmation__layout {
    flex-direction: column;
  }
  .w-booking-confirmation__banner-image {
    aspect-ratio: auto;
    max-height: calc(200 / var(--size-rem-base) * 1rem);
  }
  .w-booking-confirmation__hotel-info-wrapper {
    flex-direction: column;
  }
}


/*# sourceMappingURL=c-booking-confirmation.16addbbe.css.map*/