:root{
  --accent:#009846; --bg:#f7f7f9; --text:#222; --muted:#6b7280; --border:#e5e7eb;
  /* WP admin bar compensation (desktop: 32px, mobile: 46px) */
  --wp-admin-bar: 0px;
}
@media (min-width:783px){
  body.admin-bar{ --wp-admin-bar: 32px; }
}
@media (max-width:782px){
  body.admin-bar{ --wp-admin-bar: 46px; }
}

/* Βασικό layout */
.bgm-layout{
  display:grid; grid-template-columns:360px 1fr; min-height:70vh;
  background:var(--bg); color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;
}
@media (max-width:1024px){
  .bgm-layout{ grid-template-columns:1fr; }
  .bgm-panel{ order:2; }
  .bgm-map-wrap{ order:1; }
}

/* ——— Panel (sidebar) ——— */
.bgm-panel{
  border-right:1px solid var(--border);
  background:#fff;
  display:flex; flex-direction:column;
  min-height:0;
}

/* Header μέσα στο panel */
.bgm-header{
  padding:12px; border-bottom:1px solid var(--border);
  position:sticky; top:0; /* sticky ΜΟΝΟ μέσα στον δικό του scroller */
  background:#fff; z-index:10;
}
.bgm-title{ font-weight:800; margin:0 0 6px; }

/* Δύο γραμμές αναζήτησης/ελέγχων */
.bgm-search{ display:grid; gap:8px; }
.bgm-search-line input{
  width:100%; padding:10px 12px; border:1px solid var(--border);
  border-radius:10px; font-size:16px;
}
.bgm-controls{
  display:grid; grid-template-columns:auto auto 1fr; gap:8px; align-items:center;
}
.bgm-input{
  padding:10px 12px; border:1px solid var(--border);
  border-radius:10px; font-size:14px; width:100%;
}
@media (max-width:560px){
  .bgm-controls{ grid-template-columns:1fr 1fr 1fr; }
}

/* Meta / progress */
.bgm-meta{ display:flex; gap:10px; font-size:12px; color:var(--muted); margin-top:8px; align-items:center; }
.bgm-progress{ height:8px; background:#eef1f5; border-radius:999px; overflow:hidden; margin-top:8px; }
.bgm-bar{ height:100%; width:0; background:linear-gradient(90deg,var(--accent),#00c2a8); transition:width .2s ease; }
.bgm-pill{ display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; background:#f1f5ff; color:#2456ff; border:1px solid #dbe4ff; font-size:12px; }

/* Λίστα καταστημάτων */
.bgm-list{
  /* Η λίστα θα είναι η περιοχή που κάνει scroll μέσα στο panel */
  overflow:auto;
  padding:8px 12px;
  flex:1 1 auto;     /* γεμίζει τον διαθέσιμο χώρο */
  min-height:0;      /* απαραίτητο για να δουλέψει σωστά το overflow σε flex container */
}
.bgm-card{
  padding:12px; border:1px solid var(--border); border-radius:14px;
  margin:8px 0; background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.bgm-card h3{ font-size:16px; margin:0 0 6px; }
.bgm-card p{ margin:4px 0; color:#333; }
.bgm-muted{ color:var(--muted); }
.bgm-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; align-items:center; }

.bgm-btn{
  appearance:none; border:1px solid var(--border); background:#fff; color:#111;
  border-radius:10px; padding:8px 10px; cursor:pointer; font-size:13px;
}
.bgm-primary{ background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600; }

/* ——— Map ——— */
.bgm-map-wrap{ position:relative; }
#bgm-map{ height:70vh; width:100%; background:#e9eef5; }
@media (max-width:1024px){
  #bgm-map{ height:60vh; } /* κινητά/ταμπλέτες: δεν αλλάζουμε συμπεριφορά */
}

/* Custom Zoom πάνω στον χάρτη */
.bgm-zoomctl{
  position:absolute; top:12px; left:12px;
  display:flex; flex-direction:column; gap:8px; z-index:901;
}
.bgm-zoomctl button{
  border:1px solid var(--border); background:#fff; color:#111; border-radius:10px;
  padding:8px 10px; font-weight:700; cursor:pointer;
  min-width:44px; min-height:44px; box-shadow:0 6px 18px rgba(0,0,0,.08);
}

/* Toast */
.bgm-toast{
  position:absolute; top:12px; right:12px; background:#111; color:#fff;
  padding:8px 10px; border-radius:10px; font-size:12px; opacity:.95; z-index:999;
}

/* Υποσέλιδο panel */
.bgm-foot{ padding:12px; border-top:1px solid var(--border); font-size:12px; color:var(--muted); }

/* Floating actions (αν υπάρχουν) */
.bgm-fab{
  position:absolute; right:12px; bottom:12px;
  display:flex; flex-direction:column; gap:10px; z-index:900;
}
.bgm-fab button{
  border:none; border-radius:999px; padding:12px 14px; background:var(--accent);
  color:#fff; font-weight:700; box-shadow:0 6px 18px rgba(0,0,0,.3); cursor:pointer;
}

/* ——— DESKTOP ΜΟΝΟ: κάνε το panel με δικό του scroll και ίδιο ύψος με το χάρτη ——— */
@media (min-width:1025px){
  /* Και οι δύο στήλες να «τεντώνουν» σε ύψος */
  .bgm-layout{ align-items:stretch; }

  /* Panel = viewport height - admin bar, και να έχει ΔΙΚΟ ΤΟΥ scroll */
  .bgm-panel{
    height: calc(100vh - var(--wp-admin-bar));
    overflow-y: auto;
  }

  /* Ο χάρτης στο ίδιο ακριβώς ύψος με το panel */
  #bgm-map{
    height: calc(100vh - var(--wp-admin-bar));
  }
}
/* Τίτλος στο sidebar */
.bgm-header .bgm-title,
.bgm-header .title {
  font-size: 22px;   /* π.χ. 18px */
  line-height: 1.2;
}

