/* Premier SA — consolidated shell, layering, notices and responsive behavior */
:root{--psa-fixed-header-h:132px;--psa-beta-h:0px;--psa-header-top:0px}
body.page-home{--psa-beta-h:38px;--psa-header-top:var(--psa-beta-h)}
body{padding-top:calc(var(--psa-fixed-header-h) + 12px)!important}
body.page-home{padding-top:calc(var(--psa-beta-h) + var(--psa-fixed-header-h) + 12px)!important}
.site-header{position:fixed!important;top:var(--psa-header-top)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;margin:0!important;z-index:5000!important;width:min(1500px,calc(100% - 28px))!important}
.site-header .dropdown-menu{z-index:30!important}
.premier-beta-notice{position:fixed;top:0;left:0;width:100%;height:var(--psa-beta-h);display:flex;align-items:center;justify-content:center;background:#c8102e;color:#fff;font-family:inherit;font-size:14px;font-weight:700;text-align:center;z-index:5500;box-sizing:border-box;padding:0 16px}
#toast.toast{display:flex!important;position:fixed!important;inset:auto!important;top:calc(var(--psa-fixed-header-h) + 16px)!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-8px)!important;align-items:center!important;justify-content:center!important;width:max-content!important;min-width:0!important;max-width:min(380px,calc(100vw - 32px))!important;height:auto!important;min-height:48px!important;max-height:none!important;padding:10px 14px!important;margin:0!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:12px!important;background:#10382f!important;color:#fff!important;box-shadow:0 14px 34px rgba(0,0,0,.22)!important;font-size:12px!important;font-weight:700!important;line-height:1.55!important;text-align:center!important;white-space:normal!important;overflow:visible!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;z-index:12000!important}
body.page-home #toast.toast{top:calc(var(--psa-beta-h) + var(--psa-fixed-header-h) + 16px)!important}
#toast.toast.show{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}
.modal-backdrop,.fare-confirm-modal,.seat-modal,.seat-unavailable-modal,.booking-idle-modal,.srw-modal{z-index:10000!important}
body.page-review>.modal{z-index:10000!important}
.fare-confirm-modal,.seat-modal,.seat-unavailable-modal,.booking-idle-modal,.srw-modal,body.page-review>.modal,.modal-backdrop{align-items:center!important;justify-content:center!important}
.premier-cookie-banner{position:fixed;left:50%;bottom:12px;transform:translate(-50%,16px);width:min(980px,calc(100% - 24px));z-index:4500;background:#3c2453;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 14px 38px rgba(24,15,34,.24);padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;direction:rtl}
.premier-cookie-banner.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.premier-cookie-copy{min-width:0;display:flex;align-items:center;gap:14px}.premier-cookie-copy a{color:#fff;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap}.premier-cookie-copy p{margin:0;font-size:var(--ps-text-meta);line-height:1.65;color:#f4eff9}
.premier-cookie-actions{display:flex;align-items:center;gap:8px;direction:rtl}.premier-cookie-actions button{height:36px;min-width:104px;border:0;border-radius:8px;background:#eee5fb;color:#6f32dc;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:0 15px}.premier-cookie-actions button:hover{background:#f6f1ff}
.demo-card-notice{display:block;width:fit-content;max-width:100%;margin:-3px auto 14px;padding:7px 11px;border:1px solid #ead6ae;border-radius:8px;background:#fff8e8;color:#7d5a13;font-size:var(--ps-text-meta);font-weight:700;line-height:1.55;text-align:center}
html,body,button,input,select,textarea{font-variant-numeric:lining-nums tabular-nums}
@media(max-width:920px){:root{--psa-fixed-header-h:76px}.site-header{left:0!important;right:0!important;transform:none!important;width:100%!important;border-radius:0!important}.header-grid{min-height:76px!important}body.page-home{--psa-beta-h:34px}.premier-beta-notice{font-size:12px;padding:0 10px}.premier-cookie-banner{grid-template-columns:1fr;gap:10px;padding:11px 12px}.premier-cookie-copy{display:block}.premier-cookie-copy a{display:block;margin-bottom:4px}.premier-cookie-actions{justify-content:center}.premier-cookie-actions button{flex:1;min-width:0}#toast.toast{top:calc(var(--psa-fixed-header-h) + 12px)!important}body.page-home #toast.toast{top:calc(var(--psa-beta-h) + var(--psa-fixed-header-h) + 12px)!important}}
@media(max-width:560px){.premier-cookie-copy p{font-size:var(--ps-text-meta)}.premier-cookie-actions button{height:34px;font-size:var(--ps-text-meta)}.premier-cookie-banner{bottom:8px;border-radius:12px}}

/* Shared UI core: typography, sticky layouts, airline marks, and modal components. */
:root{
  --ps-font-size-12:12px;
  --ps-font-size-13:13px;
  --ps-font-size-14:14px;
  --ps-font-size-15:15px;
  --ps-font-size-16:16px;
  --ps-font-size-18:18px;
  --ps-font-size-20:20px;
  --ps-font-size-22:22px;
  --ps-font-size-24:24px;
  --ps-weight-regular:400;
  --ps-weight-medium:500;
  --ps-weight-semibold:600;
  --ps-weight-bold:700;
  --ps-text-page-title:var(--ps-font-size-24);
  --ps-text-section-title:var(--ps-font-size-20);
  --ps-text-card-title:var(--ps-font-size-18);
  --ps-text-subtitle:var(--ps-font-size-16);
  --ps-text-body:var(--ps-font-size-14);
  --ps-text-label:var(--ps-font-size-13);
  --ps-text-meta:var(--ps-font-size-12);
  --ps-text-flight-time:var(--ps-font-size-20);
  --ps-text-price:var(--ps-font-size-18);
  --ps-text-total:var(--ps-font-size-22);
  --ps-airline-logo-sm:24px;
  --ps-airline-logo-md:42px;
  --ps-sticky-gap:18px;
}
html[lang="ar"] body{line-height:1.55}
html[lang="en"] body{line-height:1.45}
html[lang="ar"] .brand-ar{font-family:var(--font-ar,'Tajawal','Segoe UI',Tahoma,Arial,sans-serif)!important}
html[lang="en"] .brand-ar{font-family:var(--font-ar,'Tajawal','Segoe UI',Tahoma,Arial,sans-serif)!important}
button,input,select,textarea{font-size:var(--ps-text-body)}
.premier-time{display:inline-flex;align-items:baseline;gap:.22em;white-space:nowrap;font:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;vertical-align:baseline}
.premier-time bdi{font:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
html[lang="ar"] .premier-time-period{font-family:var(--psa-font-ar,var(--premier-font-ar,"Tajawal","Segoe UI",Tahoma,Arial,sans-serif))}
html[lang="en"] .premier-time-period,html[lang="en"] .premier-time-clock{font-family:var(--psa-font-en,var(--premier-font-en,"Montserrat","Segoe UI",Arial,sans-serif))}
/* Shared header / status / footer typography — same scale on every booking page. */
.brand-ar{font-size:var(--ps-text-subtitle)!important;line-height:1.2!important}
.brand-en{font-size:var(--ps-text-meta)!important;line-height:1.25!important}
.u-btn,.u-link{font-size:var(--ps-text-label)!important}
.login-btn{font-size:var(--ps-text-label)!important}
.nav-item{font-size:var(--ps-text-body)!important}
.badge,.currency-soon-badge,.trip-soon-badge{font-size:var(--ps-text-meta)!important}
.mobile-filter-btn{font-size:var(--ps-text-label)!important}
.preserved-traveler-note{font-size:var(--ps-text-label)!important;line-height:1.55}
.customer-auth-option small,.customer-auth-status{font-size:var(--ps-text-meta)!important}
.site-footer__bottom{font-size:var(--ps-text-meta)!important}
.seat{font-size:var(--ps-text-meta)!important}
.modal-title{font-size:var(--ps-text-card-title);line-height:1.4}
.field label{font-size:var(--ps-text-label)}
.modal-note{font-size:var(--ps-text-meta)}

/* Reusable two-column / sticky rule. Sticky panels stop naturally at the end of their parent layout. */
.ps-split-layout{position:relative;align-items:start;min-width:0}
.ps-split-layout>*{min-width:0}
.ps-sticky-panel{position:sticky;top:calc(var(--psa-fixed-header-h) + var(--ps-sticky-gap));align-self:start;min-width:0;max-height:calc(100vh - var(--psa-fixed-header-h) - (var(--ps-sticky-gap) * 2));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:920px){.ps-sticky-panel{position:static;top:auto;max-height:none;overflow:visible}}

/* Airline marks: fixed visual boxes everywhere. Known code assets use the same sizing and fit. */
:is(.airline-logo,.airline-mark,.booking-airline-mark){width:var(--ps-airline-logo-md);height:var(--ps-airline-logo-md);min-width:var(--ps-airline-logo-md);flex:0 0 var(--ps-airline-logo-md);box-sizing:border-box;border-radius:10px;background-position:center!important;background-repeat:no-repeat!important;background-size:34px 34px!important}
.airline-swatch{width:var(--ps-airline-logo-sm);height:var(--ps-airline-logo-sm);min-width:var(--ps-airline-logo-sm);flex:0 0 var(--ps-airline-logo-sm);box-sizing:border-box;border-radius:7px;background-position:center!important;background-repeat:no-repeat!important;background-size:20px 20px!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-SV{background-image:url("../airlines/SV.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-XY{background-image:url("../airlines/XY.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-F3{background-image:url("../airlines/F3.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-RX{background-image:url("../airlines/RX.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-EK{background-image:url("../airlines/EK.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-QR{background-image:url("../airlines/QR.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-EY{background-image:url("../airlines/EY.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-FZ{background-image:url("../airlines/FZ.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-G9{background-image:url("../airlines/G9.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-GF{background-image:url("../airlines/GF.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-WY{background-image:url("../airlines/WY.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-KU{background-image:url("../airlines/KU.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-RJ{background-image:url("../airlines/RJ.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch).airline-code-MS{background-image:url("../airlines/MS.png")!important}
:is(.airline-logo,.airline-mark,.booking-airline-mark,.airline-swatch):is(.airline-code-SV,.airline-code-XY,.airline-code-F3,.airline-code-RX,.airline-code-EK,.airline-code-QR,.airline-code-EY,.airline-code-FZ,.airline-code-G9,.airline-code-GF,.airline-code-WY,.airline-code-KU,.airline-code-RJ,.airline-code-MS){color:transparent!important;background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}

/* Flight results typography */
.page-results .route-codes{font-size:var(--ps-text-page-title);line-height:1.25}
.page-results .route-meta,.page-results .summary-chip,.page-results .new-search{font-size:var(--ps-text-label)}
.page-results .date-ribbon-title{font-size:var(--ps-text-subtitle)}
.page-results .date-cell .day,.page-results .date-cell .date,.page-results .date-cell .date-state{font-size:var(--ps-text-meta)}
.page-results .date-cell .fare{font-size:17px}
.page-results .smart-note{font-size:var(--ps-text-label)}
.page-results .filters-head h2{font-size:var(--ps-text-card-title)}
.page-results .clear-filter{font-size:var(--ps-text-meta)}
.page-results .filter-section h3{font-size:var(--ps-text-subtitle)}
.page-results .filter-option{font-size:var(--ps-text-body)}
.page-results .time-chip,.page-results .price-range,.page-results .airport-code,.page-results .filter-count{font-size:var(--ps-text-meta)}
.page-results .sort-tab,.page-results .result-count{font-size:var(--ps-text-label)}
.page-results .flight-badge-row{font-size:var(--ps-text-meta)}
.page-results .airline-name{font-size:var(--ps-text-body);font-weight:var(--ps-weight-semibold);color:#334b5b}
.page-results .flight-no{font-size:var(--ps-text-meta);color:#71838f}
.page-results .time-point .clock{font-size:var(--ps-text-flight-time);line-height:1.2;color:#263d50}
.page-results .time-point .apt{font-size:var(--ps-text-meta);line-height:1.3;color:#536879}
.page-results .journey{overflow:visible;min-width:0;padding-block:1px}
.page-results .duration{font-size:var(--ps-text-meta);line-height:1.45;color:#536879;margin-bottom:5px}
.page-results .stop-text{display:block;font-size:var(--ps-text-label);line-height:20px;min-height:20px;color:#1f7a55;font-weight:var(--ps-weight-bold);overflow:visible;white-space:nowrap;margin-top:5px}
.page-results .meta-line{font-size:var(--ps-text-meta);line-height:1.4;color:#71838f}
.page-results .price-label{font-size:var(--ps-text-meta)}
.page-results .price{font-size:var(--ps-text-price)}
.page-results .price .sar{font-size:var(--ps-text-meta)}
.page-results .select-flight{font-size:var(--ps-text-body)}
.page-results .flight-details-toggle,.page-results .flight-extra,.page-results .extra-pill{font-size:var(--ps-text-meta)}
.page-results .fare-options-title{font-size:var(--ps-text-card-title)}
.page-results .fare-options-sub,.page-results .fare-plan-note,.page-results .fare-group-title,.page-results .fare-feature,.page-results .fare-status{font-size:var(--ps-text-meta)}
.page-results .fare-plan-name{font-size:var(--ps-text-subtitle)}
.page-results .fare-plan-price{font-size:var(--ps-text-flight-time)}
.page-results .choose-fare{font-size:var(--ps-text-body)}
.page-results .fare-confirm-dialog{width:min(460px,calc(100vw - 32px));border-radius:16px}
.page-results .fare-confirm-head{padding:12px 15px}
.page-results .fare-confirm-head strong{font-size:var(--ps-text-card-title)}
.page-results .fare-confirm-body{padding:14px 15px 12px}
.page-results .fare-confirm-time strong{font-size:var(--ps-text-flight-time)}
.page-results .fare-confirm-time span,.page-results .fare-confirm-mid{font-size:var(--ps-text-meta)}
.page-results .fare-confirm-mid b{font-size:var(--ps-text-label)}
.page-results .fare-confirm-fare strong{font-size:var(--ps-text-body)}
.page-results .fare-confirm-fare span{font-size:var(--ps-text-price)}
.page-results .fare-confirm-actions{padding:0 15px 14px}
.page-results .fare-confirm-actions button{font-size:var(--ps-text-body);min-height:40px}

/* Results context cards — one source, no page-local patch. */
.page-results .results .demo-band,.page-results .results .search-summary{width:100%;box-sizing:border-box;border-radius:20px;overflow:hidden;box-shadow:0 8px 22px rgba(0,52,39,.045);margin:0 0 12px}
.page-results .results .demo-band{background:#fff8e8;border:1px solid #f0dfae;color:#7d5a13}
.page-results .results .search-summary{background:#fff;border:1px solid #dfe8e4}
.page-results .results .context-inner{width:100%;box-sizing:border-box;padding-inline:16px}
.page-results .results .demo-band .context-inner{min-height:42px;display:flex;align-items:center;gap:8px;font-size:var(--ps-text-meta);font-weight:600}
.page-results .results .search-summary .summary-row{min-height:72px;padding-block:10px}

/* Traveler details typography */
.page-traveler .srw-stage-head h3{font-size:var(--ps-text-page-title);line-height:1.35}
.page-traveler .srw-stage-head p{font-size:var(--ps-text-body)}
.page-traveler .srw-field>span:not(.clean-airport-pin):not(.flight-iata-badge),.page-traveler .required-contact-label{font-size:var(--ps-text-label)}
.page-traveler .srw-field input,.page-traveler .srw-field select,.page-traveler .srw-field textarea,.page-traveler .read-only-country{font-size:var(--ps-text-body)}
.page-traveler #travelerEditorTitle,.page-traveler .contact-booking-toggle>strong{font-size:var(--ps-text-subtitle)}
.page-traveler .section-block-title,.page-traveler .traveler-section-label{font-size:var(--ps-text-subtitle)}
.page-traveler .title-pills button,.page-traveler .country-picker-input,.page-traveler .country-picker-option,.page-traveler .clean-select-button,.page-traveler .clean-select-menu,.page-traveler .clean-select-option{font-size:var(--ps-text-body)}
.page-traveler .field-hint,.page-traveler .inline-error,.page-traveler .traveler-unsaved-note{font-size:var(--ps-text-meta)}
.page-traveler .traveler-card-summary strong{font-size:var(--ps-text-subtitle);font-weight:var(--ps-weight-bold)}
.page-traveler .traveler-card-type{font-size:var(--ps-text-label);font-weight:var(--ps-weight-semibold)}
.page-traveler .traveler-detail-row span{font-size:var(--ps-text-label);font-weight:var(--ps-weight-medium);line-height:1.45}
.page-traveler .traveler-detail-row b{font-size:var(--ps-text-body);font-weight:var(--ps-weight-semibold);line-height:1.5}
.page-traveler .traveler-card-actions button{font-size:var(--ps-text-label);font-weight:var(--ps-weight-bold)}
.page-traveler .traveler-detail-row{min-height:38px;padding-block:7px}
.page-traveler .booking-summary-head strong{font-size:var(--ps-text-card-title)}
.page-traveler .booking-summary-link{font-size:var(--ps-text-label)}
.page-traveler .booking-direction-badge,.page-traveler .booking-flight-date,.page-traveler .booking-flight-number,.page-traveler .booking-direct,.page-traveler .booking-duration,.page-traveler .booking-airport,.page-traveler .booking-baggage-row{font-size:var(--ps-text-meta)}
.page-traveler .booking-airline-copy strong{font-size:var(--ps-text-body)}
.page-traveler .booking-flight-time{font-size:var(--ps-text-flight-time)}
.page-traveler .booking-price-row{font-size:var(--ps-text-body)}
.page-traveler .booking-price-row strong{font-size:var(--ps-text-body)}
.page-traveler .booking-total-row strong:first-child{font-size:var(--ps-text-body)}
.page-traveler .booking-total-row strong:last-child{font-size:var(--ps-text-total)}
.page-traveler .booking-summary-continue{font-size:var(--ps-text-body)}

/* Extras typography */
.page-extras .extras-head h1{font-size:var(--ps-text-page-title)}
.page-extras .extras-head p{font-size:var(--ps-text-body)}
.page-extras .demo-note{font-size:var(--ps-text-meta)}
.page-extras .extras-card-title strong{font-size:var(--ps-text-subtitle)}
.page-extras .extras-card-title span{font-size:var(--ps-text-label)}
.page-extras .option-card b,.page-extras .seat-copy strong,.page-extras .choice-copy strong{font-size:var(--ps-text-body)}
.page-extras .option-card small,.page-extras .seat-copy span,.page-extras .choice-copy span{font-size:var(--ps-text-label)}
.page-extras .primary-outline,.page-extras .continue-btn{font-size:var(--ps-text-body)}
.page-extras .summary-head strong{font-size:var(--ps-text-card-title)}
.page-extras .trip-direction-badge,.page-extras .trip-date,.page-extras .summary-mid b,.page-extras .summary-mid small,.page-extras .trip-code,.page-extras .trip-missing,.page-extras .extra-summary-row,.page-extras .extra-summary-empty,.page-extras .price-row{font-size:var(--ps-text-meta)}
.page-extras .summary-airline strong{font-size:var(--ps-text-body)}
.page-extras .summary-time strong{font-size:var(--ps-text-flight-time)}
.page-extras .total-row span{font-size:var(--ps-text-body)}
.page-extras .total-row strong{font-size:var(--ps-text-total)}

/* Review & payment typography */
.page-review .review-head h1{font-size:var(--ps-text-page-title)}
.page-review .review-head p{font-size:var(--ps-text-body)}
.page-review .panel-head strong{font-size:var(--ps-text-card-title)}
.page-review .panel-head button{font-size:var(--ps-text-label)}
.page-review .payment-title{font-size:var(--ps-text-section-title)}
.page-review .pay-method .method-label,.page-review .coming-soon{font-size:var(--ps-text-meta)}
.page-review .secure-strip{font-size:var(--ps-text-body)}
.page-review .card-form-title,.page-review .coupon-title{font-size:var(--ps-text-card-title)}
.page-review .field label{font-size:var(--ps-text-label)}
.page-review .field input,.page-review .coupon-row input{font-size:var(--ps-text-body)}
.page-review .coupon-row button,.page-review .pay-button{font-size:var(--ps-text-body)}
.page-review .coupon-note,.page-review .traveler-detail,.page-review .traveler-edit{font-size:var(--ps-text-label)}
.page-review .traveler-toggle strong{font-size:var(--ps-text-subtitle)}
.page-review .traveler-toggle>div span,.page-review .traveler-detail b{font-size:var(--ps-text-meta)}
.page-review .terms-row{font-size:var(--ps-text-body)}
.page-review .summary-head strong{font-size:var(--ps-text-card-title)}
.page-review .summary-head button,.page-review .trip-badge,.page-review .trip-date,.page-review .trip-mid b,.page-review .trip-mid small,.page-review .rule-row,.page-review .summary-row,.page-review .summary-empty{font-size:var(--ps-text-meta)}
.page-review .airline-copy strong{font-size:var(--ps-text-body)}
.page-review .trip-time strong{font-size:var(--ps-text-flight-time)}
.page-review .total-row span{font-size:var(--ps-text-body)}
.page-review .total-row strong{font-size:var(--ps-text-total)}

/* Functional homepage/search UI follows the same base system; marketing hero keeps its intentional display scale. */
.page-home .srw-field>span:not(.clean-airport-pin):not(.flight-iata-badge),.page-home .required-contact-label{font-size:var(--ps-text-label)}
.page-home .srw-field input,.page-home .srw-field select,.page-home .srw-field textarea,.page-home .read-only-country{font-size:var(--ps-text-body)}
.page-home .srw-next,.page-home .srw-submit,.page-home .srw-back{font-size:var(--ps-text-body)}

/* Review notice alignment in both directions. */
html[dir="ltr"] .demo-card-notice{margin-left:0;margin-right:auto;text-align:left}
html[dir="rtl"] .demo-card-notice{margin-right:0;margin-left:auto;text-align:right}

@media(max-width:680px){
  :root{--ps-text-page-title:22px;--ps-text-section-title:18px;--ps-text-card-title:16px;--ps-text-flight-time:18px;--ps-text-total:20px}
  .page-results .results .demo-band .context-inner{font-size:var(--ps-text-meta);line-height:1.55;padding-block:8px}
  .page-results .results .search-summary .summary-row{padding-block:12px}
  .page-results .fare-confirm-dialog{width:min(460px,calc(100vw - 22px))}
}


.demo-card-notice{font-size:var(--ps-text-meta)}

/* Readability floor for functional microcopy. Decorative logo captions/icons remain responsive. */
.customer-auth-option small,.customer-auth-status,.site-footer__bottom{font-size:var(--ps-text-meta)}
.page-home .traveler-stepper small,.page-home .airport-option-copy small{font-size:var(--ps-text-meta)}
.page-results .demo-band .wrap,.page-results .mobile-filter-btn,.page-results .hide-fares,.page-results .fare-plan-price .sar,.page-results .fare-plan-tag,.page-results .preserved-traveler-note,.page-results .roundtrip-stage-change{font-size:var(--ps-text-meta)}
.page-traveler .traveler-stepper small,.page-traveler .airport-option-copy small,.page-traveler .phone-country-option small,.page-traveler .booking-baggage-row strong,.page-traveler .booking-price-row.muted{font-size:var(--ps-text-meta)}
.page-extras .traveler-select label,.page-extras .seat-legend{font-size:var(--ps-text-meta)}
.page-review .card-network-status,.page-review .alt-method-panel p,.page-review .price-change-value span,.page-review .dialog-secondary{font-size:var(--ps-text-meta)}

/* Central reusable details modal — flight and fare details use the same typography/layout system. */
body.premier-modal-open{overflow:hidden}
.premier-details-backdrop{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(22,45,38,.38);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.premier-details-backdrop.show{opacity:1;visibility:visible;pointer-events:auto}
.premier-details-dialog{width:min(560px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;background:#fff;border:1px solid #dfe8e4;border-radius:18px;box-shadow:0 28px 78px rgba(0,52,39,.22);overflow:hidden}
.premier-details-head{min-height:58px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8faf9;border-bottom:1px solid #e7eeeb}
.premier-details-head>strong{font-size:var(--ps-text-card-title);font-weight:var(--ps-weight-bold);line-height:1.4;color:#26473e}
.premier-details-close{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#657a73;font:400 24px/1 Arial,sans-serif;cursor:pointer}
.premier-details-close:hover{background:#eef4f1}
.premier-details-body{overflow:auto;padding:14px 16px;display:grid;gap:12px}
.premier-details-section{border:1px solid #e1e9e6;border-radius:14px;padding:13px;background:#fff}
.premier-details-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.premier-details-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 10px;border-radius:999px;background:#eef8f5;color:#14745a;font-size:var(--ps-text-meta);font-weight:var(--ps-weight-bold)}
.premier-details-date,.premier-details-fare-name{font-size:var(--ps-text-label);font-weight:var(--ps-weight-semibold);color:#536879}
.premier-details-airline{display:flex;align-items:center;gap:10px;margin-bottom:12px}.premier-details-airline>div{display:grid;gap:2px}.premier-details-airline strong{font-size:var(--ps-text-body);font-weight:var(--ps-weight-semibold);color:#334b5b}.premier-details-airline span:not(.booking-airline-mark){font-size:var(--ps-text-meta);color:#71838f}
.premier-details-route{direction:ltr;display:grid;grid-template-columns:minmax(86px,1fr) minmax(110px,1.2fr) minmax(86px,1fr);align-items:center;gap:10px;padding:11px 0;border-block:1px solid #edf1ef}.premier-details-route>div:not(.premier-details-route-mid){text-align:center;display:grid;gap:3px}.premier-details-route>div>strong{font-size:var(--ps-text-flight-time);line-height:1.2;color:#263d50}.premier-details-route>div>span{font-size:var(--ps-text-meta);font-weight:var(--ps-weight-bold);color:#536879}.premier-details-route-mid{text-align:center;display:grid;gap:3px}.premier-details-route-mid b{font-size:var(--ps-text-label);color:#1f7a55}.premier-details-route-mid span{font-size:var(--ps-text-meta);color:#71838f}
.premier-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:8px}.premier-details-row{min-height:42px;padding:8px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eef2f0}.premier-details-row.wide{grid-column:1/-1}.premier-details-row span{font-size:var(--ps-text-label);font-weight:var(--ps-weight-medium);color:#71838f}.premier-details-row strong{font-size:var(--ps-text-body);font-weight:var(--ps-weight-semibold);color:#263d50;text-align:end}
.premier-details-note{margin:0;padding:10px 12px;border-radius:10px;background:#f6f9f8;color:#647872;font-size:var(--ps-text-body);line-height:1.6}
.premier-details-foot{padding:0 16px 15px}.premier-details-done{width:100%;min-height:42px;border:0;border-radius:999px;background:#0c765d;color:#fff;font-family:inherit;font-size:var(--ps-text-body);font-weight:var(--ps-weight-bold);cursor:pointer}
@media(max-width:620px){.premier-details-backdrop{padding:10px}.premier-details-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:16px}.premier-details-body{padding:12px}.premier-details-grid{grid-template-columns:1fr}.premier-details-row.wide{grid-column:auto}.premier-details-route{grid-template-columns:1fr .9fr 1fr}.premier-details-head{min-height:54px;padding:10px 13px}.premier-details-foot{padding:0 12px 12px}}
