/* Shared scale for all three homepages and public navigation. */
:root {
  --omid-content-width: 1200px;
  --omid-section-gap: clamp(24px, 2.5vw, 32px);
  --omid-heading-gap: 24px;
  --omid-cta-gap: 24px;
  --omid-card-gap: 24px;
  --omid-section-inset: clamp(16px, 3vw, 32px);
  --omid-control-size: 44px;
  --hp-section-py: var(--omid-section-gap);
  --hp-section-py-sm: var(--omid-section-gap);
  --hp-section-px: var(--omid-section-inset);
  --hp-section-px-sm: var(--omid-section-inset);
}
.om-home-body > .om-home-inner,
.om-en-box > .om-en-inner { max-width: 1440px; padding-block: 0; }
.om-en .om-en-box:not(.om-en-hero) { margin: 0; }
.om-en .om-w-4767cb5, .om-en .om-w-d89938d { margin: 0; }
.om-home-body .omid-container, .om-en .omid-container,
.om-home-body :is(.oa,.sp) .ct, .om-en :is(.oa,.sp) .ct {
  max-width: var(--omid-content-width); margin-inline: auto;
}
.om-home-body :is(.omid-charity,.omid-blog,.omid-story,.oa,.sp,.omid-faq-shell),
.om-en :is(.omid-charity,.omid-blog,.omid-story,.oa,.sp,.fq) {
  padding-block: var(--omid-section-gap);
  padding-inline: var(--omid-section-inset);
  margin-block: 0;
}
.om-home-body .omid-home-page__hero + .omid-charity {
  margin-top: 0 !important;
  padding-top: var(--omid-section-gap) !important;
}
.om-home-body :is(.oa,.sp) .ct, .om-en :is(.oa,.sp) .ct { padding-inline: 0; }
:is(.om-home-body,.om-en) :is(.omid-title,.oa h2,.sp h2,.fq h2,.omid-faq-shell__title) {
  font-size: clamp(24px, 2.2vw, 32px); line-height: 1.5; margin-block: 0 16px;
}
:is(.om-home-body,.om-en) :is(.omid-intro,.sb,.omid-faq-shell__subtitle) {
  font-size: 16px; line-height: 1.9; max-width: 800px; margin-inline: auto;
}
:is(.om-home-body,.om-en) :is(.omid-intro,.oa .hd,.sp .hd) { margin-bottom: var(--omid-heading-gap); }
:is(.om-home-body,.om-en) .omid-grid {
  grid-template-columns: repeat(4, minmax(0,1fr)); grid-auto-rows: 1fr; gap: var(--omid-card-gap); align-items: stretch;
}
:is(.om-home-body,.om-en) .omid-card {
  display: flex; flex-direction: column; align-items: center;
  padding: 28px 24px; border-radius: 20px; min-width: 0; height: 100%;
}
:is(.om-home-body,.om-en) .omid-card > img {
  display: block; width: 96px; height: 96px; min-width: 96px; min-height: 96px;
  flex: 0 0 96px; object-fit: contain; margin: 0 0 20px;
}
:is(.om-home-body,.om-en) .omid-card h3 {
  font-size: 18px; line-height: 1.6; min-height: 4.8em; margin: 0 0 12px;
  display: flex; align-items: center; justify-content: center;
}
:is(.om-home-body,.om-en) .omid-card p { font-size: 15px; line-height: 1.9; margin: 0; }
.om-en .omid-charity { direction: ltr; }
.omid-footer__grid { max-width: var(--omid-content-width); gap: 24px; }
.omid-footer__card { padding: 20px; }
.omid-footer__social {
  display: grid; grid-template-columns: repeat(4,minmax(44px,1fr)); gap: 12px;
  align-items: center; justify-items: stretch;
}
.omid-footer__socialItem {
  display: flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 48px; padding: 6px;
}
.omid-footer__socialItem img { width: 32px; height: 32px; min-width: 32px; flex: 0 0 32px; object-fit: contain; border-radius: 6px; }
.omidH__icon, .omidH__lang, .omidM__qBtn { min-width: 44px; min-height: 44px; }
.omidH__icon svg, .omidM__qIcon svg { flex-shrink: 0; }
.omid-post__more, .om-read-more, .omid-blog__all {
  display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px;
}
/* Slider indicators keep a small visible dot within a 44px touch target. */
.dkm-dot, .dkm-mari-dot {
  position: relative; width: 44px !important; min-width: 44px !important; max-width: 44px !important;
  height: 44px !important; min-height: 44px !important; max-height: 44px !important;
  padding: 0 !important; border: 0; border-radius: 50%; background: transparent !important; box-shadow: none;
}
.dkm-dot::after, .dkm-mari-dot::after {
  content: ""; position: absolute; top: 18px; left: 18px; width: 8px; height: 8px;
  border-radius: 99px; background: rgba(255,255,255,.75);
}
.dkm-dot.active::after, .dkm-mari-dot.active::after { width: 16px; left: 14px; background: white; }
.dkm-dots, .dkm-mari-dots { gap: 0; padding: 0 4px; bottom: 8px; }
.omid-unavailable { padding: 120px 24px 64px; min-height: 55vh; }
.omid-unavailable__link { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 24px; border-radius: 12px; background: #004851; color: #fff; }
:is(a,button):focus-visible { outline: 3px solid #92842c; outline-offset: 4px; }
@media (max-width:1100px) {
  :is(.om-home-body,.om-en) .omid-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .omid-footer__social { grid-template-columns: repeat(3,minmax(44px,1fr)); }
}
@media (max-width:640px) {
  :root { --omid-card-gap: 20px; }
  :is(.om-home-body,.om-en) .omid-grid { grid-template-columns: minmax(0,1fr); }
  :is(.om-home-body,.om-en) .omid-card { padding: 24px; }
  :is(.om-home-body,.om-en) .omid-card h3 { min-height: 0; }
  .omid-footer__social { grid-template-columns: repeat(4,minmax(44px,1fr)); }
  .omid-footer__grid { gap: 20px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.om-home-body,.om-en) .omid-card { transition: none; }
  :is(.om-home-body,.om-en) .omid-card:hover { transform: none; }
}
@media (max-width:360px) {
  .omid-footer__social { grid-template-columns: repeat(3,minmax(44px,1fr)); }
}

/* English news/FAQ are split into builder-era fragments. Space the combined
   section once, exactly like the single Persian and Arabic section. */
.om-en .om-home-news-heading .sp { padding-top:var(--omid-section-gap); padding-bottom:0; }
.om-en .om-home-news-heading .sp .hd { margin-bottom:var(--omid-heading-gap); }
.om-en .om-home-news-posts .omid-blog { padding-block:0; }
.om-en .om-home-news-action .sp { padding-top:var(--omid-cta-gap); padding-bottom:var(--omid-section-gap); }
.om-en .om-home-news-action .sp .hd { margin:0; }
.om-en .om-home-faq-heading .fq { padding-top:var(--omid-section-gap); padding-bottom:0; }
.om-en .om-home-faq-heading .fq .hd { margin-bottom:var(--omid-heading-gap); }
.om-en .om-home-faq-content .om-en-inner { padding-bottom:var(--omid-section-gap); }
:is(.om-home-body,.om-en) .oa .st { margin-top:32px; padding-top:24px; gap:24px; }
:is(.om-home-body,.om-en) .oa .cta { margin-top:var(--omid-cta-gap); }
:is(.om-home-body,.om-en) .omid-blog__all { margin-top:var(--omid-cta-gap); }
.om-home-body .omid-faq-shell__header { margin-bottom:var(--omid-heading-gap); }
@media(max-width:640px) {
  :root { --omid-section-gap:24px; --omid-heading-gap:20px; --omid-cta-gap:20px; }
}
