/*
 * Advanced Search Form
 */

/* === Search Results Title === */

.advanced-search-results-summary {
  text-align: center;
  margin-bottom: 50px;
}

.advanced-search-results-icon {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  display: flex;
}

.advanced-search-results-title {
  text-transform: uppercase;
  margin-top: 10px;
  color: #333;
  font-weight: 400;
  font-size: 20px;
}

/*
 * Main Search Wrapper
 */

@media (min-width: 769px) {
  form#advanced-search-form {
    padding-top: 30px;
  }
}

.advanced-search-form-wrapper {
  display: flex;
  align-items: center;
  background: #F4F1EA;
  gap: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  position: relative;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 769px) {
  .advanced-search-form-wrapper.active {
    background-color: #E8E4D8;
    transition: background-color 0.2s ease;
  }
}

.active-highlight {
  position: absolute;
  background: #F4F1EA;
  transition: all 0.3s ease;
  pointer-events: none;
  top: 0;
  left: 0;
  border-radius: 0;
  opacity: 0;
}

.advanced-search-form-wrapper.active .active-highlight {
  opacity: 1;
}


/* === Individual Blocks === */
.advanced-search-form-block {
  flex: 1 1 20%;
  padding: 16px 14px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 125px;
  border-radius: 0;
  transition: background 0.2s ease;
  position: relative;
  border: 1px solid #DFDCC9;
  border-right: none;
}

.advanced-search-form-block:not(.active):hover {
  background-color: #E9E8E3;
}

/* === Labels and Values === */

@media (min-width: 769px) {
  .advanced-search-form-block .block-header .block-icon {
    display: none;
  }
}

@media (min-width: 769px) {
  .advanced-search-form-block .block-header-checkout {
    display: none;
  }
}

.advanced-search-form-block .label {
  font-size: 14px;
  color: #76746A;
  font-weight: 500;
  margin-bottom: 2px;
}

@media (min-width: 769px) {
  .advanced-search-form-block .block-header .label {
    position: absolute;
    top: -24px;
    left: 0;
  }
}

.advanced-search-form-block .value {
  font-size: 14px;
  font-weight: 400;
  color: #B0AD9A;
}

.advanced-search-form-block.has-selection .value {
  color: #000000;
}

/* === Search Button === */
.advanced-search-form-block.advanced-search-form-submit {
  flex: 0 0 auto;
  width: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-color: #B0AD9A;
}

.advanced-search-form-block.advanced-search-form-submit button:not(.checkout-button) {
  border: 1px solid #B0AD9A;
  background: #B0AD9A;
  color: #fff;
  border-radius: 0;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.2s ease;
  font-weight: 400;
  text-transform: uppercase;
  padding: 14px;
  width: calc(100% + 2px);
}

.advanced-search-form-block.advanced-search-form-submit button:not(.checkout-button):hover {
  background: #a19e8c;
}

.advanced-search-form-block.advanced-search-form-submit button:not(.checkout-button):disabled {
  background: #bfbca8;
  border-color: #bfbca8;
  cursor: default;
}

.advanced-search-form-block.advanced-search-form-submit button:not(.checkout-button):disabled:hover {
  background: #bfbca8;
  border-color: #bfbca8;
}

.advanced-search-form-block.advanced-search-form-submit .mphb-advanced-preloader {
  position: absolute;
  display: flex;
  gap: 2px;
  top: 50%;
  left: 50%;
  transform: translate(35px, 0);
}

.mphb-advanced-preloader span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #F4F1EA;
  animation: pulse 2.0s infinite linear;
  opacity: 0.4;
}

.mphb-advanced-preloader span:nth-child(1) {
  animation-delay: 0s;
}
.mphb-advanced-preloader span:nth-child(2) {
  animation-delay: 0.5s;
}
.mphb-advanced-preloader span:nth-child(3) {
  animation-delay: 1.0s;
}

@keyframes pulse {
  0% {
    transform: scale(0.6);
    opacity: 0.4;
  }
  30% {
    transform: scale(1);
    opacity: 1;
  }
  60%, 100% {
    transform: scale(0.6);
    opacity: 0.4;
  }
}

