.iran-reps-map-wrap{
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.iran-reps-map{
	width: 100%;
  position:relative;
  flex: 0 0 auto;
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:14px;
  padding:12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.iran-reps-map__svg{
  line-height:0;
	max-width: 600px;
    margin: 0 auto;
}

.iran-reps-map__svg-el{
  max-width:100%;
  height:auto;
  display:block;
}

.iran-reps-map__tooltip{
  position:absolute;
  left: 0;
  top: 0;

  padding:6px 10px;
  background: rgba(0,0,0,0.75);
  color:#fff;
  border-radius:999px;
  font-size:12px;

  pointer-events:none;
  opacity:0;
  transition: opacity .12s ease;
  z-index: 9999; /* برای اطمینان */

  width: auto !important;
  max-width: 240px;
  display: inline-block !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  transform: none !important;
  right: auto !important;
}


/* Sea */
.iran-reps-map__sea path{
  fill:#d7f1ff;
  stroke:none;
  opacity:0.9;
}

/* Border */
.iran-reps-map__border path{
  fill:none;
  stroke:#333;
  stroke-width:2;
  opacity:0.6;
}

/* Provinces */
.iran-reps-map__provinces path{
  fill:#f2f2f2;
  stroke:#666;
  stroke-width:0.6;
  cursor:pointer;
  transition: transform .12s ease, fill .12s ease;
  transform-origin: 50% 50%;
}
.iran-reps-map__provinces path:hover{
  fill:#e6e6e6;
}
.iran-reps-map__provinces path.is-active{
  fill:#fed308;
  transform: scale(1.01);
}

/* Panel */
.iran-reps-map__panel{
  flex: 1 1 auto;
  min-width: 280px;
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:14px;
  padding:14px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.iran-reps-map__panel-header{
  margin-bottom:10px;
}
.iran-reps-map__title{
  font-size:18px;
  font-weight:700;
  margin-bottom:6px;
}
.iran-reps-map__subtitle{
  font-size:13px;
  opacity:.75;
}

.iran-reps-map__controls{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:10px 0 12px;
}

.iran-reps-map__search input{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid #e7e7e7;
  border-radius:12px;
  outline:none;
}
.iran-reps-map__search input:focus{
  border-color:#cfcfcf;
}

.iran-reps-map__cities-list{
	display:none !important;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.iran-reps-map__city-btn{
  border:1px solid #e7e7e7;
  background:#fafafa;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  cursor:pointer;
}
.iran-reps-map__city-btn.is-active{
  background:#f0f0f0;
  border-color:#cfcfcf;
}

/* Cards */
.iran-reps-map__list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.iran-reps-map__empty{
  padding:14px;
  border:1px dashed #e7e7e7;
  border-radius:12px;
  opacity:.8;
}

.irmp-card{
  border:1px solid #eee;
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.irmp-card__title{
  font-weight:700;
  margin-bottom:6px;
}
.irmp-card__meta{
  font-size:12.5px;
  opacity:.85;
  margin-top:4px;
}
.irmp-card__meta span{
  opacity:.8;
}
.irmp-card__contact{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}
.irmp-card__contact a{
  text-decoration:none;
  border-bottom:1px dotted rgba(0,0,0,0.25);
}
.irmp-card__address{
  margin-top:8px;
  font-size:12.5px;
  opacity:.9;
  line-height:1.8;
}

/* Responsive */
@media (max-width: 980px){
  .iran-reps-map-wrap{
    flex-direction:column;
  }
  .iran-reps-map{
    width:100%;
  }
}

/* --- Section spacing (national/provincial) --- */
.iran-reps-map__national,
.iran-reps-map__prov{
  margin-top: 18px;
}

/* تیتر سکشن‌ها */
.iran-reps-map__national-title,
.iran-reps-map__prov-title{
  font-weight: 800;
  font-size: 14px;
  line-height: 1.3;
  padding: 10px 12px;
  margin: 0 0 10px;
  border-radius: 12px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
}

/* اگر خواستی سراسری بیشتر به چشم بیاد */
.iran-reps-map__national{
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
}

/* بخش استانی هم کمی قاب داشته باشه */
.iran-reps-map__prov{
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  background: #fff;
}

/* ساب‌تایتل استان فاصله بگیره */
.iran-reps-map__subtitle{
  margin: 6px 0 12px;
  color: rgba(0,0,0,.65);
  font-size: 13px;
}

/* --- Cards spacing --- */
.irmp-card{
  margin: 0 0 12px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}

/* آخرین کارت هر بخش بدون margin اضافی */
.iran-reps-map__national-list .irmp-card:last-child,
.iran-reps-map__list .irmp-card:last-child{
  margin-bottom: 0;
}

/* داخل کارت‌ها فاصله خطی بهتر */
.irmp-card__title{ margin-bottom: 6px; }
.irmp-card__meta{ margin-top: 6px; }
.irmp-card__contact{ margin-top: 8px; gap: 10px; display: flex; flex-wrap: wrap; }
.irmp-card__address{ margin-top: 8px; line-height: 1.9; color: rgba(0,0,0,.75); }

/* اگر لینک‌ها خیلی چسبیده‌ان */
.irmp-card__contact a{
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 10px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
}

/* ===== Desktop: bigger map ===== */
@media (min-width: 981px){
  .iran-reps-map{
    margin: 0 auto;      /* وسط‌چین */
    padding: 16px;
  }

  /* SVG: حتی اگر JS width/height داده باشد، با !important override کن */
  .iran-reps-map__svg-el{
    width: 100% !important;
    height: auto !important;
    max-height: 780px;   /* بزرگ‌ترش کن */
  }
}

