/* High-specificity rule to restore the Fusion button look */
:is(
  button.mphb-book-button,
  button.mphb-recommendation-reserve-button,
  button.mphb-confirm-reservation,
  button.mphb-button,
  button.btn.mphb-apply-coupon-code-button,
  input.mphb-reserve-btn.button,
  input[type="submit"].button
) {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background-color: rgb(9, 66, 41) !important;   /* FIXED: was rgb(252, 237, 30) */
  color: rgb(252, 237, 30) !important;            /* FIXED: was rgb(9, 66, 41) */
  border: 0 solid rgb(255,255,255) !important;
  box-shadow: none !important;
  border-radius: 2px !important;                  /* FIXED: was 0 */

  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 14px !important;                   /* FIXED: was 17px */
  text-transform: uppercase !important;
  text-align: center !important;
  letter-spacing: normal !important;

  
  padding: 13px 29px !important;
  margin-top: 15px !important;
  margin-bottom: 0 !important;
  cursor: pointer !important;

  transition:
    color 0.2s ease,
    font-size 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    border-width 0.2s ease,
    border-style 0.2s ease,
    border-radius 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease !important;
}

/* Hover / focus */
:is(
  button.mphb-book-button,
  button.mphb-recommendation-reserve-button,
  button.mphb-confirm-reservation,
  button.mphb-button,
  button.btn.mphb-apply-coupon-code-button,
  input.mphb-reserve-btn.button,
  input[type="submit"].button
):hover {
  opacity: 0.95 !important;
}

:is(
  button.mphb-book-button,
  button.mphb-recommendation-reserve-button,
  button.mphb-confirm-reservation,
  button.mphb-button,
  button.btn.mphb-apply-coupon-code-button,
  input.mphb-reserve-btn.button,
  input[type="submit"].button
):focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(252, 237, 30, 0.3) !important;  /* FIXED: yellow glow on green button */
}

/* ============================================================
   MPHB Search Results – Custom Styles
   Theme: Cielo Alto Place (Dark Green #094229, Yellow #fced1e)
   ============================================================ */

/* ---------- CSS Custom Properties ---------- */
:root {
  --cap-green: #094229;
  --cap-green-light: #0d5a39;
  --cap-green-muted: rgba(9, 66, 41, 0.06);
  --cap-green-border: rgba(9, 66, 41, 0.12);
  --cap-yellow: #fced1e;
  --cap-yellow-hover: #e5d81a;
  --cap-yellow-subtle: rgba(252, 237, 30, 0.12);
  --cap-white: #ffffff;
  --cap-off-white: #f9faf9;
  --cap-gray-50: #f7f8f7;
  --cap-gray-100: #eef0ee;
  --cap-gray-200: #dde1dd;
  --cap-gray-400: #9ca89c;
  --cap-gray-600: #5c6b5c;
  --cap-radius: 12px;
  --cap-radius-sm: 8px;
  --cap-radius-lg: 16px;
  --cap-shadow-sm: 0 1px 3px rgba(9, 66, 41, 0.06), 0 1px 2px rgba(9, 66, 41, 0.04);
  --cap-shadow: 0 4px 16px rgba(9, 66, 41, 0.08), 0 1px 4px rgba(9, 66, 41, 0.04);
  --cap-shadow-lg: 0 8px 32px rgba(9, 66, 41, 0.10), 0 2px 8px rgba(9, 66, 41, 0.06);
  --cap-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- Wrapper ---------- */
.mphb_sc_search_results-wrapper {
  max-width: 960px;
  margin: 0 auto;
  padding: 24px 20px 48px;
  font-family: inherit;
}

/* ---------- Search Info Banner ---------- */
.mphb_sc_search_results-info {
  background: var(--cap-green);
  color: var(--cap-white);
  padding: 14px 24px;
  border-radius: var(--cap-radius);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2px;
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mphb_sc_search_results-info::before {
  content: "\1F50D";
  font-size: 16px;
}

/* ============================================================
   RECOMMENDATION SECTION
   ============================================================ */

.mphb-recommendation-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  width: 100%;
  box-sizing: border-box;
  background: var(--cap-green);
  color: var(--cap-white) !important;
  border: 2px solid rgba(9, 66, 41, 0.22);
  border-bottom: 0;
  border-radius: var(--cap-radius-lg) var(--cap-radius-lg) 0 0;
  padding: 16px 20px !important;
  margin: 0 0 0 !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  box-shadow: var(--cap-shadow-sm);
}
.mphb-recommendation-title::before {
  content: "Best Match";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: var(--cap-yellow);
  color: var(--cap-green);
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

.mphb-recommendation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
  gap: 22px 24px;
  align-items: center;
  background: linear-gradient(135deg, rgba(9, 66, 41, 0.08), rgba(252, 237, 30, 0.12));
  border: 2px solid rgba(9, 66, 41, 0.22);
  border-top: 0;
  border-radius: 0 0 var(--cap-radius-lg) var(--cap-radius-lg);
  padding: 28px 32px;
  margin: 0 0 46px;
  box-shadow: 0 12px 34px rgba(9, 66, 41, 0.13), 0 2px 8px rgba(9, 66, 41, 0.06);
  position: relative;
  overflow: hidden;
}
.mphb-recommendation::before {
  content: none;
}
.mphb-recommendation::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 5px;
  background: var(--cap-yellow);
}

/* Recommendation list */
.mphb-recommendation-details-list {
  grid-column: 1 / -1;
  align-self: stretch;
  display: grid;
  gap: 14px;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mphb-recommendation-details-list li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mphb-recommendation-details-list li::before {
  display: none !important;
}
.mphb-recommendation-details-list li::marker {
  content: none !important;
  display: none !important;
}

/* Recommendation item */
.mphb-recommendation-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 4px 12px;
  padding: 20px 22px;
  background: var(--cap-white);
  border-radius: var(--cap-radius);
  border: 1px solid rgba(9, 66, 41, 0.14);
  box-shadow: var(--cap-shadow-sm);
}

.mphb-recommendation-item-count {
  grid-row: 1;
  grid-column: 1;
  font-size: 15px;
  font-weight: 600;
  color: var(--cap-green);
  white-space: nowrap;
}

.mphb-recommendation-item-link {
  grid-row: 1;
  grid-column: 2;
  font-size: 18px;
  font-weight: 800;
  color: var(--cap-green) !important;
  text-decoration: none !important;
  transition: color var(--cap-transition);
}
.mphb-recommendation-item-link:hover {
  color: var(--cap-green-light) !important;
  text-decoration: underline !important;
}

.mphb-recommedation-item-subtotal,
.mphb-recommendation-item-subtotal {
  grid-row: 1;
  grid-column: 3;
  font-size: 20px;
  font-weight: 800;
  color: var(--cap-green);
  text-align: right;
}

.mphb-recommendation-item-guests {
  grid-row: 2;
  grid-column: 1 / -1;
  font-size: 13px;
  color: var(--cap-gray-600);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  padding-left: 0;
}
.mphb-recommendation-item-guests-label {
  font-weight: 500;
  color: var(--cap-gray-400);
}

/* Recommendation total */
.mphb-recommendation-total {
  grid-column: 1;
  float: none !important;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: baseline;
  gap: 8px 14px;
  min-height: auto;
  padding: 18px 0 0;
  margin: 0 !important;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(9, 66, 41, 0.14);
  border-radius: 0;
  box-shadow: none;
}
.mphb-recommendation-total-title {
  font-size: 14px;
  font-weight: 800;
  color: var(--cap-green);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.mphb-recommendation-total-value {
  font-size: 26px;
  font-weight: 800;
  color: var(--cap-green);
}

.cielo-other-accommodations-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px !important;
  color: var(--cap-green) !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}
.cielo-other-accommodations-title::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--cap-green-border);
}

/* ============================================================
   ALL MPHB BUTTONS
   ============================================================ */

.mphb-recommendation-reserve-button,
.mphb-book-button,
.mphb-confirm-reservation,
.mphb-view-details-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 0 solid transparent;         /* FIXED: was 2px solid var(--cap-yellow) */
  border-radius: 2px;                   /* FIXED: was var(--cap-radius-sm) = 8px */
  cursor: pointer;
  transition: all var(--cap-transition);
  text-decoration: none !important;
  line-height: 1;
}

/* Primary (filled) buttons */
.mphb-recommendation-reserve-button,
.mphb-book-button {
  background: var(--cap-green) !important;   /* FIXED: was var(--cap-yellow) */
  color: var(--cap-yellow) !important;        /* FIXED: was var(--cap-green) */
  box-shadow: none;                           /* FIXED: removed yellow shadow */
}
.mphb-recommendation-reserve-button:hover,
.mphb-book-button:hover {
  background: var(--cap-green-light) !important;          /* FIXED: hover to lighter green */
  box-shadow: 0 4px 16px rgba(9, 66, 41, 0.3);           /* FIXED: green shadow */
  transform: translateY(-1px);
}

/* Reserve button alignment */
.mphb-recommendation .mphb-recommendation-reserve-button {
  grid-column: 2;
  float: none !important;
  align-self: center;
  width: 100%;
  margin: 0 !important;
}

/* Secondary (outline) buttons */
.mphb-view-details-button {
  background: transparent !important;
  color: var(--cap-green) !important;
  border: 2px solid var(--cap-green) !important;
}
.mphb-view-details-button:hover {
  background: var(--cap-green) !important;
  color: var(--cap-white) !important;
  transform: translateY(-1px);
}

/* Confirm reservation */
.mphb-confirm-reservation {
  background: var(--cap-green) !important;
  color: var(--cap-yellow) !important;        /* FIXED: was var(--cap-white) */
  border-color: var(--cap-green) !important;
}
.mphb-confirm-reservation:hover {
  background: var(--cap-green-light) !important;
  transform: translateY(-1px);
}

/* ============================================================
   RESERVATION CART  (hidden when empty, clean when active)
   ============================================================ */

.mphb-reservation-cart {
  background: var(--cap-off-white);
  border: 1px dashed var(--cap-green-border);
  border-radius: var(--cap-radius);
  padding: 20px 24px;
  margin-bottom: 36px;
  transition: all var(--cap-transition);
}
.mphb-reservation-cart.mphb-empty-cart {
  display: none; /* hide empty cart to prevent clutter */
}
.mphb-empty-cart-message {
  font-size: 14px;
  color: var(--cap-gray-400);
  font-style: italic;
  text-align: center;
}
.mphb-cart-total-price {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}
.mphb-cart-total-price-title {
  font-weight: 500;
  color: var(--cap-gray-600);
}
.mphb-cart-total-price-value {
  font-weight: 700;
  font-size: 18px;
  color: var(--cap-green);
}

/* ============================================================
   ROOM TYPE CARD
   ============================================================ */

.mphb-room-type {
  display: grid;
  grid-template-columns: 320px 1fr;
  grid-template-rows: auto;
  gap: 0;
  background: var(--cap-white);
  border: 1px solid var(--cap-green-border);
  border-radius: var(--cap-radius-lg);
  box-shadow: var(--cap-shadow);
  overflow: hidden;
  margin-bottom: 32px;
  padding: 0;
  position: relative;
  transition: box-shadow var(--cap-transition);
}
.mphb-room-type:hover {
  box-shadow: var(--cap-shadow-lg);
}

/* Top accent bar */
.mphb-room-type::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--cap-green), var(--cap-yellow));
  z-index: 2;
  pointer-events: none;
}

/* -- Thumbnail -- */
.mphb-loop-room-thumbnail {
  grid-column: 1;
  grid-row: 1 / 6;          /* span all 5 content rows so image fills full card height */
  margin: 16px 0 0 16px !important; /* breathing room from upper-left card edge */
  padding: 0;
  overflow: hidden;
  border-radius: var(--cap-radius) 0 0 var(--cap-radius); /* round left side corners */
  position: relative;
}
.mphb-loop-room-thumbnail a {
  display: block;
  height: 100%;
  min-height: 280px;
}
.mphb-loop-room-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.mphb-room-type:hover .mphb-loop-room-thumbnail img {
  transform: scale(1.04);
}

/* Subtle gradient overlay on image bottom */
.mphb-loop-room-thumbnail::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.12), transparent);
  pointer-events: none;
}

/* -- Title -- */
.mphb-room-type .mphb-room-type-title {
  grid-column: 2;
  grid-row: 1;
  margin: 0 !important;
  padding: 28px 28px 0 32px;
  font-size: 24px !important;
  font-weight: 700;
  line-height: 1.2 !important;
}
.mphb-room-type .mphb-room-type-title a {
  color: var(--cap-green) !important;
  text-decoration: none !important;
}
.mphb-room-type .mphb-room-type-title a:hover {
  text-decoration: underline !important;
}

/* -- Room description -- */
.mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper) {
  grid-column: 2;
  grid-row: 2;
  padding: 4px 28px 0 32px;
  margin: 0;
  font-size: 14px;
  color: var(--cap-gray-600);
  font-style: italic;
  line-height: 1.6;
}

/* -- Price badge -- */
.mphb-regular-price {
  grid-column: 2;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 10px 16px !important;
  margin: 12px 28px 0 32px !important;
  background: var(--cap-yellow-subtle);
  border-radius: var(--cap-radius-sm);
  order: 1;
}
.mphb-regular-price strong {
  font-size: 13px;
  font-weight: 500;
  color: var(--cap-gray-600);
}
.mphb-regular-price .mphb-price {
  font-size: 22px;
  font-weight: 800;
  color: var(--cap-green);
}
.mphb-price-period {
  font-size: 13px;
  font-weight: 400;
  color: var(--cap-gray-400);
}

/* -- Details heading -- */
.mphb-room-type-details-title {
  grid-column: 2;
  margin: 0 !important;
  padding: 20px 28px 0 32px;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--cap-green);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  line-height: 1.3 !important;
  order: 2;
}

/* -- Details list (table-like 2-column grid) -- */
.mphb-loop-room-type-attributes {
  grid-column: 2;
  list-style: none !important;
  margin: 0 !important;
  padding: 12px 28px 0 32px !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  order: 3;
}
.mphb-loop-room-type-attributes li {
  list-style: none !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--cap-gray-100);
  font-size: 14px;
  margin: 0 !important;
}
.mphb-loop-room-type-attributes li::before,
.mphb-loop-room-type-attributes li::marker {
  content: none !important;
  display: none !important;
}
.mphb-loop-room-type-attributes li:nth-child(odd) {
  border-right: 1px solid var(--cap-gray-100);
}
.mphb-loop-room-type-attributes li:nth-last-child(-n+2) {
  border-bottom: none;
}
.mphb-loop-room-type-attributes li:last-child {
  border-bottom: none !important;
}

.mphb-attribute-title {
  font-weight: 600;
  color: var(--cap-green);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
  margin-right: 8px;
}
.mphb-attribute-value {
  font-weight: 500;
  color: var(--cap-gray-600);
  text-align: right;
  padding-left: 8px;
}

/* -- View Details button wrapper -- */
.mphb-view-details-button-wrapper {
  grid-column: 2;
  padding: 12px 28px 24px 32px;  /* top + generous bottom breathing room */
  margin: 0 !important;
  display: flex !important;
  order: 4;
}

/* -- Book / Reserve action bar (footer of card) -- */
.mphb-reserve-room-section {
  grid-column: 1 / -1;
  padding: 16px 28px 24px 32px;
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
  order: 5;
  border-top: 1px solid var(--cap-gray-100);
  background: var(--cap-gray-50);
  border-radius: 0 0 var(--cap-radius-lg) var(--cap-radius-lg);
}

/* -- Book Button Wrapper (actual plugin class: mphb-to-book-btn-wrapper) -- */
.mphb-to-book-btn-wrapper {
  grid-column: 1 / -1;
  grid-row: 6;              /* row 6 = after the 5 content rows */
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 16px 32px 20px 32px;
  border-top: 1px solid var(--cap-gray-100);
  background: var(--cap-gray-50);
  border-radius: 0 0 var(--cap-radius-lg) var(--cap-radius-lg);
  gap: 12px;
}
.mphb-to-book-btn-wrapper br {
  display: none;
}
.mphb-to-book-btn-wrapper form {
  display: flex;
  align-items: center;
}

/* Hide secondary elements in card footer */
.mphb-reserve-room-section .mphb-confirm-reservation {
  display: none;
}
.mphb-rooms-reservation-message-wrapper {
  display: none;
}
.mphb-remove-from-reservation {
  font-size: 13px;
  color: var(--cap-gray-400) !important;
  text-decoration: underline !important;
  transition: color var(--cap-transition);
}
.mphb-remove-from-reservation:hover {
  color: #b91c1c !important;
}

/* ============================================================
   PRICE STYLING
   ============================================================ */

.mphb-currency {
  font-size: 0.75em;
  vertical-align: baseline;
  margin-right: 1px;
}

/* ============================================================
   CLEARFIX
   ============================================================ */

.mphb-clear {
  clear: both;
  height: 0;
  overflow: hidden;
}

/* ============================================================
   RESPONSIVE – TABLET
   ============================================================ */