/* === Dropdown Panels === */
.guests-dropdown,
.location-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  background: #F4F1EA;
  border-top: 1px solid #E8E4D8;
  border-radius: 0;
  padding: 30px;
  margin-top: 0;
  min-width: 240px;
  cursor: default;
}

/* === Location Dropdown === */

.location-dropdown {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 0px;
  left: -1px;
}

@media (min-width: 769px) {
  .location-dropdown {
    max-width: 530px;
    min-width: calc(2 * 100% + 2px);
  }
}

.location-dropdown .dropdown-title {
  font-weight: 400;
  margin-bottom: 1rem;
  color: #76746A;
}

.location-dropdown .locations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0px;
  min-width: 130px;
}

.advanced-search-form-location.active .location-dropdown {
  display: block;
}

.location-dropdown .location-option {
  align-items: center;
  gap: 8px;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  padding: 10px;
  font-size: 14px;
  transition: background 0.2s ease;
  min-width: 80px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 0;
  cursor: pointer;
}

.location-dropdown .location-option[data-location="trees"] {
  order: -1;
}

.location-dropdown .location-option:hover {
  background: #E9E8E3;
}

.location-dropdown .location-option.active {
  background-color: #E9E8E3;
  color: #fff;
}

.location-dropdown .location-option .icon {
  font-size: 24px;
  margin-bottom: 4px;
}

.location-dropdown .location-option .label {
  font-size: 13px;
  font-weight: 500;
}

/* === Guest Dropdown === */

@media (min-width: 769px) {
  .guests-dropdown {
    width: calc(100% + 126px);
  }
}

.advanced-search-form-guests.active .guests-dropdown {
  display: block;
}

.guest-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.guest-row .label-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.guest-row .age-note {
  font-size: 0.75rem;
  color: #666;
  font-weight: 400;
}

.guest-row span {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.guest-row .controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.guest-row .controls button {
  padding: 4px 10px;
  border: none;
  border-radius: 50%;
  font-weight: 400;
  cursor: pointer;
  border: 1px solid #B0AD9A;
  width: 24px;
  height: 24px;
  line-height: 28px;
  padding: 0;
  background: transparent;
  touch-action: manipulation;
  font-size: 16px;
}

.guest-row .controls button:hover {
  background-color: transparent;
}

.guest-row .controls .icon {
  width: 16px;
  height: 16px;
  stroke: #B0AD9A;
}

.guest-row .controls span {
  min-width: 20px;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
}

/* === Checkout === */

.checkout-value-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}

.reset-dates {
  background: none;
  border: none;
  font-size: 14px;
  cursor: pointer;
  color: #888;
  display: none;
  position: absolute;
  right: 8px;
}

.reset-dates:hover {
  color: #333;
}

/* === Calendar Container === */
#calendar-container {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 999;
  background: #F4F1EA;
  padding: 24px 60px;
  border-radius: 0;
  width: 100%;
}

.search-error-message {
  color: #ffffff;
  font-size: 16px;
  text-align: center;
  animation: fadeInOut 3s forwards;
  font-weight: 400;
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
  background: #B0AD9A;
  right: 0;
  top: 0;
  align-items: center;
  justify-content: center;
}

.search-error-message .error-icon {
  margin-right: 8px;
}

