/* =====================================================
   sopa-adjust.css — اصلاحات و هم‌راستایی با Elementor
   ===================================================== */

/* Fix oversized SVG arrows in btn-gold buttons (tenders page, etc.) */
.btn-gold svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-right: .4rem;
}

/* Sales page tab buttons */
.sales-tab {
  font-family: "Vazirmatn", "Tahoma", "Arial", sans-serif !important;
  font-weight: 900 !important;
  font-size: 1rem !important;
  letter-spacing: 0 !important;
  color: #1a1d24 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.sales-tab.active {
  font-weight: 900 !important;
  color: #fff !important;
}
.sales-tab:disabled {
  opacity: .5 !important;
  color: #6b7280 !important;
}

/* Sales page font overrides */
.sales-panel h2 { font-size: 1.6rem !important; font-weight: 900 !important; color: var(--gold) !important; margin-bottom: 1rem; line-height: 1.8 !important; }
.sales-panel h3 { font-size: 1.25rem !important; font-weight: 800 !important; color: var(--gold) !important; margin-top: 1.5rem; margin-bottom: .8rem; line-height: 1.8 !important; }
.sales-panel h4 { font-size: 1.05rem !important; font-weight: 700 !important; color: var(--txt) !important; line-height: 1.8 !important; }
.sales-panel p { font-size: 1rem !important; line-height: 2.1 !important; color: var(--ink) !important; font-weight: 400 !important; }
.sales-panel li { font-size: .95rem !important; line-height: 2 !important; color: var(--ink) !important; font-weight: 400 !important; }
.sales-panel strong { font-weight: 800 !important; }

/* Reveal animations (from archive style.css) */
.reveal {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
  will-change: opacity, transform;
}
.reveal.rv-right { transform: translateX(46px); }
.reveal.rv-left { transform: translateX(-46px); }
.reveal.rv-zoom { transform: scale(.88); }
.reveal.in { opacity: 1; transform: none; }
html:not(.js) .reveal { opacity: 1; transform: none; }

/* About nav sidebar (from archive style.css) */
.about-nav {
  background: linear-gradient(165deg, #171b23, #10131a);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 1.2rem;
  padding: .6rem;
  position: sticky;
  top: 8rem;
}
.about-nav a {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .8rem 1.05rem;
  border-radius: .8rem;
  color: #c9cdd6;
  font-weight: 700;
  font-size: .92rem;
  transition: .3s var(--ease);
}
.about-nav a svg {
  width: 16px;
  height: 16px;
  color: var(--gold);
  flex: 0 0 auto;
}
.about-nav a:hover {
  background: rgba(251,185,0,.08);
  color: var(--gold);
  transform: translateX(-4px);
}
.about-nav a.active {
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: #1a1304;
  box-shadow: 0 10px 22px -10px rgba(200,150,0,.55);
}

/* خنثی‌سازی فاصله‌های پیش‌فرض ویجت/کانتینر Elementor در بخش‌های SOPA */
.sopa-site .elementor-widget,
.sopa-site .elementor-widget:not(:last-child) {
  --kit-widget-spacing: 0px;
  margin-bottom: 0;
}
.sopa-site .e-flexbox-base,
.sopa-site .e-con {
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}
.sopa-site.e-flexbox-base,
.sopa-site .e-flexbox-base { padding: 0; }

/* خنثی‌سازی کامل Elementor wrappers برای صفحات HTML-based (about pages: elementor-130) */
.elementor.elementor-130,
.elementor.elementor-130 > * {
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow: visible !important;
  display: block !important;
}
.sopa-site.e-con.e-atomic-element:not(.hero) {
  --container-max-width: none !important;
  --content-width: 100% !important;
  --padding-top: 0 !important;
  --padding-right: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  padding: 0 !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow: visible !important;
  display: block !important;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
}
.sopa-site .elementor-widget,
.sopa-site .elementor-widget-html,
.sopa-site .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  flex: none !important;
  display: block !important;
}

/* بدنه سایت — پس‌زمینه تیره */
body {
  background: #0c0e12;
}

/* =====================================================
   هدر — مشابه آرشیو اصلی
   ===================================================== */
