/* ===== Athanasiadis Seat Picker (MVP) ===== */
#athSeatOverlay{position:fixed;inset:0;background:rgba(15,45,82,.55);display:none;align-items:center;justify-content:center;z-index:99999;padding:16px}
#athSeatOverlay.open{display:flex}
.seat-modal{background:#fff;border-radius:18px;max-width:440px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.seat-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#0f2d52;color:#fff;border-radius:18px 18px 0 0;position:sticky;top:0}
.seat-modal-head b{font-size:17px;display:block}
.seat-modal-head small{opacity:.8;font-size:12px}
.seat-close{background:none;border:none;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:0 4px}
.seat-legend{display:flex;gap:16px;justify-content:center;padding:12px;font-size:12px;color:#555;flex-wrap:wrap}
.seat-legend .sl{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle;margin-right:4px}
.sl-free{background:#fff;border:1.5px solid #c9d4e0}
.sl-sel{background:#e0962b}
.sl-taken{background:#d8dde3}
.seat-bus{padding:8px 20px 20px}
.seat-bus-front{text-align:right;font-size:12px;color:#8a97a6;border-bottom:2px dashed #dfe5ec;padding-bottom:8px;margin-bottom:12px}
.seat-row{display:flex;gap:8px;justify-content:center;margin-bottom:8px}
.seat,.seat-aisle,.seat-mark{width:42px;height:36px;border-radius:8px 8px 5px 5px}
.seat{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border:1.5px solid #c9d4e0;background:#fff;color:#0f2d52;cursor:pointer;transition:.12s}
.seat:hover{border-color:#0f2d52}
.seat.sel{background:#e0962b;border-color:#e0962b;color:#fff}
.seat.taken{background:#d8dde3;border-color:#d8dde3;color:#9aa6b2;cursor:not-allowed}
.seat-aisle{width:20px;background:transparent}
.seat-mark{display:flex;align-items:center;justify-content:center;font-size:14px;color:#8a97a6;background:#f2f5f8;cursor:default}
.seat-foot{position:sticky;bottom:0;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid #eef1f5}
.seat-foot #seatInfo{font-size:13px;color:#0f2d52;font-weight:600}
.seat-foot .btn{margin:0;white-space:nowrap}
/* trigger button in booking box */
.seat-trigger{width:100%;margin:10px 0 0;padding:12px;border:1.5px dashed #c9d4e0;border-radius:10px;background:#faf6ee;color:#0f2d52;font-weight:600;cursor:pointer;font-size:14px;transition:.12s}
.seat-trigger:hover{border-color:#e0962b}
.seat-trigger.done{border-style:solid;border-color:#2e9e5b;background:#eefaf1;color:#1c7a43}
.seat-trigger small{display:block;font-weight:400;font-size:12px;margin-top:2px;opacity:.85}
@media(max-width:480px){.seat,.seat-aisle,.seat-mark{width:38px;height:34px}.seat-modal{border-radius:14px}}
