/* Scoped refinements for the existing Princess Farida booking page. */
body.pf-booking { font-family: 'Barlow', sans-serif; font-size: 15px; line-height: 1.6; }
.pf-booking .banner-header { height: clamp(180px,24vh,250px); min-height: 0; padding: 24px 0; background-image: url('/photos/the-ship-6.jpg'); }
.pf-booking .banner-header .caption { margin-top: 0 !important; }
.pf-booking .banner-header h1 { font-size: clamp(32px,3vw,42px); letter-spacing: .015em; line-height: 1.2; margin: 0; }
.pf-booking .banner-header:before { background: #172019; opacity: .28; }
.pf-booking .afacilties.section-padding { padding: 24px 0 36px; }
.pf-booking .afacilties > .container { width: 100%; max-width: 1200px !important; padding: 0 28px; }
.pf-booking .booking-layout { background: transparent !important; padding-bottom: 0 !important; }
.pf-booking .booking-box-luxury { padding: 0 !important; margin: 0 0 20px; border: 1px solid #ded6c8; border-radius: 8px; background: #fff; box-shadow: 0 4px 16px rgba(45,57,43,.055); }
.pf-booking .booking-box-luxury .head-box { padding: 17px 22px 16px; border-radius: 7px 7px 0 0; background: linear-gradient(110deg,#3e4c3b,#4d6047); }
.pf-booking .booking-box-luxury .head-box h4 { font-family: 'Gilda Display',serif; font-size: 27px; font-weight: 400; line-height: 1.2; padding: 0; border: 0; margin: 0 0 5px; letter-spacing: 0; }
.pf-booking .booking-box-luxury .booking-box-subtitle { font-size: 14px; font-weight: 400; line-height: 1.5; margin: 0; color: #edf0e9; }
.pf-booking .booking-box-luxury .booking-inner { padding: 18px 22px 20px; border-radius: 0 0 7px 7px; }
.pf-booking #search-form > .row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 190px; align-items: end; gap: 14px; margin: 0; }
.pf-booking #search-form > .row > .col-md-6 { padding: 0; max-width: none; width: auto; }
.pf-booking #search-form .input1_wrapper { margin: 0; }
.pf-booking #search-form label { padding: 0; margin: 0 0 7px; font-size: 12px; font-weight: 600; letter-spacing: .055em; line-height: 1.4; border-radius: 0; }
.pf-booking #search-form label i { font-size: 14px; color: #aa8453; }
.pf-booking #search-form input { width: 100%; height: 47px; min-height: 47px; padding: 10px 36px 10px 13px; font-family: 'Barlow',sans-serif; font-size: 16px; line-height: 1.4; border: 1px solid #d9d6cc; border-radius: 5px; background: #fdfcf9; color: #303a2d; box-shadow: none; margin: 0; cursor: pointer; }
.pf-booking #search-form input::placeholder { font-size: 16px; color: #656b60; }
.pf-booking #search-form .input1_inner:after { font-size: 16px; right: 13px; top: 15px; }
.pf-booking #search-form .search-btn-container { margin: 0; padding: 0; width: 100%; }
.pf-booking #search-form .search-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 47px; padding: 11px 12px; margin: 0; font-family: 'Barlow',sans-serif; font-size: 15px; line-height: 1.4; font-weight: 500; letter-spacing: .015em; background: #aa8453; color: #fff; border: 1px solid #aa8453; border-radius: 5px; box-shadow: none; }
.pf-booking #search-form .search-btn:hover { background: #8c6d43; border-color: #8c6d43; transform: none; }
.pf-booking .suite-empty-state { margin: 0; padding: 24px 20px; border: 1px dashed #d9d1c0; border-radius: 8px; box-shadow: none; background: #faf8f3; }
.pf-booking .suite-empty-icon { width: 38px; height: 38px; font-size: 23px; margin: 0 auto 10px; }
.pf-booking .suite-empty-state h3 { font-family: 'Gilda Display',serif; font-size: 25px; line-height: 1.25; font-weight: 400; margin: 0 0 8px; }
.pf-booking .suite-empty-state p { max-width: 560px; margin: 0 auto; font-size: 14px; line-height: 1.6; }
.pf-booking .suite-card { padding: 18px; margin: 0 0 18px !important; line-height: 1.6 !important; border: 1px solid #d9cbb4 !important; border-radius: 8px; box-shadow: 0 3px 14px rgba(52,62,47,.04); background: #fff; }
.pf-booking .suite-card:hover { transform: none; box-shadow: 0 5px 18px rgba(52,62,47,.075); }
.pf-booking .suite-card > .row.single-facility { display: grid; grid-template-columns: minmax(0,31%) minmax(0,1fr); gap: 20px; padding: 0; margin: 0; border: 0; background: transparent; }
.pf-booking .suite-card > .row > .col-md-4, .pf-booking .suite-card > .row > .col-md-8 { width: 100%; max-width: none; padding: 0; min-width: 0; }
.pf-booking .suite-card .video-gallery-button { display: block; position: relative; width: 100%; aspect-ratio: 4/3; margin: 0 !important; transform: none !important; border-radius: 5px; overflow: hidden; }
.pf-booking .suite-card .video-gallery-button img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 5px !important; }
.pf-booking .suite-card .suite-type-chip-pf { top: 10px; left: 10px; padding: 5px 10px; font-size: 11px; letter-spacing: .06em; line-height: 1.4; border-radius: 3px; }
.pf-booking .suite-card .mt-15 { margin-top: 0 !important; }
.pf-booking .suite-card h3 { font-family: 'Gilda Display',serif; font-size: 28px; line-height: 1.2; font-weight: 400; color: #3e4c3b; margin: 0 0 7px; }
.pf-booking .suite-card p { font-family: 'Barlow',sans-serif; font-size: 14px; line-height: 1.6; color: #666b61; margin: 0 0 10px; }
.pf-booking .suite-card .suite-availability-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 500; line-height: 1.35; padding: 5px 9px; margin: 0 0 9px; border: 1px solid #dfe6d8; background: #f2f5ee; border-radius: 4px; color: #42573a; }
.pf-booking .suite-availability-badge:before { width: 6px; height: 6px; }
.pf-booking .suite-card .room-facilities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px 12px; margin: 10px 0 12px; }
.pf-booking .suite-card .room-facilities .col-md-4, .pf-booking .suite-card .room-facilities ul { display: contents; }
.pf-booking .suite-card .room-facilities li { display: flex; gap: 6px; align-items: center; min-width: 0; margin: 0; padding: 0 !important; font-size: 13px; font-weight: 400; line-height: 1.45; color: #5c6556; }
.pf-booking .suite-card .room-facilities li i { width: 16px; font-size: 15px !important; flex-shrink: 0; }
.pf-booking .suite-card .price-section { gap: 12px; padding: 10px 13px; min-height: 48px; margin-top: 10px; background: #f8f5ef; border: 1px solid #e2d8c6; border-radius: 5px; cursor: pointer; }
.pf-booking .suite-card .price-section:hover { background: #f1ebdf; }
.pf-booking .suite-card .select-button { font-family: 'Barlow',sans-serif; font-size: 14px; font-weight: 600; line-height: 1.4; padding: 0; text-align: left; }
.pf-booking .suite-card .select-button span { font-size: 19px; margin-right: 7px; }
.pf-booking .suite-card .price { font-family: 'Barlow',sans-serif; font-size: 15px !important; font-weight: 600; line-height: 1.4; text-align: right; color: #8b6a3d !important; }
.pf-booking .suite-card .expanded-content { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e6dece; }
.pf-booking .expanded-content .input-box { margin-bottom: 12px; font-family: 'Barlow',sans-serif; }
.pf-booking .expanded-content label { font-family: 'Barlow',sans-serif; font-size: 13px; font-weight: 500; line-height: 1.4; margin-bottom: 6px; }
.pf-booking .expanded-content .form-group { margin: 0; }
.pf-booking .expanded-content .select-contain { width: 100% !important; }
.pf-booking .expanded-content select { width: 100%; max-width: 100%; height: 44px; padding: 9px 34px 9px 11px; font-family: 'Barlow',sans-serif; font-size: 16px; line-height: 1.4; border: 1px solid #d7d1c4; background: #fff; border-radius: 4px; box-shadow: none; }
.pf-booking .expanded-content .select-contain:after, .pf-booking .expanded-content .select1_inner:after { right: 12px; z-index: 1; }
.pf-booking .suite-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: 12px; margin: 10px 0 0; padding: 12px; border: 1px solid #e3dacb; border-radius: 5px; background: #faf8f3; box-shadow: none; }
.pf-booking .suite-row .select1_wrapper { width: auto; min-width: 0; margin: 0; }
.pf-booking .suite-row .price-wrapper { width: auto; margin: 0; }
.pf-booking .suite-row .price2 { padding: 11px 12px; min-height: 44px; font-family: 'Barlow',sans-serif; font-size: 14px; line-height: 1.5; font-weight: 600; border: 0; border-radius: 4px; box-shadow: none; }
.pf-booking .not-available-section { padding: 10px 12px; min-height: 48px; border-width: 1px; border-radius: 5px; gap: 10px; }
.pf-booking .not-available-icon { width: 30px; height: 30px; font-size: 14px; }
.pf-booking .not-available-text strong { font-size: 14px; }
.pf-booking .not-available-text span { font-size: 12px; }
.pf-booking .booking-summary { margin-top: 18px !important; border: 1px solid #e2d8c7; border-radius: 7px !important; box-shadow: none !important; }
.pf-booking .booking-summary > h4 { padding: 12px 16px !important; font-family: 'Gilda Display',serif; font-size: 23px !important; font-weight: 400 !important; line-height: 1.3; }
.pf-booking .booking-summary > div { padding: 16px !important; }
.pf-booking .booking-summary > div > div { gap: 12px; flex-wrap: wrap; padding: 12px !important; }
.pf-booking .booking-summary .price-text { font-size: 22px; }
.pf-booking #submitForm { margin-top: 14px !important; padding: 12px 18px !important; min-height: 48px; font-family: 'Barlow',sans-serif; font-size: 16px !important; font-weight: 500 !important; border-radius: 5px !important; }
.pf-booking .fixed-enquiry-button { display: none !important; }
.pf-booking #search-form :focus-visible, .pf-booking #suite-form :focus-visible { outline: 2px solid #aa8453 !important; outline-offset: 3px; }
@media(max-width:1199px) {
 .pf-booking #search-form > .row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
 .pf-booking #search-form .search-btn-container { grid-column: 1/-1; }
 .pf-booking .suite-card > .row.single-facility { grid-template-columns: minmax(0,32%) minmax(0,1fr); gap: 16px; }
 .pf-booking .suite-card .room-facilities { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .pf-booking .suite-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .pf-booking .suite-row .price-wrapper { grid-column: 1/-1; justify-content: flex-end; }
}
@media(max-width:767px) {
 .pf-booking .banner-header { height: 150px; padding: 18px 0; }
 .pf-booking .banner-header h1 { font-size: 32px; }
 .pf-booking .afacilties.section-padding { padding: 16px 0 24px; }
 .pf-booking .afacilties > .container { padding: 0 18px; }
 .pf-booking .booking-box-luxury { margin-bottom: 16px; }
 .pf-booking .booking-box-luxury .head-box { padding: 15px 16px; }
 .pf-booking .booking-box-luxury .head-box h4 { font-size: 25px; }
 .pf-booking .booking-box-luxury .booking-box-subtitle { font-size: 13px; }
 .pf-booking .booking-box-luxury .booking-inner { padding: 15px 16px 16px; }
 .pf-booking #search-form > .row { gap: 12px 10px; }
 .pf-booking #search-form label { font-size: 11px; gap: 5px; }
 .pf-booking #search-form input { padding-left: 10px; padding-right: 28px; }
 .pf-booking #search-form .input1_inner:after { right: 9px; font-size: 14px; }
 .pf-booking .suite-empty-state { padding: 20px 16px; }
 .pf-booking .suite-empty-state h3 { font-size: 23px; }
 .pf-booking .suite-card { padding: 12px; margin-bottom: 14px !important; }
 .pf-booking .suite-card > .row.single-facility { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .pf-booking .suite-card .video-gallery-button { aspect-ratio: 16/10; }
 .pf-booking .suite-card h3 { font-size: 26px; }
 .pf-booking .suite-card .room-facilities { gap: 8px 10px; margin: 11px 0; }
 .pf-booking .suite-card .price-section { padding: 10px; gap: 10px; }
 .pf-booking .suite-card .price { font-size: 14px !important; }
 .pf-booking .suite-card .select-button { font-size: 14px; }
 .pf-booking .suite-row { padding: 10px; gap: 10px; }
 .pf-booking .booking-summary .price-text { font-size: 20px; }
}
@media(max-width:359px) {
 .pf-booking .afacilties > .container { padding: 0 14px; }
 .pf-booking .booking-box-luxury .booking-inner, .pf-booking .booking-box-luxury .head-box { padding-left: 12px; padding-right: 12px; }

 .pf-booking .suite-card .price-section { flex-wrap: wrap; }
 .pf-booking .suite-card .price { margin-left: auto; }
}

@media (min-width:768px) and (max-width:991px) { .pf-booking .suite-card > .row.single-facility { grid-template-columns: minmax(0,1fr); } .pf-booking .suite-card .video-gallery-button { aspect-ratio:16/9; } }

.pf-booking .suite-card .suite-type-chip-pf { bottom: auto; right: auto; height: auto; }

/* Booking refinements: taller banner, inline availability, centered guest-row price. */
.pf-booking .banner-header { height: clamp(280px,36vh,420px); }
.pf-booking .suite-heading-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.pf-booking .suite-heading-row h3 { margin:0; min-width:0; }
.pf-booking .suite-heading-row .suite-availability-badge { margin:0; flex-shrink:0; white-space:nowrap; }
.pf-booking .suite-row .price-wrapper { align-self:center; align-items:center; margin:0; padding:0; }
.pf-booking .suite-row .price2 { display:flex; align-items:center; justify-content:center; margin:0; }
@media(max-width:767px) {
 .pf-booking .banner-header { height:230px; }
 .pf-booking .suite-heading-row { gap:8px; }
 .pf-booking .suite-heading-row h3 { font-size:24px; }
 .pf-booking .suite-heading-row .suite-availability-badge { font-size:11px; gap:4px; padding:5px 7px; }
}
@media(max-width:359px) {
 .pf-booking .suite-heading-row h3 { font-size:22px; }
 .pf-booking .suite-heading-row .suite-availability-badge { font-size:10px; gap:3px; padding:5px; }
}

/* Defined price badge with restrained depth. */
.pf-booking .suite-row {
 border-color:#ded7ca;
 background:linear-gradient(135deg,#faf8f3,#f5f2eb);
 box-shadow:0 3px 10px rgba(49,57,43,.06);
 border-radius:7px;
}
.pf-booking .suite-row .price2 {
 min-width:126px;
 min-height:46px;
 padding:11px 18px;
 border:1px solid #b2a17e;
 border-radius:6px;
 background:linear-gradient(180deg,#fff,#fdfbf7);
 color:#3e4c3b;
 font-size:16px;
 font-weight:600;
 line-height:1.4;
 font-variant-numeric:tabular-nums;
 box-shadow:0 3px 8px rgba(63,57,39,.12),inset 0 1px 0 #fff;
}
.pf-booking .suite-row .price2:hover { background:linear-gradient(180deg,#fff,#fdfbf7); }
@media(max-width:767px) {
 .pf-booking .suite-row .price-wrapper { justify-content:flex-end; }
 .pf-booking .suite-row .price2 { width:auto; min-width:140px; font-size:16px; }
}

/* Mobile guest selection follows the original stacked layout. */
@media(max-width:767px) {
 .pf-booking .suite-row { grid-template-columns:minmax(0,1fr); gap:14px; padding:14px; }
 .pf-booking .suite-row .select1_wrapper { width:100%; }
 .pf-booking .suite-row .price-wrapper { grid-column:1; width:100%; justify-content:center; margin-top:2px; }
 .pf-booking .suite-row .price2 { width:100%; min-width:0; text-align:center; }
}

/* Shared booking journey: scoped to these two pages. */
.pf-reservation{background:#faf8f4;color:#3e4c3b;font-family:'Barlow',sans-serif}
.pf-reservation .fixed-enquiry-button{display:none!important}
.pf-reservation .pf-eyebrow{font:500 12px/1.5 'Barlow',sans-serif;letter-spacing:.18em;color:#aa8453;margin-bottom:14px}
.pf-reservation .pf-steps{display:flex;justify-content:center;gap:28px;list-style:none;padding:0;margin:0 0 28px;font-size:14px}
.pf-steps li{display:flex;align-items:center;gap:9px;color:#777}
.pf-steps b{display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:28px;height:28px;padding:0;margin:0;line-height:1;text-align:center;border:1px solid #ddd3c2;border-radius:50%;font-weight:500}
.pf-steps [aria-current]{color:#3e4c3b;font-weight:600}
.pf-steps [aria-current] b{background:#3e4c3b;border-color:#3e4c3b;color:white}
.pf-booking .banner-header{height:clamp(300px,42vh,470px);text-align:center}
.pf-booking .banner-header .caption{text-align:center!important}
.pf-booking .banner-header h1{font-size:clamp(34px,4vw,55px)}
.pf-booking .banner-header .pf-eyebrow{color:#fff}
.pf-booking .afacilties.section-padding{padding-top:32px}
.pf-booking .booking-box-luxury .head-box{background:#fff;border-bottom:1px solid #e6ddce;padding:22px 24px}
.pf-booking .booking-box-luxury .head-box h4{color:#3e4c3b;font-size:30px}
.pf-booking .booking-box-luxury .booking-box-subtitle{color:#666b61}
.pf-booking .suite-empty-state{text-align:center}
.pf-booking .suite-card{padding:22px;border-radius:10px;box-shadow:0 8px 26px #28372708}
.pf-booking .suite-card.is-selected{border-color:#aa8453!important;box-shadow:0 0 0 1px #aa8453,0 8px 25px #2837270c}
.pf-booking .suite-card .video-gallery-button{transform:none!important;left:auto;top:auto}
.pf-booking .suite-type-chip-pf{position:absolute;background:#3e4c3b;color:#fff}
.pf-booking .video-gallery-polygon{position:absolute;right:12px;bottom:12px;padding:10px;background:#ffffffed;color:#3e4c3b;border-radius:50%}
.pf-booking .price-section{display:flex;align-items:center;justify-content:space-between}
.pf-booking .select-button{background:none;border:0;color:#3e4c3b;cursor:pointer}
.pf-booking .expanded-content{display:none}
.pf-booking .suite-row .select1_inner:after,.pf-booking .select-contain:after{display:none!important}
.pf-booking .suite-row select,.pf-booking .room-select{appearance:auto!important;cursor:pointer}
.pf-booking .suite-row .select1_inner{padding:0;background:none}
.pf-booking .suite-card .price{font-family:'Gilda Display',serif;font-size:19px!important}
.pf-booking .suite-row .price2{font-family:'Gilda Display',serif;font-size:20px;font-weight:400}
.pf-booking .not-available-section{background:#f4f1ec;color:#777;align-items:center}
.pf-booking .not-available-text{display:flex;flex-direction:column}
.pf-booking .booking-summary{scroll-margin-top:24px}
.pf-booking .booking-summary>h4{background:#3e4c3b!important}
.pf-booking #submitForm{background:#3e4c3b!important;letter-spacing:0}
.pf-booking #submitForm:disabled{cursor:not-allowed!important}
.pf-selection[hidden]{display:none!important}
.pf-selection{position:fixed;bottom:18px;left:calc(50% + 110px);transform:translateX(-50%);width:min(640px,calc(100% - 330px));z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#3e4c3b;color:#fff;padding:14px 18px;border:1px solid #b79965;border-radius:9px;box-shadow:0 8px 32px #0003}
.pf-selection div{display:flex;flex-direction:column;gap:3px}.pf-selection span{font-size:13px}.pf-selection strong{font:25px/1.2 'Gilda Display',serif}
.pf-selection button{border:1px solid #c9ad7f;background:#aa8453;color:#fff;padding:12px 18px;border-radius:5px;font:500 15px 'Barlow',sans-serif;cursor:pointer}
.pf-reservation :focus-visible{outline:2px solid #aa8453;outline-offset:4px}
.pf-checkout-heading{padding:70px 30px 22px;max-width:1120px;margin:auto;text-align:center}
.pf-checkout-heading h1{font:clamp(34px,4vw,48px)/1.15 'Gilda Display',serif;color:#3e4c3b;margin-bottom:16px}
.pf-checkout-heading p{font-size:16px}.pf-checkout-heading .pf-steps{margin-top:28px;margin-bottom:0}
.pf-checkout .main-container{max-width:1120px;padding:24px 30px 70px!important;margin:0 auto}
.pf-checkout .main-container>.row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:24px;margin:0;align-items:start}
.pf-checkout .checkout-form,.pf-checkout .booking-summary{width:auto;max-width:none;padding:0!important;border:1px solid #ded3c1;border-radius:9px;background:white;overflow:hidden;box-shadow:0 8px 30px #26322605}
.pf-checkout .booking-summary{position:sticky;top:24px}
.pf-checkout .form-title,.pf-checkout .summary-title{font:28px/1.2 'Gilda Display',serif;padding:22px 24px;margin:0;background:#fff;color:#3e4c3b;border-bottom:1px solid #e4dccc}
.pf-checkout .summary-title{background:#3e4c3b;color:white}
.pf-checkout .checkout-form form{padding:24px!important;box-shadow:none!important}
.pf-checkout .form-label{font-size:14px;font-weight:500;margin-bottom:7px;color:#3e4c3b}
.pf-checkout .form-control,.pf-checkout .form-select{display:block;width:100%;height:48px!important;min-height:48px;padding:10px 12px!important;margin:0!important;border:1px solid #d8cfbf!important;border-radius:5px;background:#fff;color:#343e31;font:16px/1.4 'Barlow',sans-serif;box-shadow:none}
.pf-checkout .form-select{appearance:auto;cursor:pointer}.pf-checkout textarea.form-control{height:110px!important;resize:vertical}
.pf-checkout .form-check{display:flex;gap:10px;padding:0;align-items:flex-start;font-size:14px;line-height:1.6}
.pf-checkout .form-check-input{position:static;margin:5px 0 0;width:18px;height:18px;flex-shrink:0;accent-color:#3e4c3b}
.pf-checkout .btn-book{width:100%;min-height:50px;background:#aa8453;border:1px solid #aa8453;border-radius:5px;color:#fff;font:500 16px 'Barlow',sans-serif;letter-spacing:0;padding:12px}
.pf-checkout .summary-content{padding:24px}.pf-checkout .summary-content h4{font:23px/1.3 'Gilda Display',serif!important;color:#3e4c3b!important;margin-bottom:20px}
.pf-checkout .summary-content>.d-flex{gap:16px;padding:12px 0;align-items:center!important;font-size:14px}.pf-checkout .summary-content strong{font-weight:500}.pf-checkout .summary-content small{display:block;line-height:1.5;margin-top:5px}
.pf-checkout .summary-content .price{white-space:nowrap;color:#8f6c38;font:22px/1.3 'Gilda Display',serif}
@media(max-width:991px){.pf-selection{left:50%;width:calc(100% - 32px)}.pf-checkout .main-container>.row{grid-template-columns:1fr}.pf-checkout .booking-summary{position:static;order:-1}.pf-checkout-heading{padding-top:85px}}
@media(max-width:767px){.pf-reservation .pf-steps{gap:12px;font-size:11px}.pf-steps li{gap:5px}.pf-steps b{width:23px;height:23px}.pf-booking .suite-card{padding:14px}.pf-booking .suite-card .price-section{flex-direction:column;align-items:stretch;gap:10px;padding:14px}.pf-booking .suite-card .select-button{text-align:center;min-height:42px;background:#3e4c3b;color:white;border-radius:4px}.pf-booking .suite-card .price{text-align:center}.pf-selection{gap:8px;padding:10px;bottom:10px}.pf-selection strong{font-size:20px}.pf-selection button{padding:11px 9px;font-size:13px}.pf-selection div>span{font-size:11px}.pf-booking{padding-bottom:100px}.pf-checkout .main-container{padding:15px 18px 40px!important}.pf-checkout .checkout-form form,.pf-checkout .summary-content{padding:18px!important}.pf-checkout .form-title,.pf-checkout .summary-title{padding:18px;font-size:25px}.pf-checkout-heading{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.pf-reservation *{scroll-behavior:auto!important}}
/* Refined summary hierarchy and checkout typography. */
.pf-booking #booking-review{border-top:3px solid #aa8453;box-shadow:0 5px 22px rgba(45,57,43,.05)!important}
.pf-booking #booking-review>h4{padding:16px 20px!important;font-size:27px!important;letter-spacing:.01em}
.pf-booking #booking-review>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);align-items:center;gap:24px;padding:20px!important}
.pf-booking #booking-review>div>p{border:0!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.7}
.pf-booking #booking-review>div>p strong{font-weight:600}
.pf-booking #booking-review>div>div{border:1px solid #e8ddca;border-radius:6px!important;padding:16px 18px!important;align-items:center}
.pf-booking #booking-review>div>div>p:first-child{font-size:14px!important;font-weight:600;line-height:1.4}
.pf-booking #booking-review .price-text{font-family:'Gilda Display',serif;font-size:32px!important;color:#3e4c3b;line-height:1.2;margin:0;white-space:nowrap}
.pf-checkout .form-title,.pf-checkout .summary-title{font-size:30px;font-weight:600;letter-spacing:.01em;border-top:3px solid #aa8453;padding:20px 24px}
.pf-checkout .form-label{font-weight:600;font-size:15px;color:#354430}
.pf-checkout .summary-content strong{font-weight:600;color:#354430}
.pf-checkout .summary-content h4{font-weight:600!important;font-size:24px!important;margin-bottom:14px}
.pf-checkout .summary-content>.d-flex:last-child{background:#f8f5ef;border:1px solid #e5dbc8;border-radius:6px;padding:16px;margin-top:14px}
.pf-checkout .summary-content>.d-flex:last-child .price{font-size:28px;color:#3e4c3b}
.pf-checkout .summary-content hr{display:none}
@media(max-width:767px){
.pf-booking #booking-review>h4{font-size:25px!important;padding:14px 16px!important}
.pf-booking #booking-review>div{grid-template-columns:1fr;gap:14px;padding:16px!important}
.pf-booking #booking-review>div>div{flex-wrap:nowrap;padding:14px!important}
.pf-booking #booking-review .price-text{font-size:28px!important}
.pf-checkout .form-title,.pf-checkout .summary-title{font-size:26px;padding:17px 18px}
.pf-checkout .summary-content h4{font-size:23px!important}
.pf-checkout .summary-content>.d-flex:last-child{gap:10px;padding:12px}
.pf-checkout .summary-content>.d-flex:last-child .price{font-size:25px}
}
/* Structured booking review: three facts and one clearly separated total. */
.pf-booking #booking-review{background:#fff;border:1px solid #ded3c1;border-top:3px solid #aa8453;border-radius:8px;overflow:hidden}
.pf-booking #booking-review>h4{color:#fff;margin:0;font-weight:400;line-height:1.3}
.pf-booking #booking-review .pf-review-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;padding:24px!important}
.pf-booking #booking-review .pf-review-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;align-items:center}
.pf-review-facts>div{text-align:center;padding:4px 12px;border-right:1px solid #e6ddcf;display:flex;flex-direction:column}
.pf-review-facts>div:last-child{border-right:0}
.pf-review-facts dt{font:500 12px/1.4 'Barlow',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#757969;margin-top:7px;order:2}
.pf-review-facts dd{font:36px/1.1 'Gilda Display',serif;color:#3e4c3b;margin:0;order:1}
.pf-booking #booking-review .pf-review-total{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px!important;background:#f8f5ef;border:1px solid #e5dac7;border-radius:6px}
.pf-booking #booking-review .pf-total-label{font:600 16px/1.3 'Barlow',sans-serif;margin:0 0 5px;color:#3e4c3b}
.pf-total-note{font:13px/1.5 'Barlow',sans-serif;color:#74766b;display:block}
.pf-booking #booking-review .price-text{font-size:32px!important;margin:0;text-align:right;white-space:nowrap}
.pf-currency{display:block;font:500 11px/1.5 'Barlow',sans-serif;letter-spacing:.1em;color:#8c6c43;margin-bottom:3px}
@media(max-width:1100px){.pf-booking #booking-review .pf-review-body{grid-template-columns:1fr;gap:20px}}
@media(max-width:767px){.pf-booking #booking-review .pf-review-body{padding:18px 16px!important;gap:18px}.pf-review-facts dd{font-size:32px}.pf-review-facts dt{font-size:11px}.pf-booking #booking-review .pf-review-total{padding:14px!important;gap:12px}.pf-booking #booking-review .price-text{font-size:27px!important}.pf-total-note{font-size:12px;max-width:135px}}

/* Sold-out availability uses a red status instead of the available green. */
.pf-booking .suite-card.is-sold-out .suite-availability-badge{color:#a12d32;background:#fff1f1;border-color:#e9bdc0}
.pf-booking .suite-card.is-sold-out .suite-availability-badge span{color:inherit}
.pf-booking .suite-card.is-sold-out .suite-availability-badge:before{background:#b53b42}
