:root {
  --mphb-paraiso-ink: #e9fbf8;
  --mphb-paraiso-muted: rgba(233, 251, 248, 0.72);
  --mphb-paraiso-faint: rgba(233, 251, 248, 0.12);
  --mphb-paraiso-card: rgba(24, 24, 27, 0.92);
  --mphb-paraiso-card-soft: rgba(39, 39, 42, 0.78);
  --mphb-paraiso-deep: #011418;
  --mphb-paraiso-calendar: #18181b;
  --mphb-paraiso-border: rgba(185, 227, 223, 0.2);
  --mphb-paraiso-border-strong: rgba(111, 210, 212, 0.55);
  --mphb-paraiso-accent: #6fd2d4;
  --mphb-paraiso-accent-strong: #4fa7a9;
  --mphb-paraiso-gold: #e4c16d;
}

.mphb-booking-form,
.mphb_sc_checkout-form,
.mphb_sc_search_results-wrapper,
.mphb_sc_rooms-wrapper,
.mphb-room-type,
.mphb-room-type-wrapper,
.mphb-reservation-details,
.mphb-customer-details,
.mphb-total-price,
.mphb-payment-gateways,
.mphb-errors-wrapper,
.mphb-message-wrapper {
  color: var(--mphb-paraiso-ink) !important;
}

.mphb-booking-form,
.mphb_sc_checkout-form,
.mphb-room-type,
.mphb-room-type-wrapper,
.mphb-reservation-details,
.mphb-customer-details,
.mphb-payment-gateways,
.mphb-price-breakdown,
.mphb-total-price,
.mphb_sc_search_results-info,
.mphb-recommendation,
.mphb-reserve-rooms-details {
  border: 1px solid var(--mphb-paraiso-border) !important;
  border-radius: 1.5rem !important;
  background:
    radial-gradient(circle at top left, rgba(111, 210, 212, 0.12), transparent 34%),
    linear-gradient(145deg, rgba(24, 24, 27, 0.96), rgba(1, 20, 24, 0.93)) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.38) !important;
  backdrop-filter: blur(18px);
}

.mphb-booking-form,
.mphb_sc_checkout-form,
.mphb-reservation-details,
.mphb-customer-details,
.mphb-payment-gateways,
.mphb-price-breakdown,
.mphb-total-price,
.mphb-recommendation,
.mphb-reserve-rooms-details {
  padding: clamp(1rem, 2.4vw, 1.75rem) !important;
}

.mphb-room-type,
.mphb-room-type-wrapper {
  overflow: hidden;
}

.mphb-room-type:not(:last-child),
.mphb-room-type-wrapper:not(:last-child),
.mphb_sc_search_results-wrapper .mphb-room-type + .mphb-room-type,
.mphb_checkout-services-list li,
.mphb-price-breakdown tbody tr,
.mphb-price-breakdown tfoot tr {
  border-color: var(--mphb-paraiso-faint) !important;
}

.mphb-booking-form h1,
.mphb-booking-form h2,
.mphb-booking-form h3,
.mphb-booking-form h4,
.mphb_sc_checkout-form h1,
.mphb_sc_checkout-form h2,
.mphb_sc_checkout-form h3,
.mphb_sc_checkout-form h4,
.mphb-room-type h1,
.mphb-room-type h2,
.mphb-room-type h3,
.mphb-room-type h4,
.mphb-room-type-title,
.mphb-room-type-title a,
.mphb-reservation-details-title,
.mphb-customer-details-title,
.mphb-payment-gateways-title,
.mphb-total-price-title {
  color: #fffdf8 !important;
  letter-spacing: -0.03em;
}

.mphb-booking-form p,
.mphb-booking-form li,
.mphb-booking-form span,
.mphb_sc_checkout-form p,
.mphb_sc_checkout-form li,
.mphb_sc_checkout-form span,
.mphb-room-type p,
.mphb-room-type li,
.mphb-room-type span,
.mphb-loop-room-type-attributes,
.mphb-room-type-facilities,
.mphb-room-type-categories,
.mphb-room-type-view,
.mphb-price-period,
.mphb-tax-information,
.mphb-terms-and-conditions-accept,
.mphb-required-fields-tip {
  color: var(--mphb-paraiso-muted) !important;
}

