.pnh-booking{background:#f7f9fc;color:#142d43;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}
.pnh-booking .booking-hero{background:linear-gradient(115deg,#103553,#194d75);color:#fff;padding:30px 0 42px;position:relative;overflow:hidden}
.pnh-booking .booking-hero:after{content:"";position:absolute;right:-90px;top:-210px;width:580px;height:580px;border:1px solid #ffffff16;border-radius:50%;pointer-events:none}
.pnh-booking .booking-breadcrumb{display:flex;gap:12px;font-size:13px;color:#d1dfec;margin-bottom:25px}
.pnh-booking .booking-breadcrumb a{color:#d1dfec}
.pnh-booking .booking-hero-grid{display:flex;justify-content:space-between;align-items:center;gap:36px;position:relative;z-index:1}
.pnh-booking .booking-kicker{font-size:11px;letter-spacing:.18em;font-weight:700;color:#ffb082;display:block;margin-bottom:12px}
.pnh-booking .booking-hero h1{font-size:clamp(32px,4vw,48px);color:#fff;line-height:1.1;margin:0 0 16px}
.pnh-booking .booking-hero h1 em{font-style:normal;color:#ffb082}
.pnh-booking .booking-hero p{color:#dbe7ef;font-size:15px;max-width:580px}
.pnh-booking .booking-hero-note{border-left:1px solid #ffffff35;padding-left:30px;max-width:300px;flex-shrink:0}
.pnh-booking .booking-hero-note strong{display:block;color:#fff;font-size:17px;margin-bottom:6px}
.pnh-booking .booking-hero-note p{font-size:13px}
.pnh-booking .booking-body{padding:36px 0 60px}
.pnh-booking #carejd{padding:0!important}
.pnh-booking #carejd>.container{padding:0;max-width:none}
.pnh-booking .booking-section-title{font-size:24px;margin:0 0 8px;color:#153b5c}
.pnh-booking .booking-section-note{color:#64788a;font-size:14px;margin:0 0 24px}
.pnh-booking .new_rew{border:0!important;padding-right:24px!important}
.pnh-booking table{color:#20374b;border-color:#e3e9ef;background:#fff;margin-bottom:0}
.pnh-booking table th,.pnh-booking table td{vertical-align:middle;padding:18px 12px;border-color:#e3e9ef}
.pnh-booking .shop_table{border:1px solid #e3e9ef;border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden}
.pnh-booking .shop_table th{background:#edf3f8;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#5c7182;border:0}
.pnh-booking .shop_table td{border:0;border-top:1px solid #e3e9ef}
.pnh-booking .shop_table .product-name{font-weight:600;font-size:15px;min-width:130px}
.pnh-booking .shop_table .product-thumbnail img{width:64px;height:64px;object-fit:contain;border-radius:12px}
.pnh-booking .shop_table .product-price,.pnh-booking .shop_table .product-subtotal{white-space:nowrap;font-size:14px}
.pnh-booking .shop_table .quantity input{width:54px;text-align:center;padding:8px;border:1px solid #e3e9ef;border-radius:8px;background:#f7f9fc}
.pnh-booking .cart_totals{background:#fff;border:1px solid #dde6ee;border-radius:16px;padding:26px;box-shadow:0 12px 32px #13365306}
.pnh-booking .cart_totals h2{font-size:23px;margin:0 0 20px;color:#153b5c}
.pnh-booking .cart_totals table,.pnh-booking .cart_totals tr,.pnh-booking .cart_totals td,.pnh-booking .cart_totals th{border-left:0;border-right:0;background:transparent}
.pnh-booking .cart_totals th,.pnh-booking .cart_totals td{padding:13px 0;font-size:14px;font-weight:400}
.pnh-booking .cart_totals td{text-align:right}
.pnh-booking .cart_totals tr:last-child th,.pnh-booking .cart_totals tr:last-child td{font-weight:700;font-size:19px;color:#143b5e}
.pnh-booking .btn-primary{background:#ee7028;border:1px solid #ee7028;color:#fff;border-radius:9px;padding:12px 19px;font-size:14px;font-weight:600;box-shadow:none;line-height:1.4}
.pnh-booking .btn-primary:hover{background:#d65c18;border-color:#d65c18;color:#fff}
.pnh-booking .delete_cart{padding:9px 12px;background:#fff2ea;border:1px solid #f5d5c1;color:#b14c19}
.pnh-booking .cart-proceed-btn{margin-top:16px}
.pnh-booking .cart-proceed-btn a+a{background:transparent;color:#254f70;border-color:#dce5ed;margin-top:10px}
.pnh-booking .apply-coupon{margin-top:20px}
.pnh-booking .apply-coupon label{font-size:13px;margin-bottom:8px}
.pnh-booking .apply-coupon button{margin-top:10px}
.pnh-booking .booking-empty{background:white;border:1px solid #e0e7ef;border-radius:18px;padding:54px 20px;text-align:center;max-width:760px;margin:0 auto}
.pnh-booking .booking-empty h2{font-size:28px;color:#163d5d;margin-bottom:12px}
.pnh-booking .booking-empty p{margin-bottom:24px;color:#687b8c}
.pnh-booking .booking-help{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dce5ed;padding-top:22px;margin-top:30px;color:#667b8c;font-size:13px}
.pnh-booking .booking-help a{color:#164a72;font-weight:600}
.pnh-booking .booking-progress{list-style:none;display:flex;gap:0;padding:0;margin:0 0 28px;background:#fff;border:1px solid #e1e8ee;border-radius:12px;overflow:hidden}
.pnh-booking .booking-progress li{flex:1;display:flex;align-items:center;gap:10px;padding:17px 20px;color:#71818e;font-size:14px;border-right:1px solid #e4eaf0}
.pnh-booking .booking-progress li:last-child{border-right:0}
.pnh-booking .booking-progress span{border-radius:50%;width:27px;height:27px;display:grid;place-items:center;background:#edf2f6;font-size:12px;flex-shrink:0}
.pnh-booking .booking-progress li[aria-current="step"]{background:#fff4ed;color:#9c430e;font-weight:600}
.pnh-booking .booking-progress li[aria-current="step"] span{background:#ee7028;color:#fff}
.pnh-booking .checkout-shell>.container{max-width:none;padding:0}
.pnh-booking .checkout-shell>.container>.row{margin:0}
.pnh-booking .checkout-shell .inner-page{padding:0!important;background:transparent}
.pnh-booking .checkout-shell .inner-page>.row{margin:0}
.pnh-booking .checkout-shell .inner-page>.row>.col-md-8{width:100%;padding:0}
.pnh-booking .checkout-shell .aboutinfo,.pnh-booking .checkout-shell .news_gr{padding:0;margin:0;background:transparent}
.pnh-booking .checkout-shell .tab-content.tabs-divs{margin-top:0!important}
.pnh-booking .checkout-shell .prev_next_btns{position:static;background:transparent;padding:18px 0;justify-content:space-between;box-shadow:none;width:100%;margin:0}
.pnh-booking .checkout-shell .prev_next_btns:first-child{padding-top:0}
.pnh-booking #backBtn,.pnh-booking #backBtn3{background:#fff;color:#2c516d;border-color:#d6e1ea}
.pnh-booking #nav-general,.pnh-booking #nav-slots,.pnh-booking #nav-payment{background:#fff;border:1px solid #dde6ee;border-radius:16px;padding:30px}
.pnh-booking #exTab1>h2,.pnh-booking .order-details>h2,.pnh-booking #nav-slots h2{font-size:27px;color:#153b5c;margin:0 0 24px}
.pnh-booking .field-wrapper{background:#f8fafc;border:1px solid #e4eaf0;border-radius:12px;padding:22px;margin-bottom:24px}
.pnh-booking .field-wrapper .nav-tabs{border:0}
.pnh-booking .field-wrapper .nav-tabs .nav-link{background:#eaf1f7;color:#1c4a6d;border:0;border-radius:7px;font-size:14px;padding:8px 13px}
.pnh-booking .field-wrapper .p_sepration{display:none}
.pnh-booking .common-detail{padding:6px 0 0}
.pnh-booking .common-detail h5{font-size:22px;color:#173f60;margin-bottom:20px}
.pnh-booking .form-group{margin-bottom:20px}
.pnh-booking .form-group label{font-size:13px;font-weight:600;color:#304e65;margin-bottom:8px;line-height:1.5;display:block}
.pnh-booking .form-control{font-family:inherit;font-size:15px;color:#203e55;border:1px solid #d6e1e9;border-radius:8px;min-height:48px;background:#fff;box-shadow:none;padding:11px 13px}
.pnh-booking .form-control:focus{border-color:#3e779f;box-shadow:0 0 0 3px #346c9320}
.pnh-booking .form-group .error_alert{font-size:12px;margin-top:6px}
.pnh-booking .form-control.error{border-color:#c53a32}
.pnh-booking .gg-country-select-container span.select2-selection.select2-selection--single,.pnh-booking .gg-state-select-container span.select2-selection.select2-selection--single{border-radius:8px;border-color:#d6e1e9}
.pnh-booking .table-slots{width:100%;border-radius:10px;min-height:0;max-height:540px;background:#fff}
.pnh-booking .table-slots tbody,.pnh-booking .table-slots thead{width:100%;display:table;table-layout:fixed}
.pnh-booking .table-slots .slot_date{width:25%}
.pnh-booking .table-slots .avail_slots{width:75%}
.pnh-booking .table-slots th{background:#edf3f8;font-size:13px}
.pnh-booking .table-slots h5{font-size:15px;margin:0;color:#224b6b}
.pnh-booking .ui-slots{float:none;display:inline-flex;width:auto;min-width:165px;gap:9px;padding:10px 12px;margin:4px;border:1px solid #dce5ec;border-radius:7px;font-size:13px;background:#f8fafc}
.pnh-booking .ui-slots:has(input:checked){background:#fff1e8;border-color:#ec752f;color:#9e4412}
.pnh-booking .ui-slots .form-control{appearance:auto;min-height:0;height:18px;width:18px!important;margin:0;padding:0;accent-color:#ec752f}
.pnh-booking #slots_dates{font-size:16px;color:#63798a;margin-bottom:14px}
.pnh-booking #nav-slots .bg-danger{background:#eaf2f8!important;color:#244f70!important;font-size:13px}
.pnh-booking #nav-payment table{border-radius:10px;margin-bottom:24px}
.pnh-booking #nav-payment table th{background:#f2f6fa;font-size:14px;font-weight:500}
.pnh-booking #nav-payment table td{font-size:14px}
.pnh-booking .payment_methods{list-style:none;padding:0;margin:0}
.pnh-booking .payment_methods li{background:#f6f9fc;border:1px solid #dbe5ed;border-radius:10px;padding:18px;margin-bottom:12px}
.pnh-booking .payment_methods li:has(input:checked){border-color:#e77a3d;background:#fff8f3}
.pnh-booking .payment_methods input{accent-color:#e96d25}
.pnh-booking .payment_methods label{font-size:14px;color:#214763}
.pnh-booking .payment_methods img{max-width:140px;max-height:42px;object-fit:contain}
.pnh-booking .payment_box p,.pnh-booking .privacy-policy-text{font-size:13px;color:#667d8c;margin-top:10px}
.pnh-booking .attention_box{background:#edf4f9;border-radius:12px;width:100%;height:auto;min-height:160px;padding:24px;text-align:left;align-items:flex-start}
.pnh-booking .attention_box h3{animation:none;color:#1a4767;font-size:19px;margin-bottom:10px}
.pnh-booking .attention_box p{font-size:14px;color:#5c768a}
.pnh-booking .policy-consent{font-size:13px;line-height:1.7;margin:20px 0}
.pnh-booking #pay_payment{margin:20px 0 0;width:100%}
.pnh-booking .since_your{width:100%}
.pnh-booking .coupon_status{border-radius:8px;font-size:13px}
@media(min-width:992px){.pnh-booking .checkout-shell{max-width:1000px;margin:auto}}
@media(max-width:767px){
.pnh-booking .booking-hero{padding:22px 0 30px}.pnh-booking .booking-hero-grid{display:block}.pnh-booking .booking-hero-note{display:none}
.pnh-booking .booking-body{padding:24px 0 36px}.pnh-booking .pnh-container{width:calc(100% - 32px)}
.pnh-booking .new_rew{padding-right:12px!important}.pnh-booking .cart_totals{padding:22px}
.pnh-booking .shop_table thead{display:none}.pnh-booking .shop_table,.pnh-booking .shop_table tbody{display:block;width:100%}
.pnh-booking .shop_table tr.cart_item{display:grid;grid-template-columns:72px 1fr 48px;gap:12px;padding:18px;border-bottom:1px solid #e3e9ef}
.pnh-booking .shop_table td{display:block;padding:0;border:0;min-width:0!important;text-align:left}
.pnh-booking .shop_table .product-thumbnail{grid-column:1;grid-row:1}
.pnh-booking .shop_table .product-name{grid-column:2;grid-row:1;align-self:center}
.pnh-booking .shop_table .product-remove{grid-column:3;grid-row:1;align-self:center}
.pnh-booking .shop_table .product-quantity{grid-column:1;grid-row:2}
.pnh-booking .shop_table .product-price{grid-column:2;grid-row:2}
.pnh-booking .shop_table .product-subtotal{grid-column:2 / 4;grid-row:3}
.pnh-booking .shop_table .product-price:before{content:"Price";display:block;font-size:11px;color:#6a7e8e}
.pnh-booking .shop_table .product-subtotal:before{content:"Subtotal: ";font-size:12px;color:#6a7e8e}
.pnh-booking .booking-help{align-items:flex-start;flex-direction:column;gap:8px}
.pnh-booking .booking-progress li{font-size:11px;padding:12px 8px;gap:6px;flex-direction:column;text-align:center}
.pnh-booking #nav-general,.pnh-booking #nav-slots,.pnh-booking #nav-payment{padding:18px 14px}
.pnh-booking .field-wrapper{padding:15px 10px}
.pnh-booking .checkout-shell .prev_next_btns{gap:10px!important}
.pnh-booking .checkout-shell .prev_next_btns button{font-size:12px;padding:11px 13px}
.pnh-booking .table-slots td,.pnh-booking .table-slots th{padding:10px 6px}
.pnh-booking .table-slots .slot_date{width:32%}.pnh-booking .table-slots .avail_slots{width:68%}
.pnh-booking .ui-slots{min-width:0;width:100%;margin:4px 0;padding:9px 6px;font-size:12px}
.pnh-booking #nav-payment table td,.pnh-booking #nav-payment table th{padding:12px 8px}
.pnh-booking .table-slots h5{font-size:12px}
}
/* Override legacy commerce styles only within the redesigned booking pages. */
.pnh-booking #carejd .new_rew{height:auto;max-height:none;overflow:visible}
.pnh-booking #payment.payment{background:transparent;border-radius:0}
.pnh-booking #payment .payment_methods{padding:0;border:0}
.pnh-booking #payment .payment_box{background:transparent;color:#567083;padding:0;margin:10px 0 0}
.pnh-booking #payment .payment_box:before{display:none}
.pnh-booking #payment .payment_box p{color:#567083}
.pnh-booking #payment .payment_methods label{line-height:1.7}
.pnh-booking #payment .payment_methods>hr{display:none}
.pnh-booking #payment .since_your{background:transparent;padding:0;border:0}
.pnh-booking #payment .payment_methods li{float:none;text-align:left}
.pnh-booking #payment .payment_methods img{display:block;margin:8px 0;float:none}
.pnh-booking .checkout-shell .prev_next_btns #backBtn,.pnh-booking .checkout-shell .prev_next_btns #backBtn3{background:#fff;color:#2c516d;border:1px solid #d6e1ea}