/* =========================================================================
   ab-contact — «موقعیت و راه‌های ارتباطی» · بلوک ۱۰
   ستون کارت‌های تماس + ستون نقشه با دکمهٔ شناور.
   وابسته به: zn-base.css ، ab-base.css
   ========================================================================= */

.zn-scope .abct-split {
  display: grid;
  grid-template-columns: var(--abct-cols, 1.1fr .9fr);
  gap: var(--abct-gap, 20px);
}

/* ---------- کارت‌های تماس ---------- */
.zn-scope .abct-list { display: grid; gap: var(--abct-list-gap, 14px); align-content: start; }

.zn-scope .abct-item {
  display: flex;
  align-items: flex-start;
  gap: var(--abct-item-gap, 16px);
  padding: var(--abct-p, 20px);
  border-radius: var(--abct-r, 16px);
  background: var(--ab-card-bg, var(--zn-card));
  border: 1px solid var(--ab-card-bd, rgba(var(--zn-line), .14));
  box-shadow: var(--ab-card-sh, var(--zn-cardsh));
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease;
}
.zn-scope a.abct-item:hover {
  color: inherit;
  transform: translateY(-3px);
  box-shadow: var(--abct-sh-h, 0 22px 46px rgba(120, 55, 30, .2));
}

.zn-scope .abct-ic {
  flex: 0 0 auto;
  width: var(--abct-ic-s, 42px);
  height: var(--abct-ic-s, 42px);
  border-radius: var(--abct-ic-r, 12px);
  display: grid; place-items: center;
  background: var(--abct-ic-bg, linear-gradient(135deg, var(--zn-crim), var(--zn-rose)));
  color: var(--abct-ic-c, #FFF);
  font-size: var(--abct-ic-fs, 17px);
  font-weight: 900;
  line-height: 1;
}
.zn-scope .abct-ic i,
.zn-scope .abct-ic svg { width: var(--abct-ic-fs, 17px); height: var(--abct-ic-fs, 17px); font-size: var(--abct-ic-fs, 17px); fill: currentColor; }

/* هر سه سطر باید زیر هم بنشینند. چون span هستند، بدون این قاعده کنار هم
   می‌چسبند و برچسب و مقدار روی یک خط می‌افتند. */
.zn-scope .abct-tx { display: block; min-width: 0; }
.zn-scope .abct-label,
.zn-scope .abct-value,
.zn-scope .abct-extra { display: block; }

.zn-scope .abct-label {
  font-size: var(--abct-label-fs, 12px);
  font-weight: 700;
  color: var(--abct-label-c, var(--zn-t5));
  line-height: 1.8;
}
.zn-scope .abct-value {
  margin-top: 5px;
  font-size: var(--abct-value-fs, 14px);
  font-weight: 800;
  line-height: 1.9;
  color: var(--abct-value-c, var(--zn-t1));
  text-align: start;
  overflow-wrap: anywhere;
}
.zn-scope .abct-extra {
  margin-top: 3px;
  font-size: var(--abct-extra-fs, 12px);
  line-height: 1.9;
  color: var(--abct-extra-c, var(--zn-t5));
  overflow-wrap: anywhere;
}

/* ---------- نقشه ---------- */
.zn-scope .abct-map {
  position: relative;
  overflow: hidden;
  border-radius: var(--abct-map-r, 20px);
  min-height: var(--abct-map-h, 280px);
  background: var(--zn-img);
  border: 1px solid rgba(var(--zn-line), .14);
  box-shadow: var(--zn-cardsh);
}
.zn-scope .abct-map img,
.zn-scope .abct-map .zn-img-ph,
.zn-scope .abct-map iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  border: 0;
}

.zn-scope a.abct-mapbtn {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 2;
  background: var(--abct-mapbtn-bg, var(--zn-glass-85));
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--zn-line), .18);
  color: var(--abct-mapbtn-c, var(--zn-t1));
  font-size: 12.5px; font-weight: 800;
  padding: 10px 16px;
  border-radius: 11px;
  box-shadow: var(--zn-cardsh);
  transition: transform .18s ease;
}
.zn-scope a.abct-mapbtn:hover { color: var(--abct-mapbtn-c, var(--zn-t1)); transform: translateY(-2px); }

@media (max-width: 900px) {
  .zn-scope .abct-split { grid-template-columns: 1fr; }
  .zn-scope .abct-map { min-height: var(--abct-map-h-m, 240px); }
}
