body {
  background: #fff;
  color: #171717;
}

:root {
  --mehregan-content-width: 1440px;
  --mehregan-font: "Vazirmatn", "Yekan", "B Yekan", "BYekan", "IRANSans", "IRANYekan", "IranYekan", sans-serif;
  --vt-body-font: var(--mehregan-font);
  --vt-heading-font: var(--mehregan-font);
  --e-global-typography-primary-font-family: var(--mehregan-font);
  --e-global-typography-secondary-font-family: var(--mehregan-font);
  --e-global-typography-text-font-family: var(--mehregan-font);
  --e-global-typography-accent-font-family: var(--mehregan-font);
}

body,
button,
input,
select,
textarea,
.wp-site-blocks,
.elementor,
.elementor-widget,
.elementor-heading-title,
.mehregan-page,
.mehregan-single,
.mehregan-barsi-header,
.mehregan-barsi-footer,
.mehregan-page :where(h1, h2, h3, h4, h5, h6, p, a, span, strong, em, small, li, summary, label, blockquote, figcaption),
.mehregan-single :where(h1, h2, h3, h4, h5, h6, p, a, span, strong, em, small, li, summary, label, blockquote, figcaption),
.mehregan-barsi-header :where(a, span, strong),
.mehregan-barsi-footer :where(a, span, strong, p, h3) {
  font-family: var(--mehregan-font) !important;
}

body .wp-site-blocks {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* The broad font-family override above (needed so Persian body/heading text
   uses Vazirmatn) also caught Font Awesome's webfont-based icons (<i
   class="fas fa-...">), which render via a special icon font rather than a
   text font -- silently turning them invisible. Elementor's icon-picker
   sometimes outputs an inline SVG instead (unaffected by this), which is
   why some icons on the site still worked and others didn't. Restore the
   icon font specifically for icon glyphs. */
.elementor-widget i.fas,
.elementor-widget i.far,
.elementor-widget i.fab,
.elementor-widget i.fal {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands" !important;
}

body .entry-content.wp-block-post-content:has(.mehregan-page),
body .wp-block-post-content:has(.mehregan-page),
body .entry-content.wp-block-post-content:has(.mehregan-single),
body .wp-block-post-content:has(.mehregan-single) {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .entry-content.wp-block-post-content > .mehregan-page,
body .wp-block-post-content > .mehregan-page,
body .entry-content.wp-block-post-content > .mehregan-single,
body .wp-block-post-content > .mehregan-single {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:has(.mehregan-page) .wp-block-post-title,
body:has(.mehregan-page) h1.wp-block-post-title,
body:has(.mehregan-single) .wp-block-post-title,
body:has(.mehregan-single) h1.wp-block-post-title,
body:has(.mehregan-single) .wp-block-post-date,
body:has(.mehregan-single) .wp-block-post-author,
body:has(.mehregan-single) .wp-block-post-author-name,
body:has(.mehregan-single) .wp-block-post-terms,
body:has(.mehregan-single) .wp-block-post-title + .wp-block-group,
body:has(.mehregan-single) .wp-block-post-title + p,
body:has(.mehregan-single) .wp-block-post-title + .wp-block-post-date + p,
body:has(.mehregan-single) .wp-block-post-title ~ .wp-block-group:has(.wp-block-post-date),
body:has(.mehregan-single) .wp-block-post-title ~ .wp-block-group:has(.wp-block-post-author) {
  display: none !important;
}

body .wp-block-post-title,
body h1.wp-block-post-title,
body .wp-block-post-date,
body .wp-block-post-author,
body .wp-block-post-author-name,
body .wp-block-post-terms,
body .wp-block-post-title + .wp-block-group,
body .wp-block-post-title + p,
body .wp-block-post-title + .wp-block-post-date + p,
body .wp-block-post-title ~ .wp-block-group:has(.wp-block-post-date),
body .wp-block-post-title ~ .wp-block-group:has(.wp-block-post-author) {
  display: none !important;
}

body .wp-site-blocks main > .wp-block-group.has-global-padding:has(.wp-block-template-part),
body.single .wp-site-blocks main > .wp-block-group.has-global-padding:first-child,
body.page .wp-site-blocks main > .wp-block-group.has-global-padding:first-child {
  display: none !important;
}

body.single-mehregan_project .wp-site-blocks main > .wp-block-group.has-global-padding:has(nav .wp-block-post-navigation-link),
body.single-mehregan_project nav:has(> .wp-block-post-navigation-link),
body.single-mehregan_project nav:has(> div > .wp-block-post-navigation-link) {
  display: none !important;
}

body .wp-site-blocks main,
body .wp-site-blocks main > .entry-content.wp-block-post-content {
  margin-top: 0 !important;
}

body .wp-site-blocks > header.wp-block-template-part,
body .wp-site-blocks > footer.wp-block-template-part {
  display: none;
}

body > #page > #header,
body > #page > hr:first-of-type {
  display: none !important;
}

#page > #header,
#page > hr:first-of-type,
body.elementor-page #page > #header,
body.elementor-page #page > hr:first-of-type {
  display: none !important;
}

body.page-id-246 .mehregan-elementor-standard-content .mehregan-hero {
  display: none !important;
}


/* Homepage-specific styles were moved to Elementor page Custom CSS for page ID 224. */


/* About page-specific styles were moved to Elementor page Custom CSS for page ID 60556. */


/* Contact page-specific styles were moved to Elementor page Custom CSS for page ID 255. */

/* Project detail pages: keep migrated Elementor pages wide and make galleries visible. */
body.single-mehregan_project .entry-content.wp-block-post-content,
body.single-mehregan_project .wp-block-post-content,
body.single-mehregan_project .elementor {
  width: 100% !important;
  max-width: none !important;
}

