/* SHABAB SAFARI PRO 1.5.21 BUS & TRANSPORT (BUS21) - seat map, trip board, hub tiles. Theme variables only (SAFARI default + every Theme Studio palette, day + night). */
.bt-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:16px}
.bt-tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;color:var(--text);text-decoration:none;box-shadow:var(--shadow);transition:transform .12s}
.bt-tile:hover{transform:translateY(-2px);border-color:var(--gold)}
.bt-tile .ti{font-size:26px;line-height:1}.bt-tile b{display:block;margin:6px 0 2px;font-size:15px}.bt-tile .d{color:var(--muted);font-size:13px}.bt-tile .eg{color:var(--faint);font-size:12px;margin-top:6px;border-top:1px dashed var(--line2);padding-top:6px}
.bt-trips{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.bt-trip{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;text-align:start;color:var(--text);font:inherit;width:100%}
.bt-trip:hover,.bt-trip.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--acc-soft)}
.bt-trip.closed{opacity:.6}
.bt-trip .tm{font-size:22px;font-weight:800}.bt-trip .rt{font-weight:700}.bt-trip .sub{color:var(--muted);font-size:12.5px}
.bt-bar{height:7px;border-radius:5px;background:var(--line2);margin-top:6px;overflow:hidden}.bt-bar>i{display:block;height:100%;background:var(--ok);border-radius:5px}.bt-bar.full>i{background:var(--bad)}
.bt-map{display:inline-block;background:var(--card2);border:2px solid var(--line);border-radius:26px 26px 14px 14px;padding:14px 14px 12px;min-width:220px}
.bt-map .front{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin-bottom:10px;border-bottom:1px dashed var(--line2);padding-bottom:8px}
.bt-row{display:flex;gap:6px;margin-bottom:6px;justify-content:center}.bt-row .aisle{width:22px}
.seat{width:40px;height:38px;border-radius:9px 9px 5px 5px;border:1.5px solid var(--line);background:#fff;color:#1d2433;font:600 13px/1 inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative}
.seat:focus-visible{outline:3px solid var(--gold);outline-offset:1px}
.seat.held{background:#ffe7a8;border-color:#e0a500;color:#5c4300}.seat.sold{background:#bfe8c8;border-color:#2e9d4b;color:#0f4a20}.seat.booked{background:#dff3e3;border-color:#58b26f;color:#1b5a2c}
.seat.boarded{background:#bcd6ff;border-color:#2f6fd6;color:#0c2f6b}.seat.blocked{background:#d5d8de;border-color:#a3a8b2;color:#636975;cursor:not-allowed}.seat.noshow{background:#f7c8c8;border-color:#c43b3b;color:#5b1111}
.seat.sel{background:var(--gold);border-color:var(--gold);color:#1d1600;box-shadow:0 0 0 3px var(--acc-soft)}
.seat[disabled]{cursor:not-allowed}
.bt-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:8px}.bt-legend span{display:inline-flex;align-items:center;gap:4px}.bt-legend i{width:14px;height:14px;border-radius:4px;border:1px solid var(--line);display:inline-block}
.bt-sell{display:grid;grid-template-columns:minmax(240px,auto) 1fr;gap:16px;align-items:start}
.bt-pax{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;background:var(--card)}
.bt-pax .ph{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:6px}
.bt-pax .g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.bt-pax label{font-size:12px;color:var(--muted);display:block}.bt-pax input,.bt-pax select{width:100%}
.bt-pax .req::after{content:' *';color:var(--pink)}
.bt-tot{display:flex;gap:16px;flex-wrap:wrap;align-items:baseline;font-size:15px}.bt-tot b{font-size:19px}
.bt-big{font-size:28px;font-weight:800;text-align:center;padding:18px;border-radius:16px;margin-top:12px}
.bt-big.okk{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.bt-big.bad{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}
.bt-maths{font-family:inherit;background:var(--card2);border:1px dashed var(--line2);border-radius:10px;padding:8px 12px;margin:6px 0}
.bt-chk label{display:flex;gap:8px;align-items:center;padding:5px 0;border-bottom:1px dashed var(--line2)}.bt-chk .who{color:var(--faint);font-size:12px;margin-inline-start:auto}
.bt-red{color:var(--bad);font-weight:700}.bt-amber{color:var(--warn);font-weight:700}.bt-okc{color:var(--ok);font-weight:700}
@media (max-width:760px){.bt-sell{grid-template-columns:1fr}.bt-map{display:block}.seat{width:34px;height:34px;font-size:12px}.bt-row .aisle{width:14px}.bt-tiles{grid-template-columns:1fr 1fr}.bt-tile{padding:10px 12px}.bt-tile .eg{display:none}}
@media print{.bt-map .seat{border-color:#999}}
