/* Sepahan v2.81 - final Elementor header/footer typography + shop layout/buttons/price alignment */

/* ---------- Elementor-built header/footer should use Sepahan font and menu colors ---------- */
:where(
  .elementor-location-header,
  .elementor-location-footer,
  header .elementor,
  footer .elementor,
  .site-header .elementor,
  .site-footer .elementor,
  #topHeader .elementor,
  .sepahan-main-header .elementor,
  .sepahan-footer .elementor,
  .elementor-widget-nav-menu,
  .elementor-widget-icon-list
) :where(
  .elementor-widget:not(.elementor-widget-icon):not(.elementor-widget-image):not(.elementor-widget-spacer),
  .elementor-widget-container,
  .elementor-heading-title,
  .elementor-item,
  .elementor-nav-menu,
  .elementor-nav-menu a,
  .elementor-icon-list-text,
  .menu-item,
  .menu-item > a,
  p, span, strong, em, li, a, button, input, textarea, select
){
  font-family:var(--sepahan-elementor-text-default,var(--sepahan-theme-font,"payda",Tahoma,Arial,sans-serif))!important;
}

/* keep icon fonts/icons untouched */
:where(.elementor-location-header,.elementor-location-footer,header .elementor,footer .elementor,#topHeader .elementor,.site-header .elementor,.site-footer .elementor) :where(
  [class^="eicon-"],[class*=" eicon-"],[class^="eicon-"]:before,[class*=" eicon-"]:before
){font-family:eicons!important}
:where(.elementor-location-header,.elementor-location-footer,header .elementor,footer .elementor,#topHeader .elementor,.site-header .elementor,.site-footer .elementor) :where(.fa,.fas,.far,.fa:before,.fas:before,.far:before){font-family:"Font Awesome 5 Free"!important}
:where(.elementor-location-header,.elementor-location-footer,header .elementor,footer .elementor,#topHeader .elementor,.site-header .elementor,.site-footer .elementor) :where(.fab,.fab:before){font-family:"Font Awesome 5 Brands"!important}

/* menu/footer text colors must not inherit cart/checkout green accent */
:where(.elementor-location-header,header .elementor,.site-header .elementor,#topHeader .elementor,.sepahan-main-header .elementor,.elementor-widget-nav-menu) :where(
  .elementor-item,
  .elementor-nav-menu a,
  nav a,
  .menu-item > a
){
  color:var(--sepahan-mega-text,var(--sepahan-text,#111827))!important;
  -webkit-text-fill-color:var(--sepahan-mega-text,var(--sepahan-text,#111827))!important;
}
:where(.elementor-location-footer,footer .elementor,.site-footer .elementor,.sepahan-footer .elementor) :where(
  a:not(.button):not(.elementor-button),
  .elementor-icon-list-text,
  .elementor-nav-menu a,
  .menu-item > a,
  p, span, li
){
  color:var(--sepahan-mega-text,var(--sepahan-text,#111827))!important;
  -webkit-text-fill-color:var(--sepahan-mega-text,var(--sepahan-text,#111827))!important;
}
:where(.elementor-location-header,header .elementor,.site-header .elementor,#topHeader .elementor,.sepahan-main-header .elementor,.elementor-widget-nav-menu) :where(
  .elementor-item:hover,
  .elementor-item.elementor-item-active,
  .current-menu-item > a,
  .current_page_item > a,
  .elementor-nav-menu a:hover,
  nav a:hover,
  .menu-item > a:hover
){
  color:var(--sepahan-mega-hover,var(--sepahan-primary,#2563eb))!important;
  -webkit-text-fill-color:var(--sepahan-mega-hover,var(--sepahan-primary,#2563eb))!important;
}
:where(.elementor-location-footer,footer .elementor,.site-footer .elementor,.sepahan-footer .elementor) :where(
  a:not(.button):not(.elementor-button):hover,
  .elementor-icon-list-item:hover .elementor-icon-list-text,
  .elementor-nav-menu a:hover,
  .menu-item > a:hover
){
  color:var(--sepahan-mega-hover,var(--sepahan-primary,#2563eb))!important;
  -webkit-text-fill-color:var(--sepahan-mega-hover,var(--sepahan-primary,#2563eb))!important;
}
html.dark :where(.elementor-location-header,.elementor-location-footer,header .elementor,footer .elementor,.site-header .elementor,.site-footer .elementor,#topHeader .elementor,.sepahan-main-header .elementor,.sepahan-footer .elementor,.elementor-widget-nav-menu) :where(
  .elementor-item,
  .elementor-nav-menu a,
  nav a,
  .menu-item > a,
  a:not(.button):not(.elementor-button),
  .elementor-icon-list-text,
  p, span, li
),
body.dark :where(.elementor-location-header,.elementor-location-footer,header .elementor,footer .elementor,.site-header .elementor,.site-footer .elementor,#topHeader .elementor,.sepahan-main-header .elementor,.sepahan-footer .elementor,.elementor-widget-nav-menu) :where(
  .elementor-item,
  .elementor-nav-menu a,
  nav a,
  .menu-item > a,
  a:not(.button):not(.elementor-button),
  .elementor-icon-list-text,
  p, span, li
){
  color:var(--sepahan-mega-dark-text,var(--sepahan-text,#f8fafc))!important;
  -webkit-text-fill-color:var(--sepahan-mega-dark-text,var(--sepahan-text,#f8fafc))!important;
}

/* ---------- Shop layout setting must win over Tailwind/legacy grid classes ---------- */
html body main#primary.sepahan-shop-page .sepahan-products-grid > ul.products,
html body main#primary.sepahan-shop-page .sepahan-products-grid > .products,
html body main#primary.sepahan-shop-page .sepahan-shop-content .grid,
html body.woocommerce-shop .sepahan-products-grid > ul.products,
html body.post-type-archive-product .sepahan-products-grid > ul.products,
html body.tax-product_cat .sepahan-products-grid > ul.products,
html body.tax-product_tag .sepahan-products-grid > ul.products{
  display:grid!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
@media(min-width:1024px){
  html body main#primary.sepahan-shop-page[data-desktop-columns="2"] .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page[data-desktop-columns="2"] .sepahan-shop-content .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body main#primary.sepahan-shop-page[data-desktop-columns="3"] .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page[data-desktop-columns="3"] .sepahan-shop-content .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  html body main#primary.sepahan-shop-page[data-desktop-columns="4"] .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page[data-desktop-columns="4"] .sepahan-shop-content .grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:767px){
  html body main#primary.sepahan-shop-page[data-mobile-columns="1"] .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page[data-mobile-columns="1"] .sepahan-shop-content .grid,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-3-1 .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-3-1 .sepahan-shop-content .grid,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-2-1 .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-2-1 .sepahan-shop-content .grid{
    grid-template-columns:repeat(1,minmax(0,1fr))!important;
  }
  html body main#primary.sepahan-shop-page[data-mobile-columns="2"] .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page[data-mobile-columns="2"] .sepahan-shop-content .grid,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-4-2 .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-4-2 .sepahan-shop-content .grid,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-3-2 .sepahan-products-grid > ul.products,
  html body main#primary.sepahan-shop-page.sepahan-shop-layout-3-2 .sepahan-shop-content .grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* ---------- Category arrows must be clickable ---------- */
html body main#primary.sepahan-shop-page .sepahan-shop-cats-shell-scroll{
  position:relative!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:10px!important;
  align-items:center!important;
}
html body main#primary.sepahan-shop-page .sepahan-shop-cats-shell-scroll .sepahan-shop-cats-nav{
  position:relative!important;
  z-index:999!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
html body main#primary.sepahan-shop-page .sepahan-shop-cats-shell-scroll .sepahan-shop-cats-scroll{
  position:relative!important;
  z-index:1!important;
  pointer-events:auto!important;
}
@media(max-width:767px){
  html body main#primary.sepahan-shop-page .sepahan-shop-cats-shell-scroll{display:block!important}
  html body main#primary.sepahan-shop-page .sepahan-shop-cats-nav{display:none!important}
}

/* ---------- Product-card prices: physical left, not middle ---------- */
html body main#primary.sepahan-shop-page .sepahan-product-meta-row,
html body .woocommerce ul.products li.product .sepahan-product-meta-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  justify-content:stretch!important;
  direction:ltr!important;
  gap:8px!important;
  width:100%!important;
}
html body main#primary.sepahan-shop-page .sepahan-product-meta-row .sepahan-product-price,
html body main#primary.sepahan-shop-page .sepahan-product-meta-row .sepahan-price-normalized,
html body .woocommerce ul.products li.product .sepahan-product-price,
html body .woocommerce ul.products li.product .sepahan-price-normalized{
  grid-column:1!important;
  justify-self:start!important;
  align-self:end!important;
  margin-left:0!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  text-align:left!important;
  direction:ltr!important;
  transform:none!important;
}
html body main#primary.sepahan-shop-page .sepahan-product-meta-row .sepahan-product-rating,
html body .woocommerce ul.products li.product .sepahan-product-rating{
  grid-column:2!important;
  justify-self:end!important;
  align-self:end!important;
  margin:0!important;
}
html body main#primary.sepahan-shop-page .sepahan-product-price :where(.woocommerce-Price-amount,.amount,bdi,ins,del),
html body main#primary.sepahan-shop-page .sepahan-price-normalized :where(.woocommerce-Price-amount,.amount,bdi,ins,del),
html body .woocommerce ul.products li.product .sepahan-product-price :where(.woocommerce-Price-amount,.amount,bdi,ins,del),
html body .woocommerce ul.products li.product .sepahan-price-normalized :where(.woocommerce-Price-amount,.amount,bdi,ins,del){
  margin-left:0!important;
  margin-right:auto!important;
  align-self:flex-start!important;
  text-align:left!important;
  max-width:100%!important;
}
html body main#primary.sepahan-shop-page .sepahan-product-price :where(.woocommerce-Price-amount,.amount,bdi),
html body main#primary.sepahan-shop-page .sepahan-price-normalized :where(.woocommerce-Price-amount,.amount,bdi),
html body .woocommerce ul.products li.product .sepahan-product-price :where(.woocommerce-Price-amount,.amount,bdi),
html body .woocommerce ul.products li.product .sepahan-price-normalized :where(.woocommerce-Price-amount,.amount,bdi){
  direction:rtl!important;
  unicode-bidi:isolate!important;
}
