/* ==================================================================
   sokkanbazar — Global Shell (Phase 4) v1.0.3
   Header, mega menu, drawer, search panel, breaking ticker, footer,
   loop items card-compact / card-compact-text.
   Colours are Elementor Global Colors (--e-global-color-<id>), so a
   Site Settings change propagates. Selectors carry `.ie .e-con` /
   `.ie .elementor-element` so they outrank Elementor's per-element CSS
   (specificity 0,4,0) without !important.
   ================================================================== */

/* ---------- shared ---------- */
.ie .e-con.sb-auto { --width: auto; width: auto; flex: 0 1 auto; }
.ie .elementor-widget-heading .elementor-heading-title a { color: inherit; text-decoration: none; }
.ie .elementor-element.sh-cap .elementor-heading-title { margin: 0; font-weight: 700; }
.ie-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Wordmark «سکان‌بازار•» */
.ie .elementor-element.sb-wordmark .elementor-heading-title { white-space: nowrap; line-height: 1.15; }
.ie .elementor-element.sb-wordmark .elementor-heading-title a { display: inline-flex; align-items: baseline; gap: 5px; }
.sb-dot { display: inline-block; width: .2em; height: .2em; border-radius: 9999px; background: var(--e-global-color-accent); flex: none; }
.sb-on-dark .sb-dot, .sh-dark .sb-dot { background: var(--e-global-color-accentondark); }
.ie .e-con .elementor-element.sb-wordmark--sticky .elementor-heading-title { font-size: 22px; line-height: 1; }
.ie .e-con .elementor-element.sb-wordmark--m .elementor-heading-title { font-size: 24px; line-height: 32px; }
.ie .e-con .elementor-element.sb-wordmark--drawer .elementor-heading-title { font-size: 20px; line-height: 28px; }
.ie .e-con .elementor-element.sb-wordmark--footer .elementor-heading-title { font-size: 32px; line-height: 1.15; }
@media (max-width: 767px) {
  .ie .e-con .elementor-element.sb-wordmark--footer .elementor-heading-title { font-size: 28px; }
}
.ie .e-con .elementor-element.sb-tagline .elementor-heading-title { margin: 0; font-weight: 500; }

/* Icon-only buttons (Elementor Button widget; text kept for screen readers). Kit button style reset. */
.ie .sb-icon-btn .elementor-button {
  display: inline-grid; place-items: center; width: 44px; height: 44px; min-height: 0; padding: 0;
  border: 0; border-radius: 4px; background: transparent; box-shadow: none;
  color: var(--e-global-color-primary);
}
.ie .sb-icon-btn .elementor-button:hover,
.ie .sb-icon-btn .elementor-button:focus-visible { background: var(--e-global-color-accentsoft); color: var(--e-global-color-accent); }
.ie .sb-icon-btn .elementor-button-content-wrapper { gap: 0; }
.ie .sb-icon-btn .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ie .sb-icon-btn .elementor-button-icon { font-size: 20px; margin: 0; }
.ie .sb-icon-btn .elementor-button-icon svg { width: 20px; height: 20px; fill: currentColor; }
.ie .sb-icon-btn--sm .elementor-button { width: 28px; height: 28px; color: var(--e-global-color-text); }
.ie .sb-icon-btn--sm .elementor-button-icon { font-size: 16px; }
.ie .sb-icon-btn--sm .elementor-button-icon svg { width: 16px; height: 16px; }
.ie .sb-on-dark.sb-icon-btn .elementor-button { width: 40px; height: 40px; color: var(--e-global-color-background); }
.ie .sb-on-dark.sb-icon-btn .elementor-button:hover,
.ie .sb-on-dark.sb-icon-btn .elementor-button:focus-visible { background: rgb(255 255 255 / .08); color: var(--e-global-color-accentondark); }
.ie .elementor-button:focus-visible, .ie .ie-ticker__toggle:focus-visible, .ie a:focus-visible {
  outline: 2px solid var(--e-global-color-accent); outline-offset: 2px;
}
.ie .sh-dark a:focus-visible, .ie .sb-ticker a:focus-visible, .ie .sb-ticker .ie-ticker__toggle:focus-visible,
.ie .sh-dark .elementor-button:focus-visible { outline-color: var(--e-global-color-accentondark); }

