/* ── altpc.lt Map v5 — light + dark theme ───────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&display=swap');

/* ══ DARK theme vars (default) ══════════════════════════════════════ */
[data-theme="dark"] .pcmap-wrap,
[data-theme="dark"] .pcmap-wrap * {
  --map-bg:      #080b10;
  --map-surface: #0e1118;
  --map-card:    #111620;
  --map-border:  #1c2233;
  --map-border2: #252d40;
  --map-text:    #c9d1e0;
  --map-muted:   #4a5568;
  --map-dim:     #2d3748;
  --map-font:    'Geist', system-ui, sans-serif;
  --map-accent:  #3b82f6;
  --map-gold:    #d97706;
  --map-green:   #16a34a;
  --map-red:     #dc2626;
  --map-purple:  #7c3aed;
  --map-tile:    dark;
}

/* ══ LIGHT theme vars ═══════════════════════════════════════════════ */
[data-theme="light"] .pcmap-wrap,
[data-theme="light"] .pcmap-wrap * {
  --map-bg:      #f4f6f9;
  --map-surface: #ffffff;
  --map-card:    #f8f9fb;
  --map-border:  #e3e8ee;
  --map-border2: #c1c9d2;
  --map-text:    #0a2540;
  --map-muted:   #697386;
  --map-dim:     #a0aec0;
  --map-font:    'Geist', system-ui, sans-serif;
  --map-accent:  #2563eb;
  --map-gold:    #b45309;
  --map-green:   #15803d;
  --map-red:     #b91c1c;
  --map-purple:  #6d28d9;
  --map-tile:    light;
}

/* fallback jei theme nenustatytas */
.pcmap-wrap, .pcmap-wrap * {
  --map-bg:      #080b10;
  --map-surface: #0e1118;
  --map-card:    #111620;
  --map-border:  #1c2233;
  --map-border2: #252d40;
  --map-text:    #c9d1e0;
  --map-muted:   #4a5568;
  --map-dim:     #2d3748;
  --map-font:    'Geist', system-ui, sans-serif;
  --map-accent:  #3b82f6;
  --map-gold:    #d97706;
  --map-green:   #16a34a;
  --map-red:     #dc2626;
  --map-purple:  #7c3aed;
}

/* ── Layout ──────────────────────────────────────────────────────── */
.pcmap-wrap {
  display: grid;
  grid-template-columns: 340px 1fr;
  height: calc(100vh - 62px);
  font-family: var(--map-font);
  background: var(--map-bg);
  overflow: hidden;
}
.pcmap-sidebar {
  background: var(--map-surface);
  border-right: 1px solid var(--map-border);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
}
.pcmap-canvas { position: relative; height: 100%; min-height: 0; }
#pcmap { width: 100%; height: 100%; min-height: 400px; }

/* ── Sidebar head ────────────────────────────────────────────────── */
.pcmap-sidebar-head {
  padding: 16px 16px 10px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--map-border);
}
.pcmap-brand-row { display:flex;align-items:center;gap:10px;margin-bottom:14px; }
.pcmap-brand-icon {
  width:34px;height:34px;background:var(--map-card);
  border:1px solid var(--map-border);border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--map-muted);flex-shrink:0;
}
.pcmap-brand-title { font-size:14px;font-weight:700;color:var(--map-text);letter-spacing:-.02em;margin:0; }
.pcmap-brand-sub { font-size:11px;color:var(--map-muted);margin-top:1px; }
.pcmap-all-link { margin-left:auto;font-size:11px;font-weight:600;color:var(--map-muted);text-decoration:none;white-space:nowrap;transition:color .15s; }
.pcmap-all-link:hover { color:var(--map-text); }

/* ── Search ──────────────────────────────────────────────────────── */
.pcmap-search-wrap { position:relative;margin-bottom:10px; }
.pcmap-search-ico { position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--map-muted);pointer-events:none; }
.pcmap-search {
  width:100%;box-sizing:border-box;padding:9px 11px 9px 34px;
  background:var(--map-card);border:1px solid var(--map-border);border-radius:8px;
  font-size:12.5px;color:var(--map-text);font-family:var(--map-font);outline:none;transition:border-color .15s;
}
.pcmap-search:focus { border-color:var(--map-border2); }
.pcmap-search::placeholder { color:var(--map-dim); }