@media (max-width: 768px) {
  .mphb_sc_search_results-wrapper {
    padding: 16px 12px 32px;
  }

  .mphb-room-type {
    grid-template-columns: 1fr;
  }

  .mphb-loop-room-thumbnail {
    grid-column: 1;
    grid-row: 1;
    margin: 0 !important;     /* reset desktop margin */
    border-radius: 0;         /* reset desktop border-radius */
  }
  .mphb-loop-room-thumbnail a {
    min-height: 220px;
  }

  .mphb-room-type .mphb-room-type-title {
    grid-column: 1;
    padding: 20px 20px 0;
  }

  .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper) {
    grid-column: 1;
    padding: 4px 20px 0;
  }

  .mphb-regular-price {
    grid-column: 1;
    margin: 12px 20px 0 !important;
  }

  .mphb-room-type-details-title {
    grid-column: 1;
    padding: 16px 20px 0;
  }

  .mphb-loop-room-type-attributes {
    grid-column: 1;
    grid-template-columns: 1fr;
    padding: 8px 20px 0 !important;
  }
  .mphb-loop-room-type-attributes li:nth-child(odd) {
    border-right: none;
  }
  .mphb-loop-room-type-attributes li:last-child {
    border-bottom: none;
  }

  .mphb-view-details-button-wrapper {
    grid-column: 1;
    padding: 12px 20px 16px;
  }

  .mphb-reserve-room-section {
    grid-column: 1;
    padding: 16px 20px 24px;
    justify-content: stretch;
  }
  .mphb-reserve-room-section .mphb-book-button {
    width: 100%;
  }

  .mphb-to-book-btn-wrapper {
    grid-column: 1 / -1;
    grid-row: auto;          /* let auto-placement handle single-column stack */
    padding: 16px 20px 20px;
    justify-content: stretch;
  }
  .mphb-to-book-btn-wrapper .mphb-book-button {
    width: 100%;
  }

  .mphb-recommendation {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px 16px;
  }
  .mphb-recommendation-item {
    padding: 12px 14px;
  }
  .mphb-recommendation-total {
    grid-column: 1 / -1;
    width: 100%;
    box-sizing: border-box;
    min-height: auto;
    padding: 16px 0 0;
  }
  .mphb-recommendation .mphb-recommendation-reserve-button {
    grid-column: 1 / -1;
    float: none;
    width: 100%;
  }
}

/* ============================================================
   RESPONSIVE – MOBILE
   ============================================================ */

@media (max-width: 480px) {
  .mphb_sc_search_results-info {
    font-size: 13px;
    padding: 12px 16px;
  }
  .mphb-recommendation-title {
    align-items: flex-start;
    padding: 14px 16px !important;
    font-size: 15px !important;
  }
  .mphb-recommendation-title::before {
    font-size: 10px;
  }
  .mphb-recommedation-item-subtotal,
  .mphb-recommendation-item-subtotal {
    font-size: 16px;
  }
  .mphb-recommendation-item {
    grid-template-columns: auto 1fr;
  }
  .mphb-recommedation-item-subtotal,
  .mphb-recommendation-item-subtotal {
    grid-row: 3;
    grid-column: 1 / -1;
    text-align: left;
    margin-top: 8px;
  }
  .mphb-recommendation-total-value {
    font-size: 18px;
  }
  .cielo-other-accommodations-title {
    font-size: 17px !important;
  }
  .mphb-room-type .mphb-room-type-title {
    font-size: 20px !important;
  }
  .mphb-regular-price .mphb-price {
    font-size: 18px;
  }
}

/* ============================================================
   BOOKING CONFIRMATION PAGE – Custom CSS
   Page: /booking-confirmation/
   Theme: Cielo Alto Place (Avada / Fusion Builder)
   Plugin: MotoPress Hotel Booking
   ============================================================ */

/* ---------- 0. CSS Custom Properties ---------- */
.mphb_sc_checkout-wrapper {
  --cap-green-dark: #094229;
  --cap-yellow: #FCED1E;
  --cap-green-light: #C9F8E4;
  --cap-green-lighter: #f0fbf5;
  --cap-brown: rgba(90, 48, 7, 0.8);
  --cap-bg-section: #fafcfb;
  --cap-border: #e2e8e5;
  --cap-shadow: 0 2px 12px rgba(9, 66, 41, 0.06);
  --cap-radius: 8px;
}

/* ---------- 1. Page-Level Wrapper ---------- */
.mphb_sc_checkout-wrapper {
  max-width: 780px;
  margin: 40px auto 60px;
  padding: 0 20px;
  font-family: "Questrial", "PT Sans", Arial, sans-serif;
  color: var(--cap-brown);
}

/* ---------- 2. Returning-Customer Login Bar ---------- */
.mphb-login-form-wrap > p:first-child {
  background: var(--cap-green-lighter);
  border: 1px solid var(--cap-green-light);
  border-radius: var(--cap-radius);
  padding: 14px 20px;
  margin-bottom: 30px;
  font-size: 14px;
  color: var(--cap-green-dark);
}

.mphb-login-form-wrap > p:first-child a {
  color: var(--cap-green-dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mphb-login-form-wrap > p:first-child a:hover {
  color: #0b5a37;
}

/* ---------- 3. Section Cards ---------- */
.mphb-checkout-section {
  background: #fff;
  border: 1px solid var(--cap-border);
  border-radius: var(--cap-radius);
  padding: 28px 32px;
  margin-bottom: 24px;
  box-shadow: var(--cap-shadow);
}

/* Section titles */
.mphb-booking-details-title,
.mphb-price-breakdown-title,
.mphb-customer-details-title,
.mphb-gateway-chooser-title {
  font-family: "Playfair Display", Georgia, serif !important;
  color: var(--cap-green-dark) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--cap-green-light);
  letter-spacing: 0.3px;
}

/* Room number sub-heading */
.mphb-room-number {
  font-family: "Playfair Display", Georgia, serif !important;
  color: var(--cap-green-dark) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  margin: 20px 0 16px !important;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--cap-green-light);
}

/* ---------- 4. Check-in / Check-out Dates ---------- */
.mphb-check-in-date,
.mphb-check-out-date {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 4px !important;
}

.mphb-check-in-date strong,
.mphb-check-out-date strong {
  color: var(--cap-green-dark);
}

/* ---------- 5. Form Fields (inputs, selects, textareas) ---------- */
.mphb_sc_checkout-wrapper input[type="text"],
.mphb_sc_checkout-wrapper input[type="email"],
.mphb_sc_checkout-wrapper input[type="tel"],
.mphb_sc_checkout-wrapper input[type="password"],
.mphb_sc_checkout-wrapper textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--cap-border);
  border-radius: 6px;
  font-family: inherit;
  font-size: 15px;
  color: #333;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.mphb_sc_checkout-wrapper input[type="text"]:focus,
.mphb_sc_checkout-wrapper input[type="email"]:focus,
.mphb_sc_checkout-wrapper input[type="tel"]:focus,
.mphb_sc_checkout-wrapper input[type="password"]:focus,
.mphb_sc_checkout-wrapper textarea:focus {
  border-color: var(--cap-green-dark);
  box-shadow: 0 0 0 3px rgba(9, 66, 41, 0.08);
  outline: none;
}

.mphb_sc_checkout-wrapper textarea {
  min-height: 100px;
  resize: vertical;
}

/* Select dropdowns */
.mphb_sc_checkout-wrapper select,
.mphb_sc_checkout-wrapper .mphb_sc_checkout-guests-chooser {
  padding: 10px 36px 10px 14px;
  border: 1px solid var(--cap-border);
  border-radius: 6px;
  font-family: inherit;
  font-size: 15px;
  color: #333;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23094229' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  min-width: 140px;
  transition: border-color 0.2s ease;
}

.mphb_sc_checkout-wrapper select:focus {
  border-color: var(--cap-green-dark);
  box-shadow: 0 0 0 3px rgba(9, 66, 41, 0.08);
  outline: none;
}

/* ---------- 6. Labels ---------- */
.mphb_sc_checkout-wrapper label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--cap-green-dark);
  margin-bottom: 6px;
  letter-spacing: 0.2px;
}

.mphb_sc_checkout-wrapper abbr[title] {
  color: #c0392b;
  text-decoration: none;
  font-weight: 400;
}

/* Required fields tip */
.mphb-required-fields-tip {
  font-size: 13px;
  color: #888;
  margin-bottom: 18px !important;
}

/* ---------- 7. Guest Choosers (Adults, Children, Guest Name rows) ---------- */
.mphb-adults-chooser,
.mphb-children-chooser {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px !important;
}

.mphb-adults-chooser label,
.mphb-children-chooser label {
  min-width: 90px;
  margin-bottom: 0;
}

.mphb-guest-name-wrapper {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}

.mphb-guest-name-wrapper label {
  margin-bottom: 6px;
}

/* Room type title */
.mphb-room-type-title {
  font-size: 15px;
  margin-bottom: 16px !important;
}

.mphb-room-type-title a {
  color: var(--cap-green-dark);
  font-weight: 600;
  text-decoration: none;
}

.mphb-room-type-title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- 8. Coupon Section ---------- */
.mphb-coupon-code-wrapper {
  background: var(--cap-green-lighter) !important;
  border-color: var(--cap-green-light) !important;
}

.mphb-coupon-code-wrapper .mphb-coupon-code-title {
  font-weight: 600;
  color: var(--cap-green-dark);
  font-size: 14px;
  margin-bottom: 8px;
  display: block;
}

.mphb-coupon-code-wrapper input[type="text"] {
  background: #fff;
}

.mphb-coupon-code-wrapper p:last-of-type {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
}

/* ---------- 9. Price Breakdown Table ---------- */
.mphb-price-breakdown {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
}

.mphb-price-breakdown td,
.mphb-price-breakdown th {
  padding: 12px 16px;
  font-size: 15px;
  border: none;
}

.mphb-price-breakdown tbody tr {
  border-bottom: 1px solid #f0f0f0;
}

.mphb-price-breakdown tbody tr:hover {
  background: var(--cap-green-lighter);
}

.mphb-price-breakdown .mphb-table-price-column {
  text-align: right;
  font-weight: 600;
  color: var(--cap-green-dark);
  white-space: nowrap;
}

.mphb-price-breakdown .mphb-price-breakdown-accommodation a {
  color: var(--cap-green-dark);
  text-decoration: none;
  font-weight: 500;
}

/* Total row in footer */
.mphb-price-breakdown tfoot tr {
  background: var(--cap-green-lighter);
  border-top: 2px solid var(--cap-green-light);
}

.mphb-price-breakdown tfoot th {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--cap-green-dark);
}

.mphb-price-breakdown tfoot .mphb-table-price-column {
  text-align: right;
  font-size: 18px;
  color: var(--cap-green-dark);
}

/* ---------- 10. Customer Details – Two-Column Layout ---------- */
.mphb-customer-details {
  display: block;
}

/* Place first & last name side-by-side on wider screens */
@media (min-width: 600px) {
  .mphb-customer-details .mphb-customer-name,
  .mphb-customer-details .mphb-customer-last-name {
    display: inline-block;
    width: calc(50% - 8px);
    vertical-align: top;
  }
  .mphb-customer-details .mphb-customer-name {
    margin-right: 12px;
  }

  .mphb-customer-details .mphb-customer-email,
  .mphb-customer-details .mphb-customer-phone {
    display: inline-block;
    width: calc(50% - 8px);
    vertical-align: top;
  }
  .mphb-customer-details .mphb-customer-email {
    margin-right: 12px;
  }
}

.mphb-customer-details p {
  margin-bottom: 16px !important;
}

/* Remove the <br> between label and input for cleaner spacing */
.mphb-customer-details br {
  display: none;
}

/* ---------- 11. Payment Method ---------- */
.mphb-gateways-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mphb-gateways-list .mphb-gateway {
  padding: 14px 18px;
  margin-bottom: 10px;
  border: 1px solid var(--cap-border);
  border-radius: 6px;
  background: #fff;
  transition: border-color 0.2s ease, background 0.2s ease;
  cursor: pointer;
}

.mphb-gateways-list .mphb-gateway:hover {
  border-color: var(--cap-green-light);
  background: var(--cap-green-lighter);
}

.mphb-gateways-list .mphb-gateway input[type="radio"] {
  accent-color: var(--cap-green-dark);
  margin-right: 8px;
  width: 16px;
  height: 16px;
  vertical-align: middle;
}

.mphb-gateways-list .mphb-gateway-title {
  font-size: 15px;
  color: var(--cap-green-dark);
  cursor: pointer;
}

.mphb-gateways-list .mphb-gateway-title strong {
  font-weight: 600;
}

.mphb-gateways-list .mphb-gateway-description {
  margin: 8px 0 0 26px;
  font-size: 13px;
  color: #666;
  line-height: 1.6;
}

/* ---------- 12. Total Price ---------- */
.mphb-total-price {
  background: var(--cap-green-lighter);
  border: 2px solid var(--cap-green-light);
  border-radius: var(--cap-radius);
  padding: 18px 24px;
  margin: 24px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
}

.mphb-total-price output {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mphb-total-price-field {
  font-size: 22px;
  color: var(--cap-green-dark);
  font-family: "Playfair Display", Georgia, serif;
}

/* ---------- 13. Errors ---------- */
.mphb-errors-wrapper {
  color: #c0392b;
  font-size: 14px;
  font-weight: 600;
  padding: 0 4px;
}

/* ---------- 14. Submit / Confirm Booking Button ---------- */
.mphb_sc_checkout-submit-wrapper {
  text-align: center;
  margin-top: 8px;
  margin-bottom: 0 !important;
}

.mphb_sc_checkout-submit-wrapper input[type="submit"] {
  background: var(--cap-green-dark) !important;        /* FIXED: was var(--cap-yellow) */
  color: var(--cap-yellow) !important;                 /* FIXED: was var(--cap-green-dark) */
  border: none !important;
  padding: 16px 60px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-family: "PT Sans", Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  border-radius: 2px !important;                       /* FIXED: was 6px */
  cursor: pointer;
  transition: background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
  box-shadow: 0 3px 10px rgba(9, 66, 41, 0.3);        /* FIXED: green shadow */
}

.mphb_sc_checkout-submit-wrapper input[type="submit"]:hover {
  background: #0b5a37 !important;                     /* FIXED: lighter green on hover */
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(9, 66, 41, 0.4);
}

.mphb_sc_checkout-submit-wrapper input[type="submit"]:active {
  transform: translateY(0);
}

.mphb_sc_checkout-submit-wrapper input[type="submit"]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* ---------- 15. Apply Coupon Button ---------- */
.mphb-apply-coupon-code-button {
  background: var(--cap-green-dark) !important;        /* FIXED: was var(--cap-yellow) */
  color: var(--cap-yellow) !important;                 /* FIXED: was var(--cap-green-dark) */
  border: none !important;
  padding: 10px 28px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 2px !important;                       /* FIXED: was 6px */
  cursor: pointer;
  transition: background 0.25s ease;
  box-shadow: 0 2px 6px rgba(9, 66, 41, 0.2);
}

.mphb-apply-coupon-code-button:hover {
  background: #0b5a37 !important;                     /* FIXED: lighter green on hover */
}

/* ---------- 16. Login Form (hidden, revealed) ---------- */
.mphb-login-form {
  background: #fff;
  border: 1px solid var(--cap-border);
  border-radius: var(--cap-radius);
  padding: 24px;
  margin-top: 12px;
  margin-bottom: 20px;
}

.mphb-login-form label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--cap-green-dark);
  margin-bottom: 4px;
}

