/* ===== فونت‌ها (IRANSans + Vazir) ===== */
@font-face {
  font-family: 'IRANSans';
  src: url('../storage/fonts/IRANSans.woff2') format('woff2'),
       url('../storage/fonts/IRANSans.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Vazir';
  src: url('../storage/fonts/Vazir.woff2') format('woff2'),
       url('../storage/fonts/Vazir.woff') format('woff');
  font-display: swap;
}

/* ===== Scoped Reset ===== */
.ms-contact-us, .ms-contact-us * , .ms-contact-us *::before, .ms-contact-us *::after { box-sizing: border-box; }
.ms-contact-us {
  line-height: 1.65;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  font-family: 'IRANSans','Vazir','Tahoma','Arial',sans-serif;
  /* کنترل آسان ارتفاع نقشه و مقدار هم‌پوشانی کارت با نقشه */
  --map-h: 520px;                /* ارتفاع هرو نقشه */
  --overlap: calc(var(--map-h) / 2);  /* کارت از نیمهٔ نقشه شروع شود */
  --wrap-max: 1100px;
  --gutter: 16px;

  --cu-bg:#ffffff;  --cu-text:#0f172a;  --cu-muted:#64748b;
  --cu-primary:#6d28d9;  --cu-secondary:#2563eb;
  --cu-border:#e5e7eb;   --cu-shadow:0 16px 45px rgba(20,20,40,.18);
  padding-bottom: 24px; /* فاصلهٔ امن از ماژول بعدی */
}
@media (prefers-color-scheme: dark){
  .ms-contact-us{
    --cu-bg:#0f1220; --cu-text:#e5e7eb; --cu-muted:#94a3b8;
    --cu-primary:#8b5cf6; --cu-secondary:#3b82f6;
    --cu-border:#273142; --cu-shadow:0 16px 45px rgba(0,0,0,.5);
  }
}
@media (max-width: 640px){
  .ms-contact-us{ --map-h: 420px; --overlap: 200px; }
}

/* ===== هرو نقشه (بالا) ===== */
.ms-contact-us .cu-hero { height: var(--map-h); position: relative; }
.ms-contact-us .cu-map { width: 100%; height: 100%; }

/* ===== کارت اوورلی (در جریان صفحه) ===== */
.ms-contact-us .cu-card-wrap{
  /* کارت را به اندازهٔ half-map بالا می‌کشیم تا روی نقشه بنشیند */
  margin-top: calc(var(--overlap) * -1);
}
.ms-contact-us .cu-card{
  width: min(var(--wrap-max), calc(100% - (var(--gutter) * 2)));
  margin: 0 auto 18px auto;       /* وسط‌چین + فاصله‌ی پایین */
  background: var(--cu-bg);
  border: 1px solid var(--cu-border);
  border-radius: 20px;
  box-shadow: var(--cu-shadow);
  overflow: hidden;
  position: relative;              /* در جریان؛ ارتفاع آزاد */
}

/* ===== لایه‌بندی داخل کارت: فرم چپ، اطلاعات راست ===== */
.ms-contact-us .cu-grid{
  display: grid;
  grid-template-columns: 1fr 360px;
}
@media (max-width: 960px){ .ms-contact-us .cu-grid{ grid-template-columns: 1fr; } }

.ms-contact-us .cu-form { padding: 24px; }
.ms-contact-us .cu-aside{
  background: linear-gradient(135deg, var(--cu-primary), var(--cu-secondary));
  color:#fff; padding: 24px;
}

/* ===== تیتر ===== */
.ms-contact-us .cu-title{
  margin: 0 0 16px;
  font-size: clamp(18px, 2.2vw, 24px);
  color: var(--cu-text);
  text-align: center;
}

/* ===== فرم ===== */
.ms-contact-us .cu-form-el{ display:grid; gap:14px; }
.ms-contact-us .cu-row{ display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
@media (max-width: 600px){ .ms-contact-us .cu-row{ grid-template-columns:1fr; } }

.ms-contact-us .cu-field{ display:grid; gap:6px; color:var(--cu-muted); font-size:14px; }
.ms-contact-us .cu-field input, .ms-contact-us .cu-field textarea{
  border:1px solid var(--cu-border); border-radius:12px; padding:12px 14px;
  background:transparent; color:var(--cu-text); outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.ms-contact-us .cu-field input:focus, .ms-contact-us .cu-field textarea:focus{
  border-color: var(--cu-secondary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cu-secondary) 22%, transparent);
}

.ms-contact-us .cu-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:0; border-radius:14px; padding:14px 18px;
  background: linear-gradient(90deg, var(--cu-primary), var(--cu-secondary));
  color:#fff; font-weight:700; cursor:pointer;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--cu-secondary) 30%, transparent);
}
.ms-contact-us .cu-submit .fa-solid{ font-size:16px; }

/* ===== ستون اطلاعات (راست) ===== */
.ms-contact-us .cu-list{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.ms-contact-us .cu-li{ display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:start; }
.ms-contact-us .cu-ico{ font-size:18px; margin-top:3px; }
.ms-contact-us .cu-aside h3{ margin:0 0 4px; font-size:14px; opacity:.95; }
.ms-contact-us .cu-aside p{ margin:0; opacity:.95; }
.ms-contact-us .cu-aside a{ color:#fff; text-decoration:underline; word-break:break-word; }

/* separator در دسکتاپ */
@media (min-width: 961px){
  .ms-contact-us .cu-form{ border-left:1px dashed var(--cu-border); }
}
/* نقشه پشت فرم قرار بگیرد */
.ms-contact-us .cu-map,
.ms-contact-us .leaflet-container {
  z-index: 0 !important;
}

.ms-contact-us .cu-card {
  position: relative;
  z-index: 10 !important;
}
/* ستون اطلاعات با فونت IRANSans و اعداد فارسی نمایشی */
.ms-contact-us .cu-aside{
  background: linear-gradient(180deg, #5b21b6, #2563eb);
  color:#fff; padding:28px 22px;
  font-family:'IRANSans','Vazir','Tahoma','Arial',sans-serif; /* تاکید روی ایران‌سنس */
  border-top-right-radius: 0; /* با گوشه‌های کارت هماهنگ */
}
.ms-contact-us .cu-list{
  list-style:none; margin:0; padding:0; display:grid; gap:16px;
}
.ms-contact-us .cu-li{
  display:grid; grid-template-columns: 40px 1fr; gap:12px; align-items:center;
  padding:10px 8px; border-radius:12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}
.ms-contact-us .cu-ico-wrap{
  width:40px; height:40px; display:grid; place-items:center;
  border-radius:10px;
  background: rgba(255,255,255,.12);
}
.ms-contact-us .cu-ico-wrap .fa-solid{ font-size:18px; }
.ms-contact-us .cu-info{ display:grid; gap:4px; }
.ms-contact-us .cu-label{
  font-size:12px; opacity:.9; letter-spacing:.3px;
}
.ms-contact-us .cu-val{
  font-size:15px; font-weight:600; line-height:1.7;
  word-break: break-word;
}
.ms-contact-us .cu-link{ color:#fff; text-decoration:underline; }

/* جداساز نرم بین آیتم‌ها در دسکتاپ */
@media (min-width: 961px){
  .ms-contact-us .cu-li:not(:last-child){ box-shadow: inset 0 -1px 0 rgba(255,255,255,.08); }
}
/* === IRANSansWeb (FaNum) === */
@font-face {
  font-family: 'IRANSansFaNum';
  src: url('../storage/fonts/IRANSansWeb(FaNum).eot');
  src: url('../storage/fonts/IRANSansWeb(FaNum).eot?#iefix') format('embedded-opentype'),
       url('../storage/fonts/IRANSansWeb(FaNum).woff2') format('woff2'),
       url('../storage/fonts/IRANSansWeb(FaNum).woff') format('woff'),
       url('../storage/fonts/IRANSansWeb(FaNum).ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