/* ── Filter tabs ─────────────────────────────────────────────────── */
.pcmap-filters { display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap; }
.pcmap-ftab {
  display:inline-flex;align-items:center;gap:5px;padding:4px 10px;
  border:1px solid var(--map-border);border-radius:5px;
  font-size:11.5px;font-weight:500;color:var(--map-muted);background:transparent;
  cursor:pointer;font-family:var(--map-font);transition:all .15s;white-space:nowrap;
}
.pcmap-ftab:hover { border-color:var(--map-border2);color:var(--map-text); }
.pcmap-ftab.active { background:var(--map-card);border-color:var(--map-border2);color:var(--map-text); }
.pcmap-ftab-cnt { opacity:.45;font-size:10.5px; }
.pcmap-ftab-dot { width:5px;height:5px;border-radius:50%; }
.pcmap-dot-all     { background:var(--map-accent); }
.pcmap-dot-shop    { background:var(--map-gold); }
.pcmap-dot-service { background:var(--map-accent); }
.pcmap-dot-private { background:var(--map-purple); }

/* ── Meta row ────────────────────────────────────────────────────── */
.pcmap-meta-row { display:flex;align-items:center;justify-content:space-between;margin-bottom:3px; }
.pcmap-count-label { font-size:11px;color:var(--map-muted); }
.pcmap-sort { display:flex;gap:2px; }
.pcmap-sort button {
  padding:3px 8px;border:1px solid transparent;border-radius:5px;
  font-size:11px;font-weight:500;color:var(--map-muted);background:transparent;
  cursor:pointer;font-family:var(--map-font);transition:all .15s;
}
.pcmap-sort button:hover { color:var(--map-text); }
.pcmap-sort button.active { background:var(--map-card);border-color:var(--map-border);color:var(--map-text); }
.pcmap-dist-hint { font-size:11px;color:var(--map-muted);min-height:14px; }

/* ── Scanner strip ───────────────────────────────────────────────── */
.pcmap-scanner-strip { padding:10px 14px;background:var(--map-card);border-bottom:1px solid var(--map-border);flex-shrink:0; }
.pcmap-scanner-strip-inner { display:flex;align-items:center;gap:10px; }
.pcmap-scanner-icon { color:var(--map-accent);flex-shrink:0;opacity:.7; }
.pcmap-scanner-text { flex:1;min-width:0; }
.pcmap-scanner-text strong { display:block;font-size:11.5px;font-weight:600;color:var(--map-text);line-height:1.35; }
.pcmap-scanner-text span { font-size:10.5px;color:var(--map-muted);line-height:1.35; }
.pcmap-scanner-cta {
  flex-shrink:0;padding:5px 10px;background:var(--map-surface);color:var(--map-muted);
  border:1px solid var(--map-border);border-radius:6px;font-size:11px;font-weight:600;
  text-decoration:none;font-family:var(--map-font);transition:all .15s;white-space:nowrap;
}
.pcmap-scanner-cta:hover { border-color:var(--map-border2);color:var(--map-text); }

/* ── Card list ───────────────────────────────────────────────────── */
.pcmap-list { flex:1;overflow-y:auto;padding:8px 8px 20px;scroll-behavior:smooth; }
.pcmap-list::-webkit-scrollbar { width:3px; }
.pcmap-list::-webkit-scrollbar-thumb { background:var(--map-border);border-radius:99px; }

/* ── Cards ───────────────────────────────────────────────────────── */
.pcmap-card {
  background:var(--map-card);border:1px solid var(--map-border);border-radius:9px;
  padding:12px 13px;margin-bottom:5px;cursor:pointer;
  transition:border-color .15s,background .12s;position:relative;overflow:hidden;
}
.pcmap-card:hover { border-color:var(--map-border2); }
.pcmap-card.is-active { border-color:var(--map-border2); }
.pcmap-card::after {
  content:'';position:absolute;left:0;top:14%;bottom:14%;
  width:2px;border-radius:0 2px 2px 0;opacity:0;transition:opacity .15s;
}
.pcmap-card.is-active::after { opacity:1; }
.pcmap-tier-premium::after  { background:var(--map-gold); }
.pcmap-tier-featured::after { background:var(--map-accent); }
.pcmap-tier-verified::after { background:var(--map-green); }
.pcmap-tier-normal::after   { background:var(--map-dim); }