body.single-mehregan_project .entry-content.alignfull.wp-block-post-content,
body.single-mehregan_project .wp-block-post-content.has-global-padding {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.single-mehregan_project .elementor-section {
  width: 100% !important;
}

body.single-mehregan_project .elementor-section.elementor-section-boxed > .elementor-container,
body.single-mehregan_project .elementor-section.elementor-section-boxed > .elementor-container.elementor-column-gap-default {
  width: 100% !important;
  max-width: 1440px !important;
}

body.single-mehregan_project .mehregan-elementor-project-content > .elementor-container,
body.single-mehregan_project .mehregan-elementor-project-content > .e-con-inner {
  max-width: 1320px !important;
}

body.single-mehregan_project .mehregan-elementor-project-hero-image img {
  display: block !important;
  width: 100% !important;
  max-height: 760px !important;
  object-fit: cover !important;
  border-radius: 30px !important;
}

body.single-mehregan_project .mehregan-elementor-project-specs {
  flex-direction: row-reverse !important;
}

body.single-mehregan_project .mehregan-elementor-project-spec-card {
  background: #f8f4ee !important;
  border-radius: 20px !important;
}

body.single-mehregan_project .mehregan-elementor-project-spec-value :where(.elementor-heading-title, span, div),
body.single-mehregan_project .mehregan-elementor-project-spec-value .elementor-heading-title {
  font-family: var(--mehregan-font) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
}

body.single-mehregan_project .mehregan-elementor-project-description-column.is-fa .mehregan-elementor-project-copy-text,
body.single-mehregan_project .mehregan-elementor-project-description-column.is-fa .mehregan-elementor-project-copy-text .elementor-widget-container {
  text-align: end !important;
}

body.single-mehregan_project .mehregan-elementor-project-description-column.is-en .mehregan-elementor-project-copy-text,
body.single-mehregan_project .mehregan-elementor-project-description-column.is-en .mehregan-elementor-project-copy-text .elementor-widget-container {
  text-align: start !important;
}

body.single-mehregan_project .mehregan-elementor-project-nav {
  border-top: 1px solid rgba(23, 23, 23, 0.14) !important;
  margin-top: 40px !important;
  padding-top: 28px !important;
}

body.single-mehregan_project .mehregan-elementor-project-nav-card.is-next {
  align-items: flex-end !important;
  text-align: right !important;
}

body.single-mehregan_project .mehregan-elementor-project-nav-thumb {
  width: 112px !important;
  min-width: 112px !important;
}

body.single-mehregan_project .mehregan-elementor-project-nav-card.is-next .mehregan-elementor-project-nav-thumb {
  margin-left: auto !important;
  margin-right: 0 !important;
  align-self: flex-end !important;
}

body.single-mehregan_project .mehregan-elementor-project-nav-thumb img {
  display: block !important;
  width: 112px !important;
  height: 72px !important;
  max-width: 112px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}

body.single-mehregan_project .mehregan-elementor-project-detail-gallery .gallery,
body.single-mehregan_project .mehregan-elementor-project-detail-gallery .elementor-image-gallery .gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin: 0 !important;
}

body.single-mehregan_project .mehregan-elementor-project-detail-gallery .gallery-item {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.single-mehregan_project .mehregan-elementor-project-detail-gallery .gallery-icon,
body.single-mehregan_project .mehregan-elementor-project-detail-gallery .gallery-icon a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.single-mehregan_project .mehregan-elementor-project-detail-gallery img {
  display: block !important;
  width: 100% !important;
  height: 280px !important;
  max-width: none !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 4px !important;
}

@media (max-width: 1024px) {
  body.single-mehregan_project .mehregan-elementor-project-detail-gallery .gallery,
  body.single-mehregan_project .mehregan-elementor-project-detail-gallery .elementor-image-gallery .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.single-mehregan_project .elementor-section.elementor-section-boxed > .elementor-container,
  body.single-mehregan_project .mehregan-elementor-project-content > .elementor-container {
    max-width: 100% !important;
  }

  body.single-mehregan_project .mehregan-elementor-project-detail-gallery .gallery,
  body.single-mehregan_project .mehregan-elementor-project-detail-gallery .elementor-image-gallery .gallery {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.single-mehregan_project .mehregan-elementor-project-detail-gallery img {
    height: 230px !important;
  }
}

/* Footer icon-list SVG safety: prevent Elementor SVG icons from inheriting huge sizes. */
.mehregan-elementor-template-footer .elementor-icon-list-item {
  align-items: flex-start !important;
}

.mehregan-elementor-template-footer .elementor-icon-list-icon {
  display: inline-flex !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 22px !important;
  margin-left: 8px !important;
  padding-top: 8px !important;
  align-items: flex-start !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.mehregan-elementor-template-footer .elementor-icon-list-icon svg,
.mehregan-elementor-template-footer .elementor-icon-list-icon i {
  display: block !important;
  width: 13px !important;
  min-width: 13px !important;
  max-width: 13px !important;
  height: 13px !important;
  min-height: 13px !important;
  max-height: 13px !important;
  color: #f58220 !important;
  fill: #f58220 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.mehregan-elementor-template-footer .mehregan-elementor-footer-contact-list .elementor-icon-list-icon {
  flex-basis: 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
}

.mehregan-elementor-template-footer .mehregan-elementor-footer-contact-list .elementor-icon-list-icon svg,
.mehregan-elementor-template-footer .mehregan-elementor-footer-contact-list .elementor-icon-list-icon i {
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  font-size: 14px !important;
}
