@font-face {
  font-family: 'IRANYekanX';
  src: url('../fonts/IRANYekanX-Bold.woff2') format('woff2'),
       url('../fonts/IRANYekanX-Bold.woff') format('woff');
  font-style: normal;
  font-weight: 700;  /* Set font-weight to bold for the bold font */
  font-display: swap
}

@font-face {
  font-family: 'IRANYekanX';
  src: url('../fonts/IRANYekanX-Regular.woff2') format('woff2'),
       url('../fonts/IRANYekanX-Regular.woff') format('woff');
  font-style: normal;
  font-weight: 400;  /* Assuming this is the regular weight */
 font-display: swap
}


*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;  overflow-x: hidden;
font-feature-settings: "ss02";
	-moz-font-feature-settings: "ss02";
    -webkit-font-feature-settings: "ss02";
    font-feature-settings: "ss02";}
body {
  font-family: "IRANYekanX";
  cursor: default;
  direction: rtl;
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 400;
  background-color: #fff;
  text-align: start;
   overflow-x:hidden; 
  overflow-y: auto;
	-moz-font-feature-settings: "ss02";
    -webkit-font-feature-settings: "ss02";
    font-feature-settings: "ss02";
}

body.no-scroll {
    overflow: hidden;
    height: 100vh;
}
.mce-content-body {
  font-family:  'IRANYekanX',sans-serif !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.post-content.single-content img
{
  border-radius: 2px;
}

figure {
    margin: 0;
}

p,
li {
  text-wrap: pretty;
}

.html-lazy {
  content-visibility: auto;
}


h1{
  font-size: 2rem;
  line-height: 1.5;
}
h2, h3,  h4,  h5, h6 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

a {

  text-decoration: none;
}


img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  vertical-align: middle;
  transition: 0.4s;
}


.swiper {
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 992px) {

  .main-page{
    margin-bottom: 100px;
  }
}

/* ============ Header ============ */

/* ===== توکن‌های رنگ ===== */
:root{
  --sepka-navy:      #102A46;
  --sepka-navy-deep: #0A1E33;
  --sepka-muted:     #91AAC5;
  --sepka-green:     #5ED5B3;
  --sepka-white:     #FFFFFF;
}

/* ===== هدر ===== */
.site-header{
  width:100%;
  z-index:100;
}

/* حالت خانه: شناور روی اسلایدر */
.site-header--overlay{
  position:absolute;
  top:0; right:0; left:0;
  padding-top:52px;
  background:transparent;
}

/* حالت بقیه صفحات: پس‌زمینه دارد */
.site-header--solid{
  position:relative;
  padding:20px 0;
  background:#fff;
      padding-top: 52px;
}
@media (max-width:991px){

.site-header--solid{
 
  background:var(--sepka-navy-deep);

}
}
.header-inner{
  margin:0 auto;
  min-height:61px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

/* ===== لوگو ===== */
.site-logo{ display:flex; align-items:center; flex-shrink:0; }
.site-logo img{ height:41px; width:auto; display:block; }

/* ===== منوی اصلی ===== */
.main-nav{
  display:flex;
  align-items:center;
  gap:41px;
}
.main-nav a{
  font-size:16px;
  font-weight:500;
  color:var(--sepka-muted);
  text-decoration:none;
  line-height:33px;
  transition:color .2s ease;
}
.main-nav a:hover{ color:var(--sepka-white); }
.main-nav a.is-active{
  color:var(--sepka-white);
  font-weight:600;
}

/* ===== چیپ تماس ===== */
.contact-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 28px;
  border-radius:66px;
     background: #102A46;
  text-decoration:none;
  flex-shrink:0;
}
.contact-chip__icon{
  display:flex;
  width:24px; height:24px;
  color:var(--sepka-green);
}
.contact-chip__text{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.contact-chip__label{
      font-size: 11px;
    color: #91AAC5;
    line-height: 1;
    text-align: left;
}
.contact-chip__number{
  font-size:14px;
  color:var(--sepka-white);
  line-height:1;
}

/* ===== دکمه همبرگری (فقط موبایل) ===== */
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px; height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--sepka-navy);
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:18px; height:2px;
  margin:0 auto;
  background:var(--sepka-white);
  border-radius:2px;
  transition:transform .3s ease, opacity .3s ease;
}
.nav-toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2){ opacity:0; }
.nav-toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ===== پوشش تیره پشت منوی موبایل ===== */
.nav-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  opacity:0; visibility:hidden;
  transition:opacity .3s ease, visibility .3s ease;
  z-index:98;
}
.nav-overlay.is-visible{ opacity:1; visibility:visible; }

