
:root{
  --mgs-blue:#00529b;
  --mgs-blue-dark:#00437f;
  --mgs-navy:#07325e;
  --mgs-text:#14263b;
  --mgs-soft:#f1f8fd;
  --mgs-line:#e7edf3;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  direction:rtl;
  color:var(--mgs-text);
  background:#fff;
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input{font:inherit}
.screen-reader-text{position:absolute;left:-9999px}

/* Header */
.mgs-site-header{
  position:relative;
  z-index:999;
  width:100%;
  background:#fff;
  border-bottom:1px solid #eef2f5;
}
.mgs-header-inner{
  width:min(1460px,94%);
  min-height:92px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(240px,300px) 1fr auto;
  align-items:center;
  gap:30px;
}
.mgs-brand{display:flex;align-items:center}
.mgs-brand-link{display:inline-flex;align-items:center}
.mgs-logo .custom-logo-link{display:flex}
.mgs-logo img{max-height:62px;width:auto}
.mgs-logo-fallback{display:flex;flex-direction:column;line-height:1.25}
.mgs-logo-fallback strong{font-size:25px;color:#07539b}
.mgs-logo-fallback small{font-size:11px;color:#60748a;margin-top:6px}

.mgs-desktop-nav{min-width:0}
.mgs-primary-menu,
.mgs-primary-menu ul,
.mgs-mobile-menu,
.mgs-footer-menu{
  list-style:none;
  padding:0;
  margin:0;
}
.mgs-primary-menu{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:34px;
  white-space:nowrap;
}
.mgs-primary-menu>li{position:relative}
.mgs-primary-menu>li>a{
  position:relative;
  display:block;
  padding:35px 0 31px;
  font-size:14px;
  font-weight:600;
  color:#203247;
}
.mgs-primary-menu>li.current-menu-item>a,
.mgs-primary-menu>li.current-menu-ancestor>a{color:var(--mgs-blue)}
.mgs-primary-menu>li.current-menu-item>a:after,
.mgs-primary-menu>li.current-menu-ancestor>a:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:20px;
  height:2px;background:var(--mgs-blue);
}
.mgs-primary-menu .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  min-width:220px;
  padding:12px 0;
  background:#fff;
  box-shadow:0 15px 40px rgba(16,49,78,.14);
  border-top:2px solid var(--mgs-blue);
}
.mgs-primary-menu li:hover>.sub-menu{display:block}
.mgs-primary-menu .sub-menu a{display:block;padding:10px 18px;font-size:13px}

.mgs-header-actions{
  direction:ltr;
  display:flex;
  align-items:center;
  gap:13px;
}
.mgs-lang{font-size:13px;color:#0b4f8e;font-weight:600}
.mgs-icon-btn{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:0;background:transparent;color:#103d68;cursor:pointer;
  padding:0;
}
.mgs-icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.mgs-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px}
.mgs-menu-toggle span{width:17px;height:1.5px;background:currentColor;display:block}

.mgs-search-panel{
  background:#fff;
  border-top:1px solid #edf2f6;
}
.mgs-search-inner{width:min(1460px,94%);margin:0 auto;padding:22px 0}
.mgs-search-form{display:flex;gap:10px}
.mgs-search-form input{
  flex:1;min-width:0;border:1px solid #dce6ef;border-radius:0;
  padding:14px 16px;outline:none
}
.mgs-search-form input:focus{border-color:var(--mgs-blue)}
.mgs-search-form button{
  border:0;background:var(--mgs-blue);color:#fff;padding:0 28px;cursor:pointer
}

.mgs-mobile-backdrop{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(4,22,39,.48);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.mgs-mobile-backdrop.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.mgs-mobile-panel{
  position:fixed;
  top:0;
  left:0;
  z-index:1001;
  width:min(88vw,380px);
  height:100vh;
  height:100dvh;
  background:#fff;
  color:#172b3f;
  box-shadow:18px 0 55px rgba(2,24,45,.20);
  transform:translateX(-104%);
  transition:transform .34s cubic-bezier(.22,.8,.22,1);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  direction:rtl;
}
.mgs-mobile-panel.is-open{transform:translateX(0)}
.mgs-mobile-panel-head{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 24px;
  border-bottom:1px solid #edf2f6;
}
.mgs-mobile-panel-title{
  color:#07539b;
  font-size:18px;
  font-weight:800;
}
.mgs-mobile-close{
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  color:#153a5d;
  font-size:34px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
}
.mgs-mobile-panel-body{
  flex:1;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:12px 24px 28px;
}
.mgs-mobile-menu>li>a{
  display:block;
  padding:15px 0;
  border-bottom:1px solid #edf2f6;
  font-weight:650;
  font-size:15px;
}
.mgs-mobile-menu .sub-menu{
  list-style:none;
  margin:0;
  padding:4px 14px 8px 0;
}
.mgs-mobile-menu .sub-menu a{
  display:block;
  padding:9px 0;
  color:#60748a;
  font-size:13px;
}
.mgs-mobile-panel-foot{
  padding:18px 24px calc(18px + env(safe-area-inset-bottom));
  border-top:1px solid #edf2f6;
  background:#f8fbfd;
}
.mgs-mobile-panel-foot a{
  color:#07539b;
  font-weight:700;
  font-size:13px;
}
body.mgs-menu-open{
  overflow:hidden;
  touch-action:none;
}

/* Content */
.mgs-site-content{min-height:300px}
.mgs-default-container{width:min(1180px,90%);margin:0 auto;padding:64px 0}
.mgs-page-title{font-size:38px;margin:0 0 30px;color:#064f91}
.mgs-entry{padding:26px 0;border-bottom:1px solid var(--mgs-line)}
.mgs-entry-title{font-size:28px;margin:0 0 12px}
.mgs-entry-content{line-height:2}
.mgs-page.elementor-page{width:100%}

/* Footer */
.mgs-site-footer{background:linear-gradient(180deg,#065298 0%,#05467f 100%);color:#fff}
.mgs-footer-main{padding:58px 0 46px}
.mgs-footer-grid{
  width:min(1400px,92%);margin:0 auto;
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1fr 1.15fr;
  gap:44px;
}
.mgs-footer-col{min-width:0}
.mgs-footer-title,.mgs-footer-brand h3{font-size:16px;margin:0 0 22px;font-weight:700}
.mgs-footer-brand h3{font-size:19px}
.mgs-footer-brand p{font-size:13px;line-height:2;color:rgba(255,255,255,.78);margin:0 0 20px}
.mgs-footer-menu li{margin:0 0 10px}
.mgs-footer-menu a,
.mgs-footer-contact p,
.mgs-footer-contact a{
  font-size:13px;color:rgba(255,255,255,.78);line-height:1.9
}
.mgs-footer-menu a:hover,.mgs-footer-contact a:hover{color:#fff}
.mgs-socials{display:flex;gap:10px;direction:ltr}
.mgs-socials a{
  width:32px;height:32px;border:1px solid rgba(255,255,255,.5);
  border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700
}
.mgs-footer-bottom{border-top:1px solid rgba(255,255,255,.14)}
.mgs-footer-bottom-inner{
  width:min(1400px,92%);margin:0 auto;min-height:74px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  font-size:11px;color:rgba(255,255,255,.65)
}
.mgs-footer-legal{display:flex;gap:24px}

/* Elementor compatibility */
.elementor-page .mgs-site-content{overflow:hidden}
.elementor-page .mgs-page{margin:0}
.elementor-section-wrap{width:100%}

/* Mobile */
@media(max-width:1050px){
  .mgs-header-inner{grid-template-columns:1fr auto;min-height:76px}
  .mgs-desktop-nav{display:none}
  .mgs-header-actions{grid-column:2}
  .mgs-brand{grid-column:1;grid-row:1}
  .mgs-logo img{max-height:52px}
  .mgs-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1051px){
  .mgs-mobile-panel,
  .mgs-mobile-backdrop{display:none!important}
}
@media(max-width:640px){
  .mgs-header-inner{width:92%;min-height:70px;gap:12px}
  .mgs-logo-fallback strong{font-size:20px}
  .mgs-logo-fallback small{font-size:9px}
  .mgs-logo img{max-height:45px;max-width:185px}
  .mgs-header-actions{gap:5px}
  .mgs-icon-btn{width:32px;height:32px}
  .mgs-lang{font-size:11px}
  .mgs-footer-main{padding:44px 0 32px}
  .mgs-footer-grid{grid-template-columns:1fr;gap:30px}
  .mgs-footer-bottom-inner{flex-direction:column;align-items:flex-start;justify-content:center;padding:18px 0}
  .mgs-footer-legal{flex-wrap:wrap}
  .mgs-default-container{padding:42px 0}
  .mgs-page-title{font-size:30px}
}

@media(max-width:1050px){
  .mgs-menu-toggle{display:flex}
}
@media(max-width:640px){
  .mgs-mobile-panel{width:min(90vw,360px)}
  .mgs-mobile-panel-head{min-height:70px;padding-inline:20px}
  .mgs-mobile-panel-body{padding-inline:20px}
}


/* =========================================================
   Mehrgan Simple 1.0.2 - Vertical premium mobile drawer menu
   ========================================================= */
@media (max-width:1050px){

  /* Force every possible WP/fallback menu inside drawer to vertical */
  .mgs-mobile-panel .mgs-mobile-menu,
  .mgs-mobile-panel .mgs-primary-menu,
  .mgs-mobile-panel ul.menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100% !important;
    white-space:normal !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }

  .mgs-mobile-panel .mgs-mobile-menu > li,
  .mgs-mobile-panel .mgs-primary-menu > li,
  .mgs-mobile-panel ul.menu > li{
    position:relative !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-bottom:1px solid #eaf0f5;
    opacity:0;
    transform:translateX(-14px);
  }

  .mgs-mobile-panel.is-open .mgs-mobile-menu > li,
  .mgs-mobile-panel.is-open .mgs-primary-menu > li,
  .mgs-mobile-panel.is-open ul.menu > li{
    animation:mgsMenuItemIn .38s ease forwards;
  }

  .mgs-mobile-panel.is-open li:nth-child(1){animation-delay:.04s}
  .mgs-mobile-panel.is-open li:nth-child(2){animation-delay:.08s}
  .mgs-mobile-panel.is-open li:nth-child(3){animation-delay:.12s}
  .mgs-mobile-panel.is-open li:nth-child(4){animation-delay:.16s}
  .mgs-mobile-panel.is-open li:nth-child(5){animation-delay:.20s}
  .mgs-mobile-panel.is-open li:nth-child(6){animation-delay:.24s}
  .mgs-mobile-panel.is-open li:nth-child(7){animation-delay:.28s}
  .mgs-mobile-panel.is-open li:nth-child(8){animation-delay:.32s}
  .mgs-mobile-panel.is-open li:nth-child(9){animation-delay:.36s}

  @keyframes mgsMenuItemIn{
    to{opacity:1;transform:translateX(0)}
  }

  .mgs-mobile-panel .mgs-mobile-menu > li > a,
  .mgs-mobile-panel .mgs-primary-menu > li > a,
  .mgs-mobile-panel ul.menu > li > a{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:58px;
    padding:16px 4px 16px 34px !important;
    border:0 !important;
    color:#162b40 !important;
    background:transparent !important;
    font-size:15px !important;
    line-height:1.7 !important;
    font-weight:650 !important;
    text-align:right !important;
    transition:color .2s ease, padding .2s ease, background .2s ease !important;
  }

  /* right side accent line */
  .mgs-mobile-panel .mgs-mobile-menu > li > a::before,
  .mgs-mobile-panel .mgs-primary-menu > li > a::before,
  .mgs-mobile-panel ul.menu > li > a::before{
    content:"";
    position:absolute;
    right:-20px;
    top:50%;
    width:3px;
    height:0;
    border-radius:4px;
    background:#07539b;
    transform:translateY(-50%);
    transition:height .22s ease,right .22s ease;
  }

  .mgs-mobile-panel .mgs-mobile-menu > li > a:hover,
  .mgs-mobile-panel .mgs-primary-menu > li > a:hover,
  .mgs-mobile-panel ul.menu > li > a:hover,
  .mgs-mobile-panel li.current-menu-item > a,
  .mgs-mobile-panel li.current_page_item > a,
  .mgs-mobile-panel li.current-menu-ancestor > a{
    color:#07539b !important;
    background:#f5f9fc !important;
    padding-right:12px !important;
  }

  .mgs-mobile-panel li.current-menu-item > a::before,
  .mgs-mobile-panel li.current_page_item > a::before,
  .mgs-mobile-panel li.current-menu-ancestor > a::before,
  .mgs-mobile-panel li > a:hover::before{
    height:30px;
    right:0;
  }

  /* Dropdown indicator */
  .mgs-mobile-panel .menu-item-has-children > a::after,
  .mgs-mobile-panel .page_item_has_children > a::after{
    content:"⌄";
    position:absolute;
    left:5px;
    top:50%;
    transform:translateY(-54%);
    color:#6f8497;
    font-size:18px;
    font-weight:400;
  }

  /* Kill desktop hover dropdown behavior inside drawer */
  .mgs-mobile-panel .mgs-primary-menu .sub-menu,
  .mgs-mobile-panel .mgs-mobile-menu .sub-menu,
  .mgs-mobile-panel ul.menu .sub-menu,
  .mgs-mobile-panel .children{
    position:static !important;
    top:auto !important;
    right:auto !important;
    left:auto !important;
    display:block !important;
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 15px 10px 0 !important;
    border:0 !important;
    border-top:0 !important;
    box-shadow:none !important;
    background:#fbfdff !important;
    list-style:none !important;
  }

  .mgs-mobile-panel .sub-menu li,
  .mgs-mobile-panel .children li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    border:0 !important;
  }

  .mgs-mobile-panel .sub-menu a,
  .mgs-mobile-panel .children a{
    display:block !important;
    padding:10px 10px 10px 26px !important;
    color:#667b8e !important;
    font-size:13px !important;
    font-weight:500 !important;
    background:transparent !important;
  }

  .mgs-mobile-panel .sub-menu a:hover,
  .mgs-mobile-panel .children a:hover{
    color:#07539b !important;
  }

  /* Drawer polish */
  .mgs-mobile-panel{
    background:
      linear-gradient(180deg,#ffffff 0%,#ffffff 76%,#f7fbfe 100%) !important;
  }

  .mgs-mobile-panel-head{
    border-bottom:1px solid #e6edf3 !important;
    box-shadow:0 6px 20px rgba(7,83,155,.04);
  }

  .mgs-mobile-panel-title{
    position:relative;
    padding-right:16px;
  }

  .mgs-mobile-panel-title::before{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:4px;
    height:22px;
    border-radius:4px;
    background:#07539b;
    transform:translateY(-50%);
  }

  .mgs-mobile-close{
    border-radius:50%;
    transition:background .2s ease,transform .2s ease;
  }

  .mgs-mobile-close:hover{
    background:#eef5fa;
    transform:rotate(90deg);
  }

  .mgs-mobile-panel-body{
    padding-top:18px !important;
  }

  .mgs-mobile-panel-foot{
    box-shadow:0 -8px 24px rgba(11,70,126,.04);
  }
}


/* Mehrgan Simple 1.0.4 - compact logo-only header */
.mgs-brand{
  width:auto;
  min-width:0;
}
.mgs-brand-link{
  width:auto;
  max-width:100%;
}
.mgs-brand:empty,
.mgs-brand-link:empty{
  display:none;
}
.mgs-logo-fallback{
  display:none!important;
}
