/* MotoPress Hotel Booking visual integration */
.mphb_sc_search-form,
.mphb-booking-form,
.mphb-reservation-form-title,
.mphb-calendar,
.mphb_sc_checkout-form,
.mphb_sc_search_results-wrapper { font-family: var(--wr-body); }

.booking-band .mphb_sc_search-form,
.booking-band .mphb_sc_search-form > p,
.booking-band .mphb_sc_search-form > div {
  margin: 0;
}

.booking-band .mphb_sc_search-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(150px,1fr)) repeat(2,minmax(90px,.55fr)) minmax(150px,.8fr);
  gap: 1px;
  align-items: end;
  background: rgba(255,255,255,.16);
}

.booking-band .mphb_sc_search-form > .mphb-required-fields-tip,
.booking-band .mphb_sc_search-form > p:has(> input[type="hidden"][name="mphb_check_in_date"]) {
  display: none;
}

.booking-band .mphb_sc_search-form > p,
.booking-band .mphb_sc_search-form > div,
.booking-band .white-rose-booking-field {
  min-width: 0;
  padding: .72rem 1rem;
  background: var(--wr-ink);
}

.booking-band label,
.suite-booking-card label,
.mphb_sc_checkout-form label {
  display: block;
  margin-bottom: .4rem;
  color: inherit;
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.booking-band input,
.booking-band select,
.suite-booking-card input,
.suite-booking-card select {
  width: 100%;
  min-height: 46px;
  padding: .45rem 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.25);
  border-radius: 0;
  background: transparent;
  color: var(--wr-white);
  font-size: .85rem;
}

.booking-band select option,
.suite-booking-card select option { color: var(--wr-ink); }

.booking-band input::placeholder,
.suite-booking-card input::placeholder { color: rgba(255,255,255,.56); }

.booking-band input[type="submit"],
.booking-band button[type="submit"] {
  width: 100%;
  min-height: 58px;
  border-color: var(--wr-gold);
  background: var(--wr-gold);
  color: var(--wr-ink);
}

.booking-band .mphb_sc_search-submit-button-wrapper,
.booking-band .mphb-submit-button-wrapper,
.booking-band .mphb_sc_search-form > p:has(> input[type="submit"]) { padding: 0; }

.suite-booking-card .mphb-booking-form > p,
.suite-booking-card .mphb-reservation-form > p { margin-bottom: 1rem; }
.suite-booking-card input[type="submit"],
.suite-booking-card button[type="submit"] { width: 100%; margin-top: .5rem; background: var(--wr-gold); border-color: var(--wr-gold); color: var(--wr-ink); }
.suite-booking-card .mphb-reserve-btn-wrapper { margin: 1.2rem 0 0; }
.suite-booking-card .mphb-regular-price,
.suite-booking-card .mphb-room-type-total-capacity { color: rgba(255,255,255,.72); }