.search-error-message .error-icon svg {
  width: 22px;
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/*
 * Datepicker
 */

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal {
  --mphb-available-date-bg: #F4F1EA;
  --mphb-available-date-color: #000000;
  --mphb-not-available-date-bg: #e7e7df;
  --mphb-not-available-date-color: #ffffff;
  --mphb-booked-date-bg: #fff;
  --mphb-booked-date-color: #e49090;
  --mphb-out-of-season-date-bg: #fff;
  --mphb-out-of-season-date-color: #b2b2b2;
  --mphb-selected-date-bg: #c8c5bb;
  --mphb-selected-date-color: #ffffff;
  --mphb-checkin-date-bg: #B0AD9A;
  --mphb-checkin-date-color: #ffffff;
  --mphb-unselectable-date-color: #b2b2b2;
}

.mphb-advanced-calendar.mphb-calendar.mphb-loading .datepick {
    position: inherit;
}

.mphb-advanced-calendar.mphb-calendar.mphb-loading .mphb-datepicker-minimal .datepick-weekend {
    background: initial;
}

.mphb-advanced-calendar.mphb-calendar.mphb-loading .datepick:before {
    background-image: none;
}

.mphb-advanced-calendar.mphb-calendar.mphb-loading .datepick:after {
    content: '';
    z-index: 1;
    width: 24px;
    height: 24px;
    border: 3px solid #b3b3b3;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 1.2s linear infinite;
    position: absolute;
    cursor: default;
    top: 50%;
    left: 50%;
    margin-left: -12px;
    margin-top: -12px;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal,
.datepick-popup .mphb-datepicker-minimal {
  background-color: #F4F1EA;
  color: #000000;
  border: none;
}

.mphb-calendar .mphb-datepicker-minimal .datepick-month {
  border: none;
  padding: 0 40px;
}

.mphb-calendar .mphb-datepicker-minimal .datepick-month+.datepick-month {
  border: none;
  padding: 0 40px;
}

.datepick-popup .mphb-datepicker-minimal .datepick-month {
  border: none;
  padding: 0 20px;
}

.datepick-popup .mphb-datepicker-minimal .datepick-month+.datepick-month {
  border: none;
  padding: 0 20px;
}

.mphb-calendar .datepick-month table,
.datepick-popup .datepick-month table {
  border-color: #F4F1EA;
}

.datepick-popup .mphb-datepicker-minimal .datepick-month-header select,
.datepick-popup .mphb-datepicker-minimal .datepick-month-header,
.datepick-popup .mphb-datepicker-minimal .datepick-month-header,
.datepick-month th,
.datepick-month td,
.mphb-calendar .mphb-datepicker-minimal .datepick-nav,
.mphb-calendar .mphb-datepicker-minimal .datepick-ctrl,
.datepick-popup .mphb-datepicker-minimal .datepick-nav,
.datepick-popup .mphb-datepicker-minimal .datepick-ctrl {
  font-weight: 400 !important;
}

.mphb-calendar .mphb-datepicker-minimal.datepick {
  font-size: 100%;
  font-weight: 400;
  width: 100% !important;
  margin: 0 auto;
}

.datepick-popup .mphb-datepicker-minimal.datepick {
  font-size: 100%;
  font-weight: 400;
  min-width: 500px;
}

.mphb-calendar .mphb-datepicker-minimal .datepick-month tbody {
  line-height: 2.4em;
}

.datepick-popup .mphb-datepicker-minimal .datepick-month-header select,
.datepick-popup .mphb-datepicker-minimal .datepick-month-header,
.datepick-popup .mphb-datepicker-minimal .datepick-month-header,
.datepick-month th,
.datepick-month td,
.mphb-calendar .mphb-datepicker-minimal .datepick-nav,
.mphb-calendar .mphb-datepicker-minimal .datepick-ctrl,
.datepick-popup .mphb-datepicker-minimal .datepick-nav,
.datepick-popup .mphb-datepicker-minimal .datepick-ctrl {
  font-weight: 400 !important;
}

.mphb-calendar .mphb-datepicker-minimal .datepick-month th,
.mphb-calendar .mphb-datepicker-minimal .datepick-month th a,
.datepick-popup .mphb-datepicker-minimal .datepick-month th,
.datepick-popup .mphb-datepicker-minimal .datepick-month th a {
  background-color: #F4F1EA;
  color: #B0AD9A;
  border: none;
}

.mphb-calendar .mphb-datepicker-minimal .datepick-month td,
.datepick-popup .mphb-datepicker-minimal .datepick-month td {
  background-color: #F4F1EA;
  border: 1px solid #F4F1EA;
}

.datepick-month td .datepick-weekend {
  background-color: #F4F1EA;
}

.datepick-popup .mphb-datepicker-minimal.mphb-datepick-popup .datepick-month td .mphb-selectable-date {
  background-color: #F4F1EA;
}

.datepick-popup .mphb-datepicker-minimal.mphb-datepick-popup .datepick-month td .datepick-selected {
  background-color: #B0AD9A;
}

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-mark-as-unavailable--check-in,
.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-mark-as-unavailable,
.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-date-check-in {
  background: var(--mphb-not-available-date-bg);
  color: var(--mphb-not-available-date-color);
}

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-selected-date--check-in,
.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-selected-date--check-out {
  background: var(--mphb-checkin-date-bg);
  color: var(--mphb-checkin-date-color);
  text-decoration: none;
}

.mphb-calendar td .mphb-mark-as-unavailable--check-out {
  background: var(--mphb-available-date-bg);
}

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-selectable-date--check-out {
  color: var(--mphb-available-date-color);
  text-decoration: none;
  background-color: #F4F1EA;
}

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-selected-date,
.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-selectable-date--check-in:hover,
.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-selectable-date--check-out:hover {
  background: var(--mphb-selected-date-bg);
  color: var(--mphb-selected-date-color) !important;
  text-decoration: none;
}

.mphb-calendar td .mphb-unselectable-date--check-in,
.mphb-calendar td .mphb-unselectable-date--check-out {
  color: var(--mphb-unselectable-date-color, #777);
  background: #E9E8E3;
}

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-unselectable-date--check-out:not(.datepick-selected) {
  background: #E9E8E3;
}

.mphb-calendar .mphb-datepicker-minimal .datepick-month td a,
.mphb-calendar .mphb-datepicker-minimal .datepick-month td span,
.datepick-popup .mphb-datepicker-minimal .datepick-month td a,
.datepick-popup .mphb-datepicker-minimal .datepick-month td span {
  border-radius: 0;
  max-width: none;
}

.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td .mphb-past-date,
.datepick-popup .mphb-datepicker-minimal.mphb-datepick-popup .datepick-month td .mphb-past-date {
  background-color: #F4F1EA;
}

.datepick-popup .mphb-datepicker-minimal.mphb-datepick-popup .datepick-month td .mphb-past-date {
  background-color: #F4F1EA;
  color: #d0d0d0;
  text-decoration: none;
}

.datepick-popup .mphb-datepicker-minimal.mphb-datepick-popup .datepick-month td .mphb-unselectable-date:not(.mphb-past-date) {
  text-decoration: none;
  background: #dbdbd2;
  color: #ffffff;
}

.datepick-popup .mphb-datepicker-minimal.mphb-datepick-popup .datepick-month td a.datepick-highlight {
  background-color: #c8c5bb;
  color: #fff;
}

.mphb-datepicker-minimal .datepick-nav-inside {
  padding: 10px;
  vertical-align: middle;
  text-align: center;
  margin-bottom: 5px;
  position: relative;
}

.mphb-datepicker-minimal .datepick-nav-inside a.datepick-cmd {
  left: 0;
  width: auto;
  background: none;
  height: auto;
  vertical-align: middle;
  top: 0;
  line-height: normal;
  color: #303133;
}

.mphb-datepicker-minimal .datepick-month.last .datepick-nav-inside .datepick-cmd-next {
  right: 0;
  left: auto
}

@media (min-width: 769px) {

  .mphb-datepicker-minimal .datepick-month.first .datepick-nav-inside .datepick-cmd-next,
  .mphb-datepicker-minimal .datepick-month.last .datepick-nav-inside .datepick-cmd-prev {
    display: none;
  }
}

.mphb-datepicker-minimal .datepick-nav {
  display: none;
}

.mphb-datepicker-minimal .datepick-ctrl {
  display: none;
}

/* === Responsive Fix === */
@media (max-width: 768px) {
  .advanced-search-form-wrapper {
    flex-direction: column;
    gap: 8px;
    background: transparent;
  }

  .active-highlight {
    display: none;
  }

  .advanced-search-form-block {
    width: 100%;
    border: none;
    background: #F4F1EA;
  }

  .advanced-search-form-block.active {
    padding: 0;
  }

  .advanced-search-form-block.active>div {
    display: none;
  }

  .advanced-search-form-block .block-header {
    display: flex;
    gap: 10px;
  }

  .advanced-search-form-block .block-header .block-icon {
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .advanced-search-form-block .block-header .block-icon svg {
    width: 20px;
  }

  .advanced-search-form-block .block-title .label {
    color: #B0AD9A;
    text-transform: uppercase;
    font-size: 12px;
  }

  .advanced-search-form-block:not(.has-selection) .block-title .value {
    color: #97958c;
  }

  .guests-dropdown,
  .location-dropdown {
    position: static;
  }

  .location-dropdown .locations-grid {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }

  .advanced-search-form-block.advanced-search-form-checkin {
    display: flex;
    flex-direction: row;
    gap: 14px;
  }

  .advanced-search-form-block.advanced-search-form-checkin>div {
    flex: 1;
  }
  .advanced-search-form-block.advanced-search-form-checkin>div.block-header-checkout {
    flex: 0.8;
  }

  .advanced-search-form-block.advanced-search-form-checkout {
    display: none;
  }

  #calendar-container {
    position: static;
    margin-left: 0;
    width: calc(100% - 2px);
    margin-top: -8px;
    padding: 24px;
  }

  .datepick-popup .mphb-datepicker-minimal.datepick {
    min-width: auto;
  }

  .mphb-calendar .mphb-datepicker-minimal .datepick-month,
  .datepick-popup .mphb-datepicker-minimal .datepick-month {
    padding: 0
  }

  .mphb-datepicker-minimal .datepick-month {
    padding: 0;
    padding-right: 0;
  }

  .mphb-datepicker-minimal .datepick-month.last {
    display: none;
  }

  .advanced-search-form-block.advanced-search-form-submit {
    width: 100%;
  }

  .advanced-search-form-block.advanced-search-form-submit button:not(.checkout-button) {
    padding: 18px 14px;
  }
}

/*
 * Search Results
 */

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 80px 20px;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type {
  margin: 0;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type .post-thumbnail.mphb-loop-room-thumbnail img {
  width: 100%;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type h2.mphb-room-type-title.entry-title {
  margin: 0;
  margin-top: 16px;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type .mphb-loop-room-type-attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: center;
  margin-top: 5px;
  font-weight: 400;
  font-size: 14px;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type .mphb-loop-room-type-attributes>div {
  display: inline-flex;
  gap: 0.3em;
  align-items: center;
  position: relative;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type .mphb-loop-room-type-attributes>div:not(:last-child)::after {
  content: "|";
  margin-left: 0.5em;
  color: #888;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type .mphb-regular-price {
  font-weight: 400;
  margin-top: 10px;
}

.mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper .mphb-room-type .mphb-regular-price .mphb-price-period {
  cursor: auto;
  border: none;
}

@media (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb_sc_advanced_search_results-wrapper {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}

/*
 * Accommodation Type page
 */

body.single-mphb_room_type .post-body .row-container .row-container .row-parent {
  padding-left: 0;
  padding-right: 0;
}

.mphb-single-room-type-post-thumbnail {
  width: 100%;
  max-width: 100%;
  height: 600px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}

.mphb-single-room-type-post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.mphb-single-room-type-main-content {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}

.mphb-single-room-type-content-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

.mphb-single-room-type-attributes-section {
  background-color: #F4F1EA;
  padding: 60px;
}

.mphb-single-room-type-attributes-section .mphb-details-title {
  margin: 0 !important;
}

.mphb-single-room-type-attributes-section .mphb-single-room-type-attributes {
  margin-top: 40px;
}

.mphb-single-room-type-attributes-section .mphb-single-room-type-attributes>div {
  margin-bottom: 18px;
  font-weight: 400;
}

.mphb-single-room-type-attributes-section .mphb-regular-price {
  font-weight: 400;
}

.mphb-single-room-type-calendar-section {
  background-color: #F4F1EA;
  padding: 60px;
}

.mphb-single-room-type-calendar-section .mphb-calendar-title {
  margin: 0;
}

.mphb-single-room-type-calendar-section .mphb-calendar {
  margin-top: 40px;
}

.mphb-single-room-type-calendar-section .mphb-calendar .mphb-datepicker-minimal .datepick-month {
  padding: 0;
  padding-right: 20px;
}

.mphb-single-room-type-calendar-section .mphb-calendar .mphb-datepicker-minimal .datepick-month+.datepick-month {
  padding: 0;
  padding-left: 20px;
}

.mphb-single-room-type-sidebar-area {
  width: 320px;
  flex-shrink: 0;
}

.mphb-single-room-type-reservation-form-section {
  background: #DFDCC9;
  padding: 30px;
  padding-top: 60px;
}

@media (min-width: 769px) {
  body.single-mphb_room_type .box-wrapper {
      overflow: inherit; /* For sticky scroll */
  }
  .mphb-single-room-type-reservation-form-section {
    position: sticky;
    top: 20px;
  }
}

.mphb-single-room-type-reservation-form-section .mphb-reservation-form-title {
  margin: 0;
  display: none;
}

.mphb-single-room-type-reservation-form-section .mphb-period-price {
  margin: 0;
  font-size: 22px;
  font-weight: 400;
}

.mphb-period-price .mphb-price-period {
  cursor: auto;
  border: none;
}

.mphb-single-room-type-reservation-form-section label {
  font-weight: 400;
}

.mphb-single-room-type-reservation-form-section input[type="text"] {
  width: 100%;
  margin-top: 0;
}

.mphb-single-room-type-reservation-form-section select {
  margin-top: 0;
}

.mphb-single-room-type-reservation-form-section input[type="submit"]:not(.btn-inherit) {
  margin-top: 20px !important;
  width: 100%;
}

@media (max-width: 768px) {

  .mphb-room-type-title entry-title {
    margin-top: 0;
  }

  .mphb-single-room-type-post-thumbnail {
    height: auto;
  }

  .mphb-single-room-type-main-content {
    flex-direction: column;
  }

  .mphb-single-room-type-content-area {
    width: 100%;
  }

  .mphb-single-room-type-attributes-section {
    padding: 40px;
  }

  .mphb-single-room-type-calendar-section {
    padding: 40px;
  }

  .mphb-single-room-type-sidebar-area {
    width: 100%;
  }

  .mphb-single-room-type-calendar-section .mphb-calendar .mphb-datepicker-minimal .datepick-month {
    padding-right: 0;
  }
}


/* FlexSlider */

body .flexslider.mphb-flexslider {
    background: #fff;
    border: 0 solid #fff;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.mphb-flexslider.mphb-gallery-main-slider .slides img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 16/10;
    height: auto;
}

body .mphb-flexslider.mphb-gallery-thumbnails-slider {
  margin-top: 8px;
}

.mphb-gallery-thumbnail-slider .slides {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden;
}

.mphb-gallery-thumbnail-slider .slides li {
    width: auto;
    flex: 0 0 auto;
}

@media (min-width: 769px) {
  .mphb-gallery-thumbnail-slider .slides li {
      flex: 0 0 125px;
  }
}

.flexslider.mphb-flexslider .gallery-icon {
    display: block;
    font-size: 0;
}

.mphb-gallery-main-slider a,
.mphb-gallery-thumbnail-slider a {
    display: inline;
    font-size: 0;
}

body .mphb-flexslider .flexslider ul.flex-direction-nav a, body .flexslider ul.flex-direction-nav a {
    font-size: 14px;
    font-size: .875rem;
    background: #fff;
    border-radius: 100%;
}

@media screen and (min-width: 48em) {
    body .mphb-flexslider .flexslider ul.flex-direction-nav a, body .flexslider ul.flex-direction-nav a {
        font-size:16px;
        font-size: 1rem
    }
}

body .mphb-flexslider .flexslider ul.flex-direction-nav a.flex-next, body .flexslider ul.flex-direction-nav a.flex-next {
    right: 1.25em
}

body .mphb-flexslider .flexslider ul.flex-direction-nav a.flex-prev, body .flexslider ul.flex-direction-nav a.flex-prev {
    left: 1.25em
}

body .mphb-flexslider .flexslider:hover ul.flex-direction-nav a.flex-next, body .flexslider:hover ul.flex-direction-nav a.flex-next {
    opacity: 1;
    right: 1.25em
}

body .mphb-flexslider .flexslider:hover ul.flex-direction-nav a.flex-prev, body .flexslider:hover ul.flex-direction-nav a.flex-prev {
    opacity: 1;
    left: 1.25em
}

body .mphb-flexslider .flexslider ul.flex-direction-nav a:before, body .flexslider ul.flex-direction-nav a:before {
    font-size: 16px;
    font-size: 1rem;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    text-indent: 0;
}

/*
 * Checkout page
 */

.mphb-checkout-section.mphb-booking-details .mphb-reserve-rooms-details {
  background-color: #F4F1EA;
  padding: 60px 100px;
  margin-top: 60px;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.mphb-checkout-section.mphb-booking-details .mphb-reserve-rooms-details .mphb-room-details {
  max-width: 1128px;
  margin: 0 auto;
}

.mphb-checkout-section .mphb-guest-name-wrapper input[type="text"] {
  background-color: #F4F1EA;
  border-color: #9fa48e;
  width: 100%;
}

.mphb-checkout-section .mphb_checkout-guests-list,
.mphb-checkout-section .mphb_checkout-services-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 200px;

}

.mphb-checkout-section .advanced-checkout-control {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  align-items: flex-start;
}

.mphb-checkout-section .advanced-checkout-control label {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-weight: 400;
}

.mphb-checkout-section .advanced-checkout-control label span {
  font-size: 0.75rem;
  color: #666;
  font-weight: 400;
}

.mphb-checkout-section .advanced-checkout-control .controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mphb-checkout-section .advanced-checkout-control .controls button {
  padding: 4px 10px;
  border: none;
  border-radius: 50%;
  font-weight: 400;
  cursor: pointer;
  border: 1px solid #B0AD9A;
  width: 24px;
  height: 24px;
  line-height: 32px;
  padding: 0;
  background: transparent;
}

.mphb-checkout-section .advanced-checkout-control .controls button:hover {
  background-color: transparent;
}

.mphb-checkout-section .advanced-checkout-control .controls .icon {
  width: 16px;
  height: 16px;
  stroke: #B0AD9A;
}

.mphb-checkout-section .advanced-checkout-control .controls span {
  min-width: 20px;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
}

.mphb-checkout-section h3.mphb-booking-details-title {
  text-transform: uppercase;
  margin-bottom: 10px !important;
  display: block;
}

.mphb-checkout-section p.mphb-check-in-date {
  font-weight: 400;
}

.mphb-checkout-section p.mphb-check-in-date time strong {
  font-weight: 400;
}

.mphb-checkout-section p.mphb-check-out-date {
  font-weight: 400;
}

.mphb-checkout-section p.mphb-check-out-date time strong {
  font-weight: 400;
}

.mphb-checkout-section p.mphb-room-type-title {
  margin: 0 !important;
  font-weight: 400;
}

.mphb-checkout-section .mphb-checkout-item-section {
  margin-top: 30px;
}

.mphb-checkout-section p.mphb-guest-name-wrapper label {
  font-weight: 400;
}

.mphb-checkout-section .mphb-arrival-time-details>h4.mphb-arrival-time-title {
  text-transform: uppercase;
  margin-top: 50px !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
}

.mphb-arrival-time-wrapper {
    margin-top: 20px;
}

.mphb-arrival-time-wrapper label {
    font-weight: 400;
    color: #303133;
}

.mphb-arrival-time-wrapper select#mphb_arrival_time {
    color: #303133;
    background-color: #F4F1EA;
    border-color: #9fa48e;
    border-radius: 0;
    line-height: 15px;
}

.mphb-checkout-section #mphb-services-details-0>h4.mphb-services-details-title {
  text-transform: uppercase;
  margin-top: 50px !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
}

.mphb-checkout-section .mphb_checkout-services-list {
  margin-top: 30px;
}

section#mphb-coupon-details.mphb-checkout-section {
  margin-top: 60px !important;
  display: flex;
  align-items: flex-end;
  gap: 14px;
}

label.mphb-coupon-code-title {
  font-weight: 400;
}

input#mphb_coupon_code {
  box-shadow: none;
  border-color: #9fa48e;
  width: 100%;
}

section#mphb-coupon-details p:first-of-type {
  flex: 1 1 auto;
  gap: 14px;
}

section#mphb-coupon-details p {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
}

button.button.btn.mphb-apply-coupon-code-button {
  background-color: #B0AD9A !important;
  border-color: #B0AD9A !important;
  height: 36px;
}

h4.mphb-price-breakdown-title {
  margin-top: 0 !important;
}

section#mphb-price-details {
  margin-top: 72px !important;
}

table.mphb-price-breakdown td {
  border-right: 0 !important;
  border-left: 0 !important;
  padding: 0;
}

table.mphb-price-breakdown td:last-of-type {
  text-align: right;
}

table.mphb-price-breakdown {
  border: none;
}

table.mphb-price-breakdown span.mphb-inner-icon {
  display: none !important;
}

table.mphb-price-breakdown span.mphb-inner-icon.mphb-hide {
  display: none;
}

table.mphb-price-breakdown tr.mphb-price-breakdown-booking.mphb-price-breakdown-group td {
  padding-bottom: 30px;
  border-bottom: none;
}

table.mphb-price-breakdown tr {
  height: 50px;
}

table.mphb-price-breakdown tr th {
  border-right: 0 !important;
  border-left: 0 !important;
  padding: 0;
}

table.mphb-price-breakdown tr th:last-of-type {
  text-align: right;
}

tr.mphb-price-breakdown-dates {
  background-color: #F4F1EA;
}

table.mphb-price-breakdown tr.mphb-price-breakdown-dates th {
  padding: 10px;
}

tr.mphb-price-breakdown-services-headers {
  background-color: #F4F1EA;
}

table.mphb-price-breakdown tr.mphb-price-breakdown-services-headers th {
  padding: 10px;
}

tr.mphb-price-breakdown-total {
  text-transform: uppercase;
}

tr.mphb-price-breakdown-total th {
  border-bottom: none;
}

.mphb_sc_checkout-form>.mphb-checkout-section.mphb-customer-details:not(:first-of-type) {
  background-color: #DFDCC9;
  padding: 60px 100px;
  margin-top: 60px !important;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.mphb-customer-info {
  max-width: 1128px;
  margin: 0 auto;
}

h3.mphb-customer-details-title {
  margin-top: 0 !important;
}

section#mphb-customer-details input,
section#mphb-customer-details textarea,
section#mphb-customer-details select {
  background-color: #DFDCC9;
  border-color: #9fa48e;
}

@media (min-width: 769px) {

  section#mphb-customer-details .mphb-form-row {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
  }

  section#mphb-customer-details .mphb-form-row p {
    flex: 1 1 45%;
    margin: 0;
  }
}

