/* NoorVista 3.1.33 — contact intro first, balanced cards below, full-width map */

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2{
  padding:36px 0 52px!important;
  overflow:visible!important;
  background:linear-gradient(180deg,#edf8fc 0%,#f7fcfe 70%,#fff 100%)!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2 > .container.nv-contact-hero-v2__grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  align-items:start!important;
  align-content:start!important;
  gap:26px!important;
  width:min(100% - 40px,1240px)!important;
  max-width:1240px!important;
  margin-inline:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2__grid > .nv-contact-hero-v2__intro{
  order:1!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:clamp(26px,3.5vw,44px)!important;
  border:1px solid #d3e7ee!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 14px 38px rgba(20,62,84,.07)!important;
  text-align:right!important;
  overflow:hidden!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2__grid > .nv-contact-summary{
  order:2!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2__intro h1{
  max-width:1000px!important;
  margin:14px 0 12px!important;
  color:#0f3050!important;
  font-size:clamp(1.9rem,3.5vw,3.15rem)!important;
  line-height:1.5!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2__intro > p{
  max-width:1000px!important;
  margin:0!important;
  color:#506d80!important;
  font-size:.98rem!important;
  line-height:2!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2__features{
  margin-top:20px!important;
  gap:14px!important;
}

/* The obsolete contact side panel must never compete with the new layout. */
html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2 .nv-contact-hero-v2__panel,
html body.nv-contact-cards-3129:not([data-panel-role]) main aside.nv-contact-hero-v2__panel{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Cards sit below the intro, with their own breathing room and a centered last row. */
html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  align-content:flex-start!important;
  gap:20px 18px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:8px 6px 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary > .nv-contact-summary-card{
  --nv-contact-accent:#1688a8;
  --nv-contact-soft:#e8f7fb;
  position:relative!important;
  isolation:isolate!important;
  box-sizing:border-box!important;
  flex:0 1 calc((100% - 36px)/3)!important;
  width:calc((100% - 36px)/3)!important;
  max-width:calc((100% - 36px)/3)!important;
  min-width:280px!important;
  height:auto!important;
  min-height:232px!important;
  margin:0!important;
  padding:25px 22px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
  border:1px solid #d3e7ee!important;
  border-radius:24px!important;
  background:#fff!important;
  color:#102f45!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 10px 28px rgba(20,62,84,.065)!important;
  transform:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card::before,
html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card::after{
  content:none!important;
  display:none!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card__icon{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  min-height:68px!important;
  flex:0 0 68px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 0 15px!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  color:var(--nv-contact-accent)!important;
  background:var(--nv-contact-soft)!important;
  box-shadow:0 8px 18px rgba(22,136,168,.1)!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card__icon svg{
  width:32px!important;
  height:32px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card__title{
  width:100%!important;
  margin:0!important;
  color:#16384f!important;
  font-size:1.08rem!important;
  font-weight:900!important;
  line-height:1.65!important;
  text-align:center!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card__value{
  width:100%!important;
  min-height:38px!important;
  margin:8px 0 0!important;
  padding:0!important;
  color:#0f5974!important;
  font-size:1rem!important;
  font-weight:900!important;
  line-height:1.95!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:center!important;
  text-decoration:none!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card__description{
  width:100%!important;
  max-width:290px!important;
  min-height:0!important;
  margin:8px auto 0!important;
  padding:0!important;
  display:block!important;
  color:#718394!important;
  font-size:.8rem!important;
  font-weight:650!important;
  line-height:1.85!important;
  white-space:normal!important;
  overflow:visible!important;
  text-align:center!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card--address{
  min-height:252px!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card--address .nv-contact-summary-card__value{
  font-size:.94rem!important;
  line-height:2!important;
}

@media(hover:hover){
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card:hover{
    transform:translateY(-3px)!important;
    border-color:#9fcfdb!important;
    box-shadow:0 16px 36px rgba(20,62,84,.105)!important;
  }
}

/* Full-width map below intro and cards. */
html body.nv-contact-cards-3129:not([data-panel-role]) main .contact-section{
  width:100%!important;
  padding:30px 0 74px!important;
  background:#fff!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .contact-section > .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-inline:clamp(16px,3vw,46px)!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .contact-map-panel{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(20px,3vw,34px)!important;
  border:1px solid #d3e7ee!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 16px 42px rgba(20,62,84,.08)!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .map-head{
  max-width:920px!important;
  margin:0 auto 24px!important;
  text-align:center!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .neshan-map-shell{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:560px!important;
  border:1px solid #c5e1ea!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#e8f7fb!important;
  box-shadow:none!important;
}

html body.nv-contact-cards-3129:not([data-panel-role]) main .neshan-contact-map{
  width:100%!important;
  height:560px!important;
  min-height:560px!important;
  direction:ltr!important;
  background:#e8f7fb!important;
}

.neshan-map-fallback{
  position:absolute;
  inset:18px;
  z-index:10;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:20px;
  border:1px solid #bae6fd;
  border-radius:22px;
  background:rgba(255,255,255,.97);
  color:#075985;
  text-align:center;
}
.neshan-map-fallback[hidden]{display:none!important}
.leaflet-container{font-family:Vazir,Shabnam,Tahoma,Arial,sans-serif!important}
.clinic-map-popup{direction:rtl;text-align:right;min-width:190px;line-height:1.8}
.clinic-map-popup strong{display:block;color:#075985;margin-bottom:4px}

@media(max-width:980px){
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary > .nv-contact-summary-card{
    flex-basis:calc((100% - 18px)/2)!important;
    width:calc((100% - 18px)/2)!important;
    max-width:calc((100% - 18px)/2)!important;
  }
}

@media(max-width:680px){
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2{
    padding:20px 0 32px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2 > .container.nv-contact-hero-v2__grid{
    width:min(100% - 20px,1240px)!important;
    gap:18px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2__grid > .nv-contact-hero-v2__intro{
    padding:22px 18px!important;
    border-radius:24px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-hero-v2__features{
    grid-template-columns:1fr!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary{
    gap:14px!important;
    padding:4px 2px 8px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary > .nv-contact-summary-card{
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:214px!important;
    padding:21px 17px 19px!important;
    border-radius:22px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card--address{
    min-height:232px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card__icon{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
    flex-basis:62px!important;
    margin-bottom:12px!important;
    border-radius:18px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .contact-section > .container{
    padding-inline:10px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .contact-map-panel{
    padding:14px!important;
    border-radius:22px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .neshan-map-shell{
    min-height:420px!important;
    border-radius:20px!important;
  }
  html body.nv-contact-cards-3129:not([data-panel-role]) main .neshan-contact-map{
    height:420px!important;
    min-height:420px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html body.nv-contact-cards-3129:not([data-panel-role]) main .nv-contact-summary-card{
    transition:none!important;
  }
}