.mphb-calendar .datepick,
.datepick-popup .datepick {
  width: min(100%,520px) !important;
  border: 1px solid var(--wr-border) !important;
  border-radius: 0 !important;
  background: var(--wr-paper) !important;
  box-shadow: var(--wr-shadow);
  font-family: var(--wr-body) !important;
}
.datepick-popup { z-index: 2100 !important; }
.datepick-nav,
.datepick-ctrl { background: var(--wr-ink) !important; }
.datepick-month-header { min-height: 44px; padding: .55rem !important; background: var(--wr-ivory) !important; color: var(--wr-ink) !important; font-family: var(--wr-display) !important; font-size: 1.1rem !important; }
.datepick-month table { margin: 0 !important; }
.datepick-month th { padding: .55rem .25rem !important; border: 0 !important; background: var(--wr-paper) !important; color: #68655d !important; font-size: .62rem !important; }
.datepick-month td { border: 1px solid rgba(32,32,30,.08) !important; background: var(--wr-paper) !important; }
.datepick-month td a,
.datepick-month td span { display: grid !important; min-height: 42px; place-items: center; padding: .3rem !important; background: transparent !important; color: var(--wr-ink) !important; }
.datepick-month td a:hover,
.datepick-month td .datepick-selected,
.datepick-month td .mphb-date-cell-selected { background: var(--wr-gold) !important; color: var(--wr-ink) !important; }
.datepick-month td .datepick-other-month { color: #aaa69e !important; }
.datepick-month td .datepick-today { box-shadow: inset 0 0 0 1px var(--wr-gold); }

.suite-calendar .mphb-calendar { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; }
.suite-calendar .datepick { box-shadow: none; }
.mphb-calendar-title { font-family: var(--wr-display); font-size: 1.6rem; }

.mphb_sc_search_results-wrapper,
.mphb_sc_checkout-form,
.mphb_sc_booking_confirmation { width: min(100% - 2.4rem,1240px); margin: clamp(4rem,8vw,8rem) auto; }
.white-rose-mphb-results .page-entry > .entry-content,
.white-rose-mphb-checkout .page-entry > .entry-content {
  width: min(100% - 2.4rem,1240px);
  max-width: none;
}
.mphb_sc_search_results-wrapper > .mphb-room-type {
  display: block;
  min-width: 0;
  padding: 2rem 0 3rem;
  border-bottom: 1px solid var(--wr-border);
}
.mphb_sc_search_results-wrapper > .mphb-room-type .mphb-room-type-images img { max-width: 100%; height: auto; }
.mphb-room-type-title { font-size: 3.2rem; }
.mphb-room-type-title a { text-decoration: none; }
.mphb-loop-room-thumbnail img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.mphb-room-type .mphb-view-details-button,
.mphb-book-button,
.mphb-confirm-reservation { display: inline-flex; min-height: 48px; align-items: center; padding: .8rem 1.2rem; border: 1px solid var(--wr-ink); background: var(--wr-ink); color: var(--wr-white); font-size: .7rem; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.mphb-room-type-facilities,
.mphb-room-type-categories,
.mphb-room-type-adults-capacity,
.mphb-room-type-children-capacity { font-size: .82rem; }
.mphb-price { font-family: var(--wr-display); font-size: 1.4em; }

.mphb_sc_checkout-form input[type="text"],
.mphb_sc_checkout-form input[type="email"],
.mphb_sc_checkout-form input[type="tel"],
.mphb_sc_checkout-form select,
.mphb_sc_checkout-form textarea {
  width: 100%;
  min-height: 52px;
  padding: .7rem .8rem;
  border: 1px solid var(--wr-border);
  border-radius: 0;
  background: var(--wr-paper);
}
.mphb_sc_checkout-form section { margin-bottom: 3rem; padding: clamp(1.4rem,3vw,2.5rem); background: var(--wr-ivory); }
.mphb_sc_checkout-form h2,
.mphb_sc_checkout-form h3 { font-size: 2.3rem; }
.mphb-gateway-chooser { padding: 0; list-style: none; }
.mphb-gateway-chooser li { padding: 1rem; border-bottom: 1px solid var(--wr-border); }
.mphb-errors-wrapper,
.mphb-error { padding: .8rem 1rem; border-left: 3px solid #9e3f3f; background: #fff1f1; color: #6e2020; }
.mphb-message { padding: .8rem 1rem; border-left: 3px solid var(--wr-gold); background: var(--wr-ivory); }

@media (min-width: 901px) {
  .mphb_sc_search_results-wrapper > .mphb-room-type:has(> .mphb-room-type-images) {
    display: grid;
    grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr);
    column-gap: clamp(2rem,4vw,4rem);
    align-items: start;
  }
  .mphb_sc_search_results-wrapper > .mphb-room-type > .mphb-room-type-images {
    grid-column: 1;
    grid-row: 1 / span 20;
    min-width: 0;
  }
  .mphb_sc_search_results-wrapper > .mphb-room-type > :not(.mphb-room-type-images) {
    grid-column: 2;
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .booking-band .mphb_sc_search-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mphb-room-type-title { font-size: 2.75rem; }
}

@media (max-width: 600px) {
  .booking-band .mphb_sc_search-form { grid-template-columns: 1fr; }
  .booking-band .mphb_sc_search-form > p,
  .booking-band .mphb_sc_search-form > div { padding-inline: 0; }
  .suite-calendar .mphb-calendar { display: block; overflow-x: auto; }
  .datepick-popup .datepick { width: calc(100vw - 1.4rem) !important; }
  .mphb-room-type-title,
  .mphb_sc_checkout-form h2,
  .mphb_sc_checkout-form h3 { font-size: 2rem; }
}