section#mphb-customer-details p input {
  width: 100%;
}

section#mphb-customer-details p {
  margin-top: 10px !important;
}

.mphb-checkout-section ul.mphb-gateways-list {
  list-style: none !important;
}

h3.mphb-gateway-chooser-title {
  margin-top: 60px;
}

p.mphb-gateway-description {
  display: none;
}

section#mphb-stripe-payment-container {
  margin-top: 10px;
}

div#mphb-stripe-card-element {
  border-color: #9fa48e;
  border-radius: 0;
}

.mphb_sc_checkout-form p.mphb-total-price {
  text-transform: uppercase;
}

.mphb_sc_checkout-form p.mphb-errors-wrapper {
  margin-top: 10px !important;
  color: #9fa48e !important;
}


@media (max-width: 768px) {

  .mphb-checkout-section .mphb_checkout-guests-list,
  .mphb-checkout-section .mphb_checkout-services-list {
    grid-template-columns: 1fr;
  }

  .mphb-checkout-section .advanced-checkout-control {
    flex-direction: column;
    align-items: flex-start;
  }

  .mphb-checkout-section .advanced-checkout-control label {
    margin-bottom: 0.5rem;
  }

  .mphb-checkout-section.mphb-booking-details .mphb-reserve-rooms-details {
    padding: 40px;
    margin-top: 40px;
  }

  section#mphb-coupon-details.mphb-checkout-section {
    flex-direction: column;
    align-items: baseline;
  }

  .mphb_sc_checkout-form>.mphb-checkout-section.mphb-customer-details:not(:first-of-type) {
    padding: 40px;
    margin-top: 40px !important;
  }
}
