/* V3 shared presentation. All search, rate and checkout contracts stay in place. */
body.balanced-page{--paper:#f8f8f3;--white:#fffefa;--ink:#304037;--green:#4e6e54;--muted:#7f8778;--line:#dfe5d6;--light:#edf1e5;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--serif:'Newsreader',Georgia,serif;margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}

.balanced-page .wrap,.balanced-page .fx-wrap{width:min(1140px,calc(100% - 80px));margin-inline:auto}
.balanced-page .balanced-header{height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e2e6d9;margin-bottom:0}
.balanced-header nav{display:flex;align-items:center;gap:20px}
.balanced-header nav a{font:12px var(--sans);color:#829171;text-decoration:none}
.balanced-header .brand-wordmark{font-size:24px;letter-spacing:-1.25px}
.balanced-preview{font:10px var(--sans);border:1px solid #dce3d0;border-radius:4px;padding:3px 7px;color:#6d7964}
.balanced-page .breadcrumb{padding:23px 0 24px;font-size:11px;gap:10px}
.balanced-page .breadcrumb .hotel-preview-label{font-size:10px;border:1px solid #dce4d0;border-radius:4px;padding:3px 7px}
.balanced-page .button{border-radius:6px;min-height:38px;padding:10px 16px;font:500 12px var(--sans);gap:9px;box-shadow:none}
.balanced-page .button-primary{background:#4e6e54;border-color:#4e6e54;color:#fffefa}
.balanced-page .button-primary:hover{background:#3d5e44}
.balanced-page .button-light{background:#fffefa;border-color:#d7e0ca;color:#718762}
.balanced-page .eyebrow{font:500 10px/1.6 var(--sans);letter-spacing:.1px;color:#6d7964}
.balanced-page h1,.balanced-page h2,.balanced-page h3{color:#304535}
.balanced-page h1 em,.balanced-page h2 em{color:inherit}
.balanced-page .page-footer{margin-top:42px;padding:25px 0 34px;font-size:10px;gap:25px;min-height:0;border-top:1px solid #e1e7d8}
.balanced-page .page-footer .wordmark{font-size:21px}
.balanced-page .page-footer>span{color:#6d7964}
.balanced-page .hotel-test-banner{background:#edf1e5;color:#6f825f;font:11px/1.6 var(--sans);padding-block:9px;border-bottom:1px solid #dce4d0}
.balanced-page .hotel-heading{align-items:start;margin-bottom:25px;gap:30px}
.balanced-page .hotel-heading h1,.balanced-page.live-experience-page .experience-heading h1{font:400 clamp(32px,3.7vw,47px)/1.08 var(--serif);letter-spacing:-1px;max-width:850px;margin:0 0 13px}
.balanced-page .hotel-heading>div>p{font-size:12px;line-height:1.8;color:#6d7964}
.balanced-page .hotel-heading .eyebrow{font-size:10px;margin:0 0 10px;line-height:1.5}
.balanced-page .hotel-heading h1+p{margin-bottom:0}
.balanced-page .hotel-heading>div>p svg{height:14px;width:14px}
.balanced-page .hotel-rating{padding-top:5px;gap:10px}
.balanced-page .hotel-rating>strong{font:400 30px var(--serif);border-radius:7px;padding:10px 12px;background:#edf1e5}
.balanced-page .hotel-rating b{font:500 11px var(--sans)}
.balanced-page .hotel-rating a{font-size:10px}
.balanced-page .hotel-gallery{height:300px;gap:9px;border-radius:8px}
.balanced-page .hotel-gallery-photo{border-radius:7px}
.balanced-page .hotel-gallery-photo>span{font-size:10px;left:17px;bottom:15px}
.balanced-page .hotel-photo-button{border-radius:5px;padding:9px 12px;font:11px var(--sans);gap:8px;bottom:16px;right:16px}
.balanced-page .gallery-footnote{padding:10px 0 0;line-height:1.7;font-size:10px;gap:20px;color:#6d7964}
.balanced-page .hotel-nav{height:59px;gap:26px;margin-top:9px;background:#f8f8f3f5;border-bottom-color:#dfe6d5}
.balanced-page .hotel-nav>a{font:12px var(--sans);color:#6d7964}
.balanced-page .hotel-nav>a[aria-current]{color:#4e6e54;border-bottom-color:#779567}
.balanced-page .hotel-nav .nav-room-link{margin-left:auto;color:#5d7a4d}
.balanced-page .hotel-layout{grid-template-columns:minmax(0,1fr) 288px;gap:42px;margin-top:32px;align-items:start}
.balanced-page .hotel-section{padding:0 0 31px;margin:0 0 31px;scroll-margin-top:82px}
.balanced-page .hotel-section h2{font:400 29px/1.15 var(--serif);letter-spacing:-.4px;margin:0 0 18px}
.balanced-page .hotel-section>p,.balanced-page .hotel-supplier-description{font:13px/1.95 var(--sans);color:#7c8e6d}
.balanced-page .hotel-amenity-grid{gap:12px 18px;margin-top:22px}
.balanced-page .hotel-amenity-grid>span{font-size:11px;line-height:1.6}
.balanced-page .hotel-amenity-grid svg{height:15px;width:15px}
.balanced-page .hotel-disclosure{border-top-color:#e0e7d6}
.balanced-page .hotel-disclosure summary{font:12px/1.6 var(--sans);padding-block:15px;color:#758d62}
.balanced-page .hotel-disclosure p{font:12px/1.9 var(--sans);color:#6d7964}
.balanced-page .hotel-summary{background:#edf1e5;padding:23px;border:1px solid #d7e0cb;border-radius:8px}
.balanced-page .hotel-summary>h2{font:400 27px/1.2 var(--serif);letter-spacing:-.4px;margin:0 0 20px}
.balanced-page .hotel-summary-dates{padding:0 0 17px;gap:11px;border-bottom:1px solid #dbe4ce}
.balanced-page .hotel-summary-dates svg{height:16px;width:16px}
.balanced-page .hotel-summary-dates strong{font:500 12px/1.8 var(--sans);color:#70885b}
.balanced-page .hotel-summary-dates p>span{font:11px/1.7 var(--sans);color:#6d7964}
.balanced-page .hotel-summary-price{padding:20px 0 17px}
.balanced-page .hotel-summary-price>span{font:11px/1.7 var(--sans);color:#6d7964}
.balanced-page .hotel-summary-price strong{font:400 36px/1.1 var(--serif);letter-spacing:-.8px}
.balanced-page .hotel-summary-price p{margin:9px 0}
.balanced-page .hotel-summary-price small{font:10px/1.8 var(--sans);color:#6d7964;margin-top:8px}
.balanced-page .hotel-summary>.button{width:100%;font-size:12px;min-height:40px}
.balanced-page .hotel-summary>.hotel-small-note{font-size:10px;margin:15px 0 0}
.balanced-page .hotel-trip-note{margin-top:17px;padding:16px 5px;gap:12px;border:0;background:none}
.balanced-page .hotel-trip-note strong{font-size:12px;font-weight:500}
.balanced-page .hotel-trip-note p{font-size:11px;line-height:1.7;margin:5px 0}
.balanced-page .hotel-trip-note a{font-size:11px}
.balanced-page .hotel-trip-note>svg{height:17px;width:17px}
.balanced-page .hotel-availability-form{padding:22px;background:#f0f3e9;border:1px solid #dce5d1;border-radius:8px;margin-top:22px}
.balanced-page .hotel-availability-form label,.balanced-page .live-experience-inputs label{font-size:12px;color:#7a8e69}
.balanced-page .hotel-availability-form input:not([type=checkbox]),.balanced-page .hotel-availability-form select{font:13px var(--sans);min-height:40px;border:1px solid #d4dfc7;background:#fffefa;border-radius:5px;padding:10px}
.balanced-page .hotel-occupancy-row label{font-size:11px}
.balanced-page .hotel-small-note{font-size:11px;line-height:1.8;color:#6d7964}
.balanced-page .hotel-confirm-inputs span{font-size:11px;line-height:1.8}
.balanced-page .hotel-confirm-inputs input{width:16px;height:16px;accent-color:#668452}
.balanced-page .hotel-room-card{border-color:#d9e3cd;border-radius:8px;background:#fffefa}
.balanced-page .hotel-room-body{padding:20px}
.balanced-page .hotel-room-body h3{font:400 26px/1.2 var(--serif);margin-bottom:15px}
.balanced-page .hotel-room-body p{font-size:12px;line-height:1.9}
.balanced-page .room-price{border-color:#dce5d0}
.balanced-page .room-price>strong{font:400 31px var(--serif);letter-spacing:-.5px}
.balanced-page .room-price form .button{font-size:11px}
.balanced-page .hotel-policy-label,.balanced-page .room-policy,.balanced-page .room-inclusion-tags{font-size:11px}
.balanced-page .hotel-property-fees{font-size:11px;line-height:1.8}
.balanced-page .hotel-property-fees small{font-size:10px}
.balanced-page .hotel-review-grid{gap:15px}
.balanced-page .hotel-review-grid blockquote{border:1px solid #e0e7d6;background:#fffefa;border-radius:7px;padding:21px}
.balanced-page .hotel-review-grid blockquote p{font-size:12px;line-height:1.9}
.balanced-page .hotel-review-grid blockquote h3{font:400 24px var(--serif)}
.balanced-page .hotel-review-grid blockquote footer{font-size:11px}
.balanced-page .hotel-review-overview>strong{font:400 41px var(--serif)}
.balanced-page .hotel-check-times{padding:18px;border:1px solid #dfe7d5;border-radius:7px;background:#f1f5e9}
.balanced-page .hotel-check-times p{font-size:11px}
.balanced-page .hotel-check-times strong{font-size:16px;font-weight:500}
.balanced-page .hotel-mobile-bar{background:#fffefaed;backdrop-filter:blur(12px);border-top:1px solid #d5e0c8}
.balanced-page .hotel-mobile-bar small{font-size:9px}
.balanced-page .hotel-mobile-bar strong{font:400 24px var(--serif);letter-spacing:-.5px}
.balanced-page .hotel-mobile-bar .button{font-size:11px;min-height:40px}
.balanced-page .hotel-gallery-dialog{padding:25px;border:1px solid #dce4d1;background:#f8f8f3;border-radius:10px}
.balanced-page .hotel-gallery-dialog h2{font:400 32px var(--serif)}
.balanced-page .hotel-gallery-dialog-bottom{font-size:11px}

/* Experiences share the same photograph, section and price hierarchy. */
.balanced-page .experience-facts{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-block:24px}
.balanced-page .experience-facts>div{background:#f0f4e8;border:1px solid #e0e7d6;border-radius:6px;padding:15px;gap:10px}
.balanced-page .experience-facts strong{font-size:12px;font-weight:500}
.balanced-page .experience-facts span{font-size:11px}
.balanced-page .experience-facts svg{width:17px;height:17px}
.balanced-page .experience-highlights li{font:12px/1.9 var(--sans)}
.balanced-page .experience-itinerary h3{font:400 23px/1.2 var(--serif)}
.balanced-page .experience-itinerary p{font-size:12px;line-height:1.9}
.balanced-page .experience-included-grid{gap:22px}
.balanced-page .experience-included-grid h3{font:500 13px var(--sans)}
.balanced-page .experience-included-grid li{font-size:12px;line-height:1.9}
.balanced-page .experience-live-option{padding:21px;border-color:#d8e3cb;border-radius:8px}
.balanced-page .experience-live-option h3{font:400 26px/1.2 var(--serif)}
.balanced-page .experience-live-option p{font-size:12px}
.balanced-page .experience-live-option .ticket-option-price strong{font:400 32px var(--serif)}
.balanced-page .experience-option-policy{font-size:11px;line-height:1.8}
.balanced-page .live-experience-inputs{gap:16px}
.balanced-page .live-experience-inputs input:not([type=checkbox]),.balanced-page .live-experience-inputs select{border-color:#d1dec3;font:13px var(--sans);min-height:41px;border-radius:5px}
.balanced-page .experience-summary>p{font-size:11px;line-height:1.9;color:#6d7964}
.balanced-page .experience-product-name{font-size:13px}

/* Checkout: contact → review → test payment, without changing the forms. */
.balanced-page .booking-intro{margin:13px 0 28px}
.balanced-page .booking-intro h1{font:400 clamp(32px,3.8vw,47px)/1.1 var(--serif);letter-spacing:-1px;margin-bottom:13px}
.balanced-page .booking-intro>p{font-size:12px;color:#6d7964;line-height:1.8}
.balanced-page .checkout-layout{grid-template-columns:minmax(0,1fr) 288px;gap:42px}
.balanced-page .stage-heading{margin-bottom:23px}
.balanced-page .stage-heading h2,.balanced-page .choice-heading h2{font:400 30px/1.15 var(--serif);letter-spacing:-.4px;margin-bottom:13px}
.balanced-page .stage-heading>p,.balanced-page .choice-heading>p{font:12px/1.9 var(--sans);color:#6d7964}
.balanced-page .booking-summary{background:#edf1e5;border:1px solid #d8e1cd;border-radius:8px;padding:23px}
.balanced-page .booking-summary>h2{font:400 27px/1.2 var(--serif);margin:0 0 10px;letter-spacing:-.4px}
.balanced-page .booking-summary .summary-location{font-size:11px}
.balanced-page .mini-trip-date{padding:15px 0;font-size:12px;border-color:#dbe4d0}
.balanced-page .mini-trip-date small,.balanced-page .summary-option,.balanced-page .summary-cancellation{font:11px/1.8 var(--sans)}
.balanced-page .booking-total{padding:18px 0;border-color:#dbe4ce}
.balanced-page .booking-total>span{font:11px/1.8 var(--sans)}
.balanced-page .booking-total>strong{font:400 37px/1.1 var(--serif);letter-spacing:-.9px}
.balanced-page .booking-total>small,.balanced-page .booking-summary-note{font:10px/1.8 var(--sans)}
.balanced-page .booking-summary>ul{font-size:11px;line-height:1.9}
.balanced-page .live-hotel-guest-fields{gap:17px}
.balanced-page .live-hotel-guest-fields label,.balanced-page .traveller-fields label{font-size:12px;color:#7f946c}
.balanced-page .live-hotel-guest-fields input,.balanced-page .live-hotel-guest-fields textarea,.balanced-page .traveller-fields input,.balanced-page .traveller-fields select{font:13px var(--sans);border:1px solid #d3dec7;background:#fffefa;border-radius:5px;min-height:42px;padding:11px}
.balanced-page .demo-fill{font:11px var(--sans);padding:8px 11px;border:1px solid #d9e3cc;border-radius:5px;background:#f4f7ed;color:#7e9767}
.balanced-page .review-booking-card{background:#fffefa;border-color:#dce5d1;border-radius:8px;padding:24px}
.balanced-page .review-booking-card h2{font:400 30px var(--serif)}
.balanced-page .review-booking-card h3{font:400 25px/1.2 var(--serif)}
.balanced-page .review-booking-card p,.balanced-page .review-booking-card li{font-size:12px;line-height:1.9}
.balanced-page .hotel-final-terms summary{font:12px/1.8 var(--sans)}
.balanced-page .hotel-final-terms p{font-size:12px;line-height:1.9}
.balanced-page .policy-checkbox{font:12px/1.8 var(--sans);margin-bottom:20px}
.balanced-page .policy-checkbox input{width:17px;height:17px;accent-color:#6c8956}
.balanced-page .hotel-confirmation-facts dt{font-size:11px}
.balanced-page .hotel-confirmation-facts dd{font-size:14px}
.balanced-page .booking-steps{margin:22px 0 28px}
.balanced-page .booking-steps button{font:12px var(--sans);padding:15px 10px}
.balanced-page .booking-photo{height:235px}
.balanced-page .booking-photo h2{font:400 30px var(--serif)}
.balanced-page .checkout-actions{margin-top:24px}
.balanced-page .checkout-actions .quiet-link{font-size:12px}
.balanced-page .hotel-error,.balanced-page .hotel-input-note{font-size:12px;line-height:1.8;border-radius:6px}

/* Flights use the same type scale, controls and surfaces as stays. */
body.balanced-page.flight-studio{font:14px/1.6 var(--sans)}
.balanced-page .fx-back-row{padding-top:23px}
.balanced-page .fx-back-row>span{display:none}
.balanced-page .fx-intro{padding:24px 0 25px}
.balanced-page .fx-intro h1{font:400 47px/1.1 var(--serif);margin:0;letter-spacing:-1px}
.balanced-page .fx-trip-route{background:#edf1e5;border-color:#dbe4cf;padding:18px 22px}
.balanced-page .fx-route-kicker strong{font-size:12px}
.balanced-page .fx-route-kicker small{font-size:10px;max-width:190px;line-height:1.8}
.balanced-page .fx-trip-route li b{font-size:12px;background:#edf1e5}
.balanced-page .fx-trip-route li small{font-size:10px}
.balanced-page .fx-trip-route li:before{background:#edf1e5}
.balanced-page .fx-tabs{margin:20px 0 25px}
.balanced-page .fx-tabs [role=tab]{font-size:13px;padding:14px 0 17px}
.balanced-page .fx-layout{grid-template-columns:200px minmax(0,1fr);gap:31px}
.balanced-page .fx-filter-heading h2{font:500 13px var(--sans);letter-spacing:0}
.balanced-page .fx-field,.balanced-page .fx-field select,.balanced-page .fx-preferences label{font-size:12px}
.balanced-page .fx-field select{padding:10px}
.balanced-page .fx-best-for button{padding:15px 17px}
.balanced-page .fx-best-for span{font-size:11px}
.balanced-page .fx-best-for strong{font:400 29px var(--serif);letter-spacing:-.5px}
.balanced-page .fx-results-heading h2{font:400 29px/1.2 var(--serif);letter-spacing:-.3px}
.balanced-page .fx-results-heading p{font-size:11px;line-height:1.7}
.balanced-page .fx-results-heading select{font-size:11px}
.balanced-page .fx-results-toolbar{margin:0 0 18px}
.balanced-page .fx-price-basis button{font-size:10px;padding:5px 10px}
.balanced-page .fx-results-toolbar>span{font-size:10px}
.balanced-page .fx-card{background:#fffefa;border-color:#dce4d1;margin-bottom:20px}
.balanced-page .fx-card-inner{padding:21px 22px 0}
.balanced-page .fx-airline-heading h3{font:400 27px/1.15 var(--serif)}
.balanced-page .fx-airline-heading p{font-size:11px;line-height:1.7}
.balanced-page .fx-fare>strong{font:400 35px/1.1 var(--serif);letter-spacing:-.7px}
.balanced-page .fx-fare>span{font-size:10px}
.balanced-page .fx-card-ribbon{font:11px var(--sans);padding:10px 19px}
.balanced-page .fx-journey-row{grid-template-columns:78px 100px minmax(90px,1fr) 100px;gap:14px;padding:14px 0}
.balanced-page .fx-journey-label{font-size:8px;letter-spacing:.2px}
.balanced-page .fx-journey-label small{font-size:11px}
.balanced-page .fx-time{font-size:16px}
.balanced-page .fx-time p,.balanced-page .fx-time>small{font-size:10px;line-height:1.6}
.balanced-page .fx-connection>span,.balanced-page .fx-connection>small{font-size:10px;white-space:normal}
.balanced-page .fx-card-actions{background:#fafbf5;padding:13px 21px;gap:12px}
.balanced-page .fx-button{font:500 12px var(--sans);border-radius:6px;min-height:39px;padding:10px 15px;background:#fffefa;border-color:#d7e1ca;color:#6f865b}
.balanced-page .fx-primary{background:#4e6e54;border-color:#4e6e54;color:#fffefa}
.balanced-page .fx-primary:hover{background:#3d5e44}
.balanced-page .fx-card-actions .fx-button{font-size:11px;padding:9px 13px}
.balanced-page .fx-text-button,.balanced-page .fx-compare-check{font-size:11px}
.balanced-page .fx-notes{font-size:10px;line-height:1.8;padding:11px 0}
.balanced-page .fx-best-for{margin-bottom:24px}
.balanced-page .fx-current-plan{background:#edf1e5;border-color:#dce5cf;padding:20px}
.balanced-page .fx-current-plan .fx-eyebrow{font:500 10px var(--sans);letter-spacing:0}
.balanced-page .fx-current-plan>span,.balanced-page .fx-current-plan>p:not(.fx-eyebrow){font:11px/1.8 var(--sans)}
.balanced-page .fx-saved-price{font:400 36px var(--serif)}
.balanced-page .fx-sidebar-note,.balanced-page .fx-source-note{font:11px/1.85 var(--sans)}
.balanced-page .fx-check-note strong{font:500 12px var(--sans)}
.balanced-page .fx-check-note small{font:11px/1.8 var(--sans)}
.balanced-page .fx-page-footer{padding-top:25px;margin-top:35px}
.balanced-page .fx-page-footer>span{display:none}
.balanced-page .fx-history-intro{margin:30px 0}
.balanced-page .fx-history-intro h2,.balanced-page .fx-compare-intro h2{font:400 35px/1.15 var(--serif);letter-spacing:-.6px}
.balanced-page .fx-history-row h3{font:400 25px/1.2 var(--serif)}
.balanced-page .fx-history-row p,.balanced-page .fx-history-status,.balanced-page .fx-history-price small{font-size:11px}
.balanced-page .fx-history-row .fx-eyebrow,.balanced-page .fx-history-status small{font-size:10px;letter-spacing:0}
.balanced-page .fx-history-row{gap:18px;padding:22px 20px}
.balanced-page .fx-history-price{font:400 30px var(--serif)}
.balanced-page .fx-history-tally strong{font:400 39px var(--serif)}
.balanced-page .fx-unchecked strong{font-size:13px}
.balanced-page .fx-unchecked p{font-size:12px}
.balanced-page dialog{font:13px/1.7 var(--sans);border-radius:10px;background:#f8f8f3;border-color:#d8e2cc;padding:27px}
.balanced-page dialog h2{font:400 34px/1.15 var(--serif);letter-spacing:-.5px;margin:8px 0 23px}
.balanced-page .fx-sheet-top{align-items:center}
.balanced-page .fx-sheet-top .fx-eyebrow{font-size:10px;letter-spacing:0;margin:0}
.balanced-page .fx-search-presets{margin-top:22px}
.balanced-page .fx-search-preset strong{font-size:12px}
.balanced-page .fx-search-preset small{font-size:10px}
.balanced-page .fx-search-preset b{font-size:18px}
.balanced-page .fx-search-kept{font-size:11px;padding:14px 16px}
.balanced-page .fx-preview-footnote{font-size:11px;line-height:1.8}
.balanced-page .fx-compare-top h3{font:400 29px/1.15 var(--serif);height:2.3em}
.balanced-page .fx-compare-column dt{font-size:11px}
.balanced-page .fx-compare-column dd{font-size:13px}
.balanced-page .fx-compare-column dd small{font-size:11px}
.balanced-page .fx-compare-top .fx-eyebrow{font-size:10px;letter-spacing:0}
.balanced-page .fx-choice-pair p,.balanced-page .fx-choice-pair small,.balanced-page .fx-choice-context{font-size:12px}
.balanced-page .fx-choice-trip{font-size:12px}
.balanced-page .fx-choice-impact>span{font-size:12px}
.balanced-page .fx-detail-segment p,.balanced-page .fx-detail-segment small{font-size:12px}
.balanced-page .fx-fare-unknowns p{font-size:12px;line-height:1.9}
.balanced-page .fx-detail-price>p{font-size:12px}
.balanced-page .fx-layover{font-size:12px}
.balanced-page .fx-variant-picker label,.balanced-page .fx-variant-picker select{font-size:12px}

/* Hotel change dialog also appears on the existing main holiday page. */
dialog.hotel-swap.balanced-swap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f8f8f3;border-color:#d9e3cc;border-radius:11px}
.balanced-swap .swap-header{padding:25px 29px 0}
.balanced-swap #hotel-swap-title{font:400 36px/1.1 'Newsreader',Georgia,serif;letter-spacing:-.7px;margin:0 0 18px}
.balanced-swap .swap-context{font-size:11px;line-height:1.8}
.balanced-swap .swap-context-row{margin-bottom:20px}
.balanced-swap .swap-steps button{font:12px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;padding-bottom:15px}
.balanced-swap .swap-steps button span{font:10px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.balanced-swap .swap-scroll{padding:25px 29px}
.balanced-swap .swap-workspace{grid-template-columns:205px minmax(0,1fr);gap:25px}
.balanced-swap .swap-current{padding:17px;background:#edf1e5;border-color:#d7e2c9}
.balanced-swap .swap-current h3{font:400 25px/1.15 'Newsreader',Georgia,serif;margin-bottom:12px}
.balanced-swap .swap-eyebrow{font-size:10px;letter-spacing:0;font-weight:500}
.balanced-swap .swap-current>img{height:120px;border-radius:5px}
.balanced-swap .swap-price{font:400 32px/1.1 'Newsreader',Georgia,serif;letter-spacing:-.5px}
.balanced-swap .swap-current .swap-price-note{font-size:11px;line-height:1.8}
.balanced-swap .swap-current .swap-current-location{font-size:11px}
.balanced-swap .swap-hotel{background:#fffefa;border-color:#dce4d2}
.balanced-swap .swap-hotel h4{font:400 26px/1.15 'Newsreader',Georgia,serif;letter-spacing:-.3px;margin-bottom:13px}
.balanced-swap .swap-hotel-body{padding:19px}
.balanced-swap .swap-hotel-photo{height:158px}
.balanced-swap .swap-hotel-location{font-size:11px}
.balanced-swap .swap-hotel-scope,.balanced-swap .swap-hotel-terms,.balanced-swap .swap-hotel-link,.balanced-swap .swap-compare-check{font-size:11px;line-height:1.7}
.balanced-swap .swap-delta{font-size:11px}
.balanced-swap .swap-hotel-actions .button,.balanced-swap .swap-footer-actions .button,.balanced-swap .swap-wider .button{font:500 12px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;border-radius:5px;min-height:38px;padding:10px 15px}
.balanced-swap .button-primary{background:#4e6e54;border-color:#4e6e54}
.balanced-swap .swap-filters button,.balanced-swap .swap-price-toggle button{font-size:11px}
.balanced-swap .swap-search input{font-size:12px}
.balanced-swap .swap-sort select{font-size:11px;max-width:150px}
.balanced-swap .swap-results-heading,.balanced-swap .swap-quote-note{font-size:11px;line-height:1.8}
.balanced-swap .swap-text-button{font-size:11px}
.balanced-swap .swap-section-intro h3{font:400 32px/1.15 'Newsreader',Georgia,serif;letter-spacing:-.5px}
.balanced-swap .swap-section-intro{margin-bottom:25px}
.balanced-swap .swap-section-intro>p:last-child{font-size:12px}
.balanced-swap .swap-comparison-card-inner{padding:19px}
.balanced-swap .swap-comparison-card h4{font:400 26px/1.15 'Newsreader',Georgia,serif;height:3.45em}
.balanced-swap .swap-comparison-card dt{font-size:11px}
.balanced-swap .swap-comparison-card dd{font-size:12px}
.balanced-swap .swap-comparison-card .button{font-size:11px;min-height:39px}
.balanced-swap .swap-review-hotel h4{font:400 29px/1.15 'Newsreader',Georgia,serif}
.balanced-swap .swap-review-rate{font-size:12px;line-height:1.8}
.balanced-swap .swap-impact h4{font:400 28px/1.2 'Newsreader',Georgia,serif}
.balanced-swap .swap-impact-top p,.balanced-swap .swap-retained,.balanced-swap .swap-impact-total{font-size:12px}
.balanced-swap .swap-footer{padding:17px 29px}
.balanced-swap .swap-footer-note p{font-size:11px;line-height:1.8;max-width:300px}
.balanced-swap .swap-footer-note>span{display:none}
.balanced-swap .swap-footer-main{gap:20px}
.balanced-swap .swap-compare-tray>span,.balanced-swap .swap-tray-item>span{font-size:11px}
.balanced-swap .swap-live-status{font-size:11px;line-height:1.7}

@media(max-width:1100px) and (min-width:761px){.balanced-page .hotel-layout,.balanced-page .checkout-layout{grid-template-columns:minmax(0,1fr) 255px;gap:29px}
.balanced-page .hotel-nav{gap:21px}
.balanced-page .hotel-summary,.balanced-page .booking-summary{padding:20px}
.balanced-page .hotel-heading h1,.balanced-page.live-experience-page .experience-heading h1{font-size:41px;max-width:700px}
.balanced-page .fx-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}
.balanced-page .fx-journey-row{grid-template-columns:62px 80px minmax(65px,1fr) 82px;gap:10px}
.balanced-page .fx-time{font-size:14px}
.balanced-page .fx-time p,.balanced-page .fx-time>small{font-size:9px}
.balanced-page .fx-connection>span,.balanced-page .fx-connection>small{font-size:9px}
.balanced-page .fx-airline-heading h3{font-size:25px}
.balanced-page .fx-fare>strong{font-size:31px}
.balanced-page .fx-card-inner{padding:18px 17px 0}
.balanced-page .fx-best-for span{font-size:10px}
.balanced-page .fx-best-for button{padding:13px}
.balanced-page .fx-history-row{gap:13px;grid-template-columns:25px minmax(140px,1fr) 100px 100px 100px}
.balanced-swap .swap-workspace{grid-template-columns:180px minmax(0,1fr);gap:20px}
.balanced-swap .swap-hotel-actions{flex-wrap:wrap}
.balanced-swap .swap-hotel-actions .button{font-size:11px;min-height:37px;padding:9px 12px}
}

@media(max-width:760px){.balanced-page .wrap,.balanced-page .fx-wrap{width:calc(100% - 40px)}
.balanced-page .balanced-header{height:61px;gap:20px}
.balanced-header .brand-wordmark{font-size:22px}
.balanced-header nav a{font-size:11px}
.balanced-header nav{gap:13px}
.balanced-page .breadcrumb{padding:20px 0;font-size:10px;gap:8px;flex-wrap:wrap}
.balanced-page .breadcrumb .hotel-preview-label{font-size:9px;margin-left:auto}
.balanced-page .hotel-heading{margin:5px 0 22px;display:block}
.balanced-page .hotel-heading h1,.balanced-page.live-experience-page .experience-heading h1{font-size:35px;line-height:1.1;max-width:none;letter-spacing:-.65px}
.balanced-page .hotel-heading>div>p{font-size:11px;line-height:1.8}
.balanced-page .hotel-heading .eyebrow{font-size:9px}
.balanced-page .hotel-rating{display:flex;align-items:center;margin-top:16px;gap:9px}
.balanced-page .hotel-rating>strong{font-size:24px;padding:6px 9px}
.balanced-page .hotel-rating b,.balanced-page .hotel-rating a{font-size:10px}
.balanced-page .hotel-gallery,.balanced-page .hotel-gallery-count-2{height:235px;gap:7px}
.balanced-page .hotel-photo-button{font-size:10px;bottom:12px;right:12px;padding:8px 10px}
.balanced-page .gallery-footnote{font-size:9px;line-height:1.8;padding:9px 0 0}
.balanced-page .hotel-nav{height:53px;gap:23px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin-top:7px}
.balanced-page .hotel-nav::-webkit-scrollbar{display:none}
.balanced-page .hotel-nav>a{font-size:11px;flex-shrink:0}
.balanced-page .hotel-nav .nav-room-link{display:none}
.balanced-page .hotel-layout{display:block;margin-top:26px}
.balanced-page .hotel-section{padding-bottom:26px;margin-bottom:26px;scroll-margin-top:70px}
.balanced-page .hotel-section h2{font-size:27px;margin-bottom:17px}
.balanced-page .hotel-section>p,.balanced-page .hotel-supplier-description{font-size:12px;line-height:1.95}
.balanced-page .hotel-sidebar{display:none}
.balanced-page .hotel-amenity-grid{gap:12px;font-size:11px}
.balanced-page .hotel-amenity-grid>span{font-size:10px}
.balanced-page .hotel-availability-form{padding:18px;margin-top:20px}
.balanced-page .hotel-availability-form input:not([type=checkbox]),.balanced-page .hotel-availability-form select,.balanced-page .live-experience-inputs input:not([type=checkbox]),.balanced-page .live-experience-inputs select{font-size:16px;min-height:42px;padding:10px 9px}
.balanced-page .hotel-availability-form label{font-size:11px}
.balanced-page .hotel-nationality{max-width:none}
.balanced-page .hotel-occupancy-row{grid-template-columns:1fr 1fr 25px;gap:9px}
.balanced-page .hotel-occupancy-row>span{grid-column:1/-1}
.balanced-page .hotel-confirm-inputs span{font-size:11px}
.balanced-page .hotel-small-note{font-size:11px}
.balanced-page .hotel-room-body{padding:18px}
.balanced-page .hotel-room-body h3{font-size:25px}
.balanced-page .room-price>strong{font-size:28px}
.balanced-page .room-price form .button{font-size:11px;min-height:42px}
.balanced-page .hotel-review-grid{grid-template-columns:1fr}
.balanced-page .hotel-mobile-bar{padding:12px 20px;gap:15px}
.balanced-page .hotel-mobile-bar strong{font-size:25px}
.balanced-page .hotel-mobile-bar .button{font-size:11px;padding:10px 14px;min-height:42px}
.balanced-page .page-footer{margin-top:27px;padding-bottom:104px;font-size:9px;gap:20px}
.balanced-page .page-footer .wordmark{font-size:20px}
.balanced-page .hotel-gallery-dialog{padding:20px;max-height:94dvh}
.balanced-page .hotel-gallery-dialog h2{font-size:27px}
.balanced-page .experience-facts{gap:10px}
.balanced-page .experience-facts>div{padding:13px;gap:8px}
.balanced-page .experience-facts strong{font-size:11px}
.balanced-page .experience-facts span{font-size:10px}
.balanced-page .experience-included-grid{grid-template-columns:1fr;gap:18px}
.balanced-page .live-experience-inputs{grid-template-columns:1fr}
.balanced-page .experience-live-option{padding:18px}
.balanced-page .experience-live-option-heading{gap:15px}
.balanced-page .experience-live-option h3{font-size:25px}
.balanced-page .experience-live-option .ticket-option-price strong{font-size:28px}
.balanced-page .booking-intro{margin:5px 0 25px}
.balanced-page .booking-intro h1{font-size:36px;line-height:1.1}
.balanced-page .booking-intro>p{font-size:11px;line-height:1.8}
.balanced-page .checkout-layout{display:flex;flex-direction:column;gap:26px}
.balanced-page .checkout-layout>div,.balanced-page .checkout-layout>aside{width:100%;min-width:0}
.balanced-page .booking-summary{padding:20px}
.balanced-page .booking-summary>h2{font-size:26px}
.balanced-page .booking-total>strong{font-size:32px}
.balanced-page .booking-total{padding:15px 0}
.balanced-page .stage-heading h2,.balanced-page .choice-heading h2{font-size:28px}
.balanced-page .stage-heading>p{font-size:12px}
.balanced-page .live-hotel-guest-fields input,.balanced-page .live-hotel-guest-fields textarea,.balanced-page .traveller-fields input,.balanced-page .traveller-fields select{font-size:16px;min-height:44px}
.balanced-page .checkout-actions{gap:15px;flex-wrap:wrap}
.balanced-page .checkout-actions .button{font-size:12px;min-height:43px}
.balanced-page .hotel-test-banner{font-size:10px}
.balanced-page .review-booking-card{padding:20px}
.balanced-page .review-booking-card h3{font-size:25px}
.balanced-page .policy-checkbox{font-size:12px}
.balanced-page .booking-steps button{font-size:11px;padding:13px 5px;gap:7px}
.balanced-page .booking-steps button>span{font-size:14px}
.balanced-page .booking-photo{height:210px}
.balanced-page .booking-steps{margin:19px 0 25px}
.balanced-page .fx-back-row{padding-top:20px}
.balanced-page .fx-intro{padding:19px 0 24px}
.balanced-page .fx-intro h1{font-size:37px}
.balanced-page .fx-trip-route{padding:16px}
.balanced-page .fx-route-kicker strong{font-size:11px}
.balanced-page .fx-route-kicker small{font-size:10px}
.balanced-page .fx-trip-route li b{font-size:10px;white-space:normal}
.balanced-page .fx-trip-route li small{font-size:9px}
.balanced-page .fx-layout{display:block}
.balanced-page .fx-tabs{margin:17px 0 23px}
.balanced-page .fx-tabs [role=tab]{font-size:12px;padding:15px 0 13px}
.balanced-page .fx-tabs>.fx-button{font-size:12px;min-height:42px}
.balanced-page .fx-sidebar{gap:12px;margin-bottom:23px}
.balanced-page .fx-field,.balanced-page .fx-field select{font-size:11px}
.balanced-page .fx-field select{padding:10px 7px}
.balanced-page .fx-best-for button{padding:13px 9px}
.balanced-page .fx-best-for span{font-size:9px;line-height:1.6}
.balanced-page .fx-best-for strong{font-size:25px}
.balanced-page .fx-best-for strong small{font-size:8px}
.balanced-page .fx-results-heading h2{font-size:27px}
.balanced-page .fx-results-heading p{font-size:10px}
.balanced-page .fx-results-heading select{font-size:9px;max-width:105px}
.balanced-page .fx-results-toolbar>span{font-size:8px}
.balanced-page .fx-price-basis button{font-size:9px;padding:5px 8px}
.balanced-page .fx-card-ribbon{font-size:10px;padding:9px 13px;line-height:1.7;align-items:start}
.balanced-page .fx-card-ribbon>span:last-child{font-size:8px;flex-shrink:0}
.balanced-page .fx-card-inner{padding:17px 13px 0}
.balanced-page .fx-card-heading{gap:10px}
.balanced-page .fx-airline-heading h3{font-size:24px}
.balanced-page .fx-airline-heading p{font-size:9px;line-height:1.7}
.balanced-page .fx-fare>strong{font-size:29px}
.balanced-page .fx-fare>span{font-size:8px;line-height:1.8}
.balanced-page .fx-journey-row{grid-template-columns:49px 64px minmax(55px,1fr) 68px;gap:6px;padding:13px 0}
.balanced-page .fx-journey-label{font-size:7px}
.balanced-page .fx-journey-label small{font-size:9px}
.balanced-page .fx-time{font-size:14px}
.balanced-page .fx-time p,.balanced-page .fx-time>small{font-size:8px}
.balanced-page .fx-connection>span,.balanced-page .fx-connection>small{font-size:8px}
.balanced-page .fx-notes{font-size:9px;gap:7px;line-height:1.9}
.balanced-page .fx-card-actions{gap:8px;padding:12px}
.balanced-page .fx-compare-check,.balanced-page .fx-card-secondary{font-size:10px}
.balanced-page .fx-card-actions .fx-button{font-size:10px;padding:9px 10px;min-height:37px}
.balanced-page .fx-history-intro{margin:23px 0}
.balanced-page .fx-history-intro h2,.balanced-page .fx-compare-intro h2{font-size:31px}
.balanced-page .fx-history-row{grid-template-columns:23px minmax(0,1fr) 91px;gap:12px;padding:20px 15px}
.balanced-page .fx-history-row h3{font-size:24px}
.balanced-page .fx-history-row p,.balanced-page .fx-history-status{font-size:10px}
.balanced-page .fx-history-row .fx-eyebrow,.balanced-page .fx-history-status small,.balanced-page .fx-history-price small{font-size:9px}
.balanced-page .fx-history-price{font-size:27px}
.balanced-page .fx-history-row>.fx-button{font-size:9px;padding:9px;min-height:35px}
.balanced-page .fx-history-tally strong{font-size:35px}
.balanced-page .fx-compare-top h3{font-size:26px}
.balanced-page .fx-compare-column dt{font-size:10px}
.balanced-page .fx-compare-column dd{font-size:12px}
.balanced-page .fx-compare-column dd small{font-size:10px}
.balanced-page dialog{padding:24px 20px}
.balanced-page dialog h2{font-size:31px}
.balanced-page .fx-search-dialog .fx-field select{font-size:16px;padding:10px}
.balanced-page .fx-search-kept,.balanced-page .fx-preview-footnote{font-size:11px}
.balanced-page .fx-choice-context,.balanced-page .fx-choice-trip,.balanced-page .fx-choice-impact>span{font-size:11px}
.balanced-page .fx-detail-segment p,.balanced-page .fx-detail-segment small{font-size:11px}
.balanced-page .fx-page-footer{padding-bottom:100px}

.balanced-swap .swap-header{padding:22px 20px 0}
.balanced-swap #hotel-swap-title{font-size:31px;margin-bottom:17px}
.balanced-swap .swap-context{font-size:10px}
.balanced-swap .swap-context-row{margin-bottom:17px}
.balanced-swap .swap-steps button{font-size:11px;padding-bottom:12px}
.balanced-swap .swap-scroll{padding:19px 20px 24px}
.balanced-swap .swap-workspace{display:block}
.balanced-swap .swap-current{padding:12px;margin-bottom:22px}
.balanced-swap .swap-current>img{width:62px;height:76px}
.balanced-swap .swap-current h3{font-size:21px;margin:0}
.balanced-swap .swap-current .swap-price{font-size:24px}
.balanced-swap .swap-current .swap-price-note{font-size:9px;line-height:1.7}
.balanced-swap .swap-current>.swap-eyebrow{font-size:8px}
.balanced-swap .swap-hotel-body{padding:18px}
.balanced-swap .swap-hotel h4{font-size:27px}
.balanced-swap .swap-hotel-photo{height:185px}
.balanced-swap .swap-hotel-scope,.balanced-swap .swap-hotel-terms,.balanced-swap .swap-hotel-link,.balanced-swap .swap-compare-check{font-size:11px}
.balanced-swap .swap-price{font-size:29px}
.balanced-swap .swap-sort select{max-width:115px;font-size:10px}
.balanced-swap .swap-filters button{font-size:10px;padding:7px 10px}
.balanced-swap .swap-price-toggle button{font-size:10px}
.balanced-swap .swap-results-heading{font-size:10px}
.balanced-swap .swap-text-button{font-size:10px}
.balanced-swap .swap-hotel-actions .button,.balanced-swap .swap-footer-actions .button{font-size:11px;padding:10px 13px;min-height:40px}
.balanced-swap .swap-hotel-actions{flex-wrap:nowrap}
.balanced-swap .swap-section-intro h3{font-size:30px}
.balanced-swap .swap-comparison-card-inner{padding:14px}
.balanced-swap .swap-comparison-card h4{font-size:23px}
.balanced-swap .swap-comparison-card .swap-price{font-size:24px}
.balanced-swap .swap-comparison-card dt{font-size:10px}
.balanced-swap .swap-comparison-card dd{font-size:11px}
.balanced-swap .swap-comparison-card .button{font-size:10px;white-space:normal;padding:9px}
.balanced-swap .swap-review-hotel h4{font-size:26px}
.balanced-swap .swap-impact h4{font-size:25px}
.balanced-swap .swap-footer{padding:15px 20px max(15px,env(safe-area-inset-bottom))}
.balanced-swap .swap-footer-note p{font-size:10px;max-width:none}
.balanced-swap .swap-compare-tray>span,.balanced-swap .swap-tray-item>span{font-size:10px}
.balanced-swap .swap-quote-note{font-size:10px}
.balanced-swap .swap-live-status{font-size:10px}
}

@media(prefers-reduced-motion:reduce){.balanced-page *, .balanced-swap *{scroll-behavior:auto!important;transition:none!important}
}

/* Keep price scope readable inside compact search-history columns. */
.balanced-page .fx-history-price small{white-space:normal;line-height:1.6}

/* Supplier galleries can contain a single photograph. */
.balanced-page .hotel-gallery.gallery-count-1,.balanced-page .hotel-gallery.hotel-gallery-count-1{grid-template-columns:1fr;grid-template-rows:1fr}

.balanced-page .gallery-count-1 .hotel-gallery-photo-1,.balanced-page .hotel-gallery-count-1 .hotel-gallery-photo-1{grid-area:1 / 1}

.balanced-page .hotel-gallery.gallery-count-2,.balanced-page .hotel-gallery.hotel-gallery-count-2{grid-template-columns:1.5fr 1fr;grid-template-rows:1fr}

.balanced-page .gallery-count-2 .hotel-gallery-photo-1,.balanced-page .hotel-gallery-count-2 .hotel-gallery-photo-1{grid-area:1 / 1}

.balanced-page .gallery-count-2 .hotel-gallery-photo-2,.balanced-page .hotel-gallery-count-2 .hotel-gallery-photo-2{grid-area:1 / 2}