.e-site-header {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.e-site-header > .e-con,
.e-site-header > .elementor-element {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.e-site-header .e-topbar {
  background: #08090c;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: .82rem;
  max-height: 44px;
  overflow: hidden;
  transition: max-height .45s var(--ease), opacity .35s;
}
.e-site-header.scrolled .e-topbar {
  max-height: 0;
  opacity: 0;
}
.e-brand-box { gap: .8rem !important; }

/* استایل متن برند — مشابه آرشیو */
.e-brand-txt { display: block !important; }
.e-brand-txt .e-heading-base:first-child {
  font-size: .72rem !important;
  color: #7d8492 !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
  margin: 0;
}
.e-brand-txt .e-heading-base:last-child {
  font-size: 1.06rem !important;
  font-weight: 900 !important;
  color: #fff !important;
  margin: 0;
}
.e-brand-txt .e-heading-base:last-child b,
.e-brand-txt .e-heading-base:last-child strong {
  color: #fbb900 !important;
  font-style: normal !important;
}

/* لوگو — دایره‌ای با پس‌زمینه سفید مشابه آرشیو */
.e-site-header .e-brand-box .elementor-widget-theme-site-logo {
  width: 52px !important;
  flex: 0 0 52px !important;
}
.e-site-header .e-brand-box .elementor-widget-theme-site-logo img {
  width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
}
.e-site-header .e-f-brand .elementor-widget-theme-site-logo,
.e-site-header .elementor-widget-theme-site-logo {
  background: linear-gradient(145deg, #fff, #e8e8e8) !important;
  border-radius: 14px !important;
  padding: 6px !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 8px 20px -6px rgba(0,0,0,.55) !important;
  transition: .35s var(--ease) !important;
}
.e-site-header .e-brand-box:hover .elementor-widget-theme-site-logo {
  transform: rotate(-8deg) scale(1.05) !important;
}

/* navbar-sopa — گرادینت پس‌زمینه */
.e-site-header .e-navbar-sopa {
  background: linear-gradient(180deg, rgba(8,9,12,.92), rgba(8,9,12,.65) 70%, transparent);
  padding: 1rem 0;
  transition: .4s var(--ease);
}
.e-site-header.scrolled .e-navbar-sopa {
  background: rgba(10,11,15,.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: .55rem 0;
  box-shadow: 0 12px 34px -14px rgba(0,0,0,.7);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

/* منوی اصلی */
@media (min-width: 992px) {
  .e-navbar-inner { flex-wrap: nowrap !important; }
  .e-brand-box { width: auto !important; flex: 0 0 auto !important; }
  .e-nav-menu-col { width: auto !important; flex: 1 1 auto !important; justify-content: flex-end !important; min-width: 0 !important; }
  .e-nav-menu-col .elementor-nav-menu--main { justify-content: flex-end !important; }
  .e-nav-menu-col .elementor-nav-menu { flex-wrap: nowrap !important; }
  .e-nav-menu-col .elementor-nav-menu .elementor-item {
    white-space: nowrap !important;
    padding-left: .38rem !important;
    padding-right: .38rem !important;
    font-size: .83rem !important;
    border-radius: .6rem !important;
  }
  .e-nav-menu-col .elementor-nav-menu .elementor-item.elementor-item-active,
  .e-nav-menu-col .elementor-nav-menu .elementor-item:hover {
    background: rgba(251,185,0,.12) !important;
    border-radius: .6rem !important;
  }
  .e-cta-col { width: auto !important; flex: 0 0 auto !important; }
}
@media (max-width: 991.98px) {
  .e-nav-menu-col .elementor-nav-menu { flex-wrap: wrap !important; }
}
@media (min-width: 992px) and (max-width: 1279.98px) {
  .e-nav-menu-col .elementor-nav-menu--main { display: none !important; }
  .e-nav-menu-col .elementor-menu-toggle { display: flex !important; }
}

/* =====================================================
   فوتر — اصلاح flex-direction و عرض ستون‌ها
   ===================================================== */
.e-site-footer {
  flex-direction: column !important;
}
.e-footer-inner {
  flex-direction: column !important;
}
.e-footer-row {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  width: 100% !important;
}
.e-f-brand-col { width: 33.333% !important; flex: 0 0 33.333% !important; flex-direction: column !important; }
.e-f-contact-col { width: 25% !important; flex: 0 0 25% !important; flex-direction: column !important; }
.e-f-links-col { width: 13.889% !important; flex: 0 0 13.889% !important; flex-direction: column !important; }
/* حذف متن برند فوتر — فقط لوگو */
/* متن برند فوتر — مشابه آرشیو */
.e-f-brand-txt { display: block !important; }
.e-f-brand-txt .e-heading-base:first-child {
  font-size: .72rem !important;
  color: #7d8492 !important;
  font-weight: 600 !important;
  margin: 0;
}
.e-f-brand-txt .e-heading-base:last-child {
  font-size: 1.05rem !important;
  font-weight: 900 !important;
  color: #fff !important;
  margin: 0;
}
.e-f-brand { gap: .9rem !important; }
/* فوتر — لوگو دایره‌ای مشابه هدر */
.e-site-footer .e-f-brand img,
.e-site-footer .e-f-brand .elementor-widget-theme-site-logo img {
  content: url('http://localhost/sopa.co/wp-content/uploads/2026/08/logo-archive.png') !important;
  width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  background: linear-gradient(145deg, #fff, #e8e8e8) !important;
  border-radius: 14px !important;
  padding: 6px !important;
}
.e-site-footer .e-f-brand .elementor-widget-theme-site-logo {
  width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
}
@media (max-width: 991.98px) {
  .e-f-brand-col, .e-f-contact-col, .e-f-links-col {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* گوشه‌های گرد برای لینکهای فوتر */
.e-site-footer .f-links a {
  border-radius: .6rem !important;
  padding: .35rem .75rem !important;
}
.e-site-footer .f-links a:hover {
  background: rgba(251,185,0,.12) !important;
}
.e-site-footer .f-contact a {
  border-radius: .6rem !important;
  padding: .2rem .5rem !important;
}

/* =====================================================
   کاروسل سفارشی (جایگزین Bootstrap Carousel)
   ===================================================== */
.sopa-site .tab-content > .tab-pane { display: none; }
.sopa-site .tab-content > .tab-pane.show { display: block; }
.sopa-site .proj-item.hide { opacity: 0; transform: scale(.86); pointer-events: none; }
.sopa-site .proj-item { transition: opacity .35s var(--ease), transform .35s var(--ease); }
.sopa-site.hero .carousel,
.sopa-site.hero .carousel-inner { position: relative; overflow: hidden; }
.sopa-site.hero {
  position: relative;
  height: 100svh;
  min-height: 620px;
  background: #000;
}
.sopa-site.hero .carousel,
.sopa-site.hero .carousel-inner,
.sopa-site.hero .carousel-item { height: 100%; }
.sopa-site.hero .carousel-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1s var(--ease);
  visibility: hidden;
  z-index: 0;
}
.sopa-site.hero .carousel-item.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.sopa-site.hero .carousel-item.active .slide-bg {
  animation: kenburns 9s var(--ease) forwards;
}

/* اگر JS فعال باشد نمایش فقط اسلاید فعال؛ در غیر این صورت اسلاید اول */
.js .sopa-site.hero .carousel-item { opacity: 0; visibility: hidden; }
.js .sopa-site.hero .carousel-item.active { opacity: 1; visibility: visible; z-index: 1; }
html:not(.js) .sopa-site.hero .carousel-item:not(:first-child) { display: none; }
html:not(.js) .sopa-site.hero .carousel-item:first-child { opacity: 1; visibility: visible; z-index: 1; }

/* اگر JS بارگذاری نشد، انیمیشن reveal همه را نمایش دهد */
html:not(.js) .reveal { opacity: 1; transform: none; }

/* =====================================================
   ریسپانسیو — بهینه‌سازی موبایل و تبلت
   ===================================================== */

/* صفحه بنر (page-hero) */
@media (max-width: 767.98px) {
  .page-hero { padding-top: 7rem !important; padding-bottom: 3rem !important; }
  .ph-content h1 { font-size: clamp(1.3rem, 5vw, 1.8rem) !important; }
  .ph-desc { font-size: .85rem !important; }
}

/* بخش‌ها */
@media (max-width: 767.98px) {
  .section { padding: 3.5rem 0 !important; }
  .sec-dark-2, .sec-dark { padding: 3.5rem 0 !important; }
}

/* کارت پروژه و خبر */
@media (max-width: 767.98px) {
  .proj-card, .sub-card, .vision-card, .team-card { margin-bottom: 1rem; }
  .media-card { height: auto !important; min-height: 260px; }
}

/* سایدبار درباره — در موبایل به بالای محتوا منتقل شود */
@media (max-width: 991.98px) {
  .about-nav {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .4rem;
    padding: 1rem 0;
    margin-bottom: 1.5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .about-nav a { white-space: nowrap; }
}

/* کپی‌رایت و فوتر */
@media (max-width: 767.98px) {
  .site-footer .f-brand,
  .site-footer .f-contact,
  .site-footer .f-links {
    text-align: center;
    padding-bottom: 1.5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }
}

/* جدول مشخصات */
@media (max-width: 767.98px) {
  .spec-list { font-size: .9rem; }
  .tbl-gold { font-size: .82rem; }
}

/* گالری تصاویر */
@media (max-width: 575.98px) {
  .gallery-grid { grid-template-columns: repeat(2, 1fr) !important; gap: .5rem !important; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  .gallery-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* فیلتر پروژه‌ها */
@media (max-width: 767.98px) {
  .proj-filter { overflow-x: auto; flex-wrap: nowrap; gap: .5rem; padding-bottom: .5rem; }
  .filter-btn { white-space: nowrap; flex-shrink: 0; }
}