/* ---------- utility bar (36px) ---------- */
.ie .e-con.sh-vr { --width: 1px; width: 1px; min-width: 1px; height: 16px; min-height: 16px; flex: 0 0 1px; padding: 0; background: var(--e-global-color-border); }
.sb-today { font-size: 12px; line-height: 18px; font-weight: 700; color: var(--e-global-color-text); white-space: nowrap; }
.sh-mq { display: flex; align-items: center; gap: 20px; margin: 0; padding: 0; list-style: none; }
.ie a.sh-mq__item { display: inline-flex; align-items: baseline; gap: 6px; font-size: 12px; line-height: 18px; text-decoration: none; white-space: nowrap; color: var(--e-global-color-text); }
.sh-mq__item .n { color: var(--e-global-color-secondary); font-weight: 500; }
.sh-mq__item .v { color: var(--e-global-color-text); font-weight: 700; font-variant-numeric: tabular-nums; }
.sh-mq__item .d { font-weight: 700; font-variant-numeric: tabular-nums; }
.sh-up .d { color: var(--e-global-color-positivetext); }
.sh-down .d { color: var(--e-global-color-negative); }
.ie a.sh-mq__item:hover .v { color: var(--e-global-color-accent); }
.ie .sb-ulinks .elementor-nav-menu a.elementor-item { padding-block: 0; line-height: 18px; }
.ie .sb-ulinks .elementor-nav-menu a.elementor-item:hover { text-decoration: underline; }
.ie .sb-social .elementor-social-icon { border-radius: 4px; }
.ie .sb-social .elementor-social-icon:hover { background-color: var(--e-global-color-accentsoft); }

/* ---------- main bar (112px) ---------- */
/* Elementor's .e-con { min-height: var(--min-height) } overrides site.css min-block-size — restate as the variable. */
.e-con.ad-970x250 { --min-height: 250px; }
.e-con.ad-728x90  { --min-height: 90px; }
.e-con.ad-336x280 { --min-height: 280px; }
.e-con.ad-300x250 { --min-height: 250px; }
.e-con.ad-300x600 { --min-height: 600px; }
.e-con.ad-320x100 { --min-height: 100px; }
.ie .e-con.ad-728x90 { --width: 728px; flex: 0 0 auto; }