.mphb-login-form .login-submit input[type="submit"] {
  background: var(--cap-green-dark);
  color: var(--cap-yellow);
  border: none;
  padding: 10px 24px;
  border-radius: 2px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.mphb-login-form .login-submit input[type="submit"]:hover {
  background: #0b5a37;
}

/* ---------- 17. Responsive Adjustments ---------- */
@media (max-width: 768px) {
  .mphb_sc_checkout-wrapper {
    margin: 20px auto 40px;
    padding: 0 12px;
  }

  .mphb-checkout-section {
    padding: 20px 18px;
    margin-bottom: 18px;
  }

  .mphb-booking-details-title,
  .mphb-price-breakdown-title,
  .mphb-customer-details-title,
  .mphb-gateway-chooser-title {
    font-size: 19px !important;
  }
  
  .mphb_sc_checkout-submit-wrapper input[type="submit"] {
    width: 100% !important;
    padding: 16px 20px !important;
  }

  .mphb-total-price {
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .mphb-adults-chooser,
  .mphb-children-chooser {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .mphb_sc_checkout-wrapper select {
    width: 100%;
  }
}

/* ---------- 18. Smooth Transitions & Polish ---------- */
.mphb-checkout-section {
  transition: box-shadow 0.2s ease;
}

.mphb-checkout-section:hover {
  box-shadow: 0 4px 20px rgba(9, 66, 41, 0.08);
}

.mphb-reserve-rooms-details {
  margin-top: 10px;
}

.mphb-price-breakdown-expand .mphb-inner-icon {
  color: var(--cap-green-dark);
  font-size: 14px;
  margin-right: 4px;
}

.mphb-billing-fields-hidden {
  border: none;
  padding: 0;
  margin: 0;
}

/* ============================================
   1. SEARCH RESULT AVAILABILITY BADGE
   ============================================ */

.mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   Search results accommodation cards - image-led layout
   ============================================================ */

.mphb_sc_search_results-wrapper {
  max-width: 1220px !important;
  padding: 36px 20px 56px !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 50%) !important;
  grid-template-rows: auto auto auto 1fr auto !important;
  gap: 0 !important;
  min-height: 360px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.11), 0 2px 8px rgba(15, 23, 42, 0.07) !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type::before,
.mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail::after {
  display: none !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail {
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  align-self: stretch !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  padding: 30px 34px 6px !important;
  margin: 0 !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(26px, 2.2vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title a {
  color: #202938 !important;
  text-decoration: none !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper) {
  grid-column: 1 !important;
  grid-row: 2 !important;
  padding: 0 34px 12px !important;
  margin: 0 !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  color: #4b5565 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-style: normal !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type-details-title {
  display: none !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes {
  grid-column: 1 !important;
  grid-row: 3 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 8px 34px 10px !important;
  margin: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 30px !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  background: #f3f4f6 !important;
  border: 1px solid rgba(15, 23, 42, 0.05) !important;
  border-radius: 8px !important;
  color: #1f2937 !important;
  font: 700 14px/1.2 "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li:nth-child(odd) {
  border-right: 1px solid rgba(15, 23, 42, 0.05) !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  background: #111827 !important;
  opacity: .82 !important;
  -webkit-mask: radial-gradient(circle at 50% 36%, #000 0 28%, transparent 29%), radial-gradient(ellipse at 50% 100%, #000 0 50%, transparent 51%);
          mask: radial-gradient(circle at 50% 36%, #000 0 28%, transparent 29%), radial-gradient(ellipse at 50% 100%, #000 0 50%, transparent 51%);
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li:has(.mphb-attribute-value a)::before {
  -webkit-mask: linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0);
  border-radius: 3px;
}

.mphb_sc_search_results-wrapper .mphb-attribute-title {
  margin: 0 !important;
  color: #111827 !important;
  font: inherit !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-attribute-title::after {
  content: "" !important;
}

.mphb_sc_search_results-wrapper .mphb-attribute-value {
  color: #111827 !important;
  font: inherit !important;
  text-align: left !important;
  padding-left: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-attribute-value a {
  color: #111827 !important;
  text-decoration: none !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price {
  grid-column: 1 !important;
  grid-row: 4 !important;
  align-self: start !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 4px !important;
  width: auto !important;
  padding: 18px 34px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price strong {
  color: #243044 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price .mphb-price {
  color: #006aa7 !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.mphb_sc_search_results-wrapper .mphb-price-period {
  color: #243044 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper,
.mphb_sc_search_results-wrapper .mphb-reserve-room-section {
  grid-column: 1 !important;
  grid-row: 5 !important;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper {
  z-index: 2 !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 0 0 28px 34px !important;
  margin: 0 !important;
  pointer-events: none !important;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button {
  pointer-events: auto !important;
  min-width: 120px !important;
  min-height: 40px !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(15, 23, 42, 0.16) !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
  font: 800 14px/1 "PT Sans", Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 0 34px 28px 180px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-quantity-wrapper {
  position: absolute !important;
  left: 34px !important;
  bottom: 116px !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-available-rooms-count {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 4px 10px !important;
  border-radius: 8px !important;
  background: #f3f4f6 !important;
  color: #111827 !important;
  font: 800 12px/1 "PT Sans", Arial, Helvetica, sans-serif !important;
  white-space: nowrap !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-book-button {
  min-width: 106px !important;
  min-height: 40px !important;
  padding: 10px 20px !important;
  margin: 0 !important;
  border-radius: 2px !important;
  border: 0 solid #fff !important;
  background: var(--cap-green) !important;
  color: var(--cap-yellow) !important;
  box-shadow: none !important;
  font: 800 14px/1 "PT Sans", Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-book-button:hover,
.mphb_sc_search_results-wrapper .mphb-view-details-button:hover {
  transform: translateY(-1px) !important;
}

.mphb_sc_search_results-wrapper .mphb-rooms-reservation-message-wrapper,
.mphb_sc_search_results-wrapper .mphb-room-type .mphb-reserve-room-section .mphb-confirm-reservation {
  display: none !important;
}

@media (max-width: 900px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto auto auto !important;
    min-height: 0 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 240px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail a,
  .mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail img {
    min-height: 240px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title,
  .mphb_sc_search_results-wrapper .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper),
  .mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes,
  .mphb_sc_search_results-wrapper .mphb-regular-price {
    grid-column: 1 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title {
    grid-row: 2 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper) {
    grid-row: 3 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes {
    grid-row: 4 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-regular-price {
    grid-row: 5 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper {
    grid-row: 6 !important;
    padding: 0 22px 24px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    grid-row: 6 !important;
    padding: 0 22px 24px 156px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-quantity-wrapper {
    left: 22px !important;
  }
}

@media (max-width: 560px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title {
    font-size: 25px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper {
    grid-row: 6 !important;
    position: static !important;
    padding: 0 22px 10px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    grid-row: 7 !important;
    position: static !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 22px 24px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-quantity-wrapper {
    position: static !important;
    order: -1 !important;
    margin-bottom: 4px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-view-details-button,
  .mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-book-button {
    width: 100% !important;
  }
}

.mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple select.mphb-rooms-quantity {
    display: none !important;
}

.mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple .mphb-available-rooms-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 6px 12px !important;
    border: 1px solid rgba(9, 66, 41, 0.18) !important;
    border-radius: 999px !important;
    background: rgba(9, 66, 41, 0.08) !important;
    color: #094229 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

@supports selector(:has(*)) {
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple .mphb-available-rooms-count::before {
        font-size: 13px !important;
        line-height: 1 !important;
    }

    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="1"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="2"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="3"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="4"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="5"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="6"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="7"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="8"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="9"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="10"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="11"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="12"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="13"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="14"]:last-child) .mphb-available-rooms-count,
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="15"]:last-child) .mphb-available-rooms-count {
        font-size: 0 !important;
    }

    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="1"]:last-child) .mphb-available-rooms-count::before { content: "1 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="2"]:last-child) .mphb-available-rooms-count::before { content: "2 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="3"]:last-child) .mphb-available-rooms-count::before { content: "3 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="4"]:last-child) .mphb-available-rooms-count::before { content: "4 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="5"]:last-child) .mphb-available-rooms-count::before { content: "5 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="6"]:last-child) .mphb-available-rooms-count::before { content: "6 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="7"]:last-child) .mphb-available-rooms-count::before { content: "7 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="8"]:last-child) .mphb-available-rooms-count::before { content: "8 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="9"]:last-child) .mphb-available-rooms-count::before { content: "9 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="10"]:last-child) .mphb-available-rooms-count::before { content: "10 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="11"]:last-child) .mphb-available-rooms-count::before { content: "11 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="12"]:last-child) .mphb-available-rooms-count::before { content: "12 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="13"]:last-child) .mphb-available-rooms-count::before { content: "13 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="14"]:last-child) .mphb-available-rooms-count::before { content: "14 available"; }
    .mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple:has(select.mphb-rooms-quantity option[value="15"]:last-child) .mphb-available-rooms-count::before { content: "15 available"; }
}

/* ============================================
   2. CLOSE THE GAP BETWEEN TITLE AND DESCRIPTION
   ============================================ */

.mphb_sc_search_results-wrapper .mphb-room-type {
    grid-template-rows: auto !important;
}

.mphb-room-type .mphb-room-type-title.entry-title {
    align-self: end !important;
    padding-top: 10px !important;
    padding-bottom: 4px !important;
}

.mphb-room-type .mphb-room-type-title.entry-title + p {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ============================================
   3. TOTAL CAPACITY / GUEST COUNT
   Temporarily unhidden while accommodation card details are reviewed.
   ============================================ */

/* ============================================================
   ACCOMMODATION SINGLE PAGE  (body.single-mphb_room_type)
   Applies to: /accommodation/regular-cabin/, /mini-cabin/, etc.
   Theme: Cielo Alto Place | #094229 green + #fced1e yellow
   ============================================================ */

/* ---------- Featured image: calmer, more editorial frame ---------- */
body.single-mphb_room_type .fusion-post-slideshow {
  max-width: 720px !important;
  margin: 0 auto 34px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(9, 66, 41, 0.08) !important;
  box-shadow: 0 18px 42px rgba(9, 66, 41, 0.12) !important;
}
body.single-mphb_room_type .fusion-post-slideshow .slides,
body.single-mphb_room_type .fusion-post-slideshow .slides > li,
body.single-mphb_room_type .fusion-post-slideshow .slides > li > a {
  margin: 0 !important;
  height: 100% !important;
}
body.single-mphb_room_type .fusion-post-slideshow .slides > li > a {
  display: block !important;
}
body.single-mphb_room_type .fusion-post-slideshow img.wp-post-image,
body.single-mphb_room_type .fusion-post-slideshow img.attachment-full {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 440px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* ---------- Section headings: Details / Availability / Reservation Form ---------- */
body.single-mphb_room_type h2.mphb-details-title,
body.single-mphb_room_type h2.mphb-calendar-title,
body.single-mphb_room_type h2.mphb-reservation-form-title {
  position: relative !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #094229 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  padding: 0 0 14px 18px !important;
  margin: 36px 0 18px !important;
  border-bottom: 1px solid rgba(9, 66, 41, 0.12) !important;
  line-height: 1.4 !important;
}
body.single-mphb_room_type h2.mphb-details-title::before,
body.single-mphb_room_type h2.mphb-calendar-title::before,
body.single-mphb_room_type h2.mphb-reservation-form-title::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 16px !important;
  width: 4px !important;
  background: linear-gradient(to bottom, #094229, #fced1e) !important;
  border-radius: 2px !important;
}

/* ---------- Attributes list: chip/pill badges ---------- */
body.single-mphb_room_type ul.mphb-single-room-type-attributes {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
body.single-mphb_room_type ul.mphb-single-room-type-attributes li {
  list-style: none !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(9, 66, 41, 0.06) !important;
  border: 1px solid rgba(9, 66, 41, 0.14) !important;
  border-radius: 999px !important;
}
body.single-mphb_room_type ul.mphb-single-room-type-attributes li::before,
body.single-mphb_room_type ul.mphb-single-room-type-attributes li::marker {
  content: none !important;
  display: none !important;
}
body.single-mphb_room_type .mphb-single-room-type-attributes .mphb-attribute-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #094229 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
}
body.single-mphb_room_type .mphb-single-room-type-attributes .mphb-attribute-value {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #094229 !important;
}
/* Guest count icon */
body.single-mphb_room_type .mphb-room-type-total-capacity .mphb-attribute-title::before {
  content: "👥 " !important;
}

/* ---------- Price badge: dark green card with yellow price ---------- */
body.single-mphb_room_type p.mphb-regular-price {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  background: linear-gradient(135deg, #094229 0%, #0d5a39 100%) !important;
  border-radius: 12px !important;
  padding: 16px 24px !important;
  margin: 4px 0 28px !important;
  box-shadow: 0 4px 18px rgba(9, 66, 41, 0.22) !important;
}
body.single-mphb_room_type p.mphb-regular-price strong {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: rgba(252, 237, 30, 0.75) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
body.single-mphb_room_type p.mphb-regular-price .mphb-price {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: #fced1e !important;
  line-height: 1 !important;
}
body.single-mphb_room_type p.mphb-regular-price .mphb-currency {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #fced1e !important;
}
body.single-mphb_room_type p.mphb-regular-price .mphb-price-period {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: rgba(252, 237, 30, 0.75) !important;
}

/* ---------- Availability Calendar ---------- */
body.single-mphb_room_type .mphb-calendar.mphb-datepick {
  background: #fff !important;
  border: 1px solid rgba(9, 66, 41, 0.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(9, 66, 41, 0.08) !important;
  padding: 16px !important;
  margin: 0 0 28px !important;
  overflow: hidden !important;
  max-width: 100% !important;
}
body.single-mphb_room_type .datepick.datepick-multi {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.single-mphb_room_type .datepick {
  background: transparent !important;
}

/* Nav bar */
body.single-mphb_room_type .mphb-calendar .datepick-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 14px !important;
  background: linear-gradient(90deg, #083c25 0%, #0d5a35 100%) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
}
body.single-mphb_room_type .datepick-nav a {
  color: #fced1e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 6px 14px !important;
  border: 1.5px solid rgba(252, 237, 30, 0.45) !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
body.single-mphb_room_type .datepick-nav a:hover {
  background: rgba(252, 237, 30, 0.15) !important;
  color: #fced1e !important;
  border-color: #fced1e !important;
}
body.single-mphb_room_type .datepick-nav a.datepick-disabled {
  opacity: 0.3 !important;
  pointer-events: none !important;
}

/* Month row – two columns */
body.single-mphb_room_type .datepick-month-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  align-items: stretch !important;
}
/* Month items must fill their grid cells (override plugin's width: 216px) */
body.single-mphb_room_type .datepick-month {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  border: 1px solid rgba(9, 66, 41, 0.08) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 10px 24px rgba(9, 66, 41, 0.06) !important;
}

/* Month header */
body.single-mphb_room_type .datepick-month-header {
  background: #094229 !important;
  color: #fced1e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
  margin-bottom: 10px !important;
}
body.single-mphb_room_type .datepick-month-header select {
  background: transparent !important;
  color: #fced1e !important;
  border: none !important;
  min-width: 0 !important;
  width: auto !important;
  height: 30px !important;
  line-height: 30px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  outline: none !important;
  padding: 0 18px 0 0 !important;
  margin: 0 !important;
  text-align: center !important;
  text-align-last: center !important;
  box-shadow: none !important;
}
body.single-mphb_room_type .datepick-month-header select::-ms-expand {
  display: none !important;
}
body.single-mphb_room_type .datepick-month-header option {
  color: #094229 !important;
}
body.single-mphb_room_type .datepick-month.last .datepick-month-header {
  white-space: nowrap !important;
}

/* Calendar table */
body.single-mphb_room_type .datepick-month table {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
  border: 0 !important;
}
body.single-mphb_room_type .datepick-month thead th {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #5c6b5c !important;
  text-align: center !important;
  padding: 8px 4px !important;
  text-transform: uppercase !important;
  background: rgba(9, 66, 41, 0.05) !important;
  border: 0 !important;
}
body.single-mphb_room_type .datepick-month tbody td {
  text-align: center !important;
  padding: 2px !important;
  border: 0 !important;
  box-shadow: inset -1px -1px 0 rgba(9, 66, 41, 0.08) !important;
}
body.single-mphb_room_type .datepick-month tbody td span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  margin: 2px auto !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  border-radius: 50% !important;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
}
body.single-mphb_room_type .datepick-month tbody tr td:last-child {
  box-shadow: inset 0 -1px 0 rgba(9, 66, 41, 0.08) !important;
}
body.single-mphb_room_type .datepick-month tbody tr:last-child td {
  box-shadow: inset -1px 0 0 rgba(9, 66, 41, 0.08) !important;
}
body.single-mphb_room_type .datepick-month tbody tr:last-child td:last-child {
  box-shadow: none !important;
}

/* Date state colours */
body.single-mphb_room_type span.mphb-past-date {
  opacity: 0.4 !important;
  background: transparent !important;
  color: #aaa !important;
}
body.single-mphb_room_type .mphb-extra-date {
  visibility: hidden !important;
}
body.single-mphb_room_type .mphb-available-date {
  background: rgba(9, 66, 41, 0.09) !important;
  color: #094229 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
body.single-mphb_room_type .mphb-available-date:hover {
  background: #094229 !important;
  color: #fced1e !important;
  transform: scale(1.12) !important;
  box-shadow: 0 2px 8px rgba(9, 66, 41, 0.25) !important;
}
body.single-mphb_room_type .datepick-today {
  background: rgba(252, 237, 30, 0.35) !important;
  color: #094229 !important;
  font-weight: 800 !important;
  outline: 2px solid #094229 !important;
  outline-offset: -2px !important;
}
body.single-mphb_room_type .mphb-unavailable-date,
body.single-mphb_room_type .mphb-booked-date {
  background: rgba(176, 42, 42, 0.08) !important;
  color: #b02a2a !important;
  text-decoration: line-through !important;
}

/* ---------- Reservation Form ---------- */
body.single-mphb_room_type form.mphb-booking-form {
  background: #fff !important;
  border: 1px solid rgba(9, 66, 41, 0.12) !important;
  border-radius: 12px !important;
  padding: 28px 24px !important;
  box-shadow: 0 4px 20px rgba(9, 66, 41, 0.08) !important;
  margin-bottom: 24px !important;
}
body.single-mphb_room_type .mphb-required-fields-tip {
  font-size: 11px !important;
  color: #999 !important;
  margin-bottom: 20px !important;
  display: block !important;
}

/* Form labels */
body.single-mphb_room_type form.mphb-booking-form label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #094229 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 6px !important;
}
body.single-mphb_room_type form.mphb-booking-form p br {
  display: none !important;
}

/* Date picker inputs */
body.single-mphb_room_type form.mphb-booking-form input[type="text"].mphb-datepick {
  display: block !important;
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid rgba(9, 66, 41, 0.2) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  color: #333 !important;
  background: #f9faf9 !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
}
body.single-mphb_room_type form.mphb-booking-form input[type="text"].mphb-datepick:focus {
  border-color: #094229 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(9, 66, 41, 0.08) !important;
}
body.single-mphb_room_type .mphb-check-in-date-wrapper,
body.single-mphb_room_type .mphb-check-out-date-wrapper {
  margin-bottom: 14px !important;
}

/* Capacity rows */
body.single-mphb_room_type .mphb-adults-wrapper.mphb-capacity-wrapper,
body.single-mphb_room_type .mphb-children-wrapper.mphb-capacity-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 16px !important;
  background: rgba(9, 66, 41, 0.04) !important;
  border: 1px solid rgba(9, 66, 41, 0.10) !important;
  border-radius: 8px !important;
  margin-bottom: 10px !important;
}
body.single-mphb_room_type .mphb-adults-wrapper label,
body.single-mphb_room_type .mphb-children-wrapper label {
  margin-bottom: 0 !important;
  flex: 1 !important;
}
body.single-mphb_room_type .mphb-adults-wrapper select,
body.single-mphb_room_type .mphb-children-wrapper select {
  padding: 8px 28px 8px 12px !important;
  border: 1.5px solid rgba(9, 66, 41, 0.2) !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #094229 !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23094229' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  min-width: 65px !important;
}
body.single-mphb_room_type .mphb-adults-wrapper select:focus,
body.single-mphb_room_type .mphb-children-wrapper select:focus {
  outline: none !important;
  border-color: #094229 !important;
  box-shadow: 0 0 0 3px rgba(9, 66, 41, 0.08) !important;
}

/* Check Availability CTA button */
body.single-mphb_room_type .mphb-reserve-btn-wrapper {
  margin-top: 20px !important;
}
body.single-mphb_room_type input.mphb-reserve-btn.button {
  display: block !important;
  width: 100% !important;
  background: #094229 !important;
  color: #fced1e !important;
  border: none !important;
  padding: 16px 20px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(9, 66, 41, 0.3) !important;
  transition: background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease !important;
}
body.single-mphb_room_type input.mphb-reserve-btn.button:hover {
  background: #0d5a39 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px rgba(9, 66, 41, 0.4) !important;
}

/* Validation errors */
body.single-mphb_room_type .mphb-errors-wrapper {
  background: rgba(176, 42, 42, 0.06) !important;
  border: 1px solid rgba(176, 42, 42, 0.2) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: #b02a2a !important;
  margin-top: 12px !important;
}

/* ---------- Mobile responsive ---------- */
@media (max-width: 600px) {
  body.single-mphb_room_type .datepick-month-row {
    grid-template-columns: 1fr !important;
  }
  body.single-mphb_room_type form.mphb-booking-form {
    padding: 16px !important;
  }
}

/* ============================================================
   HOMEPAGE BOOKING WIDGET + MOBILE DATE PICKER POPUP
   Page: homepage top booking form (`.fusion-form-2410`)
   Datepicker library: kbwood `datepick`
   ============================================================ */

.fusion-form-2410 {
  position: relative;
  z-index: 5;
}

.fusion-form-2410 .fusion-layout-column,
.fusion-form-2410 .fusion-column-wrapper,
.fusion-form-2410 .fusion-form-field {
  overflow: visible;
}

.fusion-form-2410 #mphb_check_in_date,
.fusion-form-2410 #mphb_check_out_date,
.fusion-form-2410 #mphb_adults,
.fusion-form-2410 #mphb_children {
  min-height: 56px;
  border-radius: 14px !important;
  border: 1px solid rgba(9, 66, 41, 0.14) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #2d3b31 !important;
  box-shadow: 0 10px 30px rgba(9, 66, 41, 0.08) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.fusion-form-2410 #mphb_check_in_date:focus,
.fusion-form-2410 #mphb_check_out_date:focus,
.fusion-form-2410 #mphb_adults:focus,
.fusion-form-2410 #mphb_children:focus {
  border-color: #094229 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(9, 66, 41, 0.12), 0 10px 30px rgba(9, 66, 41, 0.10) !important;
  outline: none !important;
}

.fusion-form-2410 .form-form-submit {
  min-height: 56px;
  border-radius: 14px !important;
  box-shadow: 0 12px 24px rgba(9, 66, 41, 0.22) !important;
}

@media (max-width: 768px) {
  .fusion-form-2410 #mphb_check_in_date,
  .fusion-form-2410 #mphb_check_out_date,
  .fusion-form-2410 #mphb_adults,
  .fusion-form-2410 #mphb_children {
    min-height: 58px;
    padding: 16px 18px !important;
    font-size: 15px !important;
  }

  .fusion-form-2410 .fusion-form-submit-field,
  .fusion-form-2410 .form-form-submit {
    width: 100% !important;
  }
}

@media (max-width: 600px) {
  .fusion-form-2410,
  .fusion-form-2410 .fusion-layout-column,
  .fusion-form-2410 .fusion-column-wrapper,
  .fusion-form-2410 .fusion-form-field {
    overflow: visible !important;
  }

  .fusion-form-2410 #mphb_check_in_date,
  .fusion-form-2410 #mphb_check_out_date,
  .fusion-form-2410 #mphb_adults,
  .fusion-form-2410 #mphb_children {
    min-height: 60px;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(9, 66, 41, 0.10) !important;
  }

  .fusion-form-2410 .form-form-submit {
    min-height: 58px;
    border-radius: 16px !important;
    letter-spacing: 1.2px !important;
  }

  body.home .datepick-popup,
  body.home > .datepick {
    position: fixed !important;
    top: 50% !important;
    left: 12px !important;
    right: 12px !important;
    bottom: auto !important;
    width: min(400px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 auto !important;
    padding: 14px !important;
    transform: translateY(-50%) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(9, 66, 41, 0.14) !important;
    border-radius: 20px !important;
    box-shadow: 0 24px 56px rgba(9, 66, 41, 0.24), 0 0 0 9999px rgba(9, 66, 41, 0.22) !important;
    z-index: 999999 !important;
  }

  body.home .datepick-popup .datepick,
  body.home > .datepick {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.home .datepick-popup .datepick-nav,
  body.home > .datepick .datepick-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.home .datepick-popup .datepick-cmd,
  body.home .datepick-popup .datepick-nav a,
  body.home > .datepick .datepick-cmd,
  body.home > .datepick .datepick-nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(9, 66, 41, 0.16) !important;
    background: rgba(9, 66, 41, 0.05) !important;
    box-shadow: none !important;
  }

  body.home .datepick-popup .datepick-month-row,
  body.home > .datepick .datepick-month-row {
    display: block !important;
  }

  body.home .datepick-popup .datepick-month,
  body.home > .datepick .datepick-month {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.home .datepick-popup .datepick-month-header,
  body.home > .datepick .datepick-month-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    background: transparent !important;
    color: #094229 !important;
    border: 0 !important;
  }

  body.home .datepick-popup .datepick-month-header select,
  body.home .datepick-popup .datepick-month-header input[type="number"],
  body.home .datepick-popup .datepick-month-header select.mphb-datepick-month,
  body.home .datepick-popup .datepick-month-header input.mphb-datepick-year,
  body.home > .datepick .datepick-month-header select,
  body.home > .datepick .datepick-month-header input[type="number"],
  body.home > .datepick .datepick-month-header select.mphb-datepick-month,
  body.home > .datepick .datepick-month-header input.mphb-datepick-year {
    height: 42px !important;
    min-height: 42px !important;
    border: 1px solid rgba(9, 66, 41, 0.12) !important;
    border-radius: 999px !important;
    background: #f7faf8 !important;
    color: #094229 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    padding: 0 14px !important;
  }

  body.home .datepick-popup .datepick-month table,
  body.home > .datepick .datepick-month table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 6px !important;
    border: 0 !important;
  }

  body.home .datepick-popup .datepick-month thead th,
  body.home > .datepick .datepick-month thead th {
    padding: 0 0 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #6f7f74 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.home .datepick-popup .datepick-month tbody td,
  body.home > .datepick .datepick-month tbody td {
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.home .datepick-popup .datepick-month tbody td span,
  body.home .datepick-popup .datepick-month tbody td a,
  body.home > .datepick .datepick-month tbody td span,
  body.home > .datepick .datepick-month tbody td a {
    width: 40px !important;
    height: 40px !important;
    margin: 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: #2d3b31 !important;
    text-decoration: none !important;
    background: transparent !important;
  }

  body.home .datepick-popup .mphb-available-date,
  body.home .datepick-popup a.mphb-available-date,
  body.home .datepick-popup span.mphb-available-date,
  body.home > .datepick .mphb-available-date,
  body.home > .datepick a.mphb-available-date,
  body.home > .datepick span.mphb-available-date {
    background: rgba(9, 66, 41, 0.08) !important;
    color: #094229 !important;
    font-weight: 700 !important;
  }

  body.home .datepick-popup .datepick-today,
  body.home .datepick-popup .mphb-date-today,
  body.home > .datepick .datepick-today,
  body.home > .datepick .mphb-date-today {
    background: rgba(252, 237, 30, 0.45) !important;
    color: #094229 !important;
    box-shadow: inset 0 0 0 1px rgba(9, 66, 41, 0.16) !important;
  }

  body.home .datepick-popup .datepick-selected,
  body.home .datepick-popup .mphb-selected-date,
  body.home > .datepick .datepick-selected,
  body.home > .datepick .mphb-selected-date {
    background: #094229 !important;
    color: #fced1e !important;
    box-shadow: 0 8px 20px rgba(9, 66, 41, 0.22) !important;
  }

  body.home .datepick-popup .mphb-unavailable-date,
  body.home .datepick-popup .mphb-booked-date,
  body.home > .datepick .mphb-unavailable-date,
  body.home > .datepick .mphb-booked-date {
    color: #b7beb8 !important;
    opacity: 0.72 !important;
    text-decoration: line-through !important;
  }
}

@media (max-width: 420px) {
  body.home .datepick-popup,
  body.home > .datepick {
    left: 10px !important;
    right: 10px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.home .datepick-popup .datepick-cmd,
  body.home .datepick-popup .datepick-nav a,
  body.home > .datepick .datepick-cmd,
  body.home > .datepick .datepick-nav a {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }

  body.home .datepick-popup .datepick-month-header select,
  body.home .datepick-popup .datepick-month-header input[type="number"],
  body.home .datepick-popup .datepick-month-header select.mphb-datepick-month,
  body.home .datepick-popup .datepick-month-header input.mphb-datepick-year,
  body.home > .datepick .datepick-month-header select,
  body.home > .datepick .datepick-month-header input[type="number"],
  body.home > .datepick .datepick-month-header select.mphb-datepick-month,
  body.home > .datepick .datepick-month-header input.mphb-datepick-year {
    font-size: 17px !important;
    padding: 0 12px !important;
  }

  body.home .datepick-popup .datepick-month tbody td span,
  body.home .datepick-popup .datepick-month tbody td a,
  body.home > .datepick .datepick-month tbody td span,
  body.home > .datepick .datepick-month tbody td a {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
}

/* ============================================================
   HOMEPAGE MOTOPRESS SEARCH SHORTCODE - MODERN CARD
   Page: https://cieloaltoplace.com/
   Scope: selected `.mphb_sc_search-form` section only
   ============================================================ */

body.home .mphb_sc_search-wrapper {
  width: min(100%, 1060px) !important;
  position: relative !important;
  z-index: 20 !important;
  box-sizing: border-box !important;
  margin: clamp(-92px, -5.5vw, -64px) auto clamp(42px, 5vw, 76px) !important;
  padding: 0 20px !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto !important;
  gap: 14px !important;
  align-items: end !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 251, 248, 0.82)) !important;
  box-shadow: 0 24px 60px rgba(9, 66, 41, 0.22), 0 2px 10px rgba(9, 66, 41, 0.08) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.12) !important;
  backdrop-filter: blur(12px) saturate(1.12) !important;
  color: #393535 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form p {
  margin: 0 !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form :where(label, span, abbr, input, select, option) {
  color: #393535 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

body.home .mphb_sc_search-wrapper .mphb-required-fields-tip {
  display: none !important;
}

body.home .mphb_sc_search-wrapper .mphb_sc_search-submit-button-wrapper {
  align-self: end !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #393535 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form label abbr {
  color: #393535 !important;
  text-decoration: none !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form br {
  display: none !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="text"],
body.home .mphb_sc_search-wrapper form.mphb_sc_search-form select {
  width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  border: 1px solid rgba(57, 53, 53, 0.14) !important;
  border-radius: 14px !important;
  background-color: #ffffff !important;
  color: #393535 !important;
  -webkit-text-fill-color: #393535 !important;
  box-shadow: 0 10px 24px rgba(57, 53, 53, 0.08) !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="text"] {
  padding: 0 18px 0 46px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23393535' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 16px center !important;
  background-size: 18px !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form select {
  padding: 0 42px 0 16px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #393535 50%),
    linear-gradient(135deg, #393535 50%, transparent 50%) !important;
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="text"]::placeholder {
  color: #393535 !important;
  -webkit-text-fill-color: #393535 !important;
  opacity: 1 !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="text"]:hover,
body.home .mphb_sc_search-wrapper form.mphb_sc_search-form select:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(57, 53, 53, 0.24) !important;
  box-shadow: 0 14px 30px rgba(57, 53, 53, 0.12) !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="text"]:focus,
body.home .mphb_sc_search-wrapper form.mphb_sc_search-form select:focus {
  outline: none !important;
  border-color: #393535 !important;
  box-shadow: 0 0 0 4px rgba(252, 237, 30, 0.26), 0 16px 32px rgba(57, 53, 53, 0.14) !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="submit"].button {
  width: 128px !important;
  min-width: 128px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #393535 !important;
  color: #fced1e !important;
  -webkit-text-fill-color: #fced1e !important;
  box-shadow: 0 16px 32px rgba(57, 53, 53, 0.28) !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="submit"].button:hover,
body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="submit"].button:focus {
  background: #393535 !important;
  color: #fced1e !important;
  -webkit-text-fill-color: #fced1e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 20px 38px rgba(57, 53, 53, 0.34) !important;
}

body.home .datepick-popup {
  width: min(720px, calc(100vw - 32px)) !important;
  padding: 16px !important;
  border: 1px solid rgba(9, 66, 41, 0.14) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 28px 70px rgba(9, 66, 41, 0.24), 0 3px 14px rgba(9, 66, 41, 0.10) !important;
  z-index: 999999 !important;
}

body.home .datepick-popup .datepick {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.home .datepick-popup .datepick-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.home .datepick-popup .datepick-cmd,
body.home .datepick-popup .datepick-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(9, 66, 41, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(9, 66, 41, 0.06) !important;
  color: #094229 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.home .datepick-popup .datepick-cmd:hover,
body.home .datepick-popup .datepick-nav a:hover {
  background: #094229 !important;
  color: #fced1e !important;
}

body.home .datepick-popup .cielo-range-calendar-helper {
  margin: 0 0 12px !important;
  padding: 9px 12px !important;
  border: 1px solid rgba(9, 66, 41, 0.10) !important;
  border-radius: 999px !important;
  background: rgba(252, 237, 30, 0.18) !important;
  color: #094229 !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

body.home .datepick-popup .datepick-ctrl {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 14px 0 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(9, 66, 41, 0.10) !important;
  border-radius: 16px !important;
  background: rgba(9, 66, 41, 0.05) !important;
}

body.home .datepick-popup .datepick-ctrl .datepick-cmd {
  flex: 1 1 0 !important;
  max-width: none !important;
  background: #ffffff !important;
}

body.home .datepick-popup .datepick-ctrl .datepick-cmd:hover {
  background: #094229 !important;
  color: #fced1e !important;
}

body.home .datepick-popup .datepick-month-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.home .datepick-popup .datepick-month {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(9, 66, 41, 0.10) !important;
  border-radius: 16px !important;
  background: #f8faf8 !important;
  box-shadow: none !important;
}

body.home .datepick-popup .datepick-month-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #094229 !important;
}

body.home .datepick-popup .datepick-month-header select,
body.home .datepick-popup .datepick-month-header input[type="number"],
body.home .datepick-popup .datepick-month-header select.mphb-datepick-month,
body.home .datepick-popup .datepick-month-header input.mphb-datepick-year {
  height: 38px !important;
  min-height: 38px !important;
  border: 1px solid rgba(9, 66, 41, 0.14) !important;
  border-radius: 999px !important;
  background-color: #ffffff !important;
  color: #094229 !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  padding: 0 12px !important;
}

body.home .datepick-popup .datepick-month table {
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 5px !important;
}

body.home .datepick-popup .datepick-month thead th {
  padding: 0 0 6px !important;
  border: 0 !important;
  background: transparent !important;
  color: #6f7f74 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.home .datepick-popup .datepick-month tbody td {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  vertical-align: middle !important;
}

body.home .datepick-popup .datepick-month tbody td span,
body.home .datepick-popup .datepick-month tbody td a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 auto !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #26382d !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.home .datepick-popup .datepick-month tbody td a:hover {
  background: rgba(9, 66, 41, 0.12) !important;
  color: #094229 !important;
}

body.home .datepick-popup .mphb-available-date,
body.home .datepick-popup a.mphb-available-date,
body.home .datepick-popup span.mphb-available-date {
  background: rgba(9, 66, 41, 0.08) !important;
  color: #094229 !important;
}

body.home .datepick-popup .datepick-today,
body.home .datepick-popup .mphb-date-today {
  background: rgba(252, 237, 30, 0.5) !important;
  color: #094229 !important;
  box-shadow: inset 0 0 0 1px rgba(9, 66, 41, 0.18) !important;
}

body.home .datepick-popup .datepick-selected,
body.home .datepick-popup .mphb-selected-date,
body.home .datepick-popup a.datepick-selected,
body.home .datepick-popup a.mphb-selected-date {
  background: #094229 !important;
  color: #fced1e !important;
  box-shadow: 0 8px 18px rgba(9, 66, 41, 0.24) !important;
}

body.home .datepick-popup .mphb-unavailable-date,
body.home .datepick-popup .mphb-booked-date {
  color: #aeb8b1 !important;
  opacity: 0.68 !important;
  text-decoration: line-through !important;
}

@media (max-width: 1100px) {
  body.home .mphb_sc_search-wrapper form.mphb_sc_search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home .mphb_sc_search-wrapper .mphb_sc_search-submit-button-wrapper,
  body.home .mphb_sc_search-wrapper form.mphb_sc_search-form input[type="submit"].button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 640px) {
  body.home .mphb_sc_search-wrapper {
    margin-top: -44px !important;
    margin-bottom: 40px !important;
    padding: 0 14px !important;
  }

  body.home .mphb_sc_search-wrapper form.mphb_sc_search-form {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }

  body.home .datepick-popup .datepick-month-row {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   MY ACCOUNT / BOOKINGS PAGE – Layout Refresh
   Page: /my-account/bookings/
   Plugin: MotoPress Hotel Booking
   ============================================================ */

.mphb_sc_account {
  --cap-account-green: #094229;
  --cap-account-green-light: #0d5a39;
  --cap-account-yellow: #fced1e;
  --cap-account-white: #ffffff;
  --cap-account-gray-50: #f7f8f7;
  --cap-account-gray-100: #e9eeea;
  --cap-account-gray-200: #d8e1db;
  --cap-account-gray-500: #647669;
  --cap-account-radius: 14px;
  --cap-account-shadow: 0 8px 28px rgba(9, 66, 41, 0.08);

  max-width: 1120px;
  margin: 28px auto 52px;
  padding: 20px;
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 22px;

  background: var(--cap-account-white);
  border: 1px solid rgba(9, 66, 41, 0.12);
  border-radius: var(--cap-account-radius);
  box-shadow: var(--cap-account-shadow);
  box-sizing: border-box;
  align-items: start;
}

.mphb_sc_account > .mphb-account-menu {
  grid-column: 1;
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
  justify-self: start;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: sticky;
  top: 110px;
  box-sizing: border-box;
}

.mphb_sc_account > .mphb-account-content {
  grid-column: 2;
  min-width: 0;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.mphb-account-menu ul {
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.mphb-account-menu li,
.mphb-account-menu a {
  width: 100% !important;
  box-sizing: border-box;
}

.mphb-account-menu a {
  display: block;
  text-decoration: none !important;
  color: var(--cap-account-green) !important;
  border: 1px solid rgba(9, 66, 41, 0.14);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  transition: all 0.2s ease;
  background: #fff;
}

.mphb-account-menu a:hover,
.mphb-account-menu li.current-menu-item a,
.mphb-account-menu a[aria-current="page"] {
  background: var(--cap-account-green);
  color: var(--cap-account-yellow) !important;
  border-color: var(--cap-account-green);
}

.mphb-account-bookings {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--cap-account-gray-200);
  border-radius: 12px;
  background: var(--cap-account-white);
}

.mphb-account-bookings thead th {
  background: var(--cap-account-green);
  color: var(--cap-account-yellow);
  padding: 13px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  border: 0;
  white-space: nowrap;
}

.mphb-account-bookings tbody tr:nth-child(even) {
  background: var(--cap-account-gray-50);
}

.mphb-account-bookings td {
  border-top: 1px solid var(--cap-account-gray-100);
  padding: 14px;
  color: #243126;
  vertical-align: middle;
  font-size: 14px;
}

.mphb-account-bookings .booking-number {
  font-weight: 700;
  color: var(--cap-account-green);
}

.mphb-account-bookings .booking-number br {
  display: none;
}

.mphb-account-bookings .booking-status {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(9, 66, 41, 0.18);
  background: rgba(9, 66, 41, 0.06);
  color: var(--cap-account-green);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.mphb-account-bookings .booking-price {
  font-weight: 800;
  color: var(--cap-account-green);
  white-space: nowrap;
}

.mphb-account-bookings .booking-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 8px 14px;
  border-radius: 2px;
  background: var(--cap-account-green);
  color: var(--cap-account-yellow) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.7px;
  line-height: 1;
  transition: background 0.2s ease, transform 0.15s ease;
}

.mphb-account-bookings .booking-actions a:hover {
  background: var(--cap-account-green-light);
  transform: translateY(-1px);
}

.mphb-pagination {
  margin-top: 16px;
}

.mphb-nav-links {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.mphb-nav-links .page-numbers {
  min-width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid rgba(9, 66, 41, 0.2);
  background: #fff;
  color: var(--cap-account-green);
  text-decoration: none !important;
  font-weight: 700;
}

.mphb-nav-links span.page-numbers,
.mphb-nav-links a.page-numbers:hover {
  background: var(--cap-account-green);
  color: var(--cap-account-yellow) !important;
  border-color: var(--cap-account-green);
}

@media (max-width: 980px) {
  .mphb_sc_account {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px !important;
  }

  .mphb_sc_account > .mphb-account-menu,
  .mphb_sc_account > .mphb-account-content {
    grid-column: 1;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .mphb_sc_account > .mphb-account-menu {
    position: static;
    top: auto;
  }

  .mphb-account-menu ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .mphb_sc_account {
    margin-top: 20px;
    padding: 12px !important;
  }

  .mphb-account-menu ul {
    grid-template-columns: 1fr;
  }

  .mphb-account-bookings {
    border: 0;
    background: transparent;
  }

  .mphb-account-bookings thead {
    display: none;
  }

  .mphb-account-bookings tbody,
  .mphb-account-bookings tr,
  .mphb-account-bookings td {
    display: block;
    width: 100%;
  }

  .mphb-account-bookings tr {
    background: #fff !important;
    border: 1px solid var(--cap-account-gray-200);
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(9, 66, 41, 0.05);
    margin-bottom: 12px;
    overflow: hidden;
  }

  .mphb-account-bookings td {
    border-top: 1px solid var(--cap-account-gray-100);
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-align: right;
  }

  .mphb-account-bookings td:first-child {
    border-top: 0;
  }

  .mphb-account-bookings td::before {
    content: attr(data-title);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--cap-account-gray-500);
    text-align: left;
    flex: 1 0 46%;
  }
}

/* Keep the search-result card refresh last in the cascade. */
.mphb_sc_search_results-wrapper .mphb-room-type {
  grid-template-columns: minmax(0, 1fr) minmax(390px, 50%) !important;
  grid-template-rows: auto auto auto 1fr auto !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title.entry-title {
  align-self: start !important;
  padding: 30px 34px 6px !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title.entry-title + p {
  padding: 0 34px 12px !important;
  margin: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-available-rooms-count {
  min-height: 24px !important;
  padding: 4px 10px !important;
  border-radius: 8px !important;
  background: #f3f4f6 !important;
  border: 1px solid rgba(15, 23, 42, 0.05) !important;
  color: #111827 !important;
  font: 800 12px/1 "PT Sans", Arial, Helvetica, sans-serif !important;
}

body .mphb_sc_search_results-wrapper .mphb-room-type .mphb-view-details-button,
body .mphb_sc_search_results-wrapper .mphb-room-type .mphb-view-details-button:hover {
  border: 1px solid rgba(15, 23, 42, 0.16) !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
}

body .mphb_sc_search_results-wrapper .mphb-room-type .mphb-reserve-room-section button.mphb-book-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 132px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  border-radius: 999px !important;
  border: 0 solid #fff !important;
  background: var(--cap-green) !important;
  color: var(--cap-yellow) !important;
  box-shadow: none !important;
  font: 400 15px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
}

body .mphb_sc_search_results-wrapper .mphb-room-type .mphb-reserve-room-section button.mphb-book-button:hover {
  background: var(--cap-green-light) !important;
  color: var(--cap-yellow) !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

body .mphb_sc_search_results-wrapper .mphb-recommendation button.mphb-recommendation-reserve-button,
body .mphb_sc_search_results-wrapper .mphb-recommendation button.mphb-recommendation-reserve-button:hover {
  border-radius: 8px !important;
}

body .mphb_sc_search_results-wrapper button.button.mphb-button.mphb-book-button,
body .mphb_sc_search_results-wrapper button.button.mphb-button.mphb-book-button:hover,
body .mphb_sc_search_results-wrapper button.button.mphb-button.mphb-recommendation-reserve-button,
body .mphb_sc_search_results-wrapper button.button.mphb-button.mphb-recommendation-reserve-button:hover {
  border-radius: 999px !important;
}

@media (max-width: 900px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto auto auto !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title.entry-title {
    grid-row: 2 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title.entry-title + p {
    grid-row: 3 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* Home accommodation cards: match the refreshed search-result card treatment. */
body.home .mphb_sc_rooms-wrapper.mphb-room-types {
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 50%) !important;
  grid-template-rows: auto auto auto 1fr auto !important;
  gap: 0 !important;
  min-height: 360px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.11), 0 2px 8px rgba(15, 23, 42, 0.07) !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type::before,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail::after {
  display: none !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail {
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  align-self: stretch !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  padding: 30px 34px 6px !important;
  margin: 0 !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(26px, 2.2vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  align-self: start !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title a {
  color: #202938 !important;
  text-decoration: none !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-details-title {
  display: none !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes {
  grid-column: 1 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 8px 34px 10px !important;
  margin: 0 !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 30px !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  background: #f3f4f6 !important;
  border: 1px solid rgba(15, 23, 42, 0.05) !important;
  border-radius: 8px !important;
  color: #1f2937 !important;
  font: 700 14px/1.2 "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li::before,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li::marker {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  background: #111827 !important;
  opacity: .82 !important;
  -webkit-mask: radial-gradient(circle at 50% 36%, #000 0 28%, transparent 29%), radial-gradient(ellipse at 50% 100%, #000 0 50%, transparent 51%);
          mask: radial-gradient(circle at 50% 36%, #000 0 28%, transparent 29%), radial-gradient(ellipse at 50% 100%, #000 0 50%, transparent 51%);
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-title,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-value {
  color: #111827 !important;
  font: inherit !important;
  text-align: left !important;
  padding-left: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-title::after {
  content: "" !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price {
  grid-column: 1 !important;
  grid-row: 3 !important;
  align-self: start !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 4px !important;
  width: auto !important;
  padding: 18px 34px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price strong {
  color: #243044 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price .mphb-price {
  color: #006aa7 !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-price-period {
  color: #243044 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button-wrapper,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper {
  grid-column: 1 !important;
  grid-row: 5 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button-wrapper {
  z-index: 2 !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 0 0 28px 34px !important;
  pointer-events: none !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 0 34px 28px 180px !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper form {
  display: flex !important;
  align-items: flex-end !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button {
  min-width: 120px !important;
  min-height: 40px !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  font: 800 14px/1 "PT Sans", Arial, Helvetica, sans-serif !important;
  pointer-events: auto !important;
  text-transform: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button {
  border: 1px solid rgba(15, 23, 42, 0.16) !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button {
  border: 0 solid #fff !important;
  background: var(--cap-green) !important;
  color: var(--cap-yellow) !important;
  box-shadow: none !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button:hover,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button:hover {
  transform: translateY(-1px) !important;
}

@media (max-width: 900px) {
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto auto auto !important;
    min-height: 0 !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 240px !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail a,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail img {
    min-height: 240px !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price {
    grid-column: 1 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title {
    grid-row: 2 !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes {
    grid-row: 3 !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price {
    grid-row: 4 !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button-wrapper {
    grid-row: 5 !important;
    position: static !important;
    padding: 0 22px 10px !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper {
    grid-row: 6 !important;
    position: static !important;
    padding: 0 22px 24px !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper form {
    width: 100% !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button {
    width: 100% !important;
  }
}

/* MotoPress accommodation card typography and palette. */
.mphb_sc_search_results-wrapper .mphb-room-type,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type {
  border-color: rgba(57, 53, 53, 0.14) !important;
  box-shadow: 0 12px 28px rgba(57, 53, 53, 0.10) !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type:hover,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type:hover {
  box-shadow: 0 16px 34px rgba(57, 53, 53, 0.12) !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type,
.mphb_sc_search_results-wrapper .mphb-room-type *,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type * {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title {
  font-size: clamp(22px, 1.6vw, 28px) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title,
.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title a,
.mphb_sc_search_results-wrapper .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper),
.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li,
.mphb_sc_search_results-wrapper .mphb-attribute-title,
.mphb_sc_search_results-wrapper .mphb-attribute-value,
.mphb_sc_search_results-wrapper .mphb-attribute-value a,
.mphb_sc_search_results-wrapper .mphb-regular-price,
.mphb_sc_search_results-wrapper .mphb-regular-price strong,
.mphb_sc_search_results-wrapper .mphb-regular-price .mphb-price,
.mphb_sc_search_results-wrapper .mphb-price-period,
.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-available-rooms-count,
.mphb_sc_search_results-wrapper .mphb-view-details-button,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title a,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-title,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-value,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price strong,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price .mphb-price,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-price-period,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button {
  color: #393535 !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li,
.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-available-rooms-count,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li {
  background: #fff !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li::before,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li::before,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li::marker {
  background: #393535 !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper),
.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li,
.mphb_sc_search_results-wrapper .mphb-regular-price,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price {
  font-weight: 500 !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price strong,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price strong {
  font-size: 15px !important;
  font-weight: 600 !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price .mphb-price,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price .mphb-price {
  font-size: 21px !important;
  font-weight: 700 !important;
}

.mphb_sc_search_results-wrapper .mphb-price-period,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-price-period {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button {
  font: 600 13px/1 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-book-button,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button {
  background: #393535 !important;
  color: #fced1e !important;
  font: 600 13px/1 "Poppins", Arial, Helvetica, sans-serif !important;
}

@media (max-width: 560px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title {
    font-size: 22px !important;
  }
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type * {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title a {
  color: #393535 !important;
  font-size: clamp(22px, 1.6vw, 28px) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-title,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-value,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-attribute-value a,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price strong,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price .mphb-price,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-price-period,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button {
  color: #393535 !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li::before,
.mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes li::marker {
  background: #393535 !important;
  color: #393535 !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price strong {
  font-size: 15px !important;
  font-weight: 600 !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price .mphb-price {
  font-size: 21px !important;
  font-weight: 700 !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-price-period {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button {
  font: 600 13px/1 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button {
  background: #393535 !important;
  color: #fced1e !important;
  font: 600 13px/1 "Poppins", Arial, Helvetica, sans-serif !important;
}

/* MotoPress accommodation cards: desktop split cards with amenity icon pills. */
.mphb_sc_search_results-wrapper .mphb-room-type,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type {
  display: grid !important;
  grid-template-columns: minmax(320px, 48%) minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto auto auto auto !important;
  column-gap: clamp(24px, 4vw, 42px) !important;
  row-gap: 0 !important;
  width: min(100%, 1080px) !important;
  min-height: 430px !important;
  margin: 0 auto 30px !important;
  padding: clamp(18px, 2.8vw, 34px) !important;
  overflow: hidden !important;
  background: #f7f7f7 !important;
  border: 1px solid rgba(57, 53, 53, 0.10) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 40px rgba(57, 53, 53, 0.10) !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail {
  grid-column: 1 !important;
  grid-row: 1 / 8 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  align-self: stretch !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail a,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail img,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  color: #393535 !important;
  font: 700 30px/1.12 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title a,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title a {
  color: inherit !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper),
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  padding: 0 !important;
  margin: -6px 0 18px !important;
  color: rgba(57, 53, 53, 0.78) !important;
  font: 500 15px/1.55 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes {
  display: contents !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes > li.mphb-room-type-facilities,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes > li.mphb-room-type-facilities {
  grid-column: 2 !important;
  grid-row: 3 !important;
  display: block !important;
  list-style: none !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes > li.mphb-room-type-facilities::before,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes > li.mphb-room-type-facilities::before,
.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes > li.mphb-room-type-facilities::marker,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes > li.mphb-room-type-facilities::marker,
.mphb_sc_search_results-wrapper .mphb-room-type-facilities .mphb-facilities-title,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-facilities .mphb-facilities-title {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  flex: 0 0 0 !important;
  background: none !important;
  opacity: 0 !important;
  -webkit-mask: none !important;
          mask: none !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type-facilities .mphb-attribute-value,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-facilities .mphb-attribute-value {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.mphb_sc_search_results-wrapper .cielo-mphb-amenity-pills,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .cielo-mphb-amenity-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px 7px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.mphb_sc_search_results-wrapper .cielo-mphb-amenity-pill,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .cielo-mphb-amenity-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
  color: #393535 !important;
  background: #d9f1dc !important;
  border: 1px solid rgba(9, 66, 41, 0.08) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font: 700 10px/1.18 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .cielo-mphb-amenity-pill:hover,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .cielo-mphb-amenity-pill:hover {
  color: #094229 !important;
  background: #ccebd2 !important;
}

.mphb_sc_search_results-wrapper .cielo-mphb-amenity-pill-icon,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .cielo-mphb-amenity-pill-icon {
  width: 13px !important;
  flex: 0 0 13px !important;
  color: #2f3a32 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-align: center !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price {
  grid-column: 2 !important;
  grid-row: 5 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
  background: transparent !important;
  color: #393535 !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price strong,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price strong {
  color: #393535 !important;
  font: 700 14px/1.2 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-regular-price .mphb-price,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price .mphb-price {
  color: #006c2d !important;
  font: 800 32px/1 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-price-period,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-price-period {
  color: #393535 !important;
  font: 700 14px/1.1 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes > li.mphb-room-type-total-capacity,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes > li.mphb-room-type-total-capacity {
  grid-column: 2 !important;
  grid-row: 6 !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  list-style: none !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #393535 !important;
  font: 700 13px/1.3 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes > li.mphb-room-type-total-capacity::before,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes > li.mphb-room-type-total-capacity::before,
.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes > li.mphb-room-type-total-capacity::marker,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes > li.mphb-room-type-total-capacity::marker {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  flex: 0 0 0 !important;
  background: none !important;
  opacity: 0 !important;
  -webkit-mask: none !important;
          mask: none !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type-total-capacity .mphb-attribute-title,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-total-capacity .mphb-attribute-title {
  color: inherit !important;
  font: inherit !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type-total-capacity .mphb-attribute-title::before {
  content: none !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-total-capacity .mphb-attribute-title::before {
  content: "Maximum " !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type-total-capacity .mphb-attribute-value,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-total-capacity .mphb-attribute-value {
  color: inherit !important;
  font: inherit !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type-total-capacity .mphb-attribute-value::after,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-total-capacity .mphb-attribute-value::after {
  content: none !important;
  display: none !important;
}

.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes > li:not(.mphb-room-type-facilities):not(.mphb-room-type-total-capacity),
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes > li:not(.mphb-room-type-facilities):not(.mphb-room-type-total-capacity) {
  display: none !important;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button-wrapper,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper {
  grid-column: 2 !important;
  grid-row: 7 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section {
  grid-column: 2 !important;
  grid-row: 7 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 0 0 190px !important;
  background: transparent !important;
  border: 0 !important;
}

body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper {
  margin: 0 0 0 176px !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-quantity-wrapper {
  position: static !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 132px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #006c2d !important;
  color: #fff !important;
  box-shadow: none !important;
  font: 400 15px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  text-decoration: none !important;
}

.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-book-button,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 132px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #393535 !important;
  color: #fced1e !important;
  box-shadow: none !important;
  font: 400 15px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  text-decoration: none !important;
  text-transform: none !important;
}

@media (max-width: 780px) {
  .mphb_sc_search_results-wrapper .mphb-room-type,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type {
    display: flex !important;
    flex-direction: column !important;
    width: min(100%, 620px) !important;
    min-height: 0 !important;
    padding: 18px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail {
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 26px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-loop-room-thumbnail a,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-thumbnail a {
    aspect-ratio: 1 / 0.74 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-title,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type .mphb-room-type-title {
    order: 2 !important;
    font-size: 26px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-regular-price .mphb-price,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price .mphb-price {
    font-size: 28px !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper),
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type > p:not(.mphb-regular-price):not(.post-thumbnail):not(.mphb-view-details-button-wrapper) {
    order: 3 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-loop-room-type-attributes {
    display: contents !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type-facilities,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-facilities {
    order: 4 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-regular-price,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-regular-price {
    order: 5 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type-total-capacity,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-room-type-total-capacity {
    order: 6 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-view-details-button-wrapper,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper,
  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    order: 7 !important;
  }

  .mphb_sc_search_results-wrapper .cielo-mphb-amenity-pill,
  body.home .mphb_sc_rooms-wrapper.mphb-room-types .cielo-mphb-amenity-pill {
    width: auto !important;
    max-width: 100% !important;
  }

  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    margin: 12px 0 0 !important;
  }

  body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper {
    margin: 12px 0 0 !important;
  }
}

/* Hide direct booking CTAs on the home-page accommodation cards. */
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-to-book-btn-wrapper,
body.home .mphb_sc_rooms-wrapper.mphb-room-types .mphb-book-button {
  display: none !important;
}

/* ============================================================
   MPHB Payment Request Checkout
   Modern, scoped layout for customer payment request links.
   ============================================================ */

:root {
  --cap-pr-green: var(--cap-cart-action, #094229);
  --cap-pr-green-light: #0b5a37;
  --cap-pr-green-soft: var(--cap-cart-blue, #eef6ff);
  --cap-pr-yellow: var(--cap-cart-action-text, #fced1e);
  --cap-pr-ink: var(--cap-cart-ink, #111827);
  --cap-pr-muted: var(--cap-cart-muted, #5f6b7a);
  --cap-pr-line: var(--cap-cart-line, #e4e7ec);
  --cap-pr-panel: var(--cap-cart-panel, #ffffff);
  --cap-pr-bg: var(--cap-cart-page, #f7fafc);
  --cap-pr-radius: var(--cap-cart-radius, 8px);
  --cap-pr-shadow: var(--cap-cart-shadow, 0 16px 42px rgba(15, 23, 42, 0.08));
}

body:has(.mphb_sc_payment_request_checkout-form) #main {
  background: var(--cap-pr-bg) !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  max-width: 1040px !important;
  margin: 56px auto 64px !important;
  padding: 0 24px !important;
  color: var(--cap-pr-ink) !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form::before {
  content: "Reservation Payment";
  order: -2 !important;
  display: block !important;
  margin: 0 0 10px !important;
  color: var(--cap-pr-green) !important;
  font-family: inherit !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form::after {
  content: "Review the reservation details and payment summary before submitting the secure payment.";
  order: -1 !important;
  display: block !important;
  margin: -2px 0 28px !important;
  color: var(--cap-pr-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form > input[type="hidden"] {
  display: none !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section,
.mphb_sc_payment_request_checkout-wrapper .mphb-total-price {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 24px !important;
  background: var(--cap-pr-panel) !important;
  border: 1px solid var(--cap-pr-line) !important;
  border-radius: var(--cap-pr-radius) !important;
  box-shadow: 0 1px 2px rgba(16, 38, 27, 0.04) !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section:hover {
  transform: none !important;
  box-shadow: 0 1px 2px rgba(16, 38, 27, 0.04) !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section > h3,
.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details-title,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-itemization-title,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-details-title,
.mphb_sc_payment_request_checkout-wrapper .mphb-gateways-list-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  color: var(--cap-pr-green) !important;
  border-bottom: 1px solid var(--cap-pr-line) !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-itemization {
  border-top: 4px solid var(--cap-pr-green) !important;
  box-shadow: var(--cap-pr-shadow) !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-itemization-intro {
  max-width: 720px !important;
  margin: -4px 0 18px !important;
  color: var(--cap-pr-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 18px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details-title {
  grid-column: 1 / -1 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details p {
  margin: 0 !important;
  padding: 14px 16px !important;
  background: var(--cap-pr-bg) !important;
  border: 1px solid var(--cap-pr-line) !important;
  border-radius: 6px !important;
  color: var(--cap-pr-ink) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  overflow: hidden !important;
  border: 1px solid var(--cap-pr-line) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td {
  padding: 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cap-pr-line) !important;
  color: var(--cap-pr-ink) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  vertical-align: top !important;
  text-align: left !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead th {
  background: var(--cap-pr-green-soft) !important;
  color: var(--cap-pr-green) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot th {
  background: #fbfdfc !important;
  color: var(--cap-pr-green) !important;
  font-weight: 700 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-table-price-column {
  width: 150px !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table th:nth-child(1),
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td:nth-child(1) {
  width: 32% !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table th:nth-child(2),
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td:nth-child(2) {
  width: auto !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(1),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(1) {
  width: 140px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(2),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(2) {
  width: 230px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(3),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(3) {
  width: 170px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(4),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(4) {
  width: 120px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table {
  display: block !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table tbody {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table tr {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  background: var(--cap-pr-bg) !important;
  border: 1px solid var(--cap-pr-line) !important;
  border-radius: 6px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table td {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table th {
  color: var(--cap-pr-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table td {
  color: var(--cap-pr-ink) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-payment-completed td:nth-child(4) {
  color: #0f7a46 !important;
  font-weight: 700 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-history tfoot tr:last-child th {
  background: var(--cap-pr-green) !important;
  color: #ffffff !important;
  border-bottom: 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-billing-details,
.mphb_sc_payment_request_checkout-wrapper .mphb-billing-details,
.mphb_sc_payment_request_checkout-wrapper .mphb-billing-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 18px !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-billing-details > h3,
.mphb_sc_payment_request_checkout-wrapper .mphb-billing-details > h3,
.mphb_sc_payment_request_checkout-wrapper .mphb-billing-fields-wrapper > h3,
.mphb_sc_payment_request_checkout-wrapper #mphb-billing-details > p,
.mphb_sc_payment_request_checkout-wrapper .mphb-billing-details > p,
.mphb_sc_payment_request_checkout-wrapper .mphb-billing-fields-wrapper > p {
  grid-column: 1 / -1 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-required-fields-tip {
  margin: -8px 0 4px !important;
  color: var(--cap-pr-muted) !important;
  font-size: 13px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form input[type="text"],
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form input[type="email"],
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form input[type="tel"],
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form select,
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form textarea {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--cap-pr-line) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: var(--cap-pr-ink) !important;
  font-size: 14px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-total-price {
  margin-top: 8px !important;
  border: 2px solid var(--cap-pr-green) !important;
  background: #ffffff !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-total-price output {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  width: 100% !important;
  color: var(--cap-pr-muted) !important;
  font-size: 14px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-total-price-field {
  color: var(--cap-pr-green) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
  margin: 18px 0 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper input[type="submit"].button {
  min-width: 220px !important;
  min-height: 48px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  background: var(--cap-pr-green) !important;
  color: var(--cap-pr-yellow) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper input[type="submit"].button:hover {
  background: var(--cap-pr-green-light) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 860px) {
  .mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form {
    margin: 32px auto 44px !important;
    padding: 0 16px !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-booking-details,
  .mphb_sc_payment_request_checkout-wrapper #mphb-billing-details,
  .mphb_sc_payment_request_checkout-wrapper .mphb-billing-details,
  .mphb_sc_payment_request_checkout-wrapper .mphb-billing-fields-wrapper {
    grid-template-columns: 1fr !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table tbody {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form::before {
    font-size: 24px !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section,
  .mphb_sc_payment_request_checkout-wrapper .mphb-total-price {
    padding: 18px !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table tbody {
    grid-template-columns: 1fr !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table th,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead th,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead th {
    display: none !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody td:nth-child(1),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody td:nth-child(2),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody td:nth-child(3),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(1),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(2),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(3),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(4),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(5) {
    width: 100% !important;
    max-width: 100% !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody tr {
    margin: 0 0 10px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--cap-pr-line) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td {
    padding: 8px 0 !important;
    border: 0 !important;
    color: var(--cap-pr-ink) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td + td,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td + td {
    border-top: 1px solid rgba(223, 231, 226, 0.75) !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td::before,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td::before {
    display: block !important;
    margin: 0 0 3px !important;
    color: var(--cap-pr-muted) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody td:nth-child(1)::before {
    content: "Item";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody td:nth-child(2)::before {
    content: "Details";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody td:nth-child(3)::before {
    content: "Amount";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(1)::before {
    content: "Date";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(2)::before {
    content: "Payment";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(3)::before {
    content: "Booking";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(4)::before {
    content: "Status";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody td:nth-child(5)::before {
    content: "Amount";
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-table-price-column {
    text-align: left !important;
    white-space: normal !important;
    font-weight: 800 !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 8px !important;
    padding: 12px !important;
    border: 1px solid var(--cap-pr-line) !important;
    border-radius: 6px !important;
    background: #fbfdfc !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot th,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot th {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--cap-pr-green) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot .mphb-table-price-column,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot .mphb-table-price-column {
    text-align: right !important;
    white-space: nowrap !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-history tfoot tr:last-child {
    background: var(--cap-pr-green) !important;
    border-color: var(--cap-pr-green) !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-history tfoot tr:last-child th {
    color: #ffffff !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-total-price output,
  .mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper input[type="submit"].button {
    width: 100% !important;
  }
}

/* ============================================================
   Booking Confirmation / Cart Layout Refresh
   Clear, minimal two-column checkout layout inspired by the cart mockup.
   ============================================================ */

:root {
  --cap-cart-ink: #111827;
  --cap-cart-muted: #5f6b7a;
  --cap-cart-line: #e4e7ec;
  --cap-cart-soft-line: #f0f2f5;
  --cap-cart-panel: #ffffff;
  --cap-cart-page: #f7fafc;
  --cap-cart-blue: #eef6ff;
  --cap-cart-blue-line: #cfe2ff;
  --cap-cart-green: #0f8f52;
  --cap-cart-action: #094229;
  --cap-cart-action-text: #fced1e;
  --cap-cart-danger: #ee1b24;
  --cap-cart-radius: 8px;
  --cap-cart-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

body:has(.mphb_sc_checkout-wrapper) #main {
  background:
    linear-gradient(180deg, rgba(252, 237, 30, 0.18) 0%, rgba(219, 239, 255, 0.56) 100%),
    var(--cap-cart-page) !important;
}

.mphb_sc_checkout-wrapper {
  box-sizing: border-box !important;
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: none !important;
  margin: 32px auto 56px !important;
  padding: clamp(22px, 3vw, 40px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--cap-cart-shadow) !important;
  color: var(--cap-cart-ink) !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_checkout-wrapper *,
.mphb_sc_checkout-wrapper *::before,
.mphb_sc_checkout-wrapper *::after {
  box-sizing: border-box !important;
  letter-spacing: 0 !important;
}

.mphb_sc_checkout-wrapper .mphb_sc_checkout-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  grid-auto-flow: row dense !important;
  gap: 22px 32px !important;
  align-items: start !important;
}

.mphb_sc_checkout-wrapper .mphb_sc_checkout-form::before {
  content: "Your Booking Cart";
  grid-column: 1 / -1 !important;
  display: block !important;
  margin: 0 0 4px !important;
  color: var(--cap-cart-ink) !important;
  font: 800 clamp(24px, 3vw, 32px)/1.15 "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_checkout-wrapper .mphb_sc_checkout-form > input[type="hidden"],
.mphb_sc_checkout-wrapper .mphb_sc_checkout-form > input[name="_wp_http_referer"] {
  display: none !important;
}

.mphb_sc_checkout-wrapper .mphb-checkout-section,
.mphb_sc_checkout-wrapper .mphb-total-price,
.mphb_sc_checkout-wrapper .mphb-deposit-amount,
.mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper {
  min-width: 0 !important;
  margin: 0 !important;
}

.mphb_sc_checkout-wrapper .mphb-checkout-section {
  padding: 24px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: var(--cap-cart-radius) !important;
  background: var(--cap-cart-panel) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.mphb_sc_checkout-wrapper .mphb-checkout-section:hover {
  transform: none !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.mphb_sc_checkout-wrapper #mphb-booking-details,
.mphb_sc_checkout-wrapper #mphb-customer-details,
.mphb_sc_checkout-wrapper #mphb-billing-details,
.mphb_sc_checkout-wrapper .mphb-checkout-text-wrapper,
.mphb_sc_checkout-wrapper .mphb-checkout-terms-wrapper {
  grid-column: 1 !important;
}

.mphb_sc_checkout-wrapper #mphb-booking-details {
  order: 10 !important;
}

.mphb_sc_checkout-wrapper #mphb-customer-details {
  order: 30 !important;
}

.mphb_sc_checkout-wrapper #mphb-billing-details {
  order: 40 !important;
}

.mphb_sc_checkout-wrapper .mphb-checkout-text-wrapper,
.mphb_sc_checkout-wrapper .mphb-checkout-terms-wrapper {
  order: 50 !important;
}

.mphb_sc_checkout-wrapper #mphb-price-details,
.mphb_sc_checkout-wrapper #mphb-coupon-details,
.mphb_sc_checkout-wrapper .mphb-total-price,
.mphb_sc_checkout-wrapper .mphb-deposit-amount,
.mphb_sc_checkout-wrapper .mphb-errors-wrapper,
.mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper {
  grid-column: 2 !important;
}

.mphb_sc_checkout-wrapper #mphb-price-details {
  order: 20 !important;
  position: static !important;
  top: auto !important;
  padding: 22px !important;
  background: #fbfbfc !important;
}

.mphb_sc_checkout-wrapper #mphb-price-details::before {
  content: "Summary";
  display: block !important;
  margin: 0 0 18px !important;
  color: var(--cap-cart-ink) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.mphb_sc_checkout-wrapper #mphb-coupon-details {
  order: 60 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mphb_sc_checkout-wrapper .mphb-total-price,
.mphb_sc_checkout-wrapper .mphb-deposit-amount {
  order: 70 !important;
  display: block !important;
  padding: 18px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--cap-cart-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.mphb_sc_checkout-wrapper .mphb-errors-wrapper {
  order: 80 !important;
}

.mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper {
  order: 90 !important;
}

.mphb_sc_checkout-wrapper .mphb-booking-details-title,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-title,
.mphb_sc_checkout-wrapper .mphb-customer-details-title,
.mphb_sc_checkout-wrapper .mphb-gateway-chooser-title,
.mphb_sc_checkout-wrapper .mphb-room-number,
.mphb_sc_checkout-wrapper .mphb-checkout-section > h3,
.mphb_sc_checkout-wrapper .mphb-checkout-section > h4 {
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cap-cart-soft-line) !important;
  color: var(--cap-cart-ink) !important;
  font: 800 18px/1.25 "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_checkout-wrapper #mphb-price-details .mphb-price-breakdown-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.mphb_sc_checkout-wrapper .mphb-check-in-date,
.mphb_sc_checkout-wrapper .mphb-check-out-date,
.mphb_sc_checkout-wrapper .mphb-booking-details p {
  margin: 0 0 8px !important;
  color: var(--cap-cart-muted) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.mphb_sc_checkout-wrapper .mphb-check-in-date strong,
.mphb_sc_checkout-wrapper .mphb-check-out-date strong,
.mphb_sc_checkout-wrapper .mphb-room-type-title a,
.mphb_sc_checkout-wrapper .mphb-room-number {
  color: var(--cap-cart-ink) !important;
}

.mphb_sc_checkout-wrapper .mphb-room-type-title {
  margin: 0 0 18px !important;
  color: var(--cap-cart-ink) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.mphb_sc_checkout-wrapper .mphb-room-type-title a {
  text-decoration: none !important;
}

.mphb_sc_checkout-wrapper .mphb-adults-chooser,
.mphb_sc_checkout-wrapper .mphb-children-chooser,
.mphb_sc_checkout-wrapper .mphb-guest-name-wrapper {
  display: grid !important;
  grid-template-columns: minmax(110px, 0.35fr) minmax(170px, 1fr) !important;
  gap: 8px 16px !important;
  align-items: center !important;
  margin: 14px 0 !important;
}

.mphb_sc_checkout-wrapper label,
.mphb_sc_checkout-wrapper .mphb-coupon-code-title {
  margin: 0 0 6px !important;
  color: var(--cap-cart-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.mphb_sc_checkout-wrapper .mphb-adults-chooser label,
.mphb_sc_checkout-wrapper .mphb-children-chooser label,
.mphb_sc_checkout-wrapper .mphb-guest-name-wrapper label {
  margin: 0 !important;
}

.mphb_sc_checkout-wrapper input[type="text"],
.mphb_sc_checkout-wrapper input[type="email"],
.mphb_sc_checkout-wrapper input[type="tel"],
.mphb_sc_checkout-wrapper input[type="password"],
.mphb_sc_checkout-wrapper select,
.mphb_sc_checkout-wrapper textarea {
  width: 100% !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

.mphb_sc_checkout-wrapper select {
  padding-right: 34px !important;
}

.mphb_sc_checkout-wrapper input:focus,
.mphb_sc_checkout-wrapper select:focus,
.mphb_sc_checkout-wrapper textarea:focus {
  border-color: #9cc7ff !important;
  box-shadow: 0 0 0 3px rgba(46, 135, 255, 0.12) !important;
  outline: none !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown th,
.mphb_sc_checkout-wrapper .mphb-price-breakdown td {
  padding: 9px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cap-cart-soft-line) !important;
  background: transparent !important;
  color: var(--cap-cart-ink) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  vertical-align: top !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown tbody tr:hover {
  background: transparent !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown .mphb-table-price-column {
  width: 118px !important;
  color: var(--cap-cart-ink) !important;
  font-weight: 800 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown-accommodation a,
.mphb_sc_checkout-wrapper .mphb-price-breakdown a {
  color: var(--cap-cart-ink) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown-rate,
.mphb_sc_checkout-wrapper .cielo-mphb-price-breakdown-max-guests,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-date,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-service {
  color: var(--cap-cart-muted) !important;
  font-size: 12px !important;
}

.mphb_sc_checkout-wrapper .cielo-mphb-price-breakdown-max-guests {
  margin-top: 2px !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown-services,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-services-headers {
  background: var(--cap-cart-blue) !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown-services th,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-services td,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-services-headers th,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-services-headers td {
  border-color: var(--cap-cart-blue-line) !important;
  color: #0b55b7 !important;
}

.mphb_sc_checkout-wrapper .mphb-price-breakdown-total th,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-total td,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-subtotal th,
.mphb_sc_checkout-wrapper .mphb-price-breakdown-subtotal td {
  padding-top: 12px !important;
  border-bottom: 0 !important;
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.mphb_sc_checkout-wrapper .mphb-coupon-code-wrapper p {
  margin: 0 !important;
}

.mphb_sc_checkout-wrapper .mphb-coupon-code-wrapper p:first-of-type {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: end !important;
}

.mphb_sc_checkout-wrapper .mphb-coupon-code-wrapper .mphb-coupon-code-title {
  grid-column: 1 / -1 !important;
}

.mphb_sc_checkout-wrapper .mphb-apply-coupon-code-button,
.mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper input[type="submit"] {
  min-height: 42px !important;
  border: 0 !important;
  border-radius: var(--cap-cart-radius) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.mphb_sc_checkout-wrapper .mphb-apply-coupon-code-button {
  padding: 0 18px !important;
  border-radius: var(--cap-cart-radius) !important;
  background: var(--cap-cart-action) !important;
  color: var(--cap-cart-action-text) !important;
}

body .mphb_sc_checkout-wrapper button.button.btn.mphb-apply-coupon-code-button {
  border-radius: var(--cap-cart-radius) !important;
}

.mphb_sc_checkout-wrapper .mphb-apply-coupon-code-button:hover {
  background: #0b5a37 !important;
}

.mphb_sc_checkout-wrapper .mphb-total-price output,
.mphb_sc_checkout-wrapper .mphb-deposit-amount output {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  color: var(--cap-cart-ink) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.mphb_sc_checkout-wrapper .mphb-total-price-field,
.mphb_sc_checkout-wrapper .mphb-deposit-amount-field {
  color: var(--cap-cart-ink) !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper {
  display: grid !important;
  gap: 10px !important;
  padding-top: 6px !important;
}

.mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper input[type="submit"] {
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  background: var(--cap-cart-action) !important;
  color: var(--cap-cart-action-text) !important;
}

.mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper input[type="submit"]:hover {
  background: #0b5a37 !important;
  transform: none !important;
}

.mphb_sc_checkout-wrapper .mphb-terms-and-conditions,
.mphb_sc_checkout-wrapper .mphb-required-fields-tip,
.mphb_sc_checkout-wrapper .mphb-gateway-description,
.mphb_sc_checkout-wrapper .mphb-coupon-message {
  color: var(--cap-cart-muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.mphb_sc_checkout-wrapper .mphb-gateways-list {
  display: grid !important;
  gap: 10px !important;
}

.mphb_sc_checkout-wrapper .mphb-gateways-list .mphb-gateway {
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
}

@media (max-width: 940px) {
  .mphb_sc_checkout-wrapper {
    width: min(100% - 24px, 760px) !important;
    padding: 22px !important;
  }

  .mphb_sc_checkout-wrapper .mphb_sc_checkout-form {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .mphb_sc_checkout-wrapper #mphb-booking-details,
  .mphb_sc_checkout-wrapper #mphb-customer-details,
  .mphb_sc_checkout-wrapper #mphb-billing-details,
  .mphb_sc_checkout-wrapper .mphb-checkout-text-wrapper,
  .mphb_sc_checkout-wrapper .mphb-checkout-terms-wrapper,
  .mphb_sc_checkout-wrapper #mphb-price-details,
  .mphb_sc_checkout-wrapper #mphb-coupon-details,
  .mphb_sc_checkout-wrapper .mphb-total-price,
  .mphb_sc_checkout-wrapper .mphb-deposit-amount,
  .mphb_sc_checkout-wrapper .mphb-errors-wrapper,
  .mphb_sc_checkout-wrapper .mphb_sc_checkout-submit-wrapper {
    grid-column: 1 !important;
  }

  .mphb_sc_checkout-wrapper #mphb-price-details {
    position: static !important;
  }
}

@media (max-width: 560px) {
  .mphb_sc_checkout-wrapper {
    width: min(100% - 16px, 100%) !important;
    margin: 16px auto 36px !important;
    padding: 18px !important;
    border-radius: 8px !important;
  }

  .mphb_sc_checkout-wrapper .mphb-checkout-section,
  .mphb_sc_checkout-wrapper #mphb-price-details {
    padding: 18px !important;
  }

  .mphb_sc_checkout-wrapper .mphb-adults-chooser,
  .mphb_sc_checkout-wrapper .mphb-children-chooser,
  .mphb_sc_checkout-wrapper .mphb-guest-name-wrapper,
  .mphb_sc_checkout-wrapper .mphb-coupon-code-wrapper p:first-of-type {
    grid-template-columns: 1fr !important;
  }

  .mphb_sc_checkout-wrapper .mphb-price-breakdown th,
  .mphb_sc_checkout-wrapper .mphb-price-breakdown td {
    font-size: 12px !important;
    overflow-wrap: anywhere !important;
  }

  .mphb_sc_checkout-wrapper .mphb-price-breakdown .mphb-table-price-column {
    width: 92px !important;
  }

  .mphb_sc_checkout-wrapper .mphb-total-price output,
  .mphb_sc_checkout-wrapper .mphb-deposit-amount output {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* ============================================================
   WooCommerce Checkout Layout Refresh
   Reuses the booking/cart variables above for visual continuity.
   ============================================================ */

body.woocommerce-checkout #main {
  background:
    linear-gradient(180deg, rgba(252, 237, 30, 0.18) 0%, rgba(219, 239, 255, 0.56) 100%),
    var(--cap-cart-page) !important;
  color: var(--cap-cart-ink) !important;
}

body.woocommerce-checkout #main .post-content {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  color: var(--cap-cart-ink) !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout,
body.woocommerce-checkout form.checkout.woocommerce-checkout * {
  box-sizing: border-box !important;
  letter-spacing: 0 !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-fullwidth {
  margin-right: 0 !important;
  margin-left: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-fullwidth > .fusion-builder-row {
  max-width: none !important;
  width: 100% !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 {
  padding: 28px 0 24px !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 .fusion-layout-column,
body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 .fusion-column-wrapper {
  min-height: 0 !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 h1 {
  margin: 0 !important;
  color: var(--cap-cart-ink) !important;
  font: 800 clamp(26px, 3vw, 36px)/1.12 "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 .fusion-breadcrumbs,
body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 .fusion-breadcrumbs a {
  color: var(--cap-cart-muted) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 {
  padding: 0 0 58px !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 > .fusion-builder-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 410px) !important;
  gap: 28px 34px !important;
  align-items: start !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 > .fusion-builder-row > .fusion-layout-column {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  flex: none !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 .fusion-column-wrapper {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .checkout_coupon {
  width: 100% !important;
  margin: 0 0 22px !important;
  border: 1px solid var(--cap-cart-line) !important;
  background: var(--cap-cart-panel) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields {
  padding: 0 24px 24px !important;
  border-top: 0 !important;
  border-radius: 0 0 var(--cap-cart-radius) var(--cap-cart-radius) !important;
}

body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .checkout_coupon {
  padding: 22px 24px !important;
  border-radius: var(--cap-cart-radius) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  border-top: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 0 0 var(--cap-cart-radius) var(--cap-cart-radius) !important;
  overflow: hidden !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 .fusion-title {
  margin: 0 !important;
  padding: 22px 24px 14px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-bottom: 0 !important;
  border-radius: var(--cap-cart-radius) var(--cap-cart-radius) 0 0 !important;
  background: var(--cap-cart-panel) !important;
  color: var(--cap-cart-ink) !important;
  font: 800 19px/1.25 "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 h4 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--cap-cart-ink) !important;
  font: 800 19px/1.25 "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 20px !important;
}

body.woocommerce-checkout .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
  float: none !important;
  width: auto !important;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_postcode_field,
body.woocommerce-checkout #billing_phone_field,
body.woocommerce-checkout #billing_email_field {
  grid-column: 1 / -1 !important;
}

body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .payment_box label {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--cap-cart-ink) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body.woocommerce-checkout .required,
body.woocommerce-checkout .required_field .required {
  color: var(--cap-cart-danger) !important;
  text-decoration: none !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-checkout #payment input[type="text"],
body.woocommerce-checkout #payment input[type="email"],
body.woocommerce-checkout #payment input[type="tel"],
body.woocommerce-checkout #payment input[type="password"] {
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout textarea {
  min-height: 92px !important;
  resize: vertical !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  padding: 0 38px 0 13px !important;
}

body.woocommerce-checkout .select2-container .select2-selection__rendered {
  padding: 0 !important;
  color: var(--cap-cart-ink) !important;
  line-height: 1.35 !important;
}

body.woocommerce-checkout .select2-container .select2-selection__arrow {
  height: 42px !important;
  right: 9px !important;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single,
body.woocommerce-checkout #payment input:focus {
  border-color: #9cc7ff !important;
  box-shadow: 0 0 0 3px rgba(46, 135, 255, 0.12) !important;
  outline: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .awb-cart-totals-table th,
body.woocommerce-checkout .awb-cart-totals-table td {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cap-cart-soft-line) !important;
  background: transparent !important;
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  vertical-align: top !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table > tbody > tr > td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table > tfoot > tr > td {
  padding-right: 24px !important;
  padding-left: 24px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
  width: 62% !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child,
body.woocommerce-checkout .awb-cart-totals-table td {
  text-align: right !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-thumbnail {
  display: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .fusion-product-name-wrapper {
  display: block !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-info,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-title,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .amount {
  color: var(--cap-cart-ink) !important;
  font-weight: 800 !important;
}

body.woocommerce-checkout .awb-cart-totals-table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: collapse !important;
}

body.woocommerce-checkout .awb-cart-totals-table tr:last-child th,
body.woocommerce-checkout .awb-cart-totals-table tr:last-child td {
  border-bottom: 0 !important;
}

body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td,
body.woocommerce-checkout .order-total .amount {
  color: var(--cap-cart-action) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

body.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 6px !important;
}

body.woocommerce-checkout .woocommerce-additional-fields .form-row {
  display: grid !important;
  gap: 7px !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment::before {
  content: "Payment Options";
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--cap-cart-soft-line) !important;
  color: var(--cap-cart-ink) !important;
  font: 800 19px/1.25 "PT Sans", Arial, Helvetica, sans-serif !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods {
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods > li {
  position: relative !important;
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods > li > input[type="radio"] {
  position: absolute !important;
  top: 17px !important;
  left: 14px !important;
  margin: 0 !important;
  accent-color: var(--cap-cart-action) !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods > li > label {
  display: flex !important;
  min-height: 24px !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding-left: 24px !important;
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods img {
  max-width: 72px !important;
  max-height: 24px !important;
  margin-left: auto !important;
  object-fit: contain !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_box {
  margin: 4px 0 0 !important;
  padding: 14px !important;
  border: 1px solid var(--cap-cart-blue-line) !important;
  border-radius: 6px !important;
  background: var(--cap-cart-blue) !important;
  color: var(--cap-cart-muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_box p {
  margin: 0 0 12px !important;
  color: var(--cap-cart-muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment fieldset {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment fieldset .form-row {
  display: grid !important;
  gap: 7px !important;
  margin-top: 12px !important;
}

body.woocommerce-checkout .woocommerce-checkout-payment fieldset .form-row-first,
body.woocommerce-checkout .woocommerce-checkout-payment fieldset .form-row-last {
  width: 100% !important;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-privacy-policy-text p {
  color: var(--cap-cart-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a,
body.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: var(--cap-cart-action) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.woocommerce-checkout .place-order {
  display: grid !important;
  gap: 14px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
  color: var(--cap-cart-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] {
  accent-color: var(--cap-cart-action) !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout .checkout_coupon .button,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .button {
  min-height: 44px !important;
  border: 0 !important;
  border-radius: var(--cap-cart-radius) !important;
  background: var(--cap-cart-action) !important;
  color: var(--cap-cart-action-text) !important;
  box-shadow: none !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: none !important;
  cursor: pointer !important;
}

body.woocommerce-checkout #place_order {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 18px !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout .checkout_coupon .button:hover,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .button:hover {
  background: #0b5a37 !important;
  color: var(--cap-cart-action-text) !important;
  transform: none !important;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: var(--cap-cart-radius) !important;
  background: var(--cap-cart-panel) !important;
  color: var(--cap-cart-ink) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body.woocommerce-checkout .checkout_coupon {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: end !important;
}

body.woocommerce-checkout .checkout_coupon p {
  margin: 0 !important;
}

body.woocommerce-checkout .checkout_coupon p:first-child {
  grid-column: 1 / -1 !important;
  color: var(--cap-cart-muted) !important;
  font-size: 13px !important;
}

@media (max-width: 940px) {
  body.woocommerce-checkout #main .post-content {
    width: min(760px, calc(100vw - 24px)) !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 > .fusion-builder-row {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 .fusion-builder-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 .fusion-layout-column {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-checkout #main {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  body.woocommerce-checkout #main .post-content {
    width: min(100% - 16px, 100%) !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-2 {
    padding: 18px 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 {
    padding-bottom: 36px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout .woocommerce-checkout-payment,
  body.woocommerce-checkout .checkout_coupon {
    padding: 18px !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > .fusion-builder-row-3 .fusion-title {
    padding: 18px 18px 12px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .checkout_coupon {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table > tbody > tr > td,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table > tfoot > tr > td {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
  body.woocommerce-checkout .awb-cart-totals-table th,
  body.woocommerce-checkout .awb-cart-totals-table td {
    font-size: 13px !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout .order-total th,
  body.woocommerce-checkout .order-total td,
  body.woocommerce-checkout .order-total .amount {
    font-size: 16px !important;
  }
}

/* ============================================================
   Payment Request Layout Continuity Refresh
   Matches the booking confirmation and checkout card system.
   ============================================================ */

body:has(.mphb_sc_payment_request_checkout-form) #main {
  background:
    linear-gradient(180deg, rgba(252, 237, 30, 0.18) 0%, rgba(219, 239, 255, 0.56) 100%),
    var(--cap-cart-page) !important;
  color: var(--cap-cart-ink) !important;
}

.mphb_sc_payment_request_checkout-wrapper {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  color: var(--cap-cart-ink) !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  gap: 22px 32px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 32px auto 56px !important;
  padding: clamp(22px, 3vw, 40px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--cap-cart-shadow) !important;
  color: var(--cap-cart-ink) !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form *,
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form *::before,
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form *::after {
  box-sizing: border-box !important;
  letter-spacing: 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form::before,
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form::after {
  grid-column: 1 / -1 !important;
  display: block !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form::before {
  content: "Reservation Payment";
  order: 1 !important;
  margin: 0 !important;
  color: var(--cap-cart-ink) !important;
  font: 800 clamp(24px, 3vw, 32px)/1.15 "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form::after {
  content: "Review the reservation details and payment summary before submitting the secure payment.";
  order: 2 !important;
  max-width: 720px !important;
  margin: -12px 0 4px !important;
  color: var(--cap-cart-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form > input[type="hidden"] {
  display: none !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section,
.mphb_sc_payment_request_checkout-wrapper .mphb-total-price,
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper {
  min-width: 0 !important;
  margin: 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-booking-details,
.mphb_sc_payment_request_checkout-wrapper #mphb-payment-request-itemization,
.mphb_sc_payment_request_checkout-wrapper #mphb-payment-history {
  grid-column: 1 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-billing-details,
.mphb_sc_payment_request_checkout-wrapper .mphb-total-price,
.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper {
  grid-column: 2 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-booking-details {
  order: 10 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-payment-request-itemization {
  order: 20 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-payment-history {
  order: 40 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-billing-details {
  order: 15 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-total-price {
  order: 25 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper {
  order: 35 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section,
.mphb_sc_payment_request_checkout-wrapper .mphb-total-price {
  padding: 22px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: var(--cap-cart-radius) !important;
  background: var(--cap-cart-panel) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section:hover {
  transform: none !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-payment-request-itemization {
  border-top: 1px solid var(--cap-cart-line) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-billing-details {
  display: block !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section > h3,
.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details-title,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-itemization-title,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-details-title,
.mphb_sc_payment_request_checkout-wrapper .mphb-gateways-list-title {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cap-cart-soft-line) !important;
  color: var(--cap-cart-ink) !important;
  font: 800 18px/1.25 "PT Sans", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details-title {
  grid-column: 1 / -1 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details p {
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: 6px !important;
  background: #fbfbfc !important;
  color: var(--cap-cart-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details strong,
.mphb_sc_payment_request_checkout-wrapper .mphb-booking-details time {
  color: var(--cap-cart-ink) !important;
  font-weight: 800 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-itemization-intro {
  max-width: none !important;
  margin: -4px 0 16px !important;
  color: var(--cap-cart-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 6px !important;
  background: #fff !important;
  overflow: hidden !important;
  table-layout: fixed !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(1),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(1) {
  width: 16% !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(2),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(2) {
  width: 28% !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(3),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(3) {
  width: 24% !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(4),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(4) {
  width: 15% !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:nth-child(5),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:nth-child(5) {
  width: 17% !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td {
  padding: 12px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cap-cart-soft-line) !important;
  background: transparent !important;
  color: var(--cap-cart-ink) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  vertical-align: top !important;
  overflow-wrap: anywhere !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead th {
  background: var(--cap-cart-blue) !important;
  color: #0b55b7 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot th {
  background: #fbfbfc !important;
  color: var(--cap-cart-ink) !important;
  font-weight: 800 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tr:last-child th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tr:last-child td,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tr:last-child th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tr:last-child td {
  border-bottom: 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-table-price-column,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td:last-child,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table th:last-child,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:last-child,
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:last-child {
  color: var(--cap-cart-ink) !important;
  font-weight: 800 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th:not(:last-child),
.mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td:not(:last-child) {
  white-space: normal !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table {
  display: block !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table tbody {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table tr {
  display: grid !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid var(--cap-cart-line) !important;
  border-radius: 6px !important;
  background: #fbfbfc !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table th,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table td {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table th {
  color: var(--cap-cart-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table td {
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.mphb_sc_payment_request_checkout-wrapper #mphb-billing-details strong,
.mphb_sc_payment_request_checkout-wrapper .mphb-gateway-description,
.mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-payment-completed td:nth-child(4) {
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-total-price {
  border: 1px solid var(--cap-cart-line) !important;
  background: #fbfbfc !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-total-price output {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  color: var(--cap-cart-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb-total-price-field {
  color: var(--cap-cart-action) !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper {
  display: grid !important;
  gap: 10px !important;
  justify-content: stretch !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper input[type="submit"].button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: var(--cap-cart-radius) !important;
  background: var(--cap-cart-action) !important;
  color: var(--cap-cart-action-text) !important;
  box-shadow: none !important;
  font-family: "PT Sans", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: none !important;
  cursor: pointer !important;
}

.mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper input[type="submit"].button:hover {
  background: #0b5a37 !important;
  color: var(--cap-cart-action-text) !important;
  transform: none !important;
}

@media (max-width: 940px) {
  .mphb_sc_payment_request_checkout-wrapper {
    width: min(760px, calc(100vw - 24px)) !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 24px auto 44px !important;
    padding: 22px !important;
  }

  .mphb_sc_payment_request_checkout-wrapper #mphb-booking-details,
  .mphb_sc_payment_request_checkout-wrapper #mphb-payment-request-itemization,
  .mphb_sc_payment_request_checkout-wrapper #mphb-payment-history,
  .mphb_sc_payment_request_checkout-wrapper #mphb-billing-details,
  .mphb_sc_payment_request_checkout-wrapper .mphb-total-price,
  .mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-submit-wrapper {
    grid-column: 1 !important;
  }
}

@media (max-width: 560px) {
  .mphb_sc_payment_request_checkout-wrapper {
    width: min(100% - 16px, 100%) !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb_sc_payment_request_checkout-form {
    margin: 16px auto 36px !important;
    padding: 18px !important;
    border-radius: 8px !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-checkout-section,
  .mphb_sc_payment_request_checkout-wrapper .mphb-total-price {
    padding: 18px !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-booking-details,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-context-table tbody {
    grid-template-columns: 1fr !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table th,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table th,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table {
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table thead,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tbody tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tbody tr {
    margin: 0 0 10px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--cap-cart-line) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td {
    padding: 8px 0 !important;
    border: 0 !important;
    color: var(--cap-cart-ink) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td + td,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td + td {
    border-top: 1px solid var(--cap-cart-soft-line) !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot tr,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 8px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--cap-cart-line) !important;
    border-radius: 6px !important;
    background: #fbfbfc !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot th,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot th {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--cap-cart-ink) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot th:nth-child(1),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot th:nth-child(1) {
    width: auto !important;
    min-width: 0 !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot th:nth-child(2),
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot th:nth-child(2) {
    width: auto !important;
    min-width: max-content !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table tfoot .mphb-table-price-column,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table tfoot .mphb-table-price-column {
    text-align: right !important;
    white-space: nowrap !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-payment-request-items-table td,
  .mphb_sc_payment_request_checkout-wrapper .mphb-payments-table td {
    overflow-wrap: break-word !important;
  }

  .mphb_sc_payment_request_checkout-wrapper .mphb-total-price output {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* Search-result cards: title availability pill and separated footer actions. */
.mphb_sc_search_results-wrapper .mphb-room-type.cielo-search-card-enhanced .mphb-room-type-title.entry-title {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px 12px !important;
  padding-right: 34px !important;
}

.mphb_sc_search_results-wrapper .cielo-search-availability-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  top: -8px !important;
  min-height: 20px !important;
  padding: 3px 7px !important;
  border: 1px solid #393535 !important;
  border-radius: 999px !important;
  background: #fced1e !important;
  color: #393535 !important;
  font: 600 10px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  white-space: nowrap !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type.cielo-search-card-enhanced .mphb-reserve-room-section .mphb-rooms-quantity-wrapper {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-view-details-button-wrapper {
  width: max-content !important;
  max-width: 100% !important;
  pointer-events: none !important;
  position: relative !important;
  z-index: 2 !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type.cielo-search-card-enhanced .mphb-view-details-button,
body .mphb_sc_search_results-wrapper .mphb-room-type a.button.mphb-view-details-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 132px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #006c2d !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
  font: 400 15px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  text-decoration: none !important;
  text-transform: none !important;
  pointer-events: auto !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type.cielo-search-card-enhanced .mphb-view-details-button:hover,
body .mphb_sc_search_results-wrapper .mphb-room-type a.button.mphb-view-details-button:hover,
body .mphb_sc_search_results-wrapper .mphb-room-type a.button.mphb-view-details-button:focus {
  background: #006c2d !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-reserve-room-section {
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 0 0 176px !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-reserve-room-section .mphb-book-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 132px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font: 400 15px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  text-decoration: none !important;
  text-transform: none !important;
  position: relative !important;
  z-index: 4 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 14px 18px !important;
  max-width: 1080px !important;
  margin: 0 auto 24px !important;
  padding: 16px 18px !important;
  border: 1px solid #393535 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #393535 !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) .mphb-reservation-details {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  color: #393535 !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) .mphb-empty-cart-message {
  display: none !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) .mphb-cart-message,
.mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) .mphb-cart-total-price {
  margin: 0 !important;
  color: #393535 !important;
  font: 600 14px/1.35 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) .mphb-confirm-reservation {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #393535 !important;
  color: #fced1e !important;
  font: 600 13px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  cursor: pointer !important;
}

@media (max-width: 780px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-reserve-room-section {
    width: 100% !important;
    margin: 12px 0 0 !important;
  }

  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-view-details-button-wrapper {
    width: 100% !important;
  }

  .mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart),
  .mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) .mphb-reservation-details,
  .mphb_sc_search_results-wrapper #mphb-reservation-cart:not(.mphb-empty-cart) .mphb-confirm-reservation {
    width: 100% !important;
  }
}

/* Search-results booking summary sidebar. */
body.cielo-search-results-has-booking-summary #main > .fusion-row {
  width: min(1540px, calc(100vw - 32px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.cielo-search-results-has-booking-summary #content,
body.cielo-search-results-has-booking-summary #main .post-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

body:has(.mphb_sc_search_results-wrapper.cielo-has-booking-summary) #main > .fusion-row {
  width: min(1540px, calc(100vw - 32px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.mphb_sc_search_results-wrapper.cielo-has-booking-summary) #content,
body:has(.mphb_sc_search_results-wrapper.cielo-has-booking-summary) #main .post-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

.mphb_sc_search_results-wrapper.cielo-has-booking-summary {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(312px, 348px) !important;
  gap: 0 clamp(24px, 2.4vw, 36px) !important;
  align-items: start !important;
  width: min(1540px, calc(100vw - 32px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mphb_sc_search_results-wrapper.cielo-has-booking-summary > :not(#mphb-reservation-cart) {
  grid-column: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.mphb_sc_search_results-wrapper.cielo-has-booking-summary #mphb-reservation-cart:not(.mphb-empty-cart).cielo-booking-summary-enhanced {
  grid-column: 2 !important;
  grid-row: 1 / span 100 !important;
  position: sticky !important;
  top: 96px !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid #393535 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #393535 !important;
  box-shadow: 0 18px 36px rgba(57, 53, 53, 0.14) !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart.cielo-booking-summary-enhanced .mphb-reservation-details,
.mphb_sc_search_results-wrapper #mphb-reservation-cart.cielo-booking-summary-enhanced .mphb-clear {
  display: none !important;
}

.cielo-booking-summary-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.cielo-booking-summary-heading {
  margin: 0 !important;
  color: #393535 !important;
  font: 700 22px/1.2 "Poppins", Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}

.cielo-booking-summary-clear {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 8px 13px !important;
  border: 1px solid #393535 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #393535 !important;
  -webkit-text-fill-color: #393535 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font: 600 12px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  text-transform: uppercase !important;
}

.cielo-booking-summary-clear:hover,
.cielo-booking-summary-clear:focus {
  background: #393535 !important;
  color: #fced1e !important;
  -webkit-text-fill-color: #fced1e !important;
}

.cielo-booking-summary-selected {
  margin: -8px 0 0 !important;
  color: #393535 !important;
  font: 500 13px/1.35 "Poppins", Arial, Helvetica, sans-serif !important;
}

.cielo-booking-summary-trip {
  display: grid !important;
  gap: 10px !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(57, 53, 53, 0.18) !important;
  border-bottom: 1px solid rgba(57, 53, 53, 0.18) !important;
}

.cielo-booking-summary-row,
.cielo-booking-summary-total {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

.cielo-booking-summary-label,
.cielo-booking-summary-total-label {
  flex: 0 0 auto !important;
  color: #393535 !important;
  font: 500 12px/1.35 "Poppins", Arial, Helvetica, sans-serif !important;
  text-transform: uppercase !important;
}

.cielo-booking-summary-value {
  min-width: 0 !important;
  color: #393535 !important;
  font: 600 13px/1.35 "Poppins", Arial, Helvetica, sans-serif !important;
  text-align: right !important;
}

.cielo-booking-summary-rooms {
  display: grid !important;
  gap: 12px !important;
}

.cielo-booking-summary-room {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 10px !important;
  border: 1px solid rgba(57, 53, 53, 0.16) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

.cielo-booking-summary-room-image {
  width: 72px !important;
  height: 62px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  display: block !important;
}

.cielo-booking-summary-room-body {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.cielo-booking-summary-room-title,
.cielo-booking-summary-room-meta,
.cielo-booking-summary-room-price {
  color: #393535 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}

.cielo-booking-summary-room-title {
  overflow-wrap: anywhere !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.cielo-booking-summary-room-meta {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

.cielo-booking-summary-room-price {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.cielo-booking-summary-total {
  padding-top: 14px !important;
  border-top: 1px solid rgba(57, 53, 53, 0.22) !important;
}

.cielo-booking-summary-total-value,
.cielo-booking-summary-total-value .mphb-price {
  color: #393535 !important;
  font: 800 24px/1.1 "Poppins", Arial, Helvetica, sans-serif !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart.cielo-booking-summary-enhanced .mphb-confirm-reservation {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #393535 !important;
  color: #fced1e !important;
  -webkit-text-fill-color: #fced1e !important;
  box-shadow: none !important;
  font: 700 13px/1 "Poppins", Arial, Helvetica, sans-serif !important;
  text-transform: uppercase !important;
}

.mphb_sc_search_results-wrapper #mphb-reservation-cart.cielo-booking-summary-enhanced .mphb-confirm-reservation:hover,
.mphb_sc_search_results-wrapper #mphb-reservation-cart.cielo-booking-summary-enhanced .mphb-confirm-reservation:focus {
  background: #393535 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 1120px) {
  .mphb_sc_search_results-wrapper.cielo-has-booking-summary {
    display: block !important;
  }

  .mphb_sc_search_results-wrapper.cielo-has-booking-summary #mphb-reservation-cart:not(.mphb-empty-cart).cielo-booking-summary-enhanced {
    position: static !important;
    width: 100% !important;
    margin: 0 0 24px !important;
  }
}
