.tickets-main { padding: 40px; color: #294757; }
.tickets-heading { margin-bottom: 28px; }
.tickets-eyebrow { color: #53778b; font-size: 10px; font-weight: 700; letter-spacing: .13em; display: block; margin-bottom: 10px; }
.tickets-heading h1 { font-size: clamp(28px,4vw,42px); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; color: #183f55; }
.tickets-heading p { color: #587080; font-size: 14px; margin-top: 14px; line-height: 1.7; }
.ticket-modes { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.ticket-modes legend { font-size: 12px; font-weight: 600; color: #426478; margin-bottom: 12px; }
.ticket-modes label { position: relative; cursor: pointer; }
.ticket-modes input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ticket-mode-card { display: flex; gap: 14px; align-items: center; padding: 20px; border: 1px solid #d5e4ec; border-radius: 16px; background: rgba(255,255,255,.6); transition: border-color .2s,background .2s; }
.ticket-mode-card > .material-symbols-outlined { color: #537b90; font-size: 28px; }
.ticket-mode-card strong { display: block; font-size: 14px; font-weight: 600; }
.ticket-mode-card small { display: block; font-size: 11px; color: #627e8d; margin-top: 6px; }
.ticket-modes input:checked + .ticket-mode-card { border-color: #23b0eb; background: #e6f3f9; box-shadow: inset 0 0 0 1px #23b0eb; }
.ticket-modes input:focus-visible + .ticket-mode-card { outline: 3px solid #23b0eb; outline-offset: 4px; }
.ticket-steps { display: flex; gap: 28px; flex-wrap: wrap; font-size: 11px; color: #607c8d; padding: 24px 0; }
.ticket-steps li { display: flex; align-items: center; gap: 8px; }
.ticket-steps b { display: inline-flex; justify-content: center; align-items: center; width: 24px; height: 24px; border-radius: 50%; background: #e1edf4; color: #21526d; }
.ticket-filters { display: flex; align-items: end; gap: 14px; flex-wrap: wrap; padding: 22px; border: 1px solid #d9e7ee; border-radius: 18px; background: rgba(255,255,255,.7); margin-bottom: 32px; }
.ticket-filters label { flex: 1; min-width: 160px; }
.ticket-filters label,#ticketOrderForm label { display: block; font-size: 12px; color: #45687b; font-weight: 500; }
.ticket-filters select,.ticket-filters input,#ticketOrderForm input,#ticketOrderForm select,#ticketOrderForm textarea { display: block; width: 100%; border: 1px solid #cddfe9; border-radius: 10px; background: #fff; color: #294757; padding: 12px; margin-top: 7px; font-size: 13px; min-width: 0; }
.ticket-filters input:focus,.ticket-filters select:focus,#ticketOrderForm input:focus,#ticketOrderForm select:focus,#ticketOrderForm textarea:focus { outline: 2px solid #23b0eb; outline-offset: 1px; }
.ticket-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; border: 0; border-radius: 12px; padding: 13px 20px; background: #21526d; color: #fff; font-weight: 600; font-size: 12px; cursor: pointer; white-space: nowrap; transition: background .2s; }
.ticket-button:hover { background: #183f55; }
.ticket-clear { color: #56788b; font-size: 12px; padding: 12px 0; text-decoration: underline; }
.tickets-list-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; gap: 16px; }
.tickets-list-heading h2 { color: #244c63; font-size: 20px; font-weight: 600; }
.tickets-list-heading > span { color: #668292; font-size: 12px; }
.ticket-flight-list { display: grid; gap: 16px; }
.ticket-flight { display: grid; grid-template-columns: 1fr 1.6fr 1fr auto; align-items: center; gap: 24px; padding: 24px; background: rgba(255,255,255,.78); border: 1px solid #d7e6ee; border-radius: 18px; }
.ticket-flight-airline { display: flex; align-items: center; gap: 12px; }
.ticket-flight-airline > span { color: #23b0eb; }
.ticket-flight-airline strong { display: block; font-weight: 600; font-size: 12px; }
.ticket-flight-airline small { display: block; font-size: 10px; color: #648191; margin-top: 6px; }
.ticket-flight-route { display: flex; align-items: center; gap: 20px; justify-content: space-between; }
.ticket-flight-route strong { display: block; font-size: 23px; font-weight: 600; color: #21526d; }
.ticket-flight-route div:last-child { text-align: right; }
.ticket-flight-route div > span { display: block; color: #5d7c8d; font-size: 12px; margin-top: 6px; }
.ticket-route-line { border-top: 1px dashed #a1bdcc; flex: 1; min-width: 32px; position: relative; color: #23b0eb; text-align: center; line-height: 0; }
.ticket-flight-price { text-align: right; }
.ticket-flight-price strong { display: block; font-size: 24px; font-weight: 700; color: #21526d; }
.ticket-flight-price small { font-size: 11px; font-weight: 500; }
.ticket-flight-price > span { display: block; font-size: 10px; color: #648191; margin-top: 6px; }
.ticket-footnote { margin-top: 24px; font-size: 11px; color: #607e90; line-height: 1.8; }
.ticket-empty { border: 1px dashed #a6c5d5; border-radius: 18px; padding: 48px 20px; text-align: center; }
.ticket-empty > span { color: #75abc3; font-size: 36px; }
.ticket-empty h3 { font-size: 18px; font-weight: 600; margin-top: 12px; }
.ticket-empty p { font-size: 12px; color: #648191; line-height: 1.8; margin: 12px 0 20px; }
.ticket-alert { padding: 16px 20px; border-radius: 12px; font-size: 13px; line-height: 1.8; margin: 16px 0; }
.ticket-alert--success { background: #e6f5eb; color: #24603c; border: 1px solid #b0d9c1; }
.ticket-alert--error { background: #fff0f0; color: #a12f36; border: 1px solid #eac1c1; }
#ticketModal { padding: 28px; width: calc(100% - 32px); max-width: 560px; max-height: 90dvh; border: 1px solid #dbe8ef; border-radius: 22px; color: #294757; background: #fff; overflow-y: auto; }
#ticketModal::backdrop { background: rgba(10,31,44,.6); backdrop-filter: blur(6px); }
.ticket-modal-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 20px; }
.ticket-modal-head h2 { font-size: 22px; font-weight: 600; color: #21526d; }
.ticket-modal-head button { width: 36px; height: 36px; border-radius: 50%; background: #edf4f8; font-size: 25px; color: #42677c; }
.ticket-summary { padding: 16px; background: #eef6fa; border-radius: 12px; font-size: 13px; line-height: 1.9; color: #365b71; margin-bottom: 20px; }
#ticketOrderForm { display: grid; gap: 16px; }
#companyFields > label + label { margin-top: 16px; }
#ticketOrderForm small { font-size: 10px; color: #7792a2; }
.ticket-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.ticket-field-note { font-size: 11px; line-height: 1.8; color: #637d8d; margin-top: 8px; }
.ticket-total { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; background: #eef6fa; border-radius: 12px; font-size: 12px; }
.ticket-total strong { color: #21526d; font-size: 20px; }
.ticket-button:focus-visible { outline: 3px solid #23b0eb; outline-offset: 4px; }
@media (max-width: 1100px) { .ticket-flight { grid-template-columns: 1fr 1.4fr; } .ticket-flight-price { text-align: left; } .ticket-select { justify-self: end; } }
@media (max-width: 767px) { .tickets-main { padding: 28px 20px; } .ticket-modes { grid-template-columns: 1fr; gap: 10px; } .ticket-mode-card { padding: 14px 18px; } .ticket-steps { gap: 12px; } .ticket-flight { grid-template-columns: 1fr 1fr; padding: 20px; gap: 20px; } .ticket-flight-route { grid-column: 1 / -1; grid-row: 2; } .ticket-flight-airline { grid-column: 1 / -1; } .ticket-filters { padding: 18px; } .ticket-filters label { min-width: 100%; } .ticket-filters .ticket-button { flex: 1; } #ticketModal { padding: 22px; } .ticket-form-row { grid-template-columns: 1fr; } .ticket-total { flex-wrap: wrap; } }
.ticket-filters [type="hidden"],#ticketOrderForm [type="hidden"] { display: none; }
.ticket-seating { border: 1px solid #d5e4ec; padding: 18px; border-radius: 16px; background: #f7fbfd; }
.ticket-seating h3 { font-size: 16px; font-weight: 600; color: #21526d; margin-bottom: 14px; }
.ticket-seating label { margin-top: 12px; }
.ticket-seat-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 10px; color: #53778b; margin: 18px 0 12px; }
.ticket-seat-map { max-height: 260px; overflow: auto; border: 1px solid #dbe8ef; border-radius: 24px 24px 12px 12px; padding: 16px 8px; background: white; }
.ticket-seat-row { display: flex; gap: 5px; align-items: center; justify-content: center; margin: 6px 0; min-width: max-content; }
.ticket-seat-row > span:first-child { width: 22px; font-size: 10px; text-align: center; color: #678494; flex-shrink: 0; }
.ticket-seat-aisle { width: 15px; flex-shrink: 0; }
.ticket-seat { width: 34px; height: 34px; border: 1px solid #a9c6d5; border-radius: 8px 8px 4px 4px; background: #eef6fa; color: #21526d; font-size: 11px; flex-shrink: 0; }
.ticket-seat:disabled { background: #e5e9ec; color: #a0adb6; border-color: #d8e0e5; }
.ticket-seat.is-selected { background: #21526d; border-color: #21526d; color: #fff; }
.ticket-seat.is-selected.batch-2 { background: #297c78; border-color: #297c78; }
.ticket-seat.is-selected.batch-0 { background: #796293; border-color: #796293; }
.ticket-seat:focus-visible { outline: 2px solid #23b0eb; outline-offset: 2px; }
@media(max-width:420px) { .ticket-seating { padding: 12px; } .ticket-seat { width: 28px; height: 32px; } .ticket-seat-row { gap: 3px; } .ticket-seat-aisle { width: 10px; } }

/* Managed brand image replaces the generic flight icon. */
.ticket-flight-airline .ticket-card-brand{display:flex;align-items:center;justify-content:center;width:84px;height:44px;flex-shrink:0;padding:8px;border-radius:10px;background:#21526d}
.ticket-card-brand img{display:block;width:100%;height:100%;object-fit:contain}
.ticket-flight-airline>div{min-width:0;overflow-wrap:break-word}
@media(max-width:639px){.ticket-flight-list .ticket-flight-airline{flex-wrap:wrap;gap:8px}.ticket-flight-airline .ticket-card-brand{width:76px;height:40px}.ticket-flight-list .ticket-flight-airline>div{flex:1 1 80px}}
/* Aircraft cabin plan, with distinct inventory and selection states. */
.ticket-cabin{max-width:540px;margin:16px auto 0;border:2px solid #c7dce7;border-radius:16px;background:#fff;overflow:hidden}
.ticket-cabin .ticket-seat-map{max-height:400px;border:0;border-radius:0;padding:16px 8px;background:transparent}
.ticket-cabin .ticket-seat{width:38px;height:42px;font-size:10px;position:relative;border-radius:9px 9px 5px 5px;box-shadow:inset 0 -5px #a9c6d544}
.ticket-cabin .ticket-seat:not(:disabled):hover{border-color:#21526d;background:#dceef7}
.ticket-cabin .ticket-seat.is-selected,.ticket-cabin .ticket-seat.is-selected:hover{background:#21526d;color:#fff;border-color:#21526d}
.ticket-cabin .ticket-seat.is-taken{background:#dce3e8;color:#7b8c98;border-color:#cbd6df;box-shadow:none}
.ticket-cabin .ticket-seat.is-blocked{background:#f4e5e5;color:#a36a6a;border-color:#e4c5c5;box-shadow:none;text-decoration:line-through}
.ticket-seat-legend>span{display:inline-flex;align-items:center;gap:6px}
.ticket-seat-legend>span::before{content:'';width:14px;height:16px;border-radius:4px;border:1px solid #a9c6d5;background:#eef6fa}
.ticket-seat-legend>.seat-legend-selected::before{background:#21526d;border-color:#21526d}
.ticket-seat-legend>.seat-legend-taken::before{background:#dce3e8;border-color:#cbd6df}
.ticket-seat-legend>.seat-legend-blocked::before{background:#f4e5e5;border-color:#e4c5c5}
#ticketSeatStatus{font-weight:600;color:#21526d;font-size:12px;line-height:1.8}
@media(max-width:420px){.ticket-cabin .ticket-seat{width:32px;height:38px}.ticket-cabin .ticket-seat-row{gap:4px}.ticket-cabin .ticket-seat-aisle{width:12px}.ticket-cabin .ticket-seat-row>span:first-child{width:18px}.ticket-seating{padding:12px}.ticket-seat-legend{gap:10px;font-size:11px}}

.ticket-seat-sample-note{padding:12px;border:1px solid #e3d3a7;border-radius:12px;background:#fff8e8;color:#806326;font-size:12px;line-height:1.8;margin:12px 0}
.ticket-seat-sample-note[hidden]{display:none}

/* Compact flight request, using the site's primary brand color. */
body.ap-route-tiiz .ap-glass-content{max-width:1140px;border-radius:22px;margin-top:24px;margin-bottom:36px}
.tickets-main,#ticketModal{--ticket-primary:#1e4f6b;--ticket-primary-dark:#183f56}
.tickets-main{max-width:1140px;margin:0 auto;padding:28px 28px 40px}
.tickets-heading{margin-bottom:20px}.tickets-eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:8px}
.tickets-heading h1{font-size:30px;line-height:1.3}.tickets-heading p{font-size:12px;margin-top:10px;line-height:1.8;max-width:720px}
.ticket-builder{padding:22px;background:#fff;border:1px solid #dce7ed;border-radius:20px;box-shadow:0 8px 28px #1e4f6b0a}
.ticket-options-row{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #edf2f5}
.ticket-builder-row{display:contents}
.ticket-builder legend,.ticket-builder-label{font-size:11px;font-weight:600;color:#678090;margin-bottom:10px;display:block;line-height:1.5}
.ticket-builder legend b,.ticket-builder-label b{display:none}
.ticket-builder .ticket-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;min-width:0}
.ticket-builder .ticket-mode-card{padding:10px 12px;gap:8px;min-height:50px;background:#f8fafc;border:1px solid #e0e9ee;border-radius:10px}
.ticket-builder .ticket-mode-card>.material-symbols-outlined{font-size:18px;color:var(--ticket-primary)}
.ticket-builder .ticket-mode-card strong{font-size:12px;font-weight:600}.ticket-builder .ticket-mode-card small{display:none}
.ticket-builder .ticket-modes input:checked+.ticket-mode-card{border-color:var(--ticket-primary);background:#edf5f9;box-shadow:none}
.ticket-journey{border:0;padding:0;min-width:0}
.ticket-journey-options{display:flex;background:#f3f6f8;padding:4px;border-radius:10px;gap:4px}
.ticket-journey-options label{position:relative;flex:1;cursor:pointer}
.ticket-journey-options input{position:absolute;opacity:0;width:1px;height:1px}
.ticket-journey-options label>span{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap}
.ticket-journey-options input:checked+span{background:#fff;border-color:#d3e1e9;color:var(--ticket-primary);box-shadow:0 2px 4px #1e4f6b08}
.ticket-journey-options input:focus-visible+span{outline:2px solid var(--ticket-primary);outline-offset:2px}
.ticket-travelers{min-width:0;position:relative}#passengerPicker{position:relative}
#passengerPicker summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:50px;border:1px solid #d9e5ec;border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer;font-size:12px}
#passengerPicker summary::-webkit-details-marker{display:none}#passengerPicker summary>span:last-child{margin-left:auto;color:#7891a0}
#passengerPicker summary>.material-symbols-outlined{font-size:18px;color:var(--ticket-primary)}#passengerLabel{line-height:1.5}
.ticket-passenger-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:320px;max-width:calc(100vw - 56px);padding:18px;border:1px solid #dbe7ee;border-radius:14px;background:#fff;box-shadow:0 10px 30px #1e4f6b1a}
.ticket-counter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.ticket-counter>span{display:flex;flex-direction:column;gap:4px}.ticket-counter strong{font-size:13px}.ticket-counter small{color:#8194a0;font-size:11px}
.ticket-counter>div{display:flex;align-items:center;gap:6px}
.ticket-counter button{height:32px;width:32px;background:var(--ticket-primary);color:#fff;border:0;border-radius:50%;font-size:23px;line-height:1;cursor:pointer;box-shadow:none;transition:background .15s,transform .15s}
.ticket-counter button:not(:disabled):hover{background:var(--ticket-primary-dark);transform:translateY(-1px)}
.ticket-counter button:disabled{background:#e9f0f4;color:#a2b3bd;opacity:1;cursor:default}
.ticket-counter input{width:34px;text-align:center;padding:4px 0;border:0;background:transparent;font-size:16px;color:var(--ticket-primary);appearance:textfield}
.ticket-counter input::-webkit-inner-spin-button,.ticket-counter input::-webkit-outer-spin-button{appearance:none;margin:0}
.ticket-passenger-panel p{color:#7a8e9a;font-size:10px;line-height:1.8;margin-bottom:14px}.ticket-passenger-panel>.ticket-button{width:100%;padding:10px 16px;font-size:11px}
.ticket-itinerary-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.ticket-route-section,.ticket-date-section,.ticket-date-fields>div{min-width:0}
.ticket-route-fields{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px;margin:0}
.ticket-route-arrow{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:16px;line-height:20px;width:24px;text-align:center;border:1px solid #e0e9ee;background:#fff;border-radius:50%;color:var(--ticket-primary);z-index:1}
.ticket-route-fields label,.ticket-date-fields label{font-size:11px;color:#678090;min-width:0;display:block;line-height:1.5}
.ticket-route-fields select,.ticket-date-fields select{margin-top:10px;min-height:50px;border:1px solid #d9e5ec;border-radius:10px;background-color:#f9fbfc;width:100%;font-size:12px;color:#294757;padding:10px 30px 10px 12px;text-overflow:ellipsis}
.ticket-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ticket-date-fields:has(>#returnDateField[hidden]){grid-template-columns:1fr}
.ticket-builder select:focus-visible,#passengerPicker summary:focus-visible,.ticket-counter button:focus-visible{outline:2px solid var(--ticket-primary);outline-offset:2px}
.ticket-availability-note{font-size:10px;color:#78909e;line-height:1.8;margin:12px 0 0}
.ticket-selected-flights{display:grid;gap:8px;margin-top:14px}
.ticket-chosen-flight{display:flex;align-items:center;gap:12px;padding:12px;background:#f3f8fb;border:1px solid #e0ebf1;border-radius:10px;min-width:0}
.ticket-chosen-flight .ticket-card-brand{display:flex;align-items:center;justify-content:center;width:68px;height:38px;background:var(--ticket-primary);border-radius:7px;padding:7px;flex-shrink:0}
.ticket-chosen-flight>div{min-width:0}.ticket-chosen-flight strong{font-size:12px;line-height:1.6;display:block}.ticket-chosen-flight small{font-size:10px;line-height:1.8;display:block;color:#688697;margin-top:3px}
.ticket-builder-footer{display:flex;justify-content:flex-end;align-items:center;gap:20px;border-top:1px solid #edf2f5;padding-top:16px;margin-top:16px}
.ticket-builder-footer p{font-size:10px;color:#75909e;max-width:480px;line-height:1.8}.ticket-builder-footer .ticket-button{min-height:42px;padding:11px 22px;font-size:12px;border-radius:10px}
.tickets-main .ticket-button,#ticketModal .ticket-button{background:#1e4f6b}.tickets-main .ticket-button:hover,#ticketModal .ticket-button:hover{background:#183f56}
.ticket-button:disabled,.tickets-main .ticket-button:disabled{background:#c5d3dc;color:white;cursor:default}
.ticket-builder [hidden],.ticket-selected-flights[hidden]{display:none}.ticket-footnote{font-size:10px;margin-top:16px}
#ticketFlightSummary{padding:0;background:transparent}#ticketFlightSummary .ticket-chosen-flight{margin-bottom:8px}#ticketFlightSummary>p{margin:12px 0;font-size:12px;font-weight:600}
.ticket-date-fields select[hidden]{display:none}.ticket-date-picker{position:relative;margin-top:10px;font-size:12px}
.ticket-date-picker summary{list-style:none;display:flex;align-items:center;min-height:50px;padding:10px 30px 10px 12px;border:1px solid #d9e5ec;background:#f9fbfc;border-radius:10px;line-height:1.7;cursor:pointer;position:relative}
.ticket-date-picker summary:after{content:'⌄';position:absolute;right:12px;color:#7d97a5;font-size:17px}.ticket-date-picker summary::-webkit-details-marker{display:none}
.ticket-date-picker summary:focus-visible{outline:2px solid var(--ticket-primary);outline-offset:2px}.ticket-date-picker.is-disabled summary{background:#f5f8fa;color:#8c9faa;cursor:default}
.ticket-date-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:300px;overflow:auto;padding:6px;border:1px solid #dbe7ee;border-radius:12px;background:#fff;box-shadow:0 10px 30px #1e4f6b1a;z-index:15}
.ticket-date-option{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;text-align:left;width:100%;padding:12px 10px;border:0;background:#fff;border-radius:8px;color:#294757;cursor:pointer}
.ticket-date-option:hover,.ticket-date-option[aria-pressed=true]{background:#edf5f9}.ticket-date-option strong{font-size:12px}.ticket-date-option span{color:#6f8290;font-size:11px}.ticket-date-option small{flex-basis:100%;color:#7d95a2;font-size:10px}
.ticket-date-option:disabled{opacity:.4;cursor:default}.ticket-date-option:focus-visible{outline:2px solid var(--ticket-primary);outline-offset:-2px}
@media(min-width:768px) and (max-width:1023px){.ticket-options-row{grid-template-columns:1.1fr 1fr;gap:16px}.ticket-travelers{grid-column:1/-1}.ticket-passenger-panel{left:0;right:auto}.ticket-itinerary-row{grid-template-columns:1fr;gap:16px}}
@media(max-width:767px){
 .tickets-main{padding:22px 16px 32px}.tickets-heading{margin-bottom:16px}.tickets-heading h1{font-size:24px}.tickets-heading p{font-size:11px;margin-top:8px}
 .ticket-builder{padding:16px;border-radius:16px}.ticket-options-row{grid-template-columns:1fr;gap:16px;margin-bottom:16px;padding-bottom:16px}
 .tickets-main .ticket-builder .ticket-modes{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px}
 .tickets-main .ticket-builder .ticket-mode-card{flex-direction:row;align-items:center;gap:8px;padding:10px;min-height:46px}.ticket-builder .ticket-mode-card strong{font-size:11px}
 .ticket-builder legend,.ticket-builder-label{font-size:11px;margin-bottom:8px}.ticket-journey-options label>span{min-height:40px}
 #passengerPicker summary{min-height:46px}.ticket-passenger-panel{width:100%;max-width:none;min-width:0;padding:16px}
 .ticket-counter button{width:36px;height:36px}.ticket-counter input{font-size:16px}.ticket-passenger-panel p{font-size:10px}
 .ticket-itinerary-row{grid-template-columns:1fr;gap:16px}.ticket-route-fields{gap:10px}body .ticket-route-fields label{font-size:10px;line-height:1.5}body .ticket-route-fields :is(#ticketOrigin,#ticketDestination){min-height:48px;font-size:13px!important;line-height:1.5!important;padding-left:10px;margin-top:6px}
 .ticket-date-fields{grid-template-columns:1fr;gap:14px}.ticket-date-picker{margin-top:8px}.ticket-date-picker summary{min-height:48px;font-size:12px}
 .ticket-builder-footer{gap:12px;flex-direction:column;align-items:stretch;padding-top:14px;margin-top:14px}.ticket-builder-footer p{font-size:10px}.ticket-builder-footer .ticket-button{min-height:46px;width:100%}
 .ticket-chosen-flight{gap:10px;padding:10px}.ticket-chosen-flight .ticket-card-brand{width:58px;height:34px}.ticket-chosen-flight strong{font-size:11px}
}
.ticket-flight-catalog { margin-top: 24px; }
.tickets-list-heading, .ticket-list-filter { display: none !important; }
.ticket-flight-list, .ticket-pair-list { display: grid; gap: 16px; margin: 0; }
.ticket-flight-list[hidden], .ticket-pair-list[hidden] { display: none !important; }

/* Flight Cards: One-way and Paired Round-Trip */
.ticket-flight, .ticket-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 0;
  padding: 0;
  background: #ffffff;
  border: 1px solid #e1ebf1;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 2px 10px rgba(22, 58, 82, 0.03);
  transition: border-color .2s, box-shadow .2s;
}
.ticket-flight:hover, .ticket-pair:hover {
  border-color: #c9dbe5;
  box-shadow: 0 4px 16px rgba(22, 58, 82, 0.06);
}
.ticket-flight.is-selected, .ticket-pair.is-selected {
  border-color: #20b2ea;
  box-shadow: 0 4px 18px rgba(32, 178, 234, 0.12);
}
.ticket-flight.is-selected .ticket-select, .ticket-pair.is-selected .ticket-button {
  background: #20b2ea;
}
.ticket-flight[hidden], .ticket-empty[hidden] { display: none !important; }

/* Timetable Leg */
.ticket-timetable-leg {
  display: grid;
  grid-template-columns: 148px 1px minmax(0, 1fr);
  align-items: center;
  gap: 0;
  padding: 18px 24px;
  min-width: 0;
}
.ticket-airline-column {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-right: 22px;
}
.ticket-airline-column--labeled {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.ticket-airline-name {
  display: block;
  max-width: 142px;
  color: #21526d;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.ticket-airline-card {
  width: 142px;
  height: 70px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
.ticket-airline-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ticket-airline-card--hunnu { background: #7d1d78; }
.ticket-airline-card--miat { background: #064c8d; }
.ticket-airline-card--default { background: #1b4766; color: #fff; }
.ticket-airline-card--default span {
  position: absolute;
  bottom: 8px;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.ticket-airline-card--custom {
  background: #ffffff;
  border: 1px solid #dce8ef;
  padding: 8px 12px;
}
.ticket-airline-card--custom img {
  object-fit: contain;
}
.ticket-leg-divider-v {
  width: 1px;
  height: 60px;
  background: #e2ecf2;
  flex-shrink: 0;
}
.ticket-route-container {
  display: grid;
  grid-template-columns: 1.15fr minmax(130px, 1fr) 1.15fr;
  align-items: center;
  gap: 16px;
  padding-left: 24px;
  min-width: 0;
}
.ticket-point {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ticket-point--departure {
  text-align: left;
  align-items: flex-start;
}
.ticket-point--arrival {
  text-align: right;
  align-items: flex-end;
}
.ticket-time {
  display: block;
  font-size: 21px;
  font-weight: 700;
  color: #183e56;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.ticket-date {
  display: block;
  font-size: 11px;
  color: #627e8f;
  font-weight: 400;
  margin-top: 4px;
  line-height: 1.3;
}
.ticket-station {
  display: block;
  font-size: 13px;
  color: #23475d;
  font-weight: 500;
  margin-top: 4px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.ticket-flight-path {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 110px;
}
.ticket-duration {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #183e56;
  margin-bottom: 6px;
  line-height: 1.2;
}
.ticket-path-line {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 135px;
}
.ticket-path-node {
  width: 7px;
  height: 7px;
  border: 1.5px solid #8ca6b5;
  border-radius: 50%;
  background: #ffffff;
  flex-shrink: 0;
  box-sizing: border-box;
}
.ticket-path-dotted {
  flex: 1;
  border-top: 1.5px dotted #8ca6b5;
  margin: 0 1px;
  height: 0;
}
.ticket-stops {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: #627e8f;
  margin-top: 6px;
  line-height: 1.2;
}

/* Fare Panel */
.ticket-fare-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-left: 1px solid #e2ecf2;
  padding: 24px 18px 20px;
  position: relative;
  min-width: 0;
}
.ticket-seat-ribbon {
  position: absolute;
  top: 12px;
  right: 0;
  background: #20b2ea;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 12px 3px 18px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 7px 50%);
  letter-spacing: 0.02em;
  line-height: 1.4;
}
.ticket-fare {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: #183e56;
  letter-spacing: -0.03em;
  margin: 0 0 12px 0;
  text-align: center;
  line-height: 1.2;
}
.ticket-fare-panel .ticket-button, .ticket-fare-panel .ticket-select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #1e4760;
  color: #ffffff;
  border: none;
  border-radius: 9999px;
  padding: 8px 26px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  min-width: 110px;
  transition: background .15s, transform .1s;
  text-decoration: none;
  text-transform: lowercase;
  line-height: 1.4;
}
.tickets-main .ticket-fare-panel .ticket-button { font-size: 12px !important; line-height: 1.4 !important; white-space: nowrap; flex-shrink: 0; }
.ticket-fare-panel .ticket-button:hover, .ticket-fare-panel .ticket-select:hover {
  background: #15394f;
  transform: translateY(-1px);
}
.ticket-fare-panel .ticket-button:disabled, .ticket-fare-panel .ticket-select:disabled {
  background: #c5d3dc;
  color: #ffffff;
  cursor: not-allowed;
  transform: none;
}

/* Paired Round-Trip Layout */
.ticket-pair-legs {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ticket-pair-horizontal-divider {
  height: 1px;
  background: #edf2f5;
  margin: 0 24px;
}

/* Tablet & Mobile Responsiveness */
@media (max-width: 991px) {
  .ticket-timetable-leg {
    grid-template-columns: 124px 1px minmax(0, 1fr);
    padding: 16px 18px;
  }
  .ticket-airline-card {
    width: 118px;
    height: 60px;
  }
  .ticket-airline-column {
    padding-right: 14px;
  }
  .ticket-route-container {
    gap: 12px;
    padding-left: 16px;
  }
  .ticket-time { font-size: 18px; }
  .ticket-fare { font-size: 19px; }
  .ticket-flight, .ticket-pair {
    grid-template-columns: minmax(0, 1fr) 145px;
  }
}
@media (max-width: 680px) {
  .ticket-flight, .ticket-pair {
    grid-template-columns: 1fr;
    border-radius: 12px;
  }
  .ticket-timetable-leg {
    grid-template-columns: 1fr;
    padding: 16px 14px;
    gap: 12px;
  }
  .ticket-leg-divider-v { display: none; }
  .ticket-airline-column {
    padding-right: 0;
    justify-content: flex-start;
  }
  .ticket-airline-card {
    width: 120px;
    height: 60px;
  }
  .ticket-route-container {
    padding-left: 0;
    gap: 10px;
  }
  .ticket-time { font-size: 16px; }
  .ticket-fare-panel {
    flex-direction: row;
    justify-content: space-between;
    border-left: none;
    border-top: 1px solid #e2ecf2;
    padding: 12px 14px;
    gap: 10px;
  }
  .ticket-seat-ribbon {
    position: static;
    clip-path: none;
    border-radius: 4px;
    padding: 3px 8px;
    order: 0;
  }
  .ticket-fare {
    margin: 0;
    font-size: 17px;
    order: 1;
  }
  .ticket-fare-panel .ticket-button, .ticket-fare-panel .ticket-select {
    order: 2;
    min-width: 90px;
    padding: 8px 16px;
  }
  .ticket-pair-horizontal-divider {
    margin: 0 14px;
  }
}

/* Reference layout: departure, a centered flight path, and arrival. */
@media(min-width:681px){
 .ticket-timetable-leg{grid-template-columns:128px 1px minmax(0,1fr);padding:18px 16px}
 .ticket-airline-card{width:110px;height:65px;border-radius:9px}
 .ticket-airline-column{padding-right:16px}
 .ticket-leg-divider-v{height:88px;background:#afc1ca}
 .ticket-route-container{grid-template-columns:minmax(0,1fr) minmax(110px,1.2fr) minmax(0,1fr);gap:16px;padding-left:22px}
 .ticket-time{font-size:18px;font-weight:600;white-space:nowrap}
 .ticket-station{font-size:11px;white-space:normal;line-height:1.4}
 .ticket-fare-panel{border-left-color:#afc1ca;margin:18px 0;padding-top:24px;padding-bottom:8px}
 .ticket-seat-ribbon{top:-5px}
 .ticket-fare{font-size:20px;font-weight:600}
}
.ticket-flight-path{width:100%;min-width:0;gap:0;align-self:center}
.ticket-duration{font-size:12px;font-weight:500;margin:0 0 7px;white-space:nowrap}
.ticket-path-line{max-width:180px;width:100%;height:8px}
.ticket-path-node{width:8px;height:8px;border-width:2px}
.ticket-path-dotted{border-top-width:2px;margin:0 2px}
.ticket-stops{font-size:10px;margin:7px 0 0;white-space:nowrap}
@media(min-width:681px) and (max-width:900px){
 .ticket-timetable-leg{grid-template-columns:98px 1px minmax(0,1fr);padding:16px 12px}
 .ticket-airline-card{width:86px;height:55px}.ticket-airline-column{padding-right:10px}
 .ticket-route-container{padding-left:12px;gap:10px;grid-template-columns:minmax(0,1fr) minmax(88px,1.1fr) minmax(0,1fr)}
 .ticket-time{font-size:15px}.ticket-date,.ticket-station{font-size:10px}
}
@media(max-width:680px){
 .ticket-route-container{grid-template-columns:minmax(0,1fr) minmax(74px,.9fr) minmax(0,1fr);gap:8px}
 .ticket-time{font-size:15px;white-space:nowrap}.ticket-date,.ticket-station{font-size:10px}
 .ticket-station{white-space:normal}.ticket-duration{font-size:11px}.ticket-stops{font-size:9px}
}

.ticket-order-totals{padding:16px;border:1px solid #d4e3eb;border-radius:12px;background:#eef5f8;color:#21526d;display:grid;gap:10px;margin:16px 0}.ticket-order-totals p{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.ticket-order-totals small{font-size:11px;line-height:1.7}

/* Match the trip passenger dropdown: compact rows and circular counters. */
#passengerPicker summary{min-height:42px;font-size:12px}.ticket-passenger-panel{padding:14px;border-radius:13px;top:calc(100% + 6px)}.ticket-counter{padding:7px 0;margin-bottom:4px;gap:8px}.ticket-counter>span{gap:2px}.ticket-counter strong{font-size:12px;font-weight:600}.ticket-counter small{font-size:10px}.ticket-counter button{width:34px;height:34px;font-size:21px}.ticket-counter input{width:28px;min-height:32px;font-size:13px}.ticket-passenger-panel p{margin:10px 0;line-height:1.7}.ticket-passenger-panel>.ticket-button{min-height:36px;padding:9px;border-radius:9px;font-size:12px}

.ticket-base-fare{display:block;font-size:13px;line-height:1.4;color:#7b8793;text-decoration-thickness:1px}.ticket-fare-panel:has(.ticket-base-fare) .ticket-fare{color:#bb5050}

/* Discounted tickets: one calm accent, aligned fares, and a compact percentage. */
.ticket-fare-values{display:flex;align-items:baseline;justify-content:center;gap:5px 9px;flex-wrap:wrap;min-width:0;margin-bottom:12px}
.ticket-fare-values .ticket-fare{margin:0;white-space:nowrap}
.ticket-flight.is-promo,.ticket-pair.is-promo{border-color:#a4cfc6;box-shadow:0 4px 20px #246d5f0b}
.ticket-flight.is-promo .ticket-fare-panel,.ticket-pair.is-promo .ticket-fare-panel{background:#f2faf7;border-left-color:#cce5df;margin:0;padding:18px 12px;gap:10px}
.is-promo .ticket-fare-values{margin:0;align-items:center;gap:5px 8px}
.is-promo .ticket-base-fare{font-size:12px;line-height:1.5;color:#84978e;white-space:nowrap;text-decoration-color:#9eafa6}
.is-promo .ticket-fare-panel .ticket-fare{color:#226f61;font-size:21px;line-height:1.4}
.ticket-discount-chip{display:inline-flex;align-items:center;justify-content:center;align-self:center;padding:4px 9px;border-radius:999px;background:#dcefe7;color:#226f61;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}
.is-promo .ticket-seat-ribbon{position:static;clip-path:none;background:none;color:#688b80;font-size:10px;padding:0;order:0}
.is-promo .ticket-fare-panel .ticket-button{background:#246f62;min-height:36px;border-radius:9px}
.is-promo .ticket-fare-panel .ticket-button:hover{background:#19574c}
.is-promo .ticket-fare-panel .ticket-button:disabled{background:#c5d3dc;color:#fff}
@media(min-width:681px){.ticket-flight.is-promo,.ticket-pair.is-promo{grid-template-columns:minmax(0,1fr) 195px}}
@media(max-width:680px){
 .ticket-fare-values{justify-content:flex-start;margin:0;gap:4px 8px}
 .ticket-flight.is-promo .ticket-fare-panel,.ticket-pair.is-promo .ticket-fare-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px 14px;gap:8px 10px;border-top-color:#cce5df}
 .is-promo .ticket-fare-panel .ticket-discount-chip{justify-self:start;align-self:center}
 .is-promo .ticket-fare-panel .ticket-seat-ribbon{order:initial;justify-self:end}
 .is-promo .ticket-fare-values{justify-content:flex-start;order:initial}
 .is-promo .ticket-fare-panel .ticket-fare{font-size:18px}
 .is-promo .ticket-fare-panel .ticket-button{order:initial;min-width:90px;padding:8px 14px}
}
.ticket-flight-list:not([hidden]) + .ticket-pair-list:not([hidden]){margin-top:16px}

/* Buyer type stays available inside the ticket request dialog. */
#ticketOrderForm .ticket-buyer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid #e0e9ef;border-radius:14px;background:#f1f6f9;padding:5px;margin:0}
#ticketOrderForm .ticket-buyer-tabs label{position:relative;margin:0;cursor:pointer}
#ticketOrderForm .ticket-buyer-tabs input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0;pointer-events:none}
#ticketOrderForm .ticket-buyer-tabs span{display:block;text-align:center;padding:11px 10px;font-size:13px;line-height:1.5;border:1px solid transparent;border-radius:10px;color:#718996}
#ticketOrderForm .ticket-buyer-tabs input:checked+span{background:white;border-color:#d7e5ed;box-shadow:0 2px 7px #234f650c;color:#21526d;font-weight:700}
#ticketOrderForm .ticket-buyer-tabs input:focus-visible+span{outline:2px solid #5591aa;outline-offset:2px}
#companyFields .ticket-company-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;align-items:end}
#companyFields .ticket-company-contacts>label{margin:0;min-width:0}
/* Both date controls keep the same size as their placeholder/selection changes. */
.ticket-date-fields>div{display:flex;flex-direction:column}
.ticket-date-fields>div[hidden]{display:none}
.ticket-date-fields .ticket-date-picker{width:100%;min-width:0}
.ticket-date-fields .ticket-date-picker summary{box-sizing:border-box;width:100%;height:50px;min-height:50px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;line-height:28px;font-size:12px}
.ticket-date-fields .ticket-date-picker summary:after{top:50%;transform:translateY(-50%);line-height:1;background:inherit}
@media(max-width:767px){.ticket-date-fields .ticket-date-picker summary{height:48px;min-height:48px;line-height:26px}}
/* Discounted fare panel: clear badge, quiet availability and aligned price/action. */
.tickets-main :is(.ticket-flight,.ticket-pair).is-promo{border-color:#c4dcd9;box-shadow:0 5px 20px #214f6809;overflow:hidden}
.tickets-main .is-promo .ticket-fare-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'discount seats' 'price price' 'action action';align-content:center;align-items:center;gap:14px 8px;margin:0;padding:20px 16px;background:linear-gradient(145deg,#f8fcfb,#edf7f5);border-left:1px solid #d8e9e5}
.tickets-main .is-promo .ticket-discount-chip{grid-area:discount;justify-self:start;align-self:center;padding:5px 10px;border-radius:7px;background:#246f62;color:#fff;font-size:11px;line-height:1.4;letter-spacing:.01em}
.tickets-main .is-promo .ticket-seat-ribbon{grid-area:seats;justify-self:end;align-self:center;position:static;clip-path:none;order:initial;padding:0;background:none;color:#7b9690;font-size:10px;line-height:1.5;white-space:nowrap}
.tickets-main .is-promo .ticket-fare-values{grid-area:price;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;margin:0;min-width:0}
.tickets-main .is-promo .ticket-base-fare{font-size:11px;color:#91a39e;line-height:1.5;text-decoration-color:#a5b6b0}
.tickets-main .is-promo .ticket-fare-panel .ticket-fare{font-size:23px;line-height:1.25;letter-spacing:-.045em;color:#205e54;font-weight:700;white-space:nowrap}
.tickets-main .is-promo .ticket-fare-panel .ticket-button{grid-area:action;display:flex;align-items:center;justify-content:center;min-height:40px;margin:0;padding:10px 14px;border:1px solid #246f62;border-radius:10px;background:#246f62;color:#fff;font-size:12px!important;line-height:1.5!important;box-shadow:0 3px 8px #246f6212;text-transform:none}
.tickets-main .is-promo .ticket-fare-panel .ticket-button:hover{background:#19574d;border-color:#19574d}
.tickets-main .is-promo .ticket-fare-panel .ticket-button:disabled{background:#d4e2de;border-color:#d4e2de;color:#7f9690;box-shadow:none}
@media(max-width:680px){
 .tickets-main .is-promo .ticket-fare-panel{grid-template-areas:'discount seats' 'price action';padding:14px 16px 16px;gap:13px 12px;border-left:0;border-top:1px dashed #c5ddd6}
 .tickets-main .is-promo .ticket-fare-panel .ticket-fare{font-size:22px}
 .tickets-main .is-promo .ticket-fare-panel .ticket-button{align-self:end;min-width:96px;min-height:40px;padding:9px 13px;border-radius:9px}
}
.ticket-pair-leg-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px 0;font-size:11px;font-weight:600;color:#678493}
.ticket-pair-leg-prices{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px;min-width:0}
.ticket-pair-leg-prices s{font-size:10px;color:#94a5ad;font-weight:400}
.ticket-pair-leg-prices strong{font-size:12px;color:#21526d;white-space:nowrap}
.ticket-pair-leg-heading.has-discount strong{color:#246f62}
@media(max-width:680px){.ticket-pair-leg-heading{padding:10px 12px 0;font-size:10px}.ticket-pair-leg-prices strong{font-size:11px}.ticket-pair-leg-prices s{font-size:9px}}

/* Promoted one-way and paired tickets share one visual ordering. */
.tickets-main .ticket-flight-catalog{display:flex;flex-direction:column;gap:16px}
.tickets-main .ticket-flight-catalog>.ticket-flight-list:not([hidden]),.tickets-main .ticket-flight-catalog>.ticket-pair-list:not([hidden]){display:contents}
.tickets-main .ticket-flight-catalog :is(.ticket-flight,.ticket-pair).is-promo{order:-1}
.tickets-main .ticket-flight-catalog :is(.ticket-flight-list,.ticket-pair-list)[hidden]{display:none!important}

/* Discounted tickets show fares without a percentage badge. */
.tickets-main .is-promo .ticket-fare-panel{grid-template-areas:'seats seats' 'price price' 'action action'}
@media(max-width:680px){.tickets-main .is-promo .ticket-fare-panel{grid-template-areas:'seats seats' 'price action'}}

/* Each leg identifies its own discounted fare; the side panel sums both legs. */
.tickets-main .ticket-pair-leg-heading>span:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tickets-main .ticket-leg-promo-label{display:inline-flex;border-radius:5px;background:#e2f1eb;color:#246f62;padding:3px 7px;font-size:9px;font-weight:600;line-height:1.4}
.tickets-main .ticket-pair-leg-heading.has-discount{background:linear-gradient(90deg,#f0f8f5,transparent);border-left:3px solid #4d9382;padding-left:13px;padding-bottom:8px}
.tickets-main .ticket-pair-total-label{display:block;color:#758b96;font-size:10px;font-weight:400;line-height:1.5;margin-bottom:4px}
.tickets-main .ticket-pair:not(.is-promo) .ticket-fare-values{display:flex;flex-direction:column;align-items:flex-start}
@media(max-width:680px){.tickets-main .ticket-pair-leg-heading.has-discount{padding-left:9px}.tickets-main .ticket-pair-leg-heading>span:first-child{gap:5px}.tickets-main .ticket-leg-promo-label{font-size:8px;padding:2px 5px}.tickets-main .ticket-pair-total-label{font-size:9px}}

.ticket-chosen-fare{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;margin-top:7px;color:#6e8794;font-size:10px}
.ticket-chosen-fare del{color:#94a5ad;font-size:10px}
.ticket-chosen-fare strong{font-size:12px;color:#21526d}
.ticket-chosen-fare .ticket-leg-promo-label{border-radius:5px;background:#e2f1eb;color:#246f62;padding:2px 5px;font-size:9px}

/* Identity documents match trip booking controls. */
#ticketOrderForm .trip-document-preview{display:block;margin-top:8px}#ticketOrderForm .trip-document-preview[hidden]{display:none}#ticketOrderForm .trip-document-preview img{display:block;width:100%;height:100px;object-fit:contain;border-radius:8px;background:#fff}#ticketOrderForm .trip-document-status{font-size:11px;line-height:1.6;color:#e1f1fa;margin-top:6px}#ticketOrderForm .trip-document-status:empty{display:none}#ticketOrderForm .trip-document-cancel{font-size:11px;text-decoration:underline;color:#fff}
#ticketOrderForm .trip-booking-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}#ticketOrderForm .trip-booking-document{min-width:0}#ticketOrderForm .trip-document-number{display:block;width:100%;min-width:0;padding:11px 14px;border:1px solid #d8e5ed;border-radius:14px;background:#fff;color:#21526d;font-size:13px}#ticketOrderForm .trip-document-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}#ticketOrderForm .trip-document-actions>input{display:none!important}#ticketOrderForm .trip-document-actions>:is(button,label){display:inline-flex;position:static;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;margin:0;padding:0;border:1px solid #d3e2eb;border-radius:10px;background:#f4f9fc;color:#21526d;cursor:pointer}#ticketOrderForm .trip-document-actions .material-symbols-outlined{font-size:20px;line-height:1}#ticketOrderForm .trip-document-actions>:is(button,label):focus-visible{outline:2px solid #92c0d7;outline-offset:2px}#ticketOrderForm .trip-document-preview img[hidden],#ticketOrderForm .trip-document-preview span[hidden]{display:none}#ticketOrderForm .trip-document-preview{overflow:hidden;border-radius:10px;font-size:11px;overflow-wrap:anywhere}#ticketOrderForm .trip-document-preview img{height:110px}#ticketOrderForm .trip-booking-document>.private-number-field{display:block;width:100%;min-width:0}#ticketOrderForm .trip-document-status{color:#e4f1f7;font-size:11px!important;line-height:1.6!important}
#ticketOrderForm .trip-document-placeholder {
 display:grid;
 place-items:center;
 width:100%;
 height:auto;
 margin-top:8px;
 background:#fff;
 border-radius:10px;
 overflow:hidden;
}
#ticketOrderForm .trip-document-placeholder[hidden] { display:none; }
#ticketOrderForm .trip-document-placeholder img {
 display:block;
 width:100%;
 height:140px;
 object-fit:fill;
}

#ticketOrderForm .trip-document-label{display:block;margin-bottom:6px;font-size:11px;color:#627f91}#ticketOrderForm .trip-document-status{color:#627f91!important}#ticketOrderForm .trip-document-cancel{color:#21526d}.ticket-booking-documents{margin:18px 0}
