/* Booking pages only. Preserve the original shared header, footer and floating controls. */
:is(body.page-id-2951, body.page-id-3157) .htd-booking-progress { max-width:1140px; margin:0 auto; font-family:Montserrat,sans-serif; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-progress ol { list-style:none; margin:0; padding:0; display:flex; gap:28px; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-progress li { display:flex; align-items:center; gap:10px; color:#626b7e; font-size:12px; line-height:1.5; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-progress strong { display:block; font-size:14px; font-weight:600; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-progress li[aria-current=step] { color:#1f3469; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-step-number { width:32px; height:32px; border:1px solid #cbd1dc; border-radius:50%; display:inline-flex; justify-content:center; align-items:center; flex:0 0 32px; font-weight:700; }
:is(body.page-id-2951, body.page-id-3157) [aria-current=step] .htd-booking-step-number { background:#1f3469; border-color:#1f3469; color:#fff; }
:is(body.page-id-2951, body.page-id-3157) ._booking-form .ff-el-input--label { display:block !important; margin-bottom:6px; }
:is(body.page-id-2951, body.page-id-3157) ._booking-form .ff-el-input--label label { font-family:Montserrat,sans-serif; color:#35415a; font-size:13px; line-height:1.5; font-weight:600; }
:is(body.page-id-2951, body.page-id-3157) ._booking-form :is(input,select,textarea,.custom-select-display,.choices__inner) { font-size:16px !important; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-contact-heading { margin:8px 0 18px; font-size:18px; line-height:1.4; color:#1f3469; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-contact-heading h3 { font-family:Montserrat,sans-serif; font-size:18px; line-height:1.4; color:#1f3469; font-weight:600; margin:0; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary { min-width:0; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .htd-booking-empty-message { font-size:15px; line-height:1.65; color:#46516a; margin:0; padding:16px; background:#f2f5fa; border-radius:8px; }
body.page-id-2951 .booking-summary .htd-booking-empty-message.htd-booking-requirement { padding:0 0 0 12px; background:transparent; border:0; border-left:3px solid #bc9d6c; border-radius:0; box-shadow:none; }
body.page-id-2951 .booking-summary .htd-booking-requirement strong { display:block; margin-bottom:4px; color:#1f3469; font-weight:700; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary:not(.htd-booking-has-tour) .htd-booking-details > :not(.elementor-element-2c1e69c),
:is(body.page-id-2951, body.page-id-3157) .booking-summary:not(.htd-booking-has-tour) .htd-booking-charges,
:is(body.page-id-2951, body.page-id-3157) .booking-summary.htd-booking-waiting-price .htd-booking-charges,
:is(body.page-id-2951, body.page-id-3157) .booking-summary:not(.htd-booking-ready) .htd-booking-total { display:none !important; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary:not(.htd-booking-ready) :is(._person-qty,._heli-qty) { display:none !important; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .htd-booking-empty-message[hidden],
:is(body.page-id-2951, body.page-id-3157) .htd-booking-facts > div[hidden] { display:none !important; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .elementor-element-884c831 ul { list-style:none; padding:0; margin:0; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .elementor-element-884c831 li { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; align-items:start; font-size:15px; line-height:1.6; margin:0 0 8px; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .elementor-element-884c831 b { text-align:right; overflow-wrap:anywhere; font-size:15px; font-weight:600; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-facts { font-size:14px; line-height:1.6; margin:0; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-facts > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; margin-bottom:8px; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-facts dt { font-weight:400; color:#626b7e; }
:is(body.page-id-2951, body.page-id-3157) .htd-booking-facts dd { margin:0; text-align:right; color:#35415a; font-weight:500; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary :is(.fixed-price,.htd-booking-total) { gap:12px; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .fixed-price .elementor-widget-text-editor { width:auto; font-size:15px; line-height:1.6; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .elementor-element-83c9675 { text-align:right; white-space:nowrap; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary :is(.htd-booking-action-note,.htd-booking-policy-note,.htd-booking-payment-note) { font-size:13px; line-height:1.65; color:#46516a; margin:0; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .htd-booking-policy-note a { color:#284b9b; text-decoration:underline; text-underline-offset:3px; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .elementor-element-cf88196 .elementor-button { min-height:48px; padding:14px 16px; font-size:15px; line-height:1.45; width:100%; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary a:focus-visible { outline:3px solid #5274cc; outline-offset:4px; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .htd-offer--booking { margin-top:14px; padding:16px; font-size:13px; }
:is(body.page-id-2951, body.page-id-3157) .booking-summary .htd-offer--booking p { font-size:13px; line-height:1.6; }
body.page-id-3157 #weight-container { grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); }
body.page-id-3157 #weight-container .ff-el-group { min-width:0; }
body.page-id-3157 #weight-container input { width:100%; }
@media(min-width:1025px) {
 :is(body.page-id-2951, body.page-id-3157) .elementor-element-c67969f { align-self:flex-start; }
}
@media(max-width:767px) {
 :is(body.page-id-2951, body.page-id-3157) .htd-booking-progress ol { gap:16px; }
 :is(body.page-id-2951, body.page-id-3157) .htd-booking-progress li { flex:1; align-items:flex-start; gap:8px; }
 :is(body.page-id-2951, body.page-id-3157) .htd-booking-progress strong { font-size:12px; line-height:1.5; }
 :is(body.page-id-2951, body.page-id-3157) .htd-booking-step-number { width:28px; height:28px; flex-basis:28px; }
 :is(body.page-id-2951, body.page-id-3157) .booking-summary .elementor-element-884c831 li { grid-template-columns:95px minmax(0,1fr); font-size:14px; gap:8px; }
 :is(body.page-id-2951, body.page-id-3157) .booking-summary .elementor-element-884c831 b { font-size:14px; }
 :is(body.page-id-2951, body.page-id-3157) .htd-booking-facts > div { grid-template-columns:86px minmax(0,1fr); gap:8px; }
}