/* ---------- nav bar (48px → 56px sticky) ---------- */
.ie .e-con.sb-nav { transition: box-shadow .2s ease; }
.ie .sb-nav .sb-sticky-only { display: none; }
.ie .sb-nav.elementor-sticky--effects { box-shadow: 0 1px 2px #0f172a0f, 0 4px 12px #0f172a14; }
.ie .sb-nav.elementor-sticky--effects .sb-sticky-only { display: flex; align-self: center; }
.ie .sb-nav.elementor-sticky--effects .e-con.sb-nav__in { --min-height: 56px; min-height: 56px; }

/* Mega menu (Elementor Pro «منو») */
.ie .sb-mega .e-n-menu-heading { align-items: stretch; height: 100%; }
.ie .sb-mega .e-n-menu-item { display: flex; align-items: stretch; }
.ie .sb-mega .e-n-menu-title { min-height: 48px; align-items: center; font-weight: 500; line-height: 24px; }
.ie .sb-nav.elementor-sticky--effects .sb-mega .e-n-menu-title { min-height: 56px; }
.ie .sb-mega .e-n-menu-title.e-current { box-shadow: inset 0 -3px 0 var(--e-global-color-highlight); }
.ie .sb-mega .e-n-menu-title.e-current .e-n-menu-title-text { font-weight: 700; }
.ie .sb-mega .e-n-menu-title:has([aria-expanded="true"]) { background: rgb(255 255 255 / .08); }
.ie .sb-mega .e-n-menu-dropdown-icon { width: 28px; margin-inline-end: -8px; }
.ie .sb-mega .e-n-menu-content { z-index: 110; }

/* Mega panel content */
.ie .e-con .elementor-element.sb-panel__title .elementor-heading-title { padding-inline-start: 12px; border-inline-start: 3px solid var(--e-global-color-accent); }
.ie .sb-panel__subs .elementor-icon-list-item { border-bottom: 1px solid var(--e-global-color-border); }
.ie .sb-panel__subs .elementor-icon-list-item::after { display: none; }
.ie .sb-panel__subs .elementor-icon-list-item > a,
.ie .sb-panel__subs .elementor-icon-list-item > .elementor-icon-list-text { display: flex; align-items: center; min-height: 40px; width: 100%; }
.ie .sb-panel__subs .elementor-icon-list-text { font-weight: 500; }
.ie .sb-panel__subs .elementor-icon-list-icon { display: none; }
.ie .e-con .elementor-element.sb-more .elementor-heading-title { font-weight: 500; }
.ie .e-con .elementor-element.sb-more .elementor-heading-title a:hover { color: var(--e-global-color-accenthover); text-decoration: underline; }
.ie .sb-panel .sb-card-compact { border-bottom: 0; padding-block: 0; }
.ie .sb-panel .e-con .elementor-element.sb-cc__title .elementor-heading-title { font-size: 16px; line-height: 26px; }

/* ---------- mobile header (56px) ---------- */
.ie .e-con.sb-mhead { box-shadow: 0 1px 2px #0f172a0f, 0 4px 12px #0f172a14; }
.ie .sb-mhead > .elementor-element.sb-wordmark { flex: 1 1 auto; text-align: center; }

/* ---------- drawer (Off-Canvas, opens from the right) ---------- */
/* Elementor prints the overlay colour and the 1.5 s duration per element; outrank them. */
body .ie .elementor-element.sb-drawer .e-off-canvas__overlay,
body .ie .elementor-element.sb-search-oc .e-off-canvas__overlay { background-color: rgb(15 23 42 / .64); }
body .ie .elementor-element.sb-drawer,
body .ie .elementor-element.sb-search-oc { --e-off-canvas-animation-duration: .3s; --e-off-canvas-animation-duration-minimum: .3s; }
/* __main is the full-screen flex wrapper; __content is the 320px panel. */
.sb-drawer .e-off-canvas__content { box-shadow: -8px 0 24px #0f172a29; }
.ie .sb-drawer-nav .elementor-nav-menu--dropdown { border: 0; }
.ie .sb-drawer-nav .elementor-nav-menu--dropdown a.elementor-item { min-height: 48px; font-weight: 700; }
.ie .sb-drawer-nav .elementor-nav-menu--dropdown .sub-menu { background: var(--e-global-color-surface); border-top: 1px solid var(--e-global-color-border); }
.ie .sb-drawer-nav .elementor-nav-menu--dropdown a.elementor-sub-item { min-height: 40px; padding-inline-start: 32px; font-size: 15px; font-weight: 500; color: var(--e-global-color-text); background: transparent; border: 0; }
.ie .sb-drawer-nav .elementor-nav-menu--dropdown a.elementor-sub-item:hover { color: var(--e-global-color-accent); }
.ie .sb-drawer-nav .sub-arrow { width: 48px; height: 48px; margin-block: -12px; margin-inline-start: auto; margin-inline-end: -16px; display: grid; place-items: center; border-inline-start: 1px solid var(--e-global-color-border); }
.ie .sb-drawer-nav .elementor-nav-menu--dropdown { position: static; transform: none; max-height: none; }
.sb-dmq__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 4px; }
.sb-dmq .sh-cap { margin: 0; font-size: 12px; line-height: 18px; font-weight: 700; color: var(--e-global-color-secondary); }
.sb-dmq__note { font-size: 12px; line-height: 18px; font-weight: 500; color: var(--e-global-color-secondary); }
.sb-dmq ul { margin: 0; padding: 0; list-style: none; }
.sb-dmq li { display: flex; align-items: center; justify-content: space-between; height: 40px; border-bottom: 1px solid var(--e-global-color-border); font-size: 14px; line-height: 22px; }
.sb-dmq .n { font-weight: 500; color: var(--e-global-color-secondary); }
.sb-dmq b { font-weight: 700; color: var(--e-global-color-text); font-variant-numeric: tabular-nums; }
.sb-dmq i { font-style: normal; font-size: 12px; line-height: 18px; font-weight: 700; margin-inline-start: 8px; }
.sb-dmq i.up { color: var(--e-global-color-positivetext); }
.sb-dmq i.down { color: var(--e-global-color-negative); }
.ie .sb-ulinks--drawer .elementor-nav-menu a.elementor-item { line-height: 32px; }
.ie .sb-btn-block .elementor-button { min-height: 44px; }

/* ---------- search panel (Off-Canvas from the top) ---------- */
.ie .elementor-element.sb-search input[type="search"] { height: 44px; min-height: 44px; }
.ie .e-con.sb-search-panel { box-shadow: 0 1px 2px #0f172a0f, 0 4px 12px #0f172a14; }

/* ---------- breaking ticker (44px) ---------- */
.ie .e-con.sb-ticker { border-top: 1px solid rgb(255 255 255 / .15); overflow: hidden; }
.ie .e-con.sb-ticker__wrap { max-width: 100%; }
.ie .e-con.ie-ticker__label { flex: none; }
.ie .e-con .elementor-element.sb-ticker__label-text .elementor-heading-title { display: flex; align-items: center; gap: 8px; font-weight: 800; white-space: nowrap; }
.ie .e-con.sb-ticker__wrap { flex-wrap: nowrap; }
/* Elementor "grow" = grow 1 / shrink 0 at 100% width, which pushed the pause button out. */
.ie .e-con.ie-ticker__viewport { flex: 1 1 0%; min-width: 0; overflow: hidden; }
.ie .elementor-element.sb-ticker__loop { width: 100%; }
.ie .sb-ticker .elementor-loop-container.elementor-grid { display: flex; flex-wrap: nowrap; align-items: stretch; width: max-content; height: 44px; gap: 0; grid-template-columns: none; }
.ie .sb-ticker .elementor-loop-container.elementor-grid > .e-loop-item { display: flex; align-items: center; flex: none; width: max-content; height: 44px; white-space: nowrap; }
.ie .sb-ticker .e-loop-item > .e-con.ie-ticker__item { --width: max-content; width: max-content; height: auto; min-height: 0; align-self: center; flex-wrap: nowrap; white-space: nowrap; }
.ie .sb-ticker .e-con .elementor-element.sb-ct__title .elementor-heading-title { font-weight: 500; white-space: nowrap; }
.ie .sb-ticker .e-con .elementor-element.sb-ct__title .elementor-heading-title a:hover { color: var(--e-global-color-accentondark); text-decoration: underline; }
.ie .sb-ticker .e-con .elementor-element.sb-ct__time .elementor-heading-title { font-weight: 400; font-variant-numeric: tabular-nums; }
.ie .elementor-element.sb-ticker__btn { display: flex; flex: none; }
.ie .sb-ticker .ie-ticker__toggle,
.ie .sb-ticker .ie-ticker__toggle:hover,
.ie .sb-ticker .ie-ticker__toggle:focus {
  width: 44px; height: 100%; min-height: 44px; padding: 0; border: 0; border-radius: 0;
  border-inline-start: 1px solid rgb(255 255 255 / .15); background: transparent;
  color: var(--e-global-color-background); display: grid; place-items: center; cursor: pointer;
}
.ie .sb-ticker .ie-ticker__toggle:hover { color: var(--e-global-color-accentondark); }
.ie .sb-ticker .ie-icon { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ie .sb-ticker .sb-i-play path { fill: currentColor; }
.ie .sb-ticker .sb-i-play[hidden], .ie .sb-ticker .sb-i-pause[hidden] { display: none; }
/* Fallback for "hide if empty" (the PHP filter normally skips the widget). */
.elementor-widget-template.sb-ticker-slot:not(:has(.e-loop-item)) { display: none; }
@media (prefers-reduced-motion: reduce) {
  .ie .sb-ticker .elementor-loop-container { animation: none; }
  .ie .e-con.ie-ticker__viewport { overflow-x: auto; }
}
@media (max-width: 767px) {
  .ie .e-con.ie-ticker__label { padding-inline: 12px; }
}

/* ---------- loop items ---------- */
.ie .sb-card-compact .sb-cc__media img,
.sb-card-compact .sb-cc__media img { display: block; width: 96px; height: 64px; aspect-ratio: 3 / 2; object-fit: cover; }
.sb-card-compact .elementor-widget-theme-post-title .elementor-heading-title { margin: 0; text-wrap: balance; }
.sb-card-compact .elementor-widget-theme-post-title .elementor-heading-title a { color: inherit; text-decoration: none; }
.sb-card-compact .elementor-widget-theme-post-title .elementor-heading-title a:hover { color: var(--e-global-color-accent); }
.sb-card-compact .sb-cc__meta .elementor-heading-title { font-variant-numeric: tabular-nums; }

/* ---------- footer ---------- */
.ie .e-con .elementor-element.sh-ftitle .elementor-heading-title { margin: 0; font-weight: 700; line-height: 24px; }
.ie .sh-flinks .elementor-nav-menu a.elementor-item { padding-inline: 0; line-height: 24px; }
.ie .sh-flinks .elementor-nav-menu a.elementor-item:hover { text-decoration: underline; }
.ie .e-con .elementor-element.sb-fabout .elementor-heading-title { line-height: 24px; }
.ie .e-con.sb-hr { --min-height: 1px; height: 1px; min-height: 1px; padding: 0; background: rgb(255 255 255 / .15); }
.ie .e-con.sh-badge { border: 1px dashed var(--e-global-color-onprimarymuted); border-radius: 8px; text-align: center; }
/* Badges stay side by side at 120px on mobile (Elementor stacks/stretches them by default). */
.ie.sb-footer .e-con.sb-auto { flex-direction: row; flex-wrap: nowrap; --width: auto; width: auto; }
.ie.sb-footer .e-con.sh-badge { --width: 120px; width: 120px; flex: 0 0 120px; }
.ie .sb-nlform .elementor-field-group input[type="email"] { direction: ltr; text-align: right; }
.ie .sb-nlform .elementor-field-type-submit .elementor-button { min-height: 44px; padding-block: 0; }
.ie .sb-nlform .elementor-message { color: var(--e-global-color-accentondark); }
.ie .sb-nlform .elementor-message.elementor-message-danger,
.ie .sb-nlform .elementor-error .elementor-message { color: #FCA5A5; }