.mphb-booking-form a,
.mphb_sc_checkout-form a,
.mphb-room-type a,
.mphb_sc_search_results-wrapper a {
  color: var(--mphb-paraiso-accent) !important;
  text-decoration-color: rgba(111, 210, 212, 0.35) !important;
  text-underline-offset: 0.2em;
}

.mphb-booking-form a:hover,
.mphb_sc_checkout-form a:hover,
.mphb-room-type a:hover,
.mphb_sc_search_results-wrapper a:hover {
  color: #b9e3df !important;
  text-decoration-color: rgba(185, 227, 223, 0.75) !important;
}

.mphb-booking-form label,
.mphb_sc_checkout-form label,
.mphb-room-type label,
.mphb-reserve-rooms-details label,
.mphb-adults-chooser label,
.mphb-children-chooser label,
.mphb-check-in-date-wrapper label,
.mphb-check-out-date-wrapper label {
  display: inline-block;
  margin-bottom: 0.45rem;
  color: rgba(255, 253, 248, 0.9) !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mphb-booking-form input:not([type='submit']):not([type='button']):not([type='checkbox']):not([type='radio']),
.mphb-booking-form select,
.mphb-booking-form textarea,
.mphb_sc_checkout-form input:not([type='submit']):not([type='button']):not([type='checkbox']):not([type='radio']),
.mphb_sc_checkout-form select,
.mphb_sc_checkout-form textarea,
.mphb-room-type input:not([type='submit']):not([type='button']):not([type='checkbox']):not([type='radio']),
.mphb-room-type select,
.mphb-room-type textarea,
.mphb-reserve-rooms-details input:not([type='submit']):not([type='button']):not([type='checkbox']):not([type='radio']),
.mphb-reserve-rooms-details select,
.mphb-reserve-rooms-details textarea {
  width: 100%;
  min-height: 3.25rem;
  border: 1px solid rgba(185, 227, 223, 0.24) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #fffdf8 !important;
  outline: none !important;
  padding: 0.82rem 1.05rem !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.mphb-booking-form textarea,
.mphb_sc_checkout-form textarea,
.mphb-room-type textarea,
.mphb-reserve-rooms-details textarea {
  min-height: 8rem;
  border-radius: 1.25rem !important;
  resize: vertical;
}

.mphb-booking-form input::placeholder,
.mphb-booking-form textarea::placeholder,
.mphb_sc_checkout-form input::placeholder,
.mphb_sc_checkout-form textarea::placeholder,
.mphb-room-type input::placeholder,
.mphb-room-type textarea::placeholder {
  color: rgba(233, 251, 248, 0.44) !important;
}

.mphb-booking-form input:focus,
.mphb-booking-form select:focus,
.mphb-booking-form textarea:focus,
.mphb_sc_checkout-form input:focus,
.mphb_sc_checkout-form select:focus,
.mphb_sc_checkout-form textarea:focus,
.mphb-room-type input:focus,
.mphb-room-type select:focus,
.mphb-room-type textarea:focus,
.mphb-reserve-rooms-details input:focus,
.mphb-reserve-rooms-details select:focus,
.mphb-reserve-rooms-details textarea:focus {
  border-color: var(--mphb-paraiso-border-strong) !important;
  background: rgba(111, 210, 212, 0.08) !important;
  box-shadow: 0 0 0 4px rgba(111, 210, 212, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

.mphb-booking-form select,
.mphb_sc_checkout-form select,
.mphb-room-type select,
.mphb-reserve-rooms-details select {
  cursor: pointer;
}

.mphb-booking-form select option,
.mphb_sc_checkout-form select option,
.mphb-room-type select option,
.mphb-reserve-rooms-details select option {
  background: #18181b !important;
  color: #fffdf8 !important;
}

.mphb-booking-form input[type='checkbox'],
.mphb-booking-form input[type='radio'],
.mphb_sc_checkout-form input[type='checkbox'],
.mphb_sc_checkout-form input[type='radio'],
.mphb-room-type input[type='checkbox'],
.mphb-room-type input[type='radio'] {
  accent-color: var(--mphb-paraiso-accent-strong);
}

.mphb-button,
.mphb-reserve-btn,
.mphb-confirm-reservation,
.mphb_sc_checkout-submit-wrapper input[type='submit'],
.mphb-booking-form input[type='submit'],
.mphb-booking-form button,
.mphb_sc_checkout-form input[type='submit'],
.mphb_sc_checkout-form button,
.mphb-room-type input[type='submit'],
.mphb-room-type button,
.mphb-reserve-rooms-details input[type='submit'],
.mphb-reserve-rooms-details button,
.mphb_sc_search_results-wrapper .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 3.35rem;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #b9e3df 0%, #6fd2d4 45%, #4fa7a9 100%) !important;
  color: #011418 !important;
  cursor: pointer;
  font-weight: 900 !important;
  letter-spacing: 0.1em;
  line-height: 1.1;
  padding: 0.95rem 1.45rem !important;
  text-decoration: none !important;
  text-transform: uppercase;
  box-shadow: 0 18px 42px rgba(79, 167, 169, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

.mphb-button:hover,
.mphb-reserve-btn:hover,
.mphb-confirm-reservation:hover,
.mphb_sc_checkout-submit-wrapper input[type='submit']:hover,
.mphb-booking-form input[type='submit']:hover,
.mphb-booking-form button:hover,
.mphb_sc_checkout-form input[type='submit']:hover,
.mphb_sc_checkout-form button:hover,
.mphb-room-type input[type='submit']:hover,
.mphb-room-type button:hover,
.mphb-reserve-rooms-details input[type='submit']:hover,
.mphb-reserve-rooms-details button:hover,
.mphb_sc_search_results-wrapper .button:hover {
  color: #011418 !important;
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 22px 52px rgba(79, 167, 169, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

.mphb-button:disabled,
.mphb-reserve-btn:disabled,
.mphb-booking-form button:disabled,
.mphb_sc_checkout-form button:disabled,
.mphb-booking-form input[type='submit']:disabled,
.mphb_sc_checkout-form input[type='submit']:disabled {
  cursor: not-allowed;
  filter: grayscale(0.45) opacity(0.58);
  transform: none;
}

.mphb-calendar,
.mphb-datepick-popup,
.datepick-popup,
.ui-datepicker {
  border: 1px solid rgba(111, 210, 212, 0.28) !important;
  border-radius: 1.25rem !important;
  background: var(--mphb-paraiso-calendar) !important;
  color: var(--mphb-paraiso-ink) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.58) !important;
  overflow: hidden !important;
}

#ui-datepicker-div {
  z-index: 9999999 !important;
  pointer-events: auto !important;
}

#ui-datepicker-div a,
#ui-datepicker-div span,
#ui-datepicker-div td {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 9999999 !important;
}

.datepick,
.ui-datepicker-calendar,
.mphb-calendar table {
  background: var(--mphb-paraiso-calendar) !important;
  color: var(--mphb-paraiso-ink) !important;
}

.datepick-nav,
.datepick-ctrl,
.ui-datepicker-header,
.mphb-calendar .mphb-calendar__nav,
.mphb-calendar .mphb-calendar__header {
  background: linear-gradient(135deg, rgba(1, 20, 24, 0.98), rgba(8, 112, 122, 0.84)) !important;
  color: #fffdf8 !important;
  font-weight: 900 !important;
}

.datepick-nav a,
.datepick-ctrl a,
.ui-datepicker-header a,
.ui-datepicker-prev,
.ui-datepicker-next {
  color: #fffdf8 !important;
  text-decoration: none !important;
}

.datepick-nav a:hover,
.datepick-ctrl a:hover,
.ui-datepicker-header a:hover,
.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
  background: rgba(111, 210, 212, 0.16) !important;
  color: var(--mphb-paraiso-accent) !important;
}

.datepick-month,
.ui-datepicker-calendar,
.mphb-calendar table {
  border-color: rgba(185, 227, 223, 0.12) !important;
}

.datepick-month-header,
.datepick-month-header select,
.datepick-month-header input,
.ui-datepicker-title,
.ui-datepicker-title select {
  border: 0 !important;
  background: rgba(39, 39, 42, 0.96) !important;
  color: #fffdf8 !important;
  font-weight: 900 !important;
}

.datepick-month table,
.datepick-month tbody,
.datepick-month tr,
.ui-datepicker-calendar tbody,
.ui-datepicker-calendar tr,
.mphb-calendar tbody,
.mphb-calendar tr {
  background: var(--mphb-paraiso-calendar) !important;
}

.datepick-month th,
.ui-datepicker-calendar th,
.mphb-calendar th {
  border-color: rgba(185, 227, 223, 0.1) !important;
  background: #27272a !important;
  color: rgba(233, 251, 248, 0.76) !important;
  font-weight: 900 !important;
}

.datepick-month td,
.ui-datepicker-calendar td,
.mphb-calendar td {
  border-color: rgba(185, 227, 223, 0.1) !important;
  background: rgba(24, 24, 27, 0.92) !important;
  color: var(--mphb-paraiso-ink) !important;
}

.datepick-month td a,
.datepick-month td span,
.ui-datepicker-calendar td a,
.ui-datepicker-calendar td span,
.mphb-calendar td a,
.mphb-calendar td span {
  color: var(--mphb-paraiso-ink) !important;
  text-decoration: none !important;
}

.datepick-month td a:hover,
.datepick-month td .datepick-selected,
.datepick-month td .datepick-highlight,
.ui-datepicker-calendar td a:hover,
.ui-datepicker-calendar .ui-state-active,
.ui-datepicker-calendar .ui-state-highlight,
.mphb-calendar td a:hover,
.mphb-calendar .mphb-calendar-date--selected,
.mphb-calendar .mphb-calendar-date--check-in,
.mphb-calendar .mphb-calendar-date--check-out {
  background: linear-gradient(135deg, rgba(185, 227, 223, 0.95), rgba(79, 167, 169, 0.92)) !important;
  color: #011418 !important;
}

.datepick-month td .datepick-today,
.ui-datepicker-calendar .ui-datepicker-today a,
.mphb-calendar .mphb-calendar-date--today {
  box-shadow: inset 0 0 0 2px var(--mphb-paraiso-gold) !important;
}

.datepick-month td .datepick-other-month,
.datepick-month td .datepick-unselectable,
.ui-datepicker-calendar .ui-state-disabled,
.mphb-calendar .mphb-calendar-date--not-available,
.mphb-calendar .mphb-calendar-date--past {
  color: rgba(233, 251, 248, 0.28) !important;
  cursor: not-allowed !important;
  opacity: 0.58;
}

.mphb-price,
.mphb-price-wrapper,
.mphb-regular-price,
.mphb-total-price-field,
.mphb_sc_search_results-wrapper .mphb-price {
  color: #fffdf8 !important;
  font-weight: 900;
}

.mphb-price strong,
.mphb-total-price-field strong,
.mphb_sc_search_results-wrapper .mphb-price strong {
  color: var(--mphb-paraiso-accent) !important;
}

.mphb-price-breakdown table,
.mphb-price-breakdown th,
.mphb-price-breakdown td,
.mphb_sc_checkout-form table,
.mphb_sc_checkout-form th,
.mphb_sc_checkout-form td {
  border-color: rgba(185, 227, 223, 0.13) !important;
  color: var(--mphb-paraiso-muted) !important;
}

.mphb-price-breakdown th,
.mphb_sc_checkout-form th {
  background: rgba(111, 210, 212, 0.08) !important;
  color: #fffdf8 !important;
}

.mphb-errors-wrapper,
.mphb-error,
.mphb_sc_checkout-form .mphb-errors-wrapper {
  border-color: rgba(248, 113, 113, 0.35) !important;
  background: rgba(127, 29, 29, 0.24) !important;
  color: #fecaca !important;
}

.mphb-message-wrapper,
.mphb-success-message,
.mphb_sc_checkout-form .mphb-message-wrapper {
  border-color: rgba(111, 210, 212, 0.35) !important;
  background: rgba(8, 112, 122, 0.18) !important;
  color: #dff8f5 !important;
}

@media (max-width: 767px) {
  .mphb-booking-form,
  .mphb_sc_checkout-form,
  .mphb-room-type,
  .mphb-room-type-wrapper,
  .mphb-reservation-details,
  .mphb-customer-details,
  .mphb-payment-gateways,
  .mphb-price-breakdown,
  .mphb-total-price,
  .mphb-recommendation,
  .mphb-reserve-rooms-details {
    border-radius: 1.15rem !important;
  }

  .mphb-button,
  .mphb-reserve-btn,
  .mphb-booking-form input[type='submit'],
  .mphb_sc_checkout-form input[type='submit'],
  .mphb-room-type input[type='submit'],
  .mphb-room-type button {
    width: 100%;
  }
}
