/* Cabin palette inherits Aurum's existing brand; no external SVG or WebGL dependency. */
.aj-cabin-shell{width:100%;min-width:0}
.aj-cabin-svg:empty{display:none}
.aj-cabin-shell.is-enhanced .aj-cabin-fallback{display:none!important}
.aj-cabin-map{--cabin-gold:var(--aj-gold,#d4bd91);--cabin-ivory:#f4f1e9;--cabin-outline:#62747d;max-width:390px;margin-inline:auto;font-family:Manrope,sans-serif;color:var(--cabin-ivory)}
.aj-cabin-plan-wrap{width:100%;max-width:360px;margin-inline:auto}
.aj-cabin-drawing{display:block;width:100%;height:auto;overflow:visible;font-family:Manrope,sans-serif;touch-action:pan-y}
.aj-cabin-drawing text{text-anchor:middle;pointer-events:none;user-select:none}
.aj-cabin-shell-outline{stroke:#617179;stroke-opacity:.7;stroke-width:1}
.aj-cabin-inner-rail{fill:none;stroke:#60717a;stroke-opacity:.15;stroke-width:1}
.aj-cabin-windows{fill:none;stroke:#99b5c4;stroke-opacity:.57;stroke-width:3.5;stroke-linecap:round}
.aj-cabin-flightdeck{fill:#263b46;stroke:#718693;stroke-width:1;stroke-opacity:.5}
.aj-cabin-flightdeck text{font-size:9px;letter-spacing:1.1px;fill:#a6b6be;stroke:none}
.aj-cabin-service rect,.aj-cabin-service path{fill:#1b2c35;stroke:#5c707a;stroke-opacity:.5;stroke-width:1}
.aj-cabin-service text,.aj-cabin-aft text{fill:#a5b5bd;font-size:9px;letter-spacing:1px}
.aj-cabin-aisle{fill:none;stroke:#b5c5ce;stroke-width:1;stroke-dasharray:2 8;stroke-opacity:.08}
.aj-cabin-zone-line{fill:none;stroke:var(--cabin-gold);stroke-opacity:.24;stroke-width:1}
.aj-cabin-zone-label-bg{fill:#111f27}
.aj-cabin-zone-name{fill:var(--cabin-gold);font:500 10.5px Jost,Manrope,sans-serif;letter-spacing:.7px}
.aj-cabin-sofa-frame{fill:#16232a;stroke:#7d8b91;stroke-opacity:.55;stroke-width:1.5}
.aj-cabin-table rect{fill:#283c43;stroke:#8a8b7b;stroke-width:1;stroke-opacity:.55}
.aj-cabin-table path{fill:none;stroke:var(--cabin-gold);stroke-opacity:.15;stroke-width:1}
.aj-cabin-table text{fill:#c7c4b8;font-size:8px;letter-spacing:1.2px}
.aj-cabin-bed rect{fill:#33434b;stroke:#829098;stroke-width:1;stroke-opacity:.4}
.aj-cabin-bed .aj-cabin-duvet{fill:#263943}
.aj-cabin-bed .aj-cabin-pillow{fill:#4b5a5f}
.aj-cabin-bed path{fill:none;stroke:#819195;stroke-opacity:.45;stroke-width:1}
.aj-cabin-bed text{fill:#a5b1b4;font-size:10px;letter-spacing:1.7px}
.aj-cabin-chair{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.aj-cabin-hit{fill:transparent;pointer-events:all}
.aj-cabin-chair-art{pointer-events:none;transform-box:fill-box;transform-origin:center;transition:transform .17s ease,filter .17s ease}
.aj-cabin-seat-base{fill:#253c47;stroke:#99aeb9;stroke-width:1;stroke-opacity:.75;transition:fill .18s ease,stroke .18s ease}
.aj-cabin-cushion{fill:#334d58;stroke:#a0b0b6;stroke-opacity:.23;stroke-width:1}
.aj-cabin-backrest{fill:#7d929d}
.aj-cabin-arm{fill:none;stroke:#859aa4;stroke-width:3;stroke-linecap:round}
.aj-cabin-seat-label{fill:#f0f2ed;font:600 13px Manrope,sans-serif;dominant-baseline:middle;letter-spacing:.1px}
.aj-cabin-focus-ring{fill:none;stroke:var(--cabin-ivory);stroke-width:2;stroke-opacity:0;pointer-events:none}
.aj-cabin-chair:focus-visible .aj-cabin-focus-ring{stroke-opacity:1}
.aj-cabin-chair.is-selected .aj-cabin-seat-base{fill:#d4bd91;stroke:#f2dfb8;stroke-opacity:1;stroke-width:1.4}
.aj-cabin-chair.is-selected .aj-cabin-cushion{fill:#dfcba5;stroke:#f6e8cc;stroke-opacity:.65}
.aj-cabin-chair.is-selected .aj-cabin-backrest{fill:#a58a57}
.aj-cabin-chair.is-selected .aj-cabin-arm{stroke:#a58a57}
.aj-cabin-chair.is-selected .aj-cabin-seat-label{fill:#142029;font-weight:700}
.aj-cabin-check{stroke:#142029;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.aj-cabin-passenger{pointer-events:none}
.aj-cabin-passenger circle{fill:#101c24;stroke:#e4cda3;stroke-width:1}
.aj-cabin-passenger text{fill:#ead4aa;font:600 9px Manrope,sans-serif;dominant-baseline:middle}
.aj-cabin-chair.is-taken{cursor:not-allowed}
.aj-cabin-chair.is-taken .aj-cabin-seat-base{fill:#14212a;stroke:#51646f;stroke-opacity:.55}
.aj-cabin-chair.is-taken .aj-cabin-cushion{fill:#182a34;stroke-opacity:.08}
.aj-cabin-chair.is-taken .aj-cabin-backrest,.aj-cabin-chair.is-taken .aj-cabin-arm{opacity:.32}
.aj-cabin-lock{fill:none;stroke:#a4b3bc;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.6}
.aj-cabin-taken-mark{stroke:none}
.aj-cabin-aft path{stroke:#859594;stroke-opacity:.3;stroke-width:1;fill:none}
.aj-cabin-aft rect{fill:#1b2c35;stroke:#687e87;stroke-width:1;stroke-opacity:.4}
.aj-cabin-detail{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 14px;margin:8px 4px 0;border:1px solid rgba(212,189,145,.2);background:rgba(212,189,145,.04);border-radius:5px;font-size:13px;line-height:1.55;color:#c4cfd3;box-sizing:border-box}
.aj-cabin-detail-mark{color:var(--cabin-gold);font:26px Jost,sans-serif;flex:none}
.aj-cabin-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover){.aj-cabin-chair.is-available:hover .aj-cabin-chair-art{transform:translateY(-2px)}.aj-cabin-chair.is-available:hover .aj-cabin-seat-base{fill:#3c525c;stroke:#d4bd91;stroke-opacity:1}.aj-cabin-chair.is-selected:hover .aj-cabin-chair-art{transform:translateY(-1px)}}
@keyframes aj-cabin-select{0%{filter:drop-shadow(0 0 0 rgba(212,189,145,0));transform:scale(.95)}45%{filter:drop-shadow(0 0 8px rgba(212,189,145,.7));transform:scale(1.04)}100%{filter:drop-shadow(0 0 3px rgba(212,189,145,.25));transform:scale(1)}}
.aj-cabin-chair.is-new.is-selected .aj-cabin-chair-art{animation:aj-cabin-select .38s ease-out both}
@media(max-width:380px){.aj-cabin-zone-name{font-size:11px;letter-spacing:0}.aj-cabin-detail{font-size:13px;padding:10px}}
@media(prefers-reduced-motion:reduce){.aj-cabin-chair-art,.aj-cabin-seat-base{transition:none}.aj-cabin-chair.is-new.is-selected .aj-cabin-chair-art{animation:none}.aj-cabin-chair.is-available:hover .aj-cabin-chair-art,.aj-cabin-chair.is-selected:hover .aj-cabin-chair-art{transform:none}}
