.akarte-wrap{--ak-gap:12px;--ak-radius:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
.akarte-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--ak-radius);padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin-top:12px}
.akarte-hstack{display:flex;gap:var(--ak-gap);align-items:center;flex-wrap:wrap}
.akarte-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:12px;min-width:260px}
.akarte-badge{display:inline-block;padding:4px 8px;border:1px solid #e5e7eb;border-radius:999px;font-size:12px;color:#374151}
.akarte-map{height:620px;border-radius:var(--ak-radius);overflow:hidden}
.akarte-help{color:#6b7280;font-size:13px}
.akarte-card h3{margin:0 0 8px;font-weight:700}
.leaflet-control-attribution a[href*="leafletjs"]{pointer-events:none;text-decoration:none}
/* --- Table styles --- */
/* ==== TABLE COLORS (clean + accessible) ==== */
.akarte-table { width:100%; border-collapse:separate; border-spacing:0; font-size:14px; color:#0f172a; }
.akarte-table thead th{
  position:sticky; top:0; z-index:1; text-align:left;
  padding:12px 10px;
  background:#f1f5f9;              /* softer header */
  color:#0f172a;
  border-bottom:1px solid #e2e8f0;
}
.akarte-table tbody td{
  padding:10px; border-bottom:1px solid #eef2f7; vertical-align:top;
}
.akarte-table tbody tr:nth-child(even){
  background:#fafcff;               /* zebra */
}
.akarte-table tbody tr:hover{
  background:#eef2ff;               /* clearer hover */
}
.akarte-table tbody tr.is-active{
  background:#dbeafe;
  box-shadow: inset 3px 0 0 #2563eb; /* active cue on the left */
}
.akarte-table a{
  color:#2563eb; text-decoration:none;
}
.akarte-table a:hover{ text-decoration:underline; }

/* Compact mobile look still applies */
@media (max-width: 640px){
  .akarte-table{font-size:13px}
  .akarte-table thead{display:none}
  .akarte-table tbody td{display:block; padding:8px 10px}
  .akarte-table tbody tr{
    border:1px solid #e5e7eb; border-radius:12px; margin-bottom:10px; display:block;
    background:#fff !important;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
  }
  .akarte-table tbody td:before{content:attr(data-label) ": "; font-weight:600; color:#475569}
}


/* filters layout */
.akarte-filters { flex-wrap: wrap; }
.akarte-filters .akarte-input { min-width: 200px; }

/* pager */
.akarte-pager{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.akarte-pagebtn{
  border:1px solid #e5e7eb;border-radius:10px;padding:6px 10px;background:#fff;cursor:pointer;
}
.akarte-pagebtn[disabled]{opacity:.5;cursor:not-allowed}
.akarte-pagebtn.is-active{background:#2563eb;color:#fff;border-color:#2563eb}
.akarte-pagersum{color:#475569;margin-left:6px}
.akarte-filters .akarte-input{ min-width:200px }
/* filter button */
.akarte-filterbtn{
  padding:10px 14px;border:1px solid #d1d5db;border-radius:12px;background:#fff;cursor:pointer;
}
.akarte-filterbtn:hover{background:#f8fafc}
.akarte-filterbadge{
  margin-left:6px; display:inline-block; min-width:18px; text-align:center;
  padding:2px 6px; border-radius:999px; background:#2563eb; color:#fff; font-size:12px;
}

/* collapsible panel */
.akarte-filterpanel{margin-top:12px}
/* filter button */
.akarte-filterbtn{
  padding:10px 14px;border:1px solid #d1d5db;border-radius:12px;background:#fff;cursor:pointer;
}
.akarte-filterbtn:hover{background:#f8fafc}
.akarte-filterbadge{
  margin-left:6px; display:inline-block; min-width:18px; text-align:center;
  padding:2px 6px; border-radius:999px; background:#2563eb; color:#fff; font-size:12px;
}

/* collapsible panel + clear button */
.akarte-filterpanel{margin-top:12px}
.akarte-filteractions{display:flex;justify-content:flex-end;margin-top:8px}
.akarte-clearbtn{
  border:1px solid #d1d5db;border-radius:999px;width:28px;height:28px;line-height:26px;
  text-align:center;background:#fff;cursor:pointer;font-size:16px
}
.akarte-clearbtn:hover{background:#f8fafc}
/* --- Mobile fixes for search & toolbar --- */
@media (max-width: 640px){
  /* Let inputs shrink and fill the card */
  .akarte-input{ min-width: 0; width: 100%; box-sizing: border-box; }

  /* Specifically override the inline min-width on the search field */
  #akarte_search{ min-width: 0 !important; width: 100%; }

  /* Keep spacing tidy on mobile */
  .akarte-hstack{ gap: 8px; }

  /* Filter button stacks nicely; remove full-width if you prefer */
  .akarte-filterbtn{ width: 100%; }
}