/* ── Card header ─────────────────────────────────────────────────── */
.pcmap-card-header { display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:5px; }
.pcmap-card-name-wrap { display:flex;align-items:center;gap:5px;flex:1;min-width:0;flex-wrap:wrap; }
.pcmap-card-name { font-size:13.5px;font-weight:700;color:var(--map-text);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.pcmap-card-badges { display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:wrap; }

/* type pills */
.pcmap-type-pill { display:inline-block;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.05em;text-transform:uppercase; }
.pcmap-type-shop    { background:rgba(180,83,9,.13);  color:#f59e0b; }
.pcmap-type-service { background:rgba(37,99,235,.12); color:#60a5fa; }
.pcmap-type-private { background:rgba(109,40,217,.12);color:#a78bfa; }
.pcmap-feed-pill { display:inline-flex;align-items:center;gap:2px;font-size:9.5px;font-weight:700;padding:2px 5px;background:rgba(22,163,74,.12);color:#4ade80;border-radius:3px; }

/* light overrides for pills */
[data-theme="light"] .pcmap-type-shop    { background:rgba(180,83,9,.09);   color:#b45309; }
[data-theme="light"] .pcmap-type-service { background:rgba(37,99,235,.09);  color:#2563eb; }
[data-theme="light"] .pcmap-type-private { background:rgba(109,40,217,.09); color:#6d28d9; }
[data-theme="light"] .pcmap-feed-pill    { background:rgba(21,128,61,.09);  color:#15803d; }

/* ── Address / hours ─────────────────────────────────────────────── */
.pcmap-card-addr { font-size:11px;color:var(--map-muted);margin-bottom:3px;display:flex;align-items:flex-start;gap:4px;line-height:1.45; }
.pcmap-card-addr svg { flex-shrink:0;margin-top:1px;opacity:.4; }
.pcmap-card-hours { font-size:11px;color:var(--map-muted);margin-bottom:6px;display:flex;align-items:center;gap:4px;flex-wrap:wrap; }
.pcmap-card-hours svg { flex-shrink:0;opacity:.4; }
.pcmap-open-dot { width:5px;height:5px;border-radius:50%;background:var(--map-green);flex-shrink:0; }
.pcmap-card-hours.is-open .pcmap-open-dot { animation:blink 2.5s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1}50%{opacity:.4} }
.pcmap-closed-dot { width:5px;height:5px;border-radius:50%;background:var(--map-dim);flex-shrink:0; }

/* ── Rating ──────────────────────────────────────────────────────── */
.pcmap-card-rating { display:flex;align-items:center;gap:5px;font-size:11.5px;margin-bottom:6px;flex-wrap:wrap; }
.pcmap-stars { display:flex;gap:1px;color:var(--map-gold); }
.pcmap-card-rating strong { color:var(--map-text);font-size:12.5px; }
.pcmap-review-count { color:var(--map-muted);font-size:10.5px; }
.pcmap-no-rating { color:var(--map-dim);font-size:11px; }
.pcmap-dist-label { font-size:10.5px;color:var(--map-accent);font-weight:600;margin-left:auto; }

/* ── Services ────────────────────────────────────────────────────── */
.pcmap-card-services { display:flex;flex-wrap:wrap;gap:3px;margin-bottom:9px; }
.pcmap-card-services span { font-size:10px;background:var(--map-bg);color:var(--map-muted);border:1px solid var(--map-border);border-radius:3px;padding:1px 6px; }

/* ── Card actions ────────────────────────────────────────────────── */
.pcmap-card-actions { display:flex;gap:4px;flex-wrap:wrap; }
.pcmap-btn { display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:6px;font-size:11.5px;font-weight:600;font-family:var(--map-font);text-decoration:none!important;transition:opacity .15s;white-space:nowrap; }
.pcmap-btn:hover { opacity:.75; }
.pcmap-btn-call { background:rgba(37,99,235,.15);color:var(--map-accent)!important; }
.pcmap-btn-msg  { background:var(--map-card);color:var(--map-muted)!important;border:1px solid var(--map-border); }
.pcmap-btn-nav  { background:var(--map-card);color:var(--map-muted)!important;border:1px solid var(--map-border);padding:5px 9px; }

/* ── Empty ───────────────────────────────────────────────────────── */
.pcmap-empty { padding:32px 16px;text-align:center;color:var(--map-dim); }
.pcmap-empty p { font-size:12.5px;margin:0; }

/* ── Legend ──────────────────────────────────────────────────────── */
.pcmap-legend {
  position:absolute;bottom:20px;left:14px;
  background:var(--map-surface);opacity:.95;
  backdrop-filter:blur(12px);
  border:1px solid var(--map-border);border-radius:8px;
  padding:9px 12px;z-index:900;display:flex;flex-direction:column;gap:5px;
}
.pcmap-legend-item { display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:500;color:var(--map-muted);font-family:var(--map-font); }
.pcmap-legend-dot { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.pcmap-legend-dot-premium  { background:var(--map-gold); }
.pcmap-legend-dot-featured { background:var(--map-accent); }
.pcmap-legend-dot-verified { background:var(--map-green); }
.pcmap-legend-dot-normal   { background:var(--map-dim); }

/* ── Marker ──────────────────────────────────────────────────────── */
.pcpin { background:transparent!important;border:none!important; }

/* ── Popup ───────────────────────────────────────────────────────── */
.pp-wrap .leaflet-popup-content-wrapper {
  background:var(--map-surface)!important;border:1px solid var(--map-border)!important;
  border-radius:10px!important;box-shadow:0 24px 60px rgba(0,0,0,.35)!important;
  padding:0!important;overflow:hidden!important;
}
.pp-wrap .leaflet-popup-tip { background:var(--map-surface)!important; }
.pp-wrap .leaflet-popup-content { margin:0!important;min-width:256px;font-family:var(--map-font); }
.pp-wrap .leaflet-popup-close-button { color:var(--map-muted)!important;z-index:2;padding:10px 10px 0 0!important;font-size:17px!important;line-height:1!important; }
.pp { font-family:var(--map-font);color:var(--map-text); }
.pp-head { display:flex;align-items:center;gap:6px;padding:11px 13px 9px;border-bottom:1px solid var(--map-border);flex-wrap:wrap; }
.pp-type-dot { width:6px;height:6px;border-radius:50%;flex-shrink:0; }
.pp-type-label { font-size:10px;font-weight:700;color:var(--map-muted);text-transform:uppercase;letter-spacing:.06em; }
.pp-xml { font-size:9.5px;font-weight:700;padding:1px 5px;background:rgba(22,163,74,.12);color:#4ade80;border-radius:3px;margin-left:2px; }
.pp-open  { font-size:10px;font-weight:600;color:var(--map-green);margin-left:auto; }
.pp-closed{ font-size:10px;font-weight:600;color:var(--map-dim);margin-left:auto; }
.pp-name { font-size:15px;font-weight:800;color:var(--map-text);letter-spacing:-.025em;padding:10px 13px 2px; }
.pp-sub { font-size:11.5px;color:var(--map-muted);padding:0 13px 8px; }
.pp-rating { display:flex;align-items:center;gap:5px;padding:0 13px 7px;font-size:12px; }
.pp-stars-row { display:flex;gap:1px; }
.pp-rating-val { font-weight:700;color:var(--map-text); }
.pp-rating-n { color:var(--map-dim);font-size:10.5px; }
.pp-hours { font-size:11px;color:var(--map-muted);padding:0 13px 7px;line-height:1.45; }
.pp-tags { display:flex;flex-wrap:wrap;gap:3px;padding:0 13px 8px; }
.pp-tags span { font-size:10px;background:var(--map-bg);color:var(--map-muted);border:1px solid var(--map-border);border-radius:3px;padding:1px 6px; }
.pp-actions { display:flex;gap:4px;padding:0 13px 10px;flex-wrap:wrap; }
.pp-btn { display:inline-flex;align-items:center;gap:4px;padding:6px 11px;border-radius:6px;font-size:11.5px;font-weight:600;font-family:var(--map-font);text-decoration:none!important;background:var(--map-card);color:var(--map-muted)!important;border:1px solid var(--map-border);transition:border-color .15s,color .15s; }
.pp-btn:hover { border-color:var(--map-border2);color:var(--map-text)!important; }
.pp-btn-solid { background:rgba(37,99,235,.18);color:var(--map-accent)!important;border-color:rgba(37,99,235,.25); }
.pp-btn-icon { padding:6px 9px; }
.pp-scan { display:flex;align-items:center;gap:7px;padding:8px 13px;background:var(--map-card);border-top:1px solid var(--map-border);border-bottom:1px solid var(--map-border);font-size:11px;color:var(--map-muted);line-height:1.45; }
.pp-scan svg { flex-shrink:0;color:var(--map-accent);opacity:.7; }
.pp-scan a { color:var(--map-accent);text-decoration:none;font-weight:500; }
.pp-scan a:hover { text-decoration:underline; }
.pp-profile { display:block;padding:8px 13px;font-size:11.5px;font-weight:600;color:var(--map-muted)!important;text-decoration:none!important;text-align:right;transition:color .15s; }
.pp-profile:hover { color:var(--map-text)!important; }

/* ── Leaflet controls ────────────────────────────────────────────── */
.leaflet-control-zoom { border:none!important;box-shadow:none!important;border-radius:8px!important;overflow:hidden;margin-bottom:16px!important;margin-right:14px!important; }
.leaflet-control-zoom a { background:var(--map-surface)!important;color:var(--map-muted)!important;border:1px solid var(--map-border)!important;width:30px!important;height:30px!important;line-height:30px!important;font-size:15px!important;font-weight:300!important;transition:color .15s!important; }
.leaflet-control-zoom a:hover { color:var(--map-text)!important; }
.leaflet-control-zoom-in  { border-bottom:none!important;border-radius:8px 8px 0 0!important; }
.leaflet-control-zoom-out { border-radius:0 0 8px 8px!important; }
.leaflet-control-attribution { background:var(--map-surface)!important;color:var(--map-dim)!important;font-size:9.5px!important; }
.leaflet-control-attribution a { color:var(--map-muted)!important; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width:860px) {
  .pcmap-wrap { grid-template-columns:1fr;height:auto; }
  .pcmap-sidebar { max-height:55vh;order:2; }
  .pcmap-canvas  { height:45vh;order:1; }
  .pcmap-legend  { display:none; }
}
@media (min-width:1440px) { .pcmap-wrap { grid-template-columns:380px 1fr; } }

/* PCLab v12 map polish */
.pcmap-wrap{grid-template-columns:380px 1fr!important;background:var(--map-bg)!important;}
.pcmap-sidebar{border-right:1px solid var(--map-border)!important;box-shadow:10px 0 34px rgba(0,0,0,.16);}
.pcmap-sidebar-head{padding:20px 18px 14px!important;}
.pcmap-brand-icon{border-radius:14px!important;width:42px!important;height:42px!important;color:var(--map-accent)!important;}
.pcmap-brand-title{font-size:18px!important;letter-spacing:-.04em!important;font-weight:850!important;}
.pcmap-brand-sub{font-size:12px!important;}
.pcmap-search{height:42px!important;border-radius:14px!important;font-size:13px!important;font-weight:650!important;}
.pcmap-filters{gap:7px!important;}
.pcmap-ftab{border-radius:999px!important;padding:7px 11px!important;font-weight:800!important;}
.pcmap-card{border-radius:18px!important;padding:16px!important;margin-bottom:10px!important;box-shadow:0 10px 26px rgba(0,0,0,.10);}
[data-theme="light"] .pcmap-card{box-shadow:0 10px 26px rgba(15,23,42,.05);}
.pcmap-card-name{font-size:15px!important;}
.pcmap-card-services span{border-radius:999px!important;padding:5px 8px!important;font-weight:800!important;}
.pcmap-card-actions{gap:7px!important;}
.pcmap-btn{border-radius:12px!important;font-weight:800!important;}
.pcmap-legend{border-radius:18px!important;box-shadow:0 18px 44px rgba(0,0,0,.18)!important;border:1px solid var(--map-border)!important;background:var(--map-surface)!important;}
.pp{font-family:Inter,system-ui,sans-serif!important;}.pp-name{font-size:18px!important;letter-spacing:-.04em!important;}.pp-btn{border-radius:12px!important;font-weight:800!important;}
@media(max-width:1050px){.pcmap-wrap{grid-template-columns:1fr!important;height:auto!important;min-height:calc(100vh - 62px)!important}.pcmap-sidebar{height:auto!important;max-height:48vh!important}.pcmap-canvas{height:52vh!important;min-height:460px!important}}

/* PCLab v36 — keep Leaflet below header menus */
.pcmap-wrap{position:relative;z-index:1;}
.pcmap-canvas,#pcmap,.leaflet-container{z-index:1!important;}
.leaflet-top,.leaflet-bottom{z-index:400!important;}
