/* ============================================================================
   LB Bookstores — نقشه‌ی تعاملیِ ایران
   ============================================================================ */
.lbb-iran{
  --i-ink:var(--ink-700,#21245c);
  --i-saffron:var(--saffron-500,#f2860e);
  --i-saffron-d:var(--saffron-600,#d86e05);
  --i-sage:var(--sage-500,#127c71);
  --i-paper:var(--paper,#faf6ee);
  --i-surface:var(--surface,#fff);
  --i-line:var(--line,#e8e1d3);
  --i-muted:var(--text-muted,#6b6980);
  --i-green:var(--success,#15803d);
  --i-green-bg:var(--success-bg,#e7f6ec);
  --i-red:var(--danger,#dc2626);
  --i-radius:var(--r-lg,16px);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  align-items:start;
  margin-bottom:26px;
}

/* ---------- ستونِ نقشه ---------- */
.lbb-iran__map{
  background:var(--i-surface);
  border:1px solid var(--i-line);
  border-radius:var(--i-radius);
  padding:14px;
  box-shadow:var(--sh-sm,0 2px 8px rgba(25,26,46,.07));
}
.lbb-iran__map svg{width:100%;height:auto;display:block}
.lbb-iran__hint{
  text-align:center;font-size:var(--fs-sm,.875rem);
  color:var(--i-muted);margin:12px 0 0;
}

/* استان‌ها */
.lbb-iran svg path{
  fill:#e9e6dd;
  stroke:#fff;
  stroke-width:1.1;
  transition:fill .16s, transform .16s;
}
.lbb-iran svg path.has-data{
  fill:#cfd0e6;            /* استان‌های دارای کتابفروشی */
  cursor:pointer;
}
.lbb-iran svg path.has-data.is-hover{ fill:var(--i-saffron); }
/* هاورِ مرورگر روی مسیرِ رویی می‌افتد و برای استان‌های کوچک گمراه‌کننده است؛
   هایلایت را خودِ اسکریپت با کلاسِ is-hover مدیریت می‌کند. */
@media (hover:none){ .lbb-iran svg path.has-data.is-hover{ fill:#cfd0e6; } }
.lbb-iran svg path.is-active{ fill:var(--i-ink); }

/* ---------- پنل ---------- */
.lbb-iran__panel{
  background:var(--i-surface);
  border:1px solid var(--i-line);
  border-radius:var(--i-radius);
  box-shadow:var(--sh-sm,0 2px 8px rgba(25,26,46,.07));
  overflow:hidden;
  min-height:360px;
  display:flex;flex-direction:column;
}
/* ---------- جستجو ---------- */
.lbb-iran__search{
  position:relative;display:flex;align-items:center;
  padding:12px 14px;border-bottom:1px solid var(--i-line);background:var(--i-surface);
}
.lbb-iran__search-ic{position:absolute;inset-inline-start:24px;font-size:.95rem;opacity:.6;pointer-events:none}
.lbb-iran__search input{
  width:100%;padding:11px 40px 11px 40px;border-radius:11px;
  border:1px solid var(--i-line);background:var(--i-paper);
  font-family:inherit;font-size:.92rem;color:var(--text,#191a2e);
}
.lbb-iran__search input:focus{
  outline:none;border-color:var(--i-saffron);
  box-shadow:0 0 0 3px var(--ring,rgba(242,134,14,.22));background:#fff;
}
.lbb-iran__search-x{
  position:absolute;inset-inline-end:22px;width:24px;height:24px;border:0;cursor:pointer;
  background:var(--i-line);color:var(--i-ink);border-radius:50%;font-size:16px;line-height:1;
}
.lbb-iran__lead{margin:2px 4px 12px;font-size:var(--fs-sm,.875rem);color:var(--i-muted)}
.lbb-iran__reslabel{
  font-size:.78rem;font-weight:var(--fw-black,800);color:var(--i-saffron-d);
  margin:14px 2px 8px;padding-inline-start:8px;border-inline-start:3px solid var(--i-saffron);
}
.lbb-iran__reslabel:first-child{margin-top:2px}
.lbb-iran__store-loc{font-size:.8rem;color:var(--i-muted);margin-top:5px}
.lbb-iran__more-note{font-size:.78rem;color:var(--i-muted);text-align:center;margin:10px 0 0}
.lbb-iran__cityname small{font-weight:var(--fw-medium,500);color:var(--i-muted);font-size:.82em}

.lbb-iran__crumb{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:14px 18px;border-bottom:1px solid var(--i-line);
  background:var(--i-paper);font-size:var(--fs-sm,.875rem);font-weight:var(--fw-bold,700);
}
.lbb-iran__crumb i{color:var(--i-muted);font-style:normal}
.lbb-iran__crumb .is-active{color:var(--i-ink)}
.lbb-iran__crumb-btn{
  background:none;border:0;cursor:pointer;color:var(--i-saffron-d);
  font:inherit;font-weight:var(--fw-bold,700);padding:0;
}
.lbb-iran__crumb-btn:hover{text-decoration:underline}

.lbb-iran__body{padding:14px;overflow:auto;flex:1}
.lbb-iran__placeholder{
  height:100%;min-height:280px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;
  color:var(--i-muted);font-size:44px;
}
.lbb-iran__placeholder span{font-size:var(--fs-base,1rem)}

/* لیستِ شهرها */
.lbb-iran__cities{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lbb-iran__cityitem{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:11px 14px;border-radius:12px;cursor:pointer;
  background:var(--i-paper);border:1px solid var(--i-line);
  font:inherit;color:var(--i-ink);transition:.15s;text-align:right;
}
.lbb-iran__cityitem:hover{border-color:var(--i-saffron);transform:translateY(-2px)}
.lbb-iran__cityname{font-weight:var(--fw-bold,700);font-size:.92rem}
.lbb-iran__citycount{
  flex:none;min-width:26px;text-align:center;font-size:.78rem;font-weight:var(--fw-black,800);
  color:#fff;background:var(--i-saffron);border-radius:999px;padding:2px 8px;
}

/* لیستِ کتابفروشی‌ها */
.lbb-iran__stores{display:flex;flex-direction:column;gap:10px}
.lbb-iran__store{
  border:1px solid var(--i-line);border-radius:12px;padding:13px 15px;background:var(--i-surface);
}
.lbb-iran__store-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lbb-iran__store-name{font-weight:var(--fw-black,800);color:var(--i-ink);text-decoration:none;font-size:.98rem}
.lbb-iran__store-name:hover{color:var(--i-saffron-d)}
.lbb-iran__dot{
  flex:none;font-size:.72rem;font-weight:var(--fw-bold,700);padding:3px 10px;border-radius:999px;
}
.lbb-iran__dot.open{background:var(--i-green-bg);color:var(--i-green)}
.lbb-iran__dot.closed{background:#fdeaea;color:var(--i-red)}
.lbb-iran__store-addr{font-size:.82rem;color:var(--i-muted);margin-top:6px;line-height:1.7}
.lbb-iran__store-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.lbb-iran__tel{font-size:.82rem;font-weight:var(--fw-bold,700);color:var(--i-ink);text-decoration:none;direction:ltr}
.lbb-iran__more{font-size:.8rem;font-weight:var(--fw-bold,700);color:var(--i-saffron-d);text-decoration:none}
.lbb-iran__more:hover{text-decoration:underline}

/* ---------- ریسپانسیو ---------- */
@media(max-width:860px){
  .lbb-iran{grid-template-columns:1fr}
  .lbb-iran__cities{grid-template-columns:1fr}
}
