.tq-mapbox-wrapper { max-width: 1100px; margin: 0 auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.tq-topbar { display:flex; gap:12px; align-items:center; background:#212b57; padding:14px; border-radius:14px; }
.tq-search { flex:1; height:44px; border-radius:24px; border:0; padding:0 16px; outline:none; }
.tq-icon-btn { width:44px; height:44px; border-radius:12px; border:0; background:#ffffff; color:#212b57; cursor:pointer; font-weight:700; }

.tq-tabs { display:flex; gap:24px; padding:10px 14px 0; color:#212b57; }
.tq-tab { background:transparent; border:0; font-weight:800; letter-spacing:.02em; padding:10px 0; cursor:pointer; position:relative; }
.tq-tab.is-active::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:3px; background:#ff9e00; border-radius:3px; }

.tq-map { height: 650px; border-radius:16px; overflow:hidden; margin-top:12px; }
.tq-list { margin-top:12px; background:#fff; border-radius:16px; padding:12px; border:1px solid #e7e9f2; }
.is-hidden { display:none; }

.tq-modal { position:fixed; inset:0; background: rgba(33,43,87,.45); display:flex; justify-content:center; align-items:center; z-index:9999; padding:20px; }
.tq-modal-card { width:min(720px, 96vw); background:#fff; border-radius:18px; overflow:hidden; }
.tq-modal-header { display:flex; justify-content:space-between; align-items:center; padding:16px; border-bottom:1px solid #eef0f7; }
.tq-modal-title { font-weight:900; color:#212b57; font-size:20px; }

.tq-accordion { padding:8px 0; }
.tq-acc-head { width:100%; text-align:left; padding:16px; background:#fff; border:0; border-bottom:1px solid #eef0f7; font-weight:800; color:#212b57; cursor:pointer; }
.tq-acc-body { padding:12px 16px; display:none; }
.tq-acc-body.is-open { display:block; }

.tq-modal-actions { display:flex; gap:12px; padding:16px; border-top:1px solid #eef0f7; }
.tq-btn { height:44px; border-radius:12px; border:0; padding:0 16px; font-weight:800; cursor:pointer; }
.tq-btn-primary { background:#ff9e00; color:#212b57; flex:1; }
.tq-btn-ghost { background:#eef0f7; color:#212b57; flex:1; }

/* Mapbox popup styling */
.mapboxgl-popup-content { border-radius:14px; padding:12px 12px 10px; }
.mapboxgl-popup-close-button { font-size:18px; }