.avalist-map-table td.col-1,
.avalist-map-table th.col-1 { width: 15%; box-shadow: none; }

.avalist-map-table td.col-2,
.avalist-map-table th.col-2 { width: 40%; }

.avalist-map-table td.col-3,
.avalist-map-table th.col-3 { width: 25%; }

.avalist-map-table td.col-4,
.avalist-map-table th.col-4 { width: 15%; box-shadow: none; }

/* Layout */
.avalist-map { --gap:16px; --radius:14px; --bd:#e6e6eb; --muted:#666; --bg:#fff; }
.avalist-map-header { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-bottom:var(--gap); }
.avalist-map-regions { display:flex; gap:8px; align-items:center; }
.avalist-map-label { font-weight:600; margin-bottom:20px; }
.avalist-map-region,
.avalist-map-controls select,
.avalist-map-controls input[type=search] { height:42px; border-radius:10px; padding:8px 10px; }
.avalist-map-controls { display:flex; gap:12px; align-items:center; margin-left:auto; }

/* Panels */
.avalist-map-panel { display:none !important; }
.avalist-map-panel.is-active { display:block !important; }

/* Table */
.avalist-map-tablewrap { border:1px solid var(--bd); border-radius:var(--radius); background:var(--bg); }
.avalist-map-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.avalist-map-table thead { display:table-header-group !important; }
.avalist-map-table thead th { position:sticky; top:0; background:#f3f5f7; border-bottom:1px solid var(--bd); text-align:left; padding:12px 14px; font-weight:700; }
.avalist-map-table tbody td { border-top:1px solid #eef0f3; padding:12px 14px; vertical-align:top; text-align:left; }

/* Fixed widths */
.avalist-map-table col.w-col-1 { width:26%; }
.avalist-map-table col.w-col-2 { width:34%; }
.avalist-map-table col.w-col-contacts { width:18%; }
.avalist-map-table col.w-col-schedule { width:22%; }

/* First column grey */
.avalist-map-table thead th.col-1 { background:#f3f5f7 !important; }
.avalist-map-table tbody td.col-1 { background:#f3f5f7 !important; }

/* Phones */
.avalist-map-tel { display:inline-flex; gap:6px; align-items:center; text-decoration:none; color:#2a7a1f; white-space:nowrap; }
.avalist-map-tel:hover { text-decoration:none; opacity:.9; }
.avalist-map-tel-ico { display:inline-block; }

/* Note */
.avalist-map-note { margin-top:10px; color:var(--muted); font-size:13px; }
.avalist-map-table td.col-contacts .tel-row { margin:2px 0; }
.avalist-map-table td.col-contacts a.avalist-map-tel { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; color:#2cb9c9; font-weight:600; }
.avalist-map-table td.col-contacts .tel-note { margin-left:6px; white-space:normal; }

/* Region heading */
.avalist-map .avalist-map-region-title { display:block; margin:14px 0 8px; font-size:20px; font-weight:700; color:#0b4d4d; }

/* Info icon and popover */
.avalist-map .has-info { position:relative; display:inline-block; }
.avalist-map .info-icon { display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; line-height:18px; margin-left:0; cursor:pointer; user-select:none; color:#F74306; }
.avalist-map .info-popover { position:absolute; z-index:99999999; max-width:560px; background:#EAFF99; color:#15535e; padding:20px; border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.18); border:1px solid rgba(0,0,0,.08); font-size:14px; line-height:1.45; min-width:500px; }
.avalist-map .info-popover__close { position:absolute; top:6px; right:8px; width:18px; height:18px; line-height:19px; text-align:center; font-weight:700; color:#fff; cursor:pointer; background:#2cb9c9; border-radius:50%; }
.avalist-map .info-popover:after { content:""; position:absolute; left:12px; bottom:-6px; border-width:6px; border-style:solid; border-color:#EAFF99 #fc000000 transparent transparent; }

/* Kill foreign tooltips */
.avalist-map .tooltip,
.avalist-map .ui-tooltip,
.avalist-map .tippy-box,
.avalist-map [role="tooltip"] { display:none !important; }

/* Mobile */
@media (max-width:760px) {
  .avalist-map-table { display:block; border:0; }
  .avalist-map-header { flex-direction:column; gap:0; }
  .avalist-map-region,
  .avalist-map-controls select,
  .avalist-map-controls input[type=search] { margin-bottom:10px; height:38px; width:100%; }
  .avalist-map-regions,
  .avalist-map-controls { display:block; text-align:center; margin-bottom:15px; margin:0; width:100%; }
  .avalist-map-label { margin-bottom:0; }
  .avalist-map-table thead { display:none !important; border:none; }
  .avalist-map-table tbody { display:block; border:none; }
  .avalist-map-table tbody tr { display:flex; flex-wrap:wrap; border-bottom:0; background:aliceblue; margin-bottom:40px; border-radius:20px; }
  .avalist-map-table tbody td { flex:1 1 100%; padding:10px 12px; }
  .avalist-map-table tbody td::before { content:attr(data-label) ": "; display:inline-block; font-weight:600; color:#333; margin-right:6px; }
  .avalist-map-table col.w-col-contacts { width:auto; }
  .avalist-map-table tbody td.col-1 { background:rgb(234 255 153 / 75%) !important; border-radius:12px 12px 0 0; }
  .avalist-map .has-info { position:static; }
  .avalist-map-table td.col-2,
  .avalist-map-table th.col-2 { position:relative; }
  .avalist-map .avalist-map-region-title { text-align:center; margin-bottom:15px; }

  /* Поповер як модалка — на всю ширину з відступами 30px */
  .avalist-map,
  .avalist-map-panel,
  .avalist-map-tablewrap { overflow:visible !important; }
  .avalist-map .info-popover { position:fixed !important; top:10vh !important; left:30px !important; right:30px !important; bottom:auto !important; width:auto !important; max-width:none !important; min-width:0 !important; max-height:90vh !important; overflow:auto !important; transform:none !important; border-radius:12px !important; box-shadow:0 12px 30px rgba(0,0,0,.25) !important; z-index:99999999 !important; }
  .avalist-map .info-popover:after { display:none !important; }
  .avalist-map .info-popover__close { top:8px !important; right:8px !important; width:28px !important; height:28px !important; line-height:28px !important; font-size:18px !important; }
  /* Якщо тема/плагін додає transform на предків — вимикаємо */
  .avalist-map [style*="transform"] { transform:none !important; } 
}
