/* Direct booking section */
.booking-section{background:linear-gradient(135deg,#f6f2e9 0%,#efe7da 100%)}
.booking-intro .lead{margin-top:25px;max-width:560px}
.booking-points{display:grid;gap:0;margin:34px 0 28px;border-top:1px solid var(--line)}
.booking-points>div{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.booking-points strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;font-weight:400}
.booking-points span,.booking-rules{color:var(--muted);font-size:.9rem}
.booking-card{position:relative;overflow:hidden;border:1px solid rgba(23,51,47,.09);box-shadow:0 24px 70px rgba(23,51,47,.12)}
.booking-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--coral)}
.booking-card-heading{display:flex;flex-direction:column;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.booking-card-heading span{font-size:.7rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--coral)}
.booking-card-heading strong{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400;margin-top:5px}
.live-booking .mphb-required-fields-tip{display:none}
.live-booking .mphb_sc_search-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.paradise-availability-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.paradise-availability-form>p{margin:0}.paradise-availability-form>p:nth-child(3){grid-column:1/-1}
.paradise-availability-form .paradise-form-status{grid-column:1/-1;min-height:0;color:#8e3e2a;font-weight:700}
.live-booking .mphb_sc_search-form>p{margin:0}
.live-booking .mphb_sc_search-children{display:none}
.live-booking label,.mphb_sc_checkout-form label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;margin-bottom:8px;color:var(--ink)}
.live-booking input,.live-booking select,.mphb_sc_checkout-form input[type=text],.mphb_sc_checkout-form input[type=email],.mphb_sc_checkout-form input[type=tel],.mphb_sc_checkout-form select,.mphb_sc_checkout-form textarea{width:100%;min-height:56px;border:1px solid rgba(23,51,47,.18);border-radius:12px;background:#fbfaf7;padding:13px 15px;font:inherit;color:var(--ink);box-shadow:inset 0 1px 1px rgba(23,51,47,.02);transition:border-color .2s,box-shadow .2s,background .2s}
.live-booking input:focus,.live-booking select:focus,.mphb_sc_checkout-form input:focus,.mphb_sc_checkout-form select:focus,.mphb_sc_checkout-form textarea:focus{outline:0;border-color:var(--coral);background:#fff;box-shadow:0 0 0 4px rgba(216,115,84,.13)}
.live-booking .mphb_sc_search-submit-button-wrapper{grid-column:1/-1}
.live-booking input[type=submit],.paradise-availability-form button{width:100%;min-height:58px;background:var(--coral);border-color:var(--coral);color:#fff;font-weight:800;cursor:pointer;margin-top:4px;box-shadow:0 10px 24px rgba(180,83,56,.22)}
.live-booking input[type=submit]:hover,.mphb-button:hover{background:#c96346;border-color:#c96346}
.booking-card .fine{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;color:var(--muted)}
.booking-card .fine span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e4f0ea;color:var(--ink);font-weight:800}

/* Search results */
.mphb_sc_search_results-wrapper,.mphb_sc_checkout-form,.mphb-booking-form,.mphb-checkout-section{font-family:"Helvetica Neue",Arial,sans-serif}
.mphb_sc_search_results-wrapper>.mphb_sc_search_results-info{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;color:var(--ink);margin:0 0 8px}
.mphb_sc_search_results-wrapper>.mphb_sc_search_results-recommendation{color:var(--muted);margin-bottom:28px}
.paradise-booking-guidance{margin:8px 0 28px;padding:16px 18px;border-left:4px solid var(--coral);background:#fff;border-radius:0 10px 10px 0;color:var(--ink)}
.mphb_sc_search_results-wrapper .mphb-room-type{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:38px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 55px rgba(23,51,47,.08)}
.mphb_sc_search_results-wrapper .mphb-room-type>*{grid-column:2}
.mphb_sc_search_results-wrapper .mphb-room-type>.post-thumbnail{grid-column:1;grid-row:1/12;margin:0}
.mphb_sc_search_results-wrapper .mphb-room-type>.post-thumbnail img{height:100%;min-height:430px;object-fit:cover;border-radius:15px}
.mphb-room-type-title,.mphb-room-type-title a{font-family:Georgia,"Times New Roman",serif;color:var(--ink)}
.mphb_sc_search_results-wrapper .mphb-room-type-title{font-size:2rem;margin:2px 0 10px}
.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes{list-style:none;padding:0;margin:12px 0;color:var(--muted);font-size:.92rem}
.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes li{margin:5px 0}
.mphb_sc_search_results-wrapper .mphb-regular-price{padding:18px 0;margin:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mphb_sc_search_results-wrapper .mphb-price{font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;color:var(--ink)}
.mphb_sc_search_results-wrapper .mphb-view-details-button{display:inline-flex;min-height:48px;align-items:center;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.mphb_sc_search_results-wrapper .mphb-reserve-room-section{display:flex;align-items:center;gap:14px;margin-top:10px}
.mphb-button,.mphb_sc_checkout-submit-wrapper .button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid var(--coral);border-radius:99px;background:var(--coral);color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:background .2s,border-color .2s}

/* Checkout */
.mphb_sc_checkout-form{max-width:900px;margin:auto}
.mphb_sc_checkout-form .mphb-checkout-section,.mphb_sc_checkout-form .mphb-room-details{margin:0 0 22px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px}
.mphb_sc_checkout-form h3,.mphb_sc_checkout-form h4{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--ink)}
.mphb_sc_checkout-form h3{font-size:2rem;margin:0 0 22px}
.mphb_sc_checkout-form h4{font-size:1.35rem;margin:24px 0 16px}
.mphb_sc_checkout-form p{margin-bottom:18px}
.mphb_sc_checkout-form textarea{min-height:130px;resize:vertical}
.mphb_sc_checkout-form .mphb-booking-details>p{display:inline-block;margin:0 28px 12px 0;padding:12px 16px;background:var(--cream);border-radius:10px}
.mphb_sc_checkout-form .mphb-room-details{background:#fbfaf7}
.mphb_sc_checkout-form .mphb-room-number{font-size:1.45rem}
.mphb_sc_checkout-form .mphb_sc_checkout-service{padding:12px 0}
.mphb_sc_checkout-form input[type=checkbox]{width:20px;height:20px;margin-right:8px;accent-color:var(--coral);vertical-align:middle}
.mphb-price-breakdown{width:100%;border-collapse:collapse;background:#fff}
.mphb-price-breakdown th,.mphb-price-breakdown td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}
.mphb-price-breakdown td:last-child,.mphb-price-breakdown th:last-child{text-align:right;white-space:nowrap}
.mphb-price-breakdown tfoot th{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:var(--ink);border-top:2px solid var(--ink)}
.mphb_sc_checkout-form .mphb-total-price{padding:22px;border-radius:14px;background:var(--ink);color:#fff;font-size:1.15rem}
.mphb_sc_checkout-form .mphb-total-price strong{font-family:Georgia,"Times New Roman",serif;font-size:1.7rem}
.mphb_sc_checkout-form .mphb-terms-and-conditions-accept{padding:18px;background:#f0e8da;border-radius:12px}
.mphb_sc_checkout-submit-wrapper{text-align:right}
.mphb_sc_checkout-submit-wrapper .button{min-width:210px;min-height:58px}
.mphb_sc_checkout-submit-wrapper .button:disabled{opacity:.5;cursor:not-allowed}

@media(max-width:760px){
  .booking{gap:42px}
  .booking-intro .lead{font-size:1.05rem}
  .booking-points{grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 0;border:0}
  .booking-points>div{display:block;padding:12px 7px;border:1px solid var(--line);border-radius:10px;text-align:center;background:rgba(255,255,255,.45)}
  .booking-points strong{display:block;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;font-weight:800;line-height:1.25}
  .booking-points span,.booking-rules{display:none}
  .live-booking .mphb_sc_search-form{grid-template-columns:1fr}
  .paradise-availability-form{grid-template-columns:1fr}.paradise-availability-form>p:nth-child(3){grid-column:auto}
  .live-booking .mphb_sc_search-submit-button-wrapper{grid-column:auto}
  .booking-card{padding:25px}
  .booking-card-heading strong{font-size:1.35rem}
  .mphb_sc_search_results-wrapper .mphb-room-type{grid-template-columns:1fr;gap:18px;padding:18px}
  .mphb_sc_search_results-wrapper .mphb-room-type>*{grid-column:1}
  .mphb_sc_search_results-wrapper .mphb-room-type>.post-thumbnail{grid-column:1;grid-row:auto}
  .mphb_sc_search_results-wrapper .mphb-room-type>.post-thumbnail img{min-height:0;aspect-ratio:4/3}
  .mphb_sc_search_results-wrapper .mphb-room-type-title{font-size:1.65rem}
  .mphb_sc_checkout-form .mphb-checkout-section,.mphb_sc_checkout-form .mphb-room-details{padding:20px}
  .mphb_sc_checkout-submit-wrapper .button{width:100%}
  .mphb-price-breakdown{font-size:.86rem}
}