/* ===================== موبایل و تبلت ===================== */
@media (max-width: 991px){

  .site-header--overlay{ padding-top:20px; }
  .site-header--solid{ padding:14px 0; }

  .header-inner{
    min-height:auto;
    gap:12px;
  }

  /* ترتیب موبایل: همبرگری راست، لوگو وسط، آیکون تماس چپ */
  .nav-toggle{ display:flex; order:1; }
  .site-logo{ order:2; margin-inline:auto; }
  .contact-chip{ order:3; }

  /* روی موبایل فقط آیکون تلفن می‌ماند */
  .contact-chip{
    width:44px; height:44px;
    padding:0;
    justify-content:center;
  }
  .contact-chip__text{ display:none; }

  /* منو تبدیل به کشوی کناری */
  .main-nav{
    position:fixed;
    top:0; right:0;
    width:280px; max-width:82vw;
    height:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:90px 28px 28px;
    background:var(--sepka-navy-deep);
    transform:translateX(100%);
    transition:transform .3s ease;
    z-index:99;
    overflow-y:auto;
  }
  .main-nav.is-open{ transform:translateX(0); }
  .main-nav a{
    width:100%;
    padding:16px 0;
    font-size:17px;
    line-height:1.6;
    border-bottom:1px solid rgba(145,170,197,.15);
  }
}

@media (max-width: 575px){
  .site-logo img{ height:34px; }
}
/* ===== منوی اصلی ===== */
.main-nav__list{
  display:flex;
  align-items:center;
  gap:41px;
  list-style:none;
  margin:0;
  padding:0;
}
.main-nav__list li{ position:relative; }
.main-nav__list li a{
  display:block;
  font-size:16px;
  font-weight:500;
  color: #91AAC5;
  text-decoration:none;
  line-height:33px;
  transition:color .2s ease;
}
@media (min-width: 992px) {
.main-nav__list li a:hover{     color: #102a46;}
.home .main-nav__list li a:hover{     color: #fff;}


.main-nav__list li.current_page_item > a,
.main-nav__list li.current-menu-parent > a{
     color: #102a46;
  font-weight:600;
}
.home .main-nav__list li.current_page_item > a,
.home .main-nav__list li.current-menu-parent > a{
     color: #fff;
  font-weight:600;
}
.main-nav__list li .sub-menu li a{

color: #fff!important;
}



}
/* زیرمنو دسکتاپ */
.main-nav__list .sub-menu{
  position:absolute;
  top:100%; right:0;
  min-width:200px;
  padding:8px 0;
  margin:0;
  list-style:none;
  background:var(--sepka-navy);
  border-radius:12px;
  opacity:0; visibility:hidden;
  transform:translateY(8px);
  transition:.25s ease;
  z-index:10;
}
.main-nav__list li:hover > .sub-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.main-nav__list .sub-menu li a{
  padding:8px 20px;
  line-height:1.8;
  font-size:15px;
}

/* دکمه بستن منوی موبایل */
.nav-close{
  display:none;
  position:absolute;
  top:18px; left:18px;
  width:36px; height:36px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--sepka-white);
  cursor:pointer;
}

@media (max-width: 991px){
  .nav-close{ display:flex; align-items:center; justify-content:center; }

  .main-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
  }
  .main-nav__list li a{
    padding:16px 0;
    font-size:17px;
    border-bottom:1px solid rgba(145,170,197,.15);
  }
  .main-nav__list .sub-menu{
    position:static;
    opacity:1; visibility:visible;
    transform:none;
    background:transparent;
    padding:0 16px;
    border-radius:0;
  }
}
/*------------footer--------------*/
.ft{
    background:#081530;
    color:#fff;
    padding-top:55px;
}

/* --- ردیف بالا --- */
.ft-top{
    display:flex;
    gap:40px;
 
}
.ft-col{ flex:1; min-width:0; }
.ft-col--about{ flex:0 0 32%; max-width:32%; }

.ft-logo{ margin:0 0 20px; max-width:130px; }
.ft-logo img{ width:100%; height:auto; display:block; }
.ft-text{
       margin: 0;
    font-size: 14px;
    color: #91AAC5;
    text-align: justify;
    padding-left: 55px;
}

.ft-col-head{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    margin-bottom: 20px;
}
.ft-col-icon{
    display:flex; align-items:center; justify-content:center;
    width:26px; height:26px;
}
.ft-col-icon img{ max-width:100%; max-height:100%; }
.ft-col-title{
    margin:0;
    font-size:16px;
    font-weight:700;
    color:#fff;
}

