.passenger-experience{padding:100px 0}.seat-experience{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(400px,1.4fr);border:1px solid #c8d5db;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 30px 70px #1a3a5010}.passenger-selector{padding:36px;background:#f4f7f8;border-right:1px solid #d5e0e5;min-width:0}.seat-small-label{display:block;color:#536a78;font-size:12px;font-weight:650;letter-spacing:1.1px;line-height:1.6}.passenger-selector h3{margin-top:12px;font-size:27px;letter-spacing:-.7px}.seat-instructions{font-size:15px;color:#506a79;line-height:1.65;margin-top:13px}.sample-passengers{display:grid;gap:10px;margin-top:28px}.sample-passenger{display:flex;align-items:center;gap:13px;background:white;color:#142732;text-align:left;border:1px solid #c7d5de;border-radius:8px;padding:15px;width:100%;min-height:76px;transition:border-color .18s,box-shadow .18s}.sample-passenger:hover:not(:disabled){border-color:#286d94}.sample-passenger.is-selected{border-color:#146d9b;box-shadow:0 0 0 1px #146d9b}.passenger-avatar{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#e6eef3;font-size:14px;font-weight:700}.sample-passenger.is-selected .passenger-avatar{background:#176991;color:white}.sample-passenger strong{font-size:15px;display:block}.sample-passenger small{font-size:13px;color:#506a79;display:block;margin-top:4px}.seat-detail{border-top:1px solid #cbd9e1;padding-top:25px;margin-top:30px;min-height:132px}.seat-detail strong{display:block;margin-top:8px;font-size:20px;line-height:1.4}.seat-detail p{font-size:14px;color:#506a79;line-height:1.6;margin-top:8px}.seating-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between;border-top:1px solid #cbd9e1;padding-top:22px;margin-top:16px;font-size:14px;font-weight:600}.seat-reset{background:transparent;border:0;color:#1a6590;text-decoration:underline;text-underline-offset:4px;font-size:13px;min-height:44px;padding:5px 0}.seat-disclosure{font-size:12px;color:#586f7d;line-height:1.75;margin-top:20px}.cabin-map-area{min-width:0;padding:30px 30px 20px}.cabin-map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.cabin-map-heading strong{display:block;font-size:21px;letter-spacing:-.5px;margin-top:5px}.cabin-map-heading .sample-pill{white-space:nowrap;font-size:12px;margin:0}.seat-legend{display:flex;flex-wrap:wrap;gap:12px 18px;padding:22px 0 12px;font-size:12px;color:#4b6473}.seat-legend>span{display:flex;align-items:center;gap:7px}.seat-legend i{display:inline-grid;place-items:center;width:16px;height:16px;border:1.5px solid var(--seat-color,#8b969c);border-radius:4px;background:var(--seat-tint,#eff2f3);font-style:normal;font-size:12px;font-weight:700;color:#4e616e}.zone-extra{--seat-color:#a9434d;--seat-tint:#fff0f1}.zone-upfront{--seat-color:#087449;--seat-tint:#ecfaf2}.zone-standard{--seat-color:#176ea4;--seat-tint:#eff7ff}.seat-legend .legend-unavailable{background:#dee4e8;color:#596d79;border-color:#a1afb8}.seat-legend .legend-selected{background:#0b3c58;color:white;border-color:#0b3c58}.seat-keyboard-note{font-size:12px;color:#506775;margin-bottom:16px}.cabin-scroll{height:550px;overflow:auto;overscroll-behavior-y:contain;scrollbar-color:#a6b9c5 #edf2f5;scrollbar-width:thin;border:1px solid #d9e3e8;border-radius:8px;background:#f5f7f9;padding:28px 24px}.cabin-scroll:focus-visible{outline:3px solid #147fac;outline-offset:3px}.seat-cabin{width:340px;max-width:100%;margin:auto;padding:26px 19px;border:1px solid #dde5e9;border-radius:72px 72px 32px 32px;background:white;box-shadow:0 7px 25px #28485908}.cabin-services{display:flex;justify-content:space-between;gap:26px;padding:10px 8px 18px}.cabin-services>span{display:grid;place-items:center;width:104px;height:52px;background:#f0f3f5;color:#61737f;font-size:12px;font-weight:650;letter-spacing:1px}.cabin-exits{display:flex;justify-content:space-between;padding:8px 0;color:#536674;font-size:11px;font-weight:700;letter-spacing:.6px}.cabin-exits span:first-child:before{content:'◀';font-size:9px;margin-right:4px}.cabin-exits span:last-child:after{content:'▶';font-size:9px;margin-left:4px}.cabin-columns,.cabin-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 24px repeat(3,minmax(0,1fr));gap:7px;align-items:center}.cabin-columns{font-size:12px;text-align:center;color:#415c6d;margin:8px 0 17px}.cabin-row{margin:9px 0}.cabin-row-number{text-align:center;font-size:12px;color:#536d7c}.seat-zone-label{margin:20px 0 12px;padding:11px 7px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:2px solid var(--seat-color);border-left:2px solid var(--seat-color);border-right:2px solid var(--seat-color);border-radius:15px 15px 0 0;color:var(--seat-color);font-size:12px;font-weight:700}.seat-zone-label small{font-size:11px;font-weight:500}.cabin-seat{height:37px;min-width:0;width:100%;position:relative;display:grid;place-items:center;padding:0 0 5px;border:1.5px solid var(--seat-color);border-radius:6px;background:var(--seat-tint);color:var(--seat-color);font-size:14px;font-weight:750;box-shadow:inset 0 -7px 0 var(--seat-color);transition:background .14s,transform .14s,box-shadow .14s}.cabin-seat.zone-upfront:after{content:'';position:absolute;right:3px;top:3px;width:0;height:0;border-top:7px solid var(--seat-color);border-left:7px solid transparent}.cabin-seat:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 -7px 0 var(--seat-color),0 4px 8px #173c5920}.cabin-seat:focus-visible{outline:3px solid #162f40;outline-offset:3px;z-index:2}.cabin-seat[data-unavailable]{--seat-color:#a8b3bb;--seat-tint:#eef1f3;color:#81919d;box-shadow:inset 0 -7px 0 #a8b3bb;cursor:not-allowed;font-size:24px;font-weight:600}.cabin-seat[data-unavailable]:after{display:none}.cabin-seat.is-assigned{background:#dbeef8;border-color:#0a3c58;color:#0a3c58;box-shadow:inset 0 -7px 0 #0a3c58}.cabin-seat.is-current{background:#123e58;color:white;border-color:#123e58;box-shadow:inset 0 -7px 0 #071f2e,0 0 0 2px #b3daef}.cabin-seat.is-assigned:after{content:'✓';position:absolute;top:-5px;right:-4px;width:13px;height:13px;border:1px solid white;border-radius:50%;background:#123e58;color:white;font-size:9px;display:grid;place-items:center}.cabin-rear{margin-top:25px;padding-bottom:5px}.cabin-footnote{font-size:12px;color:#526b7b;line-height:1.7;margin:17px 0 0}.seat-experience:not(.seating-ready) .seat-instructions:after{content:' Interactive controls require JavaScript.'}.seat-experience:not(.seating-ready) .seat-keyboard-note{display:none}
@media(max-width:1050px){.passenger-selector{padding:26px}.cabin-map-area{padding:25px 20px}.seat-experience{grid-template-columns:minmax(220px,.8fr) minmax(365px,1.2fr)}.cabin-map-heading{align-items:flex-start;flex-direction:column;gap:10px}.cabin-scroll{padding:22px 14px}.seat-cabin{padding-inline:14px}.cabin-row,.cabin-columns{gap:6px}}
@media(max-width:800px){.passenger-experience{padding:70px 0}.seat-experience{display:flex;flex-direction:column}.passenger-selector{border-right:0;border-bottom:1px solid #d5e0e5;padding:25px}.sample-passengers{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.sample-passenger{display:block;padding:12px 8px;min-height:99px;text-align:center}.passenger-avatar{margin:0 auto 9px;width:28px;height:28px}.sample-passenger strong{font-size:13px}.sample-passenger small{font-size:12px}.seat-detail{margin-top:20px;padding-top:18px;min-height:0}.seat-detail strong{font-size:18px}.seating-summary{margin-top:20px;padding-top:16px}.seat-disclosure{margin-top:12px}.cabin-map-area{padding:25px}.cabin-map-heading{flex-direction:row;align-items:center}.cabin-scroll{height:520px;padding:20px}.seat-cabin{width:350px;max-width:100%;padding-inline:15px}.seat-keyboard-note{display:none}}
@media(max-width:440px){.passenger-experience .wrap{width:calc(100% - 24px)}.passenger-selector{padding:22px 16px}.cabin-map-area{padding:22px 10px}.cabin-map-heading{display:block;padding-inline:6px}.cabin-map-heading .sample-pill{display:inline-block;margin-top:10px}.seat-legend{gap:10px 12px;padding-inline:6px;font-size:11px}.cabin-scroll{padding:15px 3px}.seat-cabin{padding-inline:9px;max-width:none;width:100%}.cabin-row,.cabin-columns{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr)) 18px repeat(3,minmax(0,1fr))}.cabin-seat{height:37px}.seat-zone-label{padding-inline:5px;font-size:11px}.seat-zone-label small{font-size:10px}.cabin-footnote{padding-inline:6px}.sample-passenger strong{font-size:12px}.sample-passenger small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cabin-seat,.sample-passenger{transition:none}.cabin-seat:hover:not(:disabled){transform:none}}
.seat-instructions{font-size:16px}.seat-zone-label{font-size:14px}.seat-zone-label small{font-size:12px}.cabin-exits{font-size:12px}.seat-legend{font-size:12px}.sample-passenger small{font-size:13px}@media(max-width:440px){.seat-zone-label{font-size:13px}.seat-zone-label small{font-size:12px}.sample-passenger small{font-size:12px}.sample-passenger strong{font-size:13px}.seat-legend{font-size:12px}}
.cabin-seat{background:linear-gradient(180deg,#ffffffaa 0%,#ffffff00 72%),var(--seat-tint);box-shadow:inset 0 -7px 0 var(--seat-color),inset 2px 0 0 #ffffff55,inset -2px 0 0 #ffffff55}.cabin-seat:before{content:'';position:absolute;left:3px;right:3px;top:3px;bottom:9px;border-top:1px solid #ffffffb0;border-radius:3px;pointer-events:none}.cabin-row.exit-row{margin-top:17px;margin-bottom:13px}.cabin-seats{background:linear-gradient(90deg,transparent 0%,transparent 46%,#edf1f3 46%,#edf1f3 54%,transparent 54%)}.seat-zone-label,.cabin-seats>.cabin-exits{background:white}.mobile-seat-picker{display:none}.cabin-seat.is-current{background:#123e58}.cabin-seat[data-unavailable]{background:#edf0f2}
@media(max-width:800px){.mobile-seat-picker{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f0f5f8;border:1px solid #cbdce6;border-radius:6px;margin:12px 0 18px;padding:12px 14px;position:sticky;top:calc(var(--header) + 8px);z-index:5;box-shadow:0 4px 15px #19384f10}.mobile-seat-picker label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#506b7b}.mobile-seat-picker select{max-width:180px;font:600 15px var(--font);color:#152d3d;background:white;border:1px solid #a8bfce;border-radius:4px;padding:7px;min-height:40px}.mobile-seat-picker>div{text-align:right}.mobile-seat-picker>div>span{font-size:11px;letter-spacing:1px;color:#506b7b;display:block}.mobile-seat-picker strong{font-size:17px;font-weight:700;color:#173c53;display:block;white-space:nowrap}}
.seat-legend .legend-break{flex-basis:100%;height:0}.seat-review{width:100%;margin-top:16px}.seat-review:disabled{background:#dce5eb;color:#526d7e;cursor:not-allowed;transform:none}.seat-review-result{margin-top:14px;padding:15px;border:1px solid #b9d5df;border-radius:6px;background:#edf7fa;color:#203f50;font-size:14px;line-height:1.8}
