:root {
  --zgs-ink: #211d17;
  --zgs-muted: #6f6556;
  --zgs-gold: #c49320;
  --zgs-gold-2: #e2bd55;
  --zgs-cream: #fbf7ee;
  --zgs-paper: #fffdf8;
  --zgs-line: rgba(117, 83, 18, .18);
  --zgs-shadow: 0 18px 45px rgba(54, 39, 12, .1);
}

html { overflow-x: clip; scroll-padding-top: 76px !important; }
body {
  overflow-x: clip;
  padding-top: 72px !important;
  color: var(--zgs-ink);
  background: var(--zgs-paper);
}
body, button, input, select, textarea { font-family: "ZargarsazVazirmatn", Tahoma, sans-serif !important; }
.elementor-6623 :where(h1, h2, h3, h4, h5, h6, p, a, button, label, input, textarea, select, li, time, strong, b, small),
.zgs-product-gallery :where(h1, h2, h3, h4, p, a, button, span, strong, b, small),
.zgs-footer-refresh :where(h1, h2, h3, h4, p, a, button, span, strong, b, small) {
  font-family: "ZargarsazVazirmatn", "Vazirmatn", "IRANSans", Tahoma, Arial, sans-serif !important;
}
a, button { transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease; }
:focus-visible { outline: 3px solid rgba(196, 147, 32, .38) !important; outline-offset: 3px; }