.ft-list{ margin:0; padding:0; list-style:none; text-align:right; }

.ft-list a,
.ft-list span{
    font-size:14px;
    color: #91AAC5;
    transition:color .25s;
}
.ft-list a:hover{ color:#fff; }

/* --- ردیف پایین --- */
.ft-bottom{
    display:flex;
   
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:26px 0 34px;
   
}
.ft-email{
    display:flex;
       gap: 125px;
    align-items:center;
  
}
.ft-email-label{ font-size:14px;     color: #91AAC5; }
.ft-email a{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
        color: #91AAC5;
    transition:color .25s;
}
.ft-email a:hover{ color:#fff; }

.ft-social{
    display:flex;
    align-items:center;
      gap: 100px;
}
.ft-social-title{ font-size:14px;  color: #91AAC5;}
.ft-social-list{
    display:flex;
    align-items:center;
    gap:14px;
    margin:0; padding:0; list-style:none;
}
.ft-social-list a{
    display:flex; align-items:center; justify-content:center;
    width:26px; height:26px;
    opacity:.6;
    transition:opacity .25s;
}
.ft-social-list a:hover{ opacity:1; }
.ft-social-list img{ max-width:100%; max-height:100%; }

/* --- کپی‌رایت --- */
.ft-copy{
       background: #3C6592;
    padding: 11px 0;
    text-align: right;
    font-size: 9px;
    color: #fff;
}
.ft-copy .container
{
      display: flex;
    align-items: center;
    justify-content: space-between;
}
.text-left a{
    color: #fff; 
}
.ft-email-mobile{
  display: none;
}
/* --- موبایل --- */

@media (max-width:1399px){

.ft-text {
  
    padding-left: 0px;
}
}
@media (max-width:991px){
  .ft-email-mobile{
  display: flex;
}
  .ft-col-mobile{
    margin: auto;
    width: 150px;
  }
    .ft-top{
        flex-direction:column;
        gap:34px;
        text-align:right;
    }
    .ft-col,
    .ft-col--about{ flex:0 0 auto; max-width:100%; }

    .ft-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:26px;
    }
    .ft-email{
        align-items: center;
        margin: auto;
        justify-content: space-between;
        width: 100%;
        gap: unset;
                order: -2;
    }
    .ft-col--about{
        order: -2;
    }
    .ft-col-mobile{

    }
    .ft-social{
        flex-direction:column;
        align-items:center;
        width:100%;
        gap:16px;
        text-align:center;
    }

    .ft-email-desktop{
      display: none;
    }

.ft-top .ft-col:nth-of-type(4){
      order: -1;
}


}

/*---------------breadcrumb---------------------*/

.rank-math-breadcrumb{
  border-radius: 5px;
  line-height: 50px;

}

.rank-math-breadcrumb .last {
  /*color: var(--primery)*/
}
.bread-crump {
   
    background-color: transparent;
    border-top: 0px solid;
    line-height: 1.7;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
}
  @media (max-width: 991px){
.bread-crump {
    padding-top: 10px;
    padding-bottom: 10px;
}

  }

.rank-math-breadcrumb, .rank-math-breadcrumb p {
 
  height: 100%;
   margin-bottom: 0 !important;
  color: #CBCBCB;
  flex-wrap: wrap;
	line-height: 1.7;

}
.rank-math-breadcrumb p * {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.7;
  color: #CBCBCB;
  text-transform: capitalize;
}
.rank-math-breadcrumb p a:hover {
  color: var(--primery);
}
.separator{
  color: #CBCBCB!important;
  font-family: monospace;

  }

/*--------403 404----------*/

/*----------------------*/
.error-section {
  width: 100%;
  min-height: 80vh;
  margin-top: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
	
}
.error-section figure {
  width: 100%;
  max-height: 500px;
  display: flex;
  justify-content: center;
}


.error-section figure img {
  max-height: 500px;
  max-width: 80%;
}


.error-page-button {
  text-align: center;
}

.error-section span {
     font-size: 22px;
    color: #000;
    text-align: center;
    font-weight: 700;
    margin: 16px 0;
    display: flex;
    justify-content: center;
}
.search-form form input.s-text{
  width: calc(100% - 25px);
  padding: 5px 10px;
  font-size: 1rem;
  height: 100%;
  border: 0;
  outline: 0;
   background: #EDEDED;
}
.search-form form button{
 background: #EDEDED;
  border: none;
  color: var(--primery);
  font-size: 1.3rem;
}
.search-form form{
  border: 1px solid #EDEDED;
      background: #EDEDED;
      width: 234px;
  height: 36px;
  border-radius: 15px;
  overflow: hidden;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
}

.active>.page-link, .page-link.active {
    z-index: 3;
    color: #fff !important;
    background-color: #081530;
    border-color: #081530;
}
/*--------------blog--------------*/
.nw-section{
    padding:50px 0;
    --nw-dark:#131E3A;
    --nw-border:#E8E8E8;
}

/* --- سربرگ --- */
.nw-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom:36px;
}
.nw-nav{ display:flex; align-items:center; gap:14px; }
.nw-all{ font-size:14px; color:#9AA0AC; transition:color .25s; }
.nw-all:hover{ color:var(--nw-dark); }
.nw-divider{ width:1px; height:24px; background:var(--nw-border); }
.nw-arrow{
    width:24px; height:24px;
    display:flex; align-items:center; justify-content:center;
    background:none; border:0; padding:0; cursor:pointer;
    color:var(--nw-dark);
    transition:color .25s;
}
.nw-arrow.swiper-button-disabled{ color:#C9CDD6; cursor:default; }

.nw-heading{ text-align:right; }
.nw-sub{ display:block; color:#3CBF8E; font-size:16px; margin-bottom:4px; }
.nw-title{ margin:0; font-size:30px; font-weight:800; color:var(--nw-dark); }

/* --- چیدمان --- */
.nw-body{
    display:flex;
    gap:26px;
    align-items:stretch;
}
.nw-featured{ flex:0 0 45%; max-width:45%; }
.nw-slider-wrap{ flex:1; min-width:0; }

/* --- کارت بزرگ --- */
.nw-featured{
    position:relative;
    background-size:cover;
    background-position:center;
    border-radius:2px;
    overflow:hidden;
    min-height:390px;
}
.nw-featured-link{ display:block; height:100%; }
.nw-featured::after{
    content:'';
    position:absolute; inset:0;
       background: linear-gradient(to top, rgb(8 21 48) 17%, rgb(19 30 58 / 0%) 100%);
}
.nw-featured-body{
    position:absolute;
    inset:auto 0 0 0;
    z-index:2;
    padding:26px 28px 30px;
    text-align:right;
}
.nw-featured-title{
    margin:14px 0 12px;
    font-size:20px;
    font-weight:800;
    line-height:1.8;
    color:#fff;
}
.nw-featured-excerpt{
    margin:0;
    font-size:14px;
    line-height:2;
        color: #979DA8;
}

/* --- کارت کوچک --- */
.nw-slider{ overflow:hidden; }
.nw-card{ text-align:right; }
.nw-card-thumb{
    position:relative;
    display:block;
    height:205px;
    overflow:hidden;
    border-radius:2px;
    background:#EFF1F4;
}
.nw-card-thumb img{
    width:100%; height:100%;
    object-fit:cover;
    transition:transform .5s;
}
.nw-card:hover .nw-card-thumb img{ transform:scale(1.05); }

.nw-cat{
       position: absolute;
    right: 0;
    bottom: 30px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: #3C6592;
    color: #fff;
    font-size: 13px;
    width: 138px;
    text-align: center;
    justify-content: center;
}

.nw-card-title{
      margin: 18px 0 10px;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.9;
    color: #081530;
    height: 61px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    display: -webkit-box;
}
.nw-card-title a{ color:inherit; }
.nw-card-excerpt{
    margin:0 0 18px;
    font-size:13px;
    line-height:2;
    color:#9AA0AC;
}

/* --- متادیتا --- */
.nw-meta{
    display:flex;
    align-items:center;
    gap:24px;
}
.nw-meta-item{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:13px;
      color: #081530;
}
.nw-meta-item svg path{
    fill:#081530;
}
.nw-featured-body  .nw-meta-item svg path{
fill:#fff;
}
.nw-featured-body  .nw-meta-item{
color:#fff;
}


@media (max-width:991px){
    .nw-body{ flex-direction:column; }
    .nw-featured{ flex:0 0 auto; max-width:100%; min-height:320px; }
}

/*--------pagination----------------------------*/
  /*----------------------------------*/

.pagination
{
  width: 100%;
    margin-top: 24px;
    margin-bottom: 24px;
    display: flex;
     justify-content: center;
        align-items: center;
}

.pagination span, .pagination a {

  height: 30px;
  width: 30px;
  border-radius: 5px;
  border: 1px solid var(--gray);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  margin: 6px 6px;
  display: flex
;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--gray);
}

.page-numbers.current {
 border: 0px solid #3c6592 !important;
    color: #fff !important;
    background-color: #3c6592 !important;
}
.woocommerce nav.woocommerce-pagination ul li a{
color: #000;
}
.next.page-numbers,.prev.page-numbers{
  width: 50px;

} 
/*------card slider----------------*/

.em-section{
    --em-border:#E8E8E8;
    --em-green:#3CBF8E;
    --em-dark:#1B2A4A;
    padding:50px 0;
}

/* --- سربرگ --- */
.em-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom:40px;
   
}
.em-heading{ display:flex; align-items:center; gap:16px;flex-direction: row-reverse; }
.em-heading-text{     text-align: right; }
.em-sub{ display:block; color:var(--em-green); font-size:16px; margin-bottom:4px; }
.em-title{ margin:0; font-size:32px; font-weight:800; color:var(--em-dark); }
.em-icon{ margin:0; width:80px; }
.em-icon img{ width:100%; height:auto; display:block; }


/* --- ناوبری --- */
.em-nav{ display:flex; align-items:center; gap:14px;     flex-direction: row-reverse;}
.em-arrow{
    width:24px; height:24px;
    display:flex; align-items:center; justify-content:center;
    background:none; border:0; padding:0; cursor:pointer;
    color:var(--em-dark);
    transition:color .25s;
}
.em-arrow.swiper-button-disabled{ color:#C9CDD6; cursor:default; }
.em-divider{ width:1px; height:26px; background:var(--em-border); }

.em-fraction{ display:flex; align-items:center; gap:12px; }
.em-current, .em-total{ font-size:15px; color:var(--em-dark); }
.em-total{ color:#A9AEBA; }
.em-bar{
    position:relative;
    width:90px; height:1px;
    background:#E2E4EA;
    display:block;
}
.em-bar-fill{
    position:absolute; top:0; right:0;
    height:1px; width:20%;
    background:var(--em-dark);
    transition:width .4s ease;
}
/* --- اسلایدر --- */
.em-slider-wrap{
   border:0;
}
.em-slider{ overflow:hidden; }
.em-slider .swiper-slide{
     border:1px solid var(--em-border);
    border-right:0;
    height:auto
}
.em-slider .swiper-slide:first-child{
    border-right:1px solid var(--em-border);
}
.em-card{
    padding:36px 24px 32px;
    text-align:center;
    height:100%;
    display:flex; flex-direction:column; align-items:center;
    transition:background .3s;
        background: #fff;

}
.em-card:hover{ background:#FAFBFC; }
.em-card-img{
    margin:0 0 24px;
    height:180px;
    display:flex; align-items:center; justify-content:center;
}
.em-card-img img{ max-height:100%; max-width:100%; object-fit:contain; }
.em-card-title{ margin:0 0 8px; font-size:20px; font-weight:700; color:var(--em-dark); }
.em-card-title a{
  color:var(--em-dark);
}
.em-card-sub{ display:block; font-size:14px; color:#9AA0AC; margin-bottom:22px; }
.em-card-btn{
    margin-top:auto;
    width:58px; height:38px; border-radius:48px;
    border: 1px solid #3C6592;
    display:flex; align-items:center; justify-content:center;
    color:#0b152e;;
    transition:all .25s;
}
.em-card-btn:hover{ background:#0b152e;; border-color:#0b152e;; color:#fff; }


@media (max-width:991px){
.em-sub {

    font-size: 14px;
  
}
.em-title{ font-size:20px; }


.em-fraction,.em-divider,.nw-arrow ,.nw-divider  {
  
    display: none;
}

    .em-head{         align-items: center; gap:24px;     margin-bottom: 25px;}

.nw-cat {
 
    right: 30px;
}
.em-section {

    padding: 30px 0;
}
}

/* نقطه‌ها — فقط موبایل */
.em-dots{
    display:none;
    justify-content:center;
    align-items:center;
    gap:6px;
    margin-top:22px;
}

.em-dots .swiper-pagination-bullet{
    width:7px;
    height:7px;
    border-radius:7px;
    background:#D3D7DF;
    opacity:1;
    margin:0 !important;
    transition:width .3s, background .3s;
}

.em-dots .swiper-pagination-bullet-active{
    width:22px;
    background:#3C6592;
}

@media (max-width:767px){
    .em-dots{ display:flex; }

    .em-fraction{ display:none; }
    .em-divider{ display:none; }
}

.nw-dots{
    display:none;
    justify-content:center;
    align-items:center;
    gap:6px;
    margin-top:22px;
}

.nw-dots .swiper-pagination-bullet{
    width:7px;
    height:7px;
    border-radius:7px;
    background:#D3D7DF;
    opacity:1;
    margin:0 !important;
    transition:width .3s, background .3s;
}

.nw-dots .swiper-pagination-bullet-active{
    width:22px;
    background:#3C6592;
}

@media (max-width:767px){
    .nw-dots{ display:flex; }
}

/* ---------- SEO headings (h1 on archive / search / 404 pages) ---------- */
.page-heading {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6;
    color: inherit;
    margin: 0 0 16px;
}
.search-terms-holder.page-heading {
    width: 100%;
    font-size: 18px;
    font-weight: 500;
}
.error-section .error-title {
    font-size: 22px;
    color: #000;
    text-align: center;
    font-weight: 700;
    line-height: 1.6;
    margin: 16px 0;
}
@media (max-width: 767px) {
    .page-heading { font-size: 20px; }
}

/* ---------- Product card hover: shadow + button colour on hovering the whole card ---------- */
.em-card {
    position: relative;
    transition: background .3s, box-shadow .3s, transform .3s;
}
.em-card:hover,
.em-card:focus-within {
    background: #fff;
    box-shadow: 0 16px 32px -14px rgba(11, 21, 46, .22);
  
    z-index: 2;
}
.em-card:hover .em-card-btn,
.em-card:focus-within .em-card-btn {
    background: #0b152e;
    border-color: #0b152e;
    color: #fff;
}
/* Room inside the slider so the card shadow isn't clipped (layout unchanged) */
.em-slider {
    padding-top: 6px;
    padding-bottom: 34px;
    margin-top: -6px;
    margin-bottom: -34px;
}
@media (prefers-reduced-motion: reduce) {
    .em-card { transition: background .3s, box-shadow .3s; }
    .em-card:hover, .em-card:focus-within { transform: none; }
}

/* ==================== Header search ==================== */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Search icon button in header */
.header-search-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--sepka-navy);
    color: var(--sepka-white);
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.header-search-btn:hover,
.header-search-btn:focus-visible,
.header-search-btn[aria-expanded="true"] {
    background: var(--sepka-green);
    color: var(--sepka-navy-deep);
    transform: translateY(-2px);
}
.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Search panel (drops from the top) */
.search-panel {
    position: fixed;
    inset: 0;
    z-index: 1000;
}
.search-panel[hidden] {
    display: none;
}
.search-panel__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 15, 28, .6);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity .3s ease;
}
.search-panel__box {
    position: relative;
    padding: 40px 0 48px;
    background: var(--sepka-navy-deep);
    box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .5);
    transform: translateY(-100%);
    transition: transform .35s ease;
}
.search-panel.is-open .search-panel__backdrop { opacity: 1; }
.search-panel.is-open .search-panel__box { transform: translateY(0); }
.admin-bar .search-panel__box { margin-top: 32px; }

.search-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.search-panel__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--sepka-white);
}
.search-panel__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(145, 170, 197, .3);
    border-radius: 50%;
    background: transparent;
    color: var(--sepka-muted);
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, transform .3s ease;
}
.search-panel__close:hover,
.search-panel__close:focus-visible {
    color: var(--sepka-white);
    border-color: var(--sepka-green);
    transform: rotate(90deg);
}

/* Shared search form (header panel + search page) */
.sepka-search-form {
    display: flex;
    align-items: stretch;
    gap: 10px;
    width: 100%;
}
.sepka-search-form__input {
    flex: 1;
    min-width: 0;
    height: 60px;
    padding: 0 24px;
    border: 1px solid rgba(145, 170, 197, .35);
    border-radius: 60px;
    background: #fff;
    color: #131E3A;
    font: inherit;
    font-size: 16px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.sepka-search-form__input::placeholder { color: #9AA0AC; }
.sepka-search-form__input:focus {
    border-color: var(--sepka-green);
    box-shadow: 0 0 0 4px rgba(94, 213, 179, .25);
}
.sepka-search-form__input::-webkit-search-cancel-button { cursor: pointer; }
.sepka-search-form__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-shrink: 0;
    height: 60px;
    padding: 0 30px;
    border: 0;
    border-radius: 60px;
    background: var(--sepka-green);
    color: var(--sepka-navy-deep);
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.sepka-search-form__submit:hover,
.sepka-search-form__submit:focus-visible {
    background: #4cc4a2;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -10px rgba(94, 213, 179, .7);
}

body.search-open { overflow: hidden; }

@media (max-width: 991px) {
    .header-actions { order: 3; gap: 8px; }
    .header-search-btn { width: 44px; height: 44px; }
    .search-panel__box { padding: 24px 0 28px; }
    .search-panel__title { font-size: 16px; }
}
@media (max-width: 782px) {
    .admin-bar .search-panel__box { margin-top: 46px; }
}
@media (max-width: 575px) {
    .sepka-search-form__input,
    .sepka-search-form__submit { height: 52px; }
    .sepka-search-form__submit { padding: 0 18px; }
    .sepka-search-form__submit span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .search-panel__box,
    .search-panel__backdrop,
    .header-search-btn,
    .search-panel__close { transition: none; }
}

/* ==================== Back to top ==================== */
.back-to-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--sepka-navy);
    color: var(--sepka-white);
    box-shadow: 0 10px 24px -10px rgba(10, 30, 51, .6);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease, background-color .25s ease;
}
.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.back-to-top:hover,
.back-to-top:focus-visible {
    background: var(--sepka-navy-deep);
}
.back-to-top:hover .back-to-top__icon,
.back-to-top:focus-visible .back-to-top__icon {
    transform: translateY(-3px);
    color: var(--sepka-green);
}
.back-to-top__icon {
    position: relative;
    transition: transform .25s ease, color .25s ease;
}
/* Circular scroll-progress ring */
.back-to-top__ring {
    position: absolute;
    inset: 0;
    transform: rotate(-90deg);
}
.back-to-top__ring circle {
    fill: none;
    stroke-width: 3;
}
.back-to-top__track {
    stroke: rgba(145, 170, 197, .25);
}
.back-to-top__progress {
    stroke: var(--sepka-green);
    stroke-linecap: round;
    stroke-dasharray: 157.08;
    stroke-dashoffset: 157.08;
    transition: stroke-dashoffset .1s linear;
}
@media (max-width: 767px) {
    .back-to-top {
               bottom: 62px;
        right: 16px;
        width: 48px;
        height: 48px;
    }
    .back-to-top__ring { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .back-to-top,
    .back-to-top__icon,
    .back-to-top__progress { transition: none; }
}

/* ==================== Fixed header ==================== */
:root {
    --sepka-header-h: 97px; /* height of the solid header on inner pages */
}
.site-header,
.site-header--overlay,
.site-header--solid {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100;
    transition: background-color .3s ease, padding .3s ease, box-shadow .3s ease;
}
/* Home: transparent over the slider */
.site-header--overlay {
    padding: 52px 0 0;
    background: transparent;
}
/* Inner pages: solid theme colour */
.site-header--solid {
    padding: 18px 0;
    background: var(--sepka-navy-deep);
}
/* After scrolling (all pages): solid, compact, soft shadow */
.site-header.is-scrolled {
    padding: 12px 0;
    background: var(--sepka-navy-deep);
    box-shadow: 0 8px 24px -12px rgba(0, 0, 0, .45);
}
/* Push inner-page content below the fixed header */
.site-header--solid ~ main#main {
    padding-top: var(--sepka-header-h);
}
/* WordPress admin bar (logged-in users only) */
.admin-bar .site-header { top: 32px; }

/* ---------- Menu links (dark header everywhere) ---------- */
.open-submenu { display: none; }

.site-header .main-nav__list > li > a {
    position: relative;
    color: var(--sepka-muted);
}
.site-header .main-nav__list > li > a:hover,
.site-header .main-nav__list > li > a:focus-visible,
.site-header .main-nav__list > li:hover > a,
.site-header .main-nav__list > li.current-menu-item > a,
.site-header .main-nav__list > li.current_page_item > a,
.site-header .main-nav__list > li.current-menu-parent > a,
.site-header .main-nav__list > li.current-menu-ancestor > a {
    color: var(--sepka-white);
}

/* Arrow for items that have a submenu */
.site-header .main-nav__list > li.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.site-header .main-nav__list > li.menu-item-has-children > a::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform .3s ease, margin .3s ease;
}

@media (min-width: 992px) {
    /* Underline that grows from the right on hover */
    .site-header .main-nav__list > li > a::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: -2px;
        width: 0;
        height: 2px;
        border-radius: 2px;
        background: var(--sepka-green);
        transition: width .3s ease;
    }
    .site-header .main-nav__list > li > a:hover::before,
    .site-header .main-nav__list > li > a:focus-visible::before,
    .site-header .main-nav__list > li:hover > a::before,
    .site-header .main-nav__list > li.current-menu-item > a::before,
    .site-header .main-nav__list > li.current_page_item > a::before,
    .site-header .main-nav__list > li.current-menu-parent > a::before,
    .site-header .main-nav__list > li.current-menu-ancestor > a::before {
        width: 100%;
    }
    /* Arrow flips up while the submenu is open */
    .site-header .main-nav__list > li.menu-item-has-children:hover > a::after,
    .site-header .main-nav__list > li.menu-item-has-children:focus-within > a::after {
        margin-top: 4px;
        transform: rotate(225deg);
    }
    /* Keyboard access to the submenu */
    .main-nav__list li:focus-within > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    /* Submenu: small gap + hover colour */
    .main-nav__list .sub-menu {
        top: calc(100% + 8px);
        box-shadow: 0 16px 32px -14px rgba(0, 0, 0, .5);
    }
    .main-nav__list .sub-menu::before { /* keeps hover alive across the gap */
        content: "";
        position: absolute;
        right: 0;
        left: 0;
        top: -10px;
        height: 10px;
    }
    .site-header .main-nav__list .sub-menu li a {
        transition: color .2s ease, padding .2s ease;
    }
    .site-header .main-nav__list .sub-menu li a:hover,
    .site-header .main-nav__list .sub-menu li a:focus-visible {
        color: var(--sepka-green) !important;
        padding-right: 26px;
    }
}