/* One compact, sticky header on every page. */
.elementor-location-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 99990 !important;
  height: 72px !important;
  min-height: 72px !important;
  overflow: visible !important;
  background: rgba(255, 253, 248, .92) !important;
  border-bottom: 1px solid rgba(157, 112, 22, .14);
  backdrop-filter: blur(15px);
}
.elementor-location-header .elementor-element-8a047bd {
  height: 72px !important;
  min-height: 72px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.elementor-location-header .elementor-element-c3ff68c {
  position: absolute !important;
  top: 6px !important;
  left: 50% !important;
  width: min(1180px, calc(100% - 32px)) !important;
  height: 60px !important;
  min-height: 60px !important;
  transform: translateX(-50%) !important;
  padding: 3px 16px !important;
  border: 1px solid var(--zgs-line) !important;
  border-radius: 24px !important;
  background: rgba(255, 253, 248, .98) !important;
  box-shadow: 0 9px 28px rgba(50, 36, 9, .09) !important;
}
.elementor-location-header .elementor-element-c3ff68c > .e-con-inner {
  height: 52px !important;
  min-height: 52px !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.elementor-location-header img {
  width: auto !important;
  max-width: 118px !important;
  max-height: 46px !important;
  object-fit: contain !important;
}
.elementor-location-header .elementor-element-8495159,
.elementor-location-header .elementor-widget-theme-site-logo {
  width: 54px !important;
  max-width: 54px !important;
  flex: 0 0 54px !important;
}
.elementor-location-header .elementor-element-8495159 img,
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header img[src*="zargarsaz-logo"] {
  width: 48px !important;
  height: 44px !important;
  max-width: 48px !important;
  max-height: 44px !important;
  object-fit: contain !important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item {
  min-height: 42px !important;
  padding: 10px 15px !important;
  color: #3c3327 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  white-space: nowrap;
  border-radius: 999px;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #5b3d05 !important;
  background: #f6e7b8 !important;
}
.elementor-location-header .elementor-button {
  min-height: 42px;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: var(--zgs-ink) !important;
  color: #fff8e7 !important;
  box-shadow: 0 8px 20px rgba(33, 29, 23, .17) !important;
}
.elementor-location-header .elementor-button:hover {
  transform: translateY(-2px);
  background: #a97913 !important;
}

/* Homepage rhythm and cards. */
.elementor-6623 > .e-con,
.elementor-6623 .aca-main > .e-con {
  max-width: 100%;
}
.elementor-6623 .zgs-home-hero-clean {
  min-height: 570px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 64px max(28px, calc((100% - 1180px) / 2)) !important;
  gap: clamp(38px, 6vw, 92px) !important;
  background: radial-gradient(circle at 83% 8%, rgba(224, 183, 75, .18), transparent 30%), linear-gradient(115deg, #171510 0%, #282116 60%, #4a3820 100%) !important;
}
.elementor-6623 .zgs-home-hero-clean .zgs-clean-hero-copy {
  padding: 0 !important;
  max-width: 610px;
}
.elementor-6623 .zgs-home-hero-clean h1 {
  color: #fff4cf !important;
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 1.22 !important;
  text-wrap: balance;
}
.elementor-6623 .zgs-home-hero-clean .zgs-clean-hero-visual {
  min-height: 470px !important;
  max-width: 500px;
  justify-self: start;
  border: 1px solid rgba(225, 184, 74, .48);
  border-radius: 38px 8px 38px 8px !important;
  background-image: url("/wp-content/uploads/2026/07/zargarsaz-hero-corrected-v1.webp") !important;
  box-shadow: 18px 20px 0 rgba(205, 160, 47, .16), var(--zgs-shadow);
}
.elementor-6623 .zgs-home-hero-clean .zgs-clean-hero-visual img { opacity: 0 !important; }
.elementor-6623 .zgs-learning-paths,
.elementor-6623 .zgs-consulting-section,
.elementor-6623 .zgs-instagram-section,
.elementor-6623 .zgs-results-section {
  padding: 82px max(24px, calc((100% - 1180px) / 2)) !important;
}
.elementor-6623 .zgs-learning-paths .e-con-inner,
.elementor-6623 .zgs-consulting-section .e-con-inner { max-width: 1180px !important; }
.elementor-6623 .zgs-learning-paths .elementor-widget-icon-box,
.elementor-6623 .zgs-consult-card {
  height: 100% !important;
  min-height: 175px !important;
  border: 1px solid var(--zgs-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(59, 42, 10, .07) !important;
}
.elementor-6623 .zgs-learning-paths .elementor-widget-icon-box:hover,
.elementor-6623 .zgs-consult-card:hover {
  transform: translateY(-7px);
  border-color: rgba(196, 147, 32, .48) !important;
  box-shadow: var(--zgs-shadow) !important;
}
.elementor-6623 .zgs-learning-paths .elementor-icon {
  color: #7c5608 !important;
  background: #f4df9e !important;
  opacity: 1 !important;
}
.elementor-6623 .zgs-course-showcase {
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 22px auto 82px !important;
  padding: 34px !important;
  border-radius: 30px !important;
  border: 1px solid var(--zgs-line) !important;
  background: linear-gradient(135deg, #fffdf8, #f4e8c9) !important;
  box-shadow: var(--zgs-shadow);
}
.elementor-6623 .zgs-course-mini-card { height: 100% !important; }
.elementor-6623 .zgs-course-mini-card img {
  height: 170px !important;
  object-fit: cover !important;
}
.elementor-6623 .zgs-course-feature-image img { min-height: 490px !important; }

/* Product/project grids: consistent image and copy frames. */
.zgs-product-gallery,
.zgs-shop-catalog,
.zgs-magazine {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}
.zgs-gallery-grid,
.zgs-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}
.zgs-gallery-grid > li.product,
.zgs-products-grid > li.product {
  float: none !important;
  width: auto !important;
  height: 100% !important;
  min-height: 355px !important;
  margin: 0 !important;
  padding: 10px 10px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid var(--zgs-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(49, 36, 12, .07) !important;
  overflow: hidden;
}
.zgs-gallery-grid > li.product:hover,
.zgs-products-grid > li.product:hover {
  transform: translateY(-6px);
  border-color: rgba(196, 147, 32, .48) !important;
  box-shadow: var(--zgs-shadow) !important;
}
.zgs-gallery-grid > li.product img,
.zgs-products-grid > li.product img {
  width: 100% !important;
  height: 220px !important;
  aspect-ratio: 4 / 3;
  object-fit: cover !important;
  margin: 0 0 15px !important;
  border-radius: 12px !important;
  filter: saturate(.92) contrast(1.02);
}
.zgs-gallery-grid .woocommerce-loop-product__title,
.zgs-products-grid .woocommerce-loop-product__title {
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 8px !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--zgs-ink) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 850 !important;
}

/* Magazine cards and homepage carousel. */
.zgs-magazine-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}
.zgs-magazine-card {
  height: 100% !important;
  min-height: 440px !important;
  border-radius: 20px !important;
  background: #fff !important;
  border: 1px solid var(--zgs-line) !important;
  box-shadow: 0 12px 28px rgba(49, 36, 12, .07) !important;
}
.zgs-magazine-card-image {
  height: 215px !important;
  min-height: 215px !important;
  background-color: #efe4c8 !important;
}
.zgs-magazine-card-body { min-height: 220px; padding: 22px !important; }
.zgs-magazine-card h3 { min-height: 56px !important; font-size: 17px !important; }
.zgs-magazine-card p { color: var(--zgs-muted) !important; }
.zgs-magazine-card:hover .zgs-magazine-card-image {
  filter: sepia(.16) saturate(1.1);
  transform: scale(1.02);
}
.elementor-6623 .elementor-widget-loop-carousel .swiper-slide,
.elementor-6623 .elementor-widget-posts .elementor-post {
  height: auto !important;
}
.elementor-6623 .elementor-widget-loop-carousel article,
.elementor-6623 .premium-blog-post-container {
  min-height: 390px !important;
  height: 100% !important;
  background: #fff !important;
  border: 1px solid var(--zgs-line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
.elementor-6623 .elementor-widget-loop-carousel img,
.elementor-6623 .premium-blog-thumbnail img {
  height: 205px !important;
  width: 100% !important;
  object-fit: cover !important;
}
.elementor-6623 .elementor-swiper-button {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center;
  border-radius: 50% !important;
  background: #fff5d5 !important;
  color: #76510b !important;
  border: 1px solid rgba(196, 147, 32, .34);
}
.elementor-6623 .elementor-swiper-button:hover {
  color: #fff !important;
  background: #9f7110 !important;
  transform: scale(1.08);
}

/* Shop, premium pages, form and footer contrast. */
.zgs-shop-catalog { padding-block: 28px 72px; }
.zgs-shop-inline-hero { margin-bottom: 28px !important; }
.zgs-shop-products { min-width: 0 !important; }
.zgs-shop-sidebar { border: 1px solid var(--zgs-line) !important; background: #f8f0dc !important; }
.zgs-shop-note { display: none !important; }
.zgs-premium-hero { border: 1px solid rgba(196, 147, 32, .24); }
.zgs-premium-hero-media {
  background-position: center !important;
  background-size: cover !important;
}
.zgs-premium-hero-media::after {
  background: linear-gradient(90deg, transparent 62%, rgba(29, 26, 20, .92) 100%) !important;
}
.zgs-premium-hero-media::after {
  background: linear-gradient(90deg, transparent 30%, rgba(29, 26, 20, .68) 100%) !important;
}

/* Public, plugin-driven course landing page. */
.zgs-course-page {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 28px 0 84px;
  color: var(--zgs-ink);
}
.zgs-course-hero {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(34px, 6vw, 76px);
  align-items: center;
  min-height: 560px;
  padding: 58px;
  border: 1px solid rgba(209, 166, 55, .28);
  border-radius: 34px;
  background: radial-gradient(circle at 86% 12%, rgba(218, 178, 74, .19), transparent 30%), linear-gradient(125deg, #17140f, #342817);
  box-shadow: 0 28px 70px rgba(45, 32, 8, .16);
  overflow: hidden;
}
.zgs-course-hero-copy > span,
.zgs-course-syllabus header > span,
.zgs-course-cta span { color: #e5bd4c; font-size: 12px; font-weight: 900; }
.zgs-course-hero h1 {
  margin: 15px 0 19px;
  color: #fff4cf;
  font-size: clamp(39px, 4.8vw, 66px);
  line-height: 1.2;
  text-wrap: balance;
}
.zgs-course-hero p { margin: 0; color: #e7dcc5; font-size: 16px; line-height: 2; }
.zgs-course-pills { display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0; }
.zgs-course-pills b { padding: 8px 12px; border: 1px solid rgba(238, 204, 112, .25); border-radius: 999px; color: #f8e8b8; background: rgba(255,255,255,.055); font-size: 11px; }
.zgs-course-hero-copy > a,
.zgs-course-cta > a {
  display: inline-flex;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #efca5d, #c3921d);
  color: #201a11 !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(204, 156, 32, .22);
}
.zgs-course-hero-copy > a:hover,
.zgs-course-cta > a:hover { transform: translateY(-3px); background: #fff0b8; box-shadow: 0 16px 34px rgba(204, 156, 32, .3); }
.zgs-course-hero figure { position: relative; margin: 0; }
.zgs-course-hero figure::before { content: ""; position: absolute; inset: 22px -20px -20px 22px; border: 1px solid rgba(222, 180, 69, .35); border-radius: 38px 10px 38px 10px; }
.zgs-course-hero img { position: relative; width: 100%; height: 450px; object-fit: cover; border-radius: 38px 10px 38px 10px; }
.zgs-course-hero figcaption { position: absolute; inset: auto 18px 16px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; color: #fff4cf; background: rgba(25,20,14,.78); backdrop-filter: blur(7px); font-size: 11px; text-align: center; }
.zgs-course-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 24px 0 82px; }
.zgs-course-benefits article { padding: 26px; border: 1px solid var(--zgs-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(47,34,9,.06); }
.zgs-course-benefits article:hover { transform: translateY(-6px); box-shadow: var(--zgs-shadow); }
.zgs-course-benefits b { color: #c49320; font-size: 24px; }
.zgs-course-benefits h2 { margin: 13px 0 8px; font-size: 19px; }
.zgs-course-benefits p { margin: 0; color: var(--zgs-muted); font-size: 13px; line-height: 1.9; }
.zgs-course-syllabus { scroll-margin-top: 90px; }
.zgs-course-syllabus > header { max-width: 720px; margin: 0 auto 34px; text-align: center; }
.zgs-course-syllabus h2 { margin: 8px 0; font-size: clamp(30px, 3.8vw, 48px); }
.zgs-course-syllabus header p { color: var(--zgs-muted); line-height: 2; }
.zgs-course-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.zgs-course-sections > article { padding: 30px; border: 1px solid var(--zgs-line); border-radius: 24px; background: #fff; box-shadow: 0 16px 40px rgba(48,34,9,.07); }
.zgs-course-section-title { display: flex; align-items: center; gap: 15px; padding-bottom: 19px; border-bottom: 1px solid var(--zgs-line); }
.zgs-course-section-title > b { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; color: #5f430a; background: #f1d887; font-size: 19px; }
.zgs-course-section-title h3 { margin: 0 0 4px; font-size: 20px; }
.zgs-course-section-title span { color: #96701f; font-size: 11px; }
.zgs-course-sections ol { margin: 23px 0 0; padding: 0; list-style: none; counter-reset: course; }
.zgs-course-sections li { counter-increment: course; position: relative; padding: 10px 37px 10px 0; border-bottom: 1px dashed rgba(121,88,24,.14); color: #50483d; line-height: 1.7; }
.zgs-course-sections li::before { content: counter(course); position: absolute; right: 0; top: 9px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: #7a5509; background: #f8edcd; font-size: 10px; font-weight: 900; }
.zgs-course-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 52px; padding: 34px 40px; border-radius: 24px; color: #fff; background: linear-gradient(120deg,#1d1913,#3a2b15); }
.zgs-course-cta h2 { margin: 7px 0; color: #fff4cf; font-size: 26px; }
.zgs-course-cta p { margin: 0; color: #dccfb7; }
.zgs-contact-form input,
.zgs-contact-form textarea {
  border: 1px solid #d8c28b !important;
  color: var(--zgs-ink) !important;
  background: #fff !important;
}
.zgs-contact-form input[aria-invalid="true"],
.zgs-contact-form textarea[aria-invalid="true"] { border-color: #b33d32 !important; box-shadow: 0 0 0 3px rgba(179, 61, 50, .11); }
.zgs-field-error { display: block; min-height: 19px; margin-top: 4px; color: #a33128; font-size: 11px; }
.zgs-contact-errors { padding: 12px 15px; margin: 14px 0; border-radius: 10px; color: #86291f; background: #fde8e5; }
.elementor-location-footer { margin-top: 0 !important; }
.zgs-footer-refresh { border-top: 4px solid #c49320; }
.zgs-footer-contact-item span, .zgs-footer-brand p { color: #f0e6d2 !important; }

/* CRM QA completion: purposeful motion, readable contrast and stable spacing. */
@keyframes zgs-copy-in {
  from { opacity: 0; transform: translate3d(34px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes zgs-visual-in {
  from { opacity: 0; transform: translate3d(-28px, 14px, 0) scale(.97); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes zgs-rise-in {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes zgs-card-in-left {
  from { opacity: 0; transform: translate3d(-22px, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes zgs-card-in-right {
  from { opacity: 0; transform: translate3d(22px, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes zgs-soft-reveal {
  from { opacity: 0; filter: saturate(.65) brightness(.92); transform: scale(.985); }
  to { opacity: 1; filter: saturate(1) brightness(1); transform: scale(1); }
}

.elementor-6623 .zgs-home-hero-clean .zgs-clean-hero-copy {
  animation: zgs-copy-in .78s cubic-bezier(.2,.72,.2,1) both !important;
}
.elementor-6623 .zgs-home-hero-clean .zgs-clean-hero-visual {
  animation: zgs-visual-in .9s .08s cubic-bezier(.18,.78,.2,1) both !important;
}

/* The header uses a real alpha logo; no white image tile is allowed. */
.elementor-location-header .elementor-widget-theme-site-logo,
.elementor-location-header .elementor-element-8495159,
.elementor-location-header .elementor-widget-theme-site-logo .elementor-widget-container,
.elementor-location-header .elementor-element-8495159 .elementor-widget-container {
  background: transparent !important;
}
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header .elementor-element-8495159 img {
  mix-blend-mode: normal !important;
}

/* Homepage article cards: equal frames, legible copy and modern actions. */
.elementor-element-e8e452b { overflow: hidden !important; }
.elementor-element-e8e452b #blog-hover {
  height: 320px !important;
  min-height: 320px !important;
  padding: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid var(--zgs-line) !important;
  border-radius: 18px !important;
  background: #fffdf8 !important;
  box-shadow: 0 14px 32px rgba(57, 40, 10, .09) !important;
  overflow: hidden !important;
  transition: transform .32s cubic-bezier(.2,.72,.2,1), box-shadow .32s ease, border-color .32s ease !important;
}
.elementor-element-e8e452b #blog-hover:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(196,147,32,.5) !important;
  box-shadow: 0 23px 48px rgba(57,40,10,.16) !important;
}
.elementor-element-e8e452b #blog-hover img {
  transition: transform .45s cubic-bezier(.2,.72,.2,1), filter .45s ease !important;
}
.elementor-element-e8e452b #blog-hover:hover img {
  transform: scale(1.045) !important;
  filter: sepia(.13) saturate(1.1) contrast(1.03) !important;
}
.elementor-element-e8e452b #blog-hover .elementor-heading-title {
  text-shadow: 0 1px 0 #fff, 0 0 16px rgba(255,253,248,.9) !important;
  transition: color .25s ease, transform .25s ease !important;
}
.elementor-element-e8e452b #blog-hover:hover .elementor-heading-title {
  color: #8a5e08 !important;
  transform: translateX(-3px) !important;
}
.elementor-element-e8e452b #blog-hover .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 9px 15px !important;
  border: 1px solid #211d17 !important;
  border-radius: 10px !important;
  color: #fff8e7 !important;
  background: #211d17 !important;
  box-shadow: 0 7px 16px rgba(33,29,23,.16) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.elementor-element-e8e452b #blog-hover .elementor-button:hover {
  color: #211d17 !important;
  background: #e2bd55 !important;
  border-color: #c49320 !important;
  transform: translateY(-2px) !important;
}

/* Premium about/contact pages. */
.zgs-page-premium { padding-top: 24px !important; }
.zgs-premium-hero { margin: 0 !important; }
.zgs-premium-hero-copy { animation: zgs-copy-in .74s cubic-bezier(.2,.72,.2,1) both !important; }
.zgs-premium-hero-media { animation: zgs-visual-in .86s .08s cubic-bezier(.18,.78,.2,1) both !important; }
.zgs-premium-hero-media::after {
  background: linear-gradient(270deg, rgba(29,26,20,.92) 0%, rgba(29,26,20,.28) 34%, transparent 68%) !important;
}
.zgs-premium-section { padding-top: 42px !important; }
.zgs-premium-section > .zgs-premium-kicker {
  color: #855a08 !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
}
.zgs-premium-section > p { color: #625746 !important; font-size: 14px !important; }
.zgs-premium-grid { align-items: stretch !important; }
.zgs-premium-card { height: 100% !important; animation: zgs-rise-in .62s both !important; }
.zgs-premium-card:nth-child(2) { animation-name: zgs-card-in-right !important; animation-delay: .08s !important; }
.zgs-premium-card:nth-child(3) { animation-name: zgs-card-in-left !important; animation-delay: .14s !important; }
.zgs-contact-layout {
  align-items: stretch !important;
  gap: 22px !important;
  margin-top: 30px !important;
}
.zgs-contact-panel,
.zgs-contact-form-wrap {
  height: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
}
.zgs-contact-panel {
  display: flex !important;
  flex-direction: column !important;
  animation: zgs-card-in-right .7s .12s cubic-bezier(.2,.72,.2,1) both !important;
}
.zgs-contact-form-wrap {
  animation: zgs-card-in-left .7s .18s cubic-bezier(.2,.72,.2,1) both !important;
}
.zgs-contact-details { margin-top: auto !important; padding-top: 20px !important; }
.zgs-contact-panel > .zgs-premium-kicker { color: #76510b !important; }
.zgs-contact-panel > p { color: #5a4518 !important; font-size: 14px !important; }
.zgs-contact-detail { color: #211d17 !important; background: rgba(255,255,255,.78) !important; }
.zgs-contact-form-wrap .zgs-contact-form > p { color: #625746 !important; font-size: 14px !important; }
.zgs-contact-form textarea {
  min-height: 128px !important;
  max-height: 190px !important;
  resize: vertical !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #c49320 #f5ecd6 !important;
}
.zgs-contact-form textarea::-webkit-scrollbar { width: 9px; }
.zgs-contact-form textarea::-webkit-scrollbar-track { background: #f5ecd6; border-radius: 99px; }
.zgs-contact-form textarea::-webkit-scrollbar-thumb { background: #c49320; border: 2px solid #f5ecd6; border-radius: 99px; }
.zgs-contact-form-wrap .zgs-contact-form button {
  color: #fff8e7 !important;
  background: #211d17 !important;
  opacity: 1 !important;
}
.zgs-contact-form-wrap .zgs-contact-form button:hover { color: #211d17 !important; background: #e2bd55 !important; }

/* Premium pages already include their own closing whitespace. Avoid stacking the
   global footer offset on top of it, which creates a visible empty band. */
.zgs-page-premium + .elementor-location-footer,
.zgs-page-premium ~ .elementor-location-footer,
body.page-id-2179 .elementor-location-footer,
body.page-id-2113 .elementor-location-footer {
  margin-top: 0 !important;
}

/* Showcase/shop. */
body.woocommerce-shop .zgs-shop-catalog { row-gap: 28px !important; }
body.woocommerce-shop .zgs-shop-inline-hero { margin-bottom: 0 !important; animation: zgs-soft-reveal .8s both !important; }
body.woocommerce-shop .zgs-shop-products,
body.woocommerce-shop .zgs-shop-sidebar { margin-top: 0 !important; }
body.woocommerce-shop .zgs-products-grid > li.product {
  animation: zgs-rise-in .62s both !important;
  transition: transform .32s cubic-bezier(.2,.72,.2,1), box-shadow .32s ease, border-color .32s ease !important;
}
body.woocommerce-shop .zgs-products-grid > li.product:nth-child(2n) { animation-delay: .08s !important; }
body.woocommerce-shop .zgs-products-grid > li.product:nth-child(3n) { animation-delay: .14s !important; }
.elementor-location-header .elementor-item.zgs-current-menu-item {
  color: #5b3d05 !important;
  background: #f6e7b8 !important;
  border-radius: 999px !important;
}

/* Magazine page: stronger hero, varied motion and compact ending. */
.zgs-magazine { padding-top: 24px !important; padding-bottom: 20px !important; }
.zgs-magazine-hero {
  color: #fff7df !important;
  background: radial-gradient(circle at 86% 8%, rgba(230,189,71,.32), transparent 31%), linear-gradient(125deg,#17140f 0%,#352815 62%,#6f4d0b 100%) !important;
  animation: zgs-soft-reveal .82s both !important;
}
.zgs-magazine-hero h1 { color: #fff4cf !important; letter-spacing: 0 !important; }
.zgs-magazine-hero p { color: #eee0c4 !important; }
.zgs-magazine-hero .zgs-magazine-eyebrow { color: #f4cf67 !important; }
.zgs-magazine-featured { animation: zgs-card-in-right .72s .08s both !important; }
.zgs-magazine-card { animation: zgs-rise-in .58s both !important; }
.zgs-magazine-card:nth-child(3n+2) { animation-name: zgs-card-in-left !important; animation-delay: .07s !important; }
.zgs-magazine-card:nth-child(3n) { animation-name: zgs-card-in-right !important; animation-delay: .12s !important; }
.zgs-magazine-search button {
  display: grid !important;
  place-items: center !important;
  color: #fff8e7 !important;
  background: #b98513 !important;
  transition: transform .22s ease, background .22s ease !important;
}
.zgs-magazine-search button:hover { background: #211d17 !important; transform: rotate(-6deg) scale(1.06); }
.zgs-magazine-search button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.zgs-magazine-cta { margin-top: 36px !important; }

/* Single article template: remove inherited spacer and constrain the reading column. */
.single-post .elementor-location-single {
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 24px 0 64px !important;
  overflow: clip !important;
}
.single-post .elementor-location-single .elementor-element-0c8a9fb,
.single-post .elementor-location-single .elementor-element-8057c1e {
  margin-top: 0 !important;
  padding-top: 0 !important;
  min-height: 0 !important;
}
.single-post .elementor-location-single .elementor-page-title {
  color: #211d17 !important;
  font-size: clamp(30px,4vw,48px) !important;
  line-height: 1.35 !important;
  animation: zgs-copy-in .72s cubic-bezier(.2,.72,.2,1) both !important;
}
.single-post .elementor-location-single .elementor-widget-theme-post-featured-image {
  animation: zgs-visual-in .82s .06s cubic-bezier(.18,.78,.2,1) both !important;
}
.single-post .elementor-location-single .elementor-widget-theme-post-content {
  color: #4f4639 !important;
  font-size: 16px !important;
  line-height: 2.15 !important;
}
.single-post .elementor-location-single .elementor-element-1054c8d {
  overflow: visible !important;
  border: 1px solid rgba(214, 166, 42, .24) !important;
  border-radius: 26px !important;
  background-color: #211d17 !important;
  background-image: radial-gradient(circle at 10% 100%, rgba(214, 166, 42, .25), transparent 28%), linear-gradient(135deg, #211d17 0%, #302719 58%, #49350f 100%) !important;
  box-shadow: 0 22px 48px rgba(70, 48, 10, .14) !important;
}
.single-post .elementor-location-single .elementor-element-1054c8d .elementor-button {
  padding: 10px 18px !important;
  border-radius: 999px !important;
  color: #211d17 !important;
  background: #e0b63e !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  transition: transform .22s ease, background .22s ease !important;
}
.single-post .elementor-location-single .elementor-element-1054c8d .elementor-button:hover {
  background: #f2d986 !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 900px) {
  .elementor-6623 .zgs-home-hero-clean {
    grid-template-columns: 1fr !important;
    padding-block: 46px !important;
  }
  .elementor-6623 .zgs-home-hero-clean .zgs-clean-hero-visual { justify-self: stretch; max-width: none; min-height: 390px !important; }
  .zgs-gallery-grid, .zgs-products-grid, .zgs-magazine-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .zgs-course-hero { grid-template-columns: 1fr; padding: 38px; }
  .zgs-course-hero figure { order: -1; }
  .zgs-course-sections { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 66px !important; }
  body { padding-top: 64px !important; }
  body.woocommerce-shop .zgs-shop-inline-hero {
    background-image: linear-gradient(180deg, rgba(20, 17, 12, .48) 0%, rgba(20, 17, 12, .94) 100%), url("/wp-content/uploads/2026/07/shop-hero-jewelry-v1.png") !important;
    background-position: 15% center !important;
    background-size: cover !important;
    box-shadow: 0 16px 34px rgba(75, 51, 9, .15) !important;
  }
  .elementor-location-header { height: 64px !important; min-height: 64px !important; }
  .elementor-location-header .elementor-element-8a047bd { height: 64px !important; min-height: 64px !important; }
  .elementor-location-header .elementor-element-c3ff68c {
    top: 4px !important;
    width: calc(100% - 16px) !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 2px 10px !important;
    border-radius: 20px !important;
  }
  .elementor-location-header .elementor-element-c3ff68c > .e-con-inner { height: 50px !important; min-height: 50px !important; }
  .elementor-location-header > .elementor-element-c986c13 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .elementor-location-header .elementor-element-78ec108 { position: absolute !important; }
  .elementor-location-header .elementor-element-78ec108 > .e-con-inner { position: relative !important; }
  .elementor-location-header .elementor-element-78ec108 .zgs-mobile-contact-icon {
    display: inline-flex !important;
    visibility: visible !important;
    position: absolute !important;
    left: 9px !important;
    top: 8px !important;
    z-index: 8 !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    color: #fff7df !important;
    background: #211d17 !important;
    box-shadow: 0 7px 18px rgba(33, 29, 23, .18) !important;
  }
  .elementor-location-header .elementor-element-78ec108 .zgs-mobile-contact-icon svg { width: 18px !important; height: 18px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.8 !important; stroke-linecap: round; stroke-linejoin: round; }
  .elementor-location-header .elementor-element-78ec108 .elementor-element-0460c77 .elementor-icon {
    display: inline-grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    color: #7c5608 !important;
    background: #fffaf0 !important;
  }
  .elementor-location-header .elementor-element-78ec108 .elementor-element-0460c77 .elementor-icon i { display: none !important; }
  .elementor-location-header .elementor-element-78ec108 .elementor-element-0460c77 .elementor-icon::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 14px !important;
    background: linear-gradient(#7c5608 0 0) top/100% 2px no-repeat, linear-gradient(#7c5608 0 0) center/100% 2px no-repeat, linear-gradient(#7c5608 0 0) bottom/100% 2px no-repeat !important;
  }
  .elementor-location-header img { max-width: 86px !important; max-height: 42px !important; }
  .elementor-location-header .elementor-nav-menu--dropdown {
    border: 1px solid var(--zgs-line) !important;
    border-radius: 18px !important;
    background: #fffaf0 !important;
    box-shadow: var(--zgs-shadow) !important;
    overflow: hidden;
  }
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item { color: #30281e !important; background: transparent !important; }
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover { color: #6c4908 !important; background: #f3dfaa !important; }
  .elementor-6623 .zgs-home-hero-clean { min-height: 0 !important; padding: 34px 20px 42px !important; }
  .elementor-6623 .zgs-home-hero-clean h1 { font-size: 38px !important; }
  .elementor-6623 .zgs-home-hero-clean .zgs-clean-hero-visual { min-height: 330px !important; order: -1; }
  .elementor-6623 .zgs-learning-paths,
  .elementor-6623 .zgs-consulting-section,
  .elementor-6623 .zgs-instagram-section,
  .elementor-6623 .zgs-results-section { padding: 54px 16px !important; }
  .elementor-6623 .zgs-course-showcase { width: calc(100% - 24px) !important; padding: 18px !important; }
  .zgs-product-gallery, .zgs-shop-catalog, .zgs-magazine { width: calc(100% - 24px) !important; }
  .zgs-gallery-grid, .zgs-products-grid, .zgs-magazine-grid { grid-template-columns: 1fr !important; }
  .zgs-gallery-grid > li.product img, .zgs-products-grid > li.product img { height: 240px !important; }
  .zgs-course-page { width: calc(100% - 24px); padding-top: 12px; }
  .zgs-course-hero { padding: 22px; border-radius: 24px; }
  .zgs-course-hero img { height: 330px; }
  .zgs-course-hero h1 { font-size: 37px; }
  .zgs-course-benefits { grid-template-columns: 1fr; margin-bottom: 56px; }
  .zgs-course-sections > article { padding: 22px 18px; }
  .zgs-course-cta { align-items: flex-start; flex-direction: column; padding: 28px 23px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* 2026-08: single compact header and direct contact directory. */
html { scroll-padding-top: 64px !important; }
body { padding-top: 64px !important; }
.elementor-location-header {
  box-sizing: border-box !important;
  height: 64px !important;
  min-height: 64px !important;
  background: rgba(255, 252, 245, .94) !important;
  box-shadow: 0 8px 24px rgba(45, 32, 10, .08) !important;
}
.elementor-location-header > .elementor-element-c986c13 { display: none !important; }
.elementor-location-header .elementor-element-8a047bd {
  height: 64px !important;
  min-height: 64px !important;
}
.elementor-location-header .elementor-element-c3ff68c {
  top: 4px !important;
  width: min(1160px, calc(100% - 28px)) !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 2px 15px !important;
  border-radius: 18px !important;
  box-shadow: 0 7px 18px rgba(47, 34, 11, .08) !important;
}
.elementor-location-header .elementor-element-c3ff68c > .e-con-inner {
  height: 52px !important;
  min-height: 52px !important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item {
  min-height: 38px !important;
  padding: 8px 13px !important;
  font-size: 12px !important;
}
.elementor-location-header .elementor-button {
  min-height: 38px !important;
  padding: 8px 15px !important;
  font-size: 12px !important;
}
.elementor-location-header .elementor-element-8495159,
.elementor-location-header .elementor-widget-theme-site-logo { flex-basis: 48px !important; width: 48px !important; max-width: 48px !important; }
.elementor-location-header .elementor-element-8495159 img,
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header img[src*="zargarsaz-logo"] { width: 44px !important; height: 42px !important; max-width: 44px !important; max-height: 42px !important; }

.zgs-contact-directory {
  margin-top: 30px;
  padding: 36px;
  border: 1px solid rgba(178, 127, 21, .2);
  border-radius: 26px;
  background: linear-gradient(145deg, #fffdf8, #f8f0dd);
  box-shadow: 0 18px 45px rgba(70, 49, 11, .08);
}
.zgs-contact-directory-heading { max-width: 650px; margin-bottom: 26px; }
.zgs-contact-directory-heading h2 { margin: 0 0 10px; color: #211d17; font-size: clamp(25px, 3vw, 38px); line-height: 1.35; }
.zgs-contact-directory-heading p { margin: 0; color: #685c4c; font-size: 14px; line-height: 2; }
.zgs-contact-number-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; }
.zgs-contact-number-card {
  display: flex;
  flex-direction: column;
  min-height: 148px;
  padding: 20px 18px;
  border: 1px solid rgba(178, 127, 21, .2);
  border-radius: 18px;
  color: #211d17 !important;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 9px 18px rgba(75, 54, 14, .06);
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.zgs-contact-number-card:hover, .zgs-contact-number-card:focus-visible { transform: translateY(-5px); border-color: #c49320; background: #fffaf0; box-shadow: 0 16px 28px rgba(100, 67, 8, .14); }
.zgs-contact-number-card span { color: #85600d; font-size: 12px; font-weight: 900; }
.zgs-contact-number-card strong { margin-top: auto; color: #211d17; font-size: 17px; letter-spacing: .02em; }
.zgs-contact-number-card small { margin-top: 8px; color: #98701a; font-size: 11px; font-weight: 800; }
.zgs-contact-support-grid { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 13px; margin-top: 13px; }
.zgs-contact-support-card { display: flex; flex-direction: column; justify-content: center; min-height: 100px; padding: 18px; border-radius: 17px; background: #211d17; color: #fff7e6 !important; text-decoration: none !important; }
.zgs-contact-support-card:nth-child(2) { background: #76510b; }
.zgs-contact-support-card b { margin-bottom: 8px; color: #f2d986; font-size: 12px; }
.zgs-contact-support-card span { font-size: 12px; line-height: 1.9; }
.zgs-footer-contact-item a { display: inline-block; color: #f3e9d6 !important; text-decoration: none !important; font-size: 12px; }
.zgs-footer-contact-item a:hover { color: #f6d36e !important; }

@media (max-width: 1024px) {
  .zgs-contact-number-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zgs-contact-support-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body { padding-top: 64px !important; }
  .elementor-location-header { height: 64px !important; min-height: 64px !important; }
  .zgs-contact-directory { margin-top: 20px; padding: 24px 18px; border-radius: 20px; }
  .zgs-contact-number-grid { grid-template-columns: 1fr; }
  .zgs-contact-number-card { min-height: 122px; }
}

/* Ornate dark-gold footer: visual only, preserving the injected links/data. */
.zgs-footer-refresh {
  isolation: isolate;
  padding-top: 68px !important;
  border-top: 1px solid rgba(244, 205, 95, .65);
  background:
    radial-gradient(ellipse 48% 90% at 6% -18%, rgba(242, 190, 58, .24), transparent 70%),
    radial-gradient(ellipse 42% 70% at 92% 12%, rgba(148, 101, 15, .26), transparent 72%),
    linear-gradient(128deg, #100d09 0%, #21180d 45%, #4c330b 100%) !important;
}
.zgs-footer-refresh::before {
  z-index: -1;
  background:
    linear-gradient(90deg, transparent 0 11%, rgba(255, 222, 133, .12) 11.1% 11.25%, transparent 11.35% 100%),
    linear-gradient(110deg, transparent 0 71%, rgba(255, 222, 133, .08) 71.1% 71.22%, transparent 71.32% 100%) !important;
  opacity: .9;
}
.zgs-footer-refresh::after {
  content: "زرگرساز";
  position: absolute;
  z-index: -1;
  left: clamp(18px, 6vw, 88px);
  bottom: 34px;
  color: rgba(255, 222, 133, .075);
  font-family: "ZargarsazVazirmatn", Tahoma, sans-serif;
  font-size: clamp(72px, 12vw, 188px);
  font-weight: 900;
  letter-spacing: -.09em;
  line-height: .8;
  white-space: nowrap;
  pointer-events: none;
}
.zgs-footer-grid {
  position: relative;
  z-index: 1;
  align-items: start;
  gap: clamp(26px, 4vw, 54px) !important;
  padding-bottom: 46px !important;
}
.zgs-footer-brand {
  position: relative;
  padding: 8px 0 12px 38px !important;
  border-left-color: rgba(247, 220, 142, .28) !important;
}
.zgs-footer-brand::after {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 2px;
  height: 74px;
  background: linear-gradient(#f6d36e, rgba(246, 211, 110, 0));
  box-shadow: 0 0 18px rgba(246, 211, 110, .55);
}
.zgs-footer-mark {
  gap: 13px !important;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(247, 220, 142, .2);
  font-size: 30px !important;
  letter-spacing: -.05em;
}
.zgs-footer-mark::before {
  display: inline-grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(246, 211, 110, .58);
  border-radius: 50%;
  color: #1b1408;
  background: linear-gradient(135deg, #fff1ba, #d19a1d);
  box-shadow: 0 0 0 5px rgba(246, 211, 110, .08);
}
.zgs-footer-brand p { color: #eee1c9 !important; font-size: 13px !important; line-height: 2.15 !important; }
.zgs-footer-col h3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(247, 220, 142, .2);
  font-size: 15px !important;
}
.zgs-footer-col h3::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #f6d36e; box-shadow: 0 0 10px rgba(246,211,110,.8); }
.zgs-footer-col a {
  min-height: 30px;
  padding: 4px 0;
  color: #f8edd9 !important;
}
.zgs-footer-col a::after { height: 2px !important; background: linear-gradient(90deg, #f6d36e, #c38b16) !important; }
.zgs-footer-contact-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 54px;
  margin-bottom: 9px !important;
  padding: 8px 12px;
  border: 1px solid rgba(247, 220, 142, .16);
  border-radius: 11px;
  background: rgba(255, 243, 204, .065);
  box-shadow: inset 0 1px 0 rgba(255, 244, 210, .06);
  transition: transform .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.zgs-footer-contact-item:hover {
  transform: translateX(-4px);
  border-color: rgba(246, 211, 110, .58);
  background: rgba(246, 211, 110, .14);
  box-shadow: 0 9px 18px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 244, 210, .12);
}
.zgs-footer-contact-item b { font-size: 11px !important; }
.zgs-footer-contact-item a,
.zgs-footer-contact-item span { color: #fff3d7 !important; font-size: 12px !important; }
.zgs-footer-bottom {
  position: relative;
  z-index: 1;
  align-items: center;
  min-height: 58px;
  margin: 0 -2px;
  padding: 17px 18px 0 !important;
  border-top-color: rgba(247, 220, 142, .28) !important;
}
.zgs-footer-bottom a { position: relative; padding: 7px 0; }
.zgs-footer-bottom a:hover { color: #fff3c2 !important; text-shadow: 0 0 16px rgba(246, 211, 110, .45); }

@media (max-width: 900px) {
  .zgs-footer-brand { padding-left: 0 !important; border-left: 0 !important; }
  .zgs-footer-brand::after { right: 0; left: auto; height: 52px; }
}
@media (max-width: 600px) {
  .zgs-footer-refresh { padding-top: 48px !important; }
  .zgs-footer-refresh::after { right: 14px; left: auto; bottom: 20px; font-size: 84px; }
  .zgs-footer-grid { gap: 25px !important; padding-bottom: 30px !important; }
  .zgs-footer-col h3 { margin-bottom: 10px !important; }
  .zgs-footer-contact-item { min-height: 50px; padding: 9px 12px; }
  .zgs-footer-bottom { gap: 7px !important; padding: 15px 0 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .zgs-footer-refresh *, .zgs-footer-refresh *::before, .zgs-footer-refresh *::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Keep the complete phone directory without letting it dominate the footer. */
.zgs-footer-col:has([data-zgs-phone-directory]) {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  align-content: start;
}
.zgs-footer-col:has([data-zgs-phone-directory]) > h3 { grid-column: 1 / -1; margin-bottom: 5px !important; }
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  min-height: 46px;
  margin: 0 !important;
  padding: 6px 8px;
}
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item b {
  display: inline;
  margin: 0 0 0 5px;
  font-size: 9px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
}
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item a,
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item span { flex: 0 0 auto; font-size: 11px !important; white-space: nowrap; }
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item:not([data-zgs-phone-directory]):not([data-zgs-landline]) { grid-column: 1 / -1; }
@media (max-width: 600px) {
  .zgs-footer-col:has([data-zgs-phone-directory]) { grid-template-columns: 1fr; }
  .zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item { min-height: 44px; }
}

/* Migration-safe course/contact/footer recovery: keep the rendered blocks
 * content-sized so the host copy cannot introduce empty media or clipped text. */
.zgs-course-page .zgs-course-hero figure {
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.zgs-course-page .zgs-course-hero img {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
}
.zgs-course-page .zgs-course-sections {
  align-items: stretch;
  grid-auto-rows: 1fr;
}
.zgs-course-page .zgs-course-sections > article {
  display: flex;
  min-height: 0;
  flex-direction: column;
}
.zgs-course-page .zgs-course-sections ol {
  flex: 1 1 auto;
  min-height: 0;
}
.zgs-course-plugin-content {
  width: min(1180px, calc(100% - 40px));
  margin: 38px auto 0;
  padding: 38px clamp(18px, 4vw, 52px) 52px;
  border: 1px solid rgba(151, 113, 29, .18);
  border-radius: 28px;
  background: linear-gradient(145deg, #fffdf8, #f6edd8);
  box-shadow: 0 18px 44px rgba(71, 48, 8, .08);
}
.zgs-course-plugin-content > header { margin-bottom: 24px; text-align: center; }
.zgs-course-plugin-content > header p { margin: 0 0 8px; color: #b98513; font-size: 12px; font-weight: 900; }
.zgs-course-plugin-content > header h2 { margin: 0 0 8px; color: #211a10; font-size: clamp(24px, 3.2vw, 40px); line-height: 1.35; }
.zgs-course-plugin-content > header span { color: #77684f; font-size: 13px; }
.zgs-course-plugin-content .zgs-course-accordions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
}
.zgs-course-plugin-content details {
  min-width: 0;
  height: 100%;
  border: 1px solid rgba(151, 113, 29, .2);
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
}
.zgs-course-plugin-content summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 68px;
  padding: 18px 20px;
  color: #211a10;
  cursor: pointer;
  font-size: 17px;
  font-weight: 900;
  list-style: none;
}
.zgs-course-plugin-content summary::-webkit-details-marker { display: none; }
.zgs-course-plugin-content summary::after { content: "+"; color: #b98513; font-size: 24px; line-height: 1; }
.zgs-course-plugin-content details[open] summary::after { content: "−"; }
.zgs-course-plugin-content details ol {
  margin: 0;
  padding: 4px 22px 20px 52px;
  color: #5f5444;
  line-height: 1.9;
}
.zgs-course-plugin-content details li { padding: 8px 0; border-bottom: 1px dashed rgba(121, 88, 24, .15); }
.zgs-footer-refresh {
  min-height: 0 !important;
  padding-top: 44px !important;
  padding-bottom: 12px !important;
}
.zgs-footer-grid { gap: 24px !important; padding-bottom: 24px !important; }
.zgs-footer-contact-item { min-height: 38px !important; margin-bottom: 5px !important; padding: 5px 9px !important; line-height: 1.45 !important; }
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item { min-height: 38px !important; padding-block: 4px !important; }
.zgs-footer-contact-item b { line-height: 1.35 !important; }
.zgs-footer-contact-item a, .zgs-footer-contact-item span { line-height: 1.5 !important; }
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item a,
.zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item span {
  min-height: 0 !important;
  padding-block: 0 !important;
  line-height: 1.35 !important;
}
@media (max-width: 800px) {
  .zgs-course-plugin-content { width: calc(100% - 24px); margin-top: 28px; padding: 28px 14px 34px; border-radius: 22px; }
  .zgs-course-plugin-content .zgs-course-accordions { grid-template-columns: 1fr; }
  .zgs-course-plugin-content summary { min-height: 60px; padding-inline: 16px; font-size: 15px; }
  .zgs-course-page .zgs-course-hero figure { aspect-ratio: 1 / .82; }
}
@media (max-width: 600px) {
  .zgs-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
  .zgs-footer-brand,
  .zgs-footer-col:has([data-zgs-phone-directory]) { grid-column: 1 / -1; }
  .zgs-footer-col a { min-height: 0 !important; padding-block: 2px !important; }
  .zgs-footer-col:has([data-zgs-phone-directory]) .zgs-footer-contact-item { min-height: 42px !important; }
}

/* Keep the complete contact directory without turning the footer into a long
   stack.  The phone directory is injected after the footer shell is rendered,
   so this rule targets the stable contact-item class instead of its labels. */
.zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 8px 10px;
}
.zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) h3 {
  grid-column: 1 / -1;
  margin-bottom: 2px !important;
}
.zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) .zgs-footer-contact-item {
  min-width: 0;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(247, 220, 142, .16);
  border-radius: 12px;
  background: rgba(255, 248, 232, .055);
  line-height: 1.35 !important;
}
.zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) .zgs-footer-contact-item:last-child {
  grid-column: 1 / -1;
}
.zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) .zgs-footer-contact-item b {
  margin-bottom: 2px !important;
  color: #f6d36e !important;
  font-size: 10.5px !important;
}
.zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) .zgs-footer-contact-item a,
.zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) .zgs-footer-contact-item span {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: #fff8e8 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}
@media (max-width: 600px) {
  .zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .zgs-footer-refresh .zgs-footer-col:has(.zgs-footer-contact-item) .zgs-footer-contact-item {
    padding: 7px 8px !important;
  }
}

/* Give the contact column enough room for Persian labels and the full address. */
.zgs-footer-refresh .zgs-footer-grid {
  grid-template-columns: 1.35fr 1fr 1fr 1.55fr !important;
}
@media (max-width: 900px) {
  .zgs-footer-refresh .zgs-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  .zgs-footer-refresh .zgs-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