@media (max-width: 991px) {
    :root { --sepka-header-h: 72px; }
    .site-header--overlay { padding: 20px 0 0; }
    .site-header--solid { padding: 14px 0; }
    .site-header.is-scrolled { padding: 10px 0; }
    /* Drawer: arrow at the far side of the row */
    .site-header .main-nav__list > li.menu-item-has-children > a {
        display: flex;
        justify-content: space-between;
    }
}
@media (max-width: 782px) {
    .admin-bar .site-header { top: 46px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-header,
    .site-header .main-nav__list > li > a::before,
    .site-header .main-nav__list > li > a::after { transition: none; }
}

/* ---------- Home: transparent header turns solid on hover (like grundfos.com) ---------- */
@media (min-width: 992px) {
    /* bottom space so the coloured band looks balanced (invisible while transparent) */
    .site-header--overlay:not(.is-scrolled) {
        padding-bottom: 18px;
    }
}
@media (hover: hover) and (min-width: 992px) {
    .site-header--overlay:hover,
    .site-header--overlay:focus-within {
        background: var(--sepka-navy-deep);
        box-shadow: 0 1px 0 rgba(145, 170, 197, .18), 0 14px 30px -10px rgba(0, 0, 0, .6);
    }
}

/* ---------- Footer credit ("طراحی و توسعه توسط وب 24") always on the left ---------- */
.ft-copy .container {
    gap: 16px;
}
.ft-copy .text-left {
    flex-shrink: 0;
    margin-right: auto;
    text-align: left;
}
@media (max-width: 767px) {
    /* text above the logo, both pinned to the left edge */
    .ft-copy .text-left a {
        display: inline-flex;
        flex-direction: column;
        align-items: flex-end; /* RTL: flex-end = left edge */
        gap: 4px;
    }
}


/*---------------- هدر شیشه‌ای (محو) هنگام اسکرول ----------------*/
/* پس‌زمینه و بلور روی ::before است تا منوی موبایل (position: fixed) خراب نشود */
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(10, 30, 51, 0.72);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.site-header.is-scrolled {
  background: transparent;
}

.site-header.is-scrolled::before {
  opacity: 1;
}

/* مرورگرهایی که بلور را پشتیبانی نمی‌کنند: پس‌زمینه کامل */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header::before {
    background: var(--sepka-navy-deep);
  }
}


/*---------------- آرشیو محصولات: لینک عنوان دسته ----------------*/
.em-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s;
}

.em-title a:hover,
.em-title a:focus-visible {
  color: var(--sepka-green);
}


/*---------------- پدینگ بالای هدر صفحه اول برابر پایین ----------------*/
@media (min-width: 992px) {
  .site-header--overlay:not(.is-scrolled) {
    padding-top: 18px;
  }
}


/*---------------- لوگوی فوتر هم‌تراز با عنوان ستون‌های کناری ----------------*/
/* لوگو مستطیلی است ولی در یک کادر مربع ۱۳۰ پیکسلی وسط‌چین می‌شد و پایین‌تر دیده می‌شد */
.ft-logo img {
  height: auto;
  max-height: none;
  aspect-ratio: 133 / 45; /* فایل SVG لوگو width/height برابر 1 دارد و مربع نمایش داده می‌شد */
}

.ft-logo {
  height: auto;
  margin-top: -8px;
}


/* ================= افکت ورود آیتم‌ها هنگام اسکرول (همه صفحات) ================= */
.rv {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1) var(--rv-d, 0ms),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) var(--rv-d, 0ms);
}

.rv.rv-in {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; transition: none; }
}
