/* Global Shell tokens now live in shared/css/tokens.css (single source of truth
   for --gs-* variables sitewide). tokens.css MUST be linked before this file. */
.gs-header,.gs-header *,.gs-footer,.gs-footer *{box-sizing:border-box}
.gs-header,.gs-footer{font-family:var(--gs-font-fa,"IRANYekanX",sans-serif);font-synthesis:none;-webkit-font-smoothing:antialiased}
.gs-header a,.gs-footer a{color:inherit;text-decoration:none}
.gs-header button,.gs-footer button{font:inherit}
.gs-header img,.gs-footer img{display:block;max-width:100%}
.gs-shell{width:min(calc(100% - (2 * var(--gs-gutter))),var(--gs-shell-max));margin-inline:auto}
.gs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* HEADER */
.gs-header{height:var(--gs-header-h);background:var(--gs-header-bg);position:relative;z-index:50;border-top:1px solid #f1f1f1;border-bottom:1px solid #f3f3f3}
.gs-header__inner{height:100%;display:flex;align-items:center;gap:66px;direction:rtl}
.gs-brand{display:inline-flex;align-items:center;flex:0 0 auto;direction:ltr}
.gs-brand img{width:238px;height:auto}
.gs-nav{display:flex;align-items:center;gap:32px;min-width:0;margin-inline-start:auto;direction:rtl}
.gs-nav__link{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:10px 0;font-size:20px;line-height:1.35;font-weight:650;white-space:nowrap;color:#303030;position:relative}
.gs-nav__link:hover{color:var(--gs-brand)}
.gs-nav__link[aria-current="page"]{color:var(--gs-brand)}
.gs-nav__chevron{width:11px;height:11px;border-left:1.9px solid currentColor;border-bottom:1.9px solid currentColor;transform:rotate(-45deg) translateY(-1px);margin-inline-start:3px}
.gs-menu-button{display:none;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:transparent;border-radius:10px;color:#242424;cursor:pointer}
.gs-menu-button svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.gs-menu-button:focus-visible,.gs-nav__link:focus-visible,.gs-footer a:focus-visible{outline:none;box-shadow:var(--gs-focus);border-radius:6px}
.gs-mobile-nav{display:none}

/* NAV DROPDOWNS (desktop) */
.gs-nav__item{position:relative}
.gs-panel{position:absolute;top:100%;inset-inline-start:-20px;padding-top:14px;display:none;z-index:60}
/* Shown state sets its own display value per variant (grid vs flex) so it always
   wins over the base display:none regardless of stylesheet order — a plain
   .gs-panel--simple{display:flex} base rule previously tied in specificity with
   .gs-panel{display:none} and won by source order, leaving that panel permanently
   visible. Keep any future variant's "shown" display declared only here. */
.gs-nav__item:hover .gs-panel,.gs-nav__item:focus-within .gs-panel{display:block}
.gs-nav__item:hover .gs-panel--simple,.gs-nav__item:focus-within .gs-panel--simple{display:flex}
.gs-panel__grid,.gs-panel--simple{background:#fff;border-radius:14px;box-shadow:0 18px 44px rgba(20,30,45,.14)}
.gs-panel__grid{display:grid;grid-template-columns:repeat(4,200px);gap:0;padding:24px 22px}
.gs-panel__col{padding-inline:20px 22px;border-inline-end:1px solid #f0f1f3}
.gs-panel__col:first-child{padding-inline-start:0}
.gs-panel__col:last-of-type{padding-inline-end:0;border-inline-end:0}
.gs-panel__col h3{margin:0 0 12px;font-size:12.5px;font-weight:750;color:#8a939c}
.gs-panel__col a{display:block;padding:7px 10px;margin-inline:-10px;border-radius:8px;font-size:14px;font-weight:600;color:#2b2f33;line-height:1.4;transition:.15s ease}
.gs-panel__col a:hover{color:var(--gs-brand);background:#f7f9fc}
.gs-panel--simple{flex-direction:column;padding:10px 4px;min-width:220px}
.gs-panel--simple a{padding:11px 20px;font-size:14.5px;font-weight:650;color:#2b2f33;white-space:nowrap}
.gs-panel--simple a:hover{color:var(--gs-brand);background:#f7f9fc}

/* DEMO BODY: not part of global shell */
.gs-demo,.gs-demo *{box-sizing:border-box}.gs-demo{min-height:520px;display:grid;place-items:center;background:#fff;padding:60px var(--gs-gutter)}
.gs-demo__card{width:min(100%,900px);border:1px dashed #d6d6d6;border-radius:16px;padding:48px;text-align:center;color:#6b6b6b;background:#fff}
.gs-demo__card strong{display:block;color:#303030;font-size:28px;margin-bottom:8px}
.gs-demo__card p{margin:0;line-height:2}

/* FOOTER */
.gs-footer{background:var(--gs-footer-bg);color:var(--gs-footer-text);padding:88px 0 48px;direction:rtl}
.gs-footer__top{display:grid;grid-template-columns:1.08fr .72fr .72fr .84fr;gap:72px;align-items:start}
.gs-footer__brand{padding-inline-end:20px;border-inline-end:1px solid var(--gs-footer-line);min-height:304px;display:flex;flex-direction:column;align-items:center;text-align:center}
.gs-footer__brand-logo{width:250px;max-width:100%;margin:0 0 32px;direction:ltr}
.gs-footer__brand-logo img{width:100%;height:auto}
.gs-socials{display:flex;gap:26px;align-items:center;justify-content:center;direction:ltr}
.gs-social{width:32px;height:32px;display:grid;place-items:center;color:#f3f3f3;border-radius:7px;cursor:pointer;transition:.18s ease}
.gs-social:hover{color:var(--brand-light)}
.gs-social svg{width:24px;height:24px;fill:currentColor;transition:transform .2s ease}
.gs-social:hover svg{transform:scale(1.15)}
.gs-social--bale svg{width:auto;height:20px}
.gs-enamad{margin-top:24px}
.gs-enamad img{width:84px;height:auto;border-radius:6px}
.gs-footer__column h2,.gs-footer__downloads h2{font-size:21px;line-height:1.5;margin:0 0 27px;font-weight:800;color:#fff}
.gs-footer__column nav{display:grid;gap:23px}
.gs-footer__column a{font-size:18px;color:#f0f0f0;line-height:1.5;width:max-content;max-width:100%}
.gs-footer__column a:hover{color:#fff}
.gs-footer__downloads{direction:rtl}
.gs-downloads{display:grid;gap:16px}
.gs-download{min-height:70px;border:1px solid #606060;border-radius:8px;padding:0 26px;display:flex;align-items:center;justify-content:flex-start;gap:15px;font-size:19px;color:#fff;background:transparent}
.gs-download:hover{border-color:#858585;background:#333}
.gs-download svg{width:25px;height:25px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gs-footer__rule{height:1px;background:var(--gs-footer-line);border:0;margin:42px 0 30px}
.gs-contact-title{text-align:right;font-size:22px;margin:0 0 24px;font-weight:800}
.gs-contact-row{display:grid;grid-template-columns:1.65fr .78fr .85fr;gap:44px;align-items:center}
.gs-contact-item{display:flex;align-items:center;gap:15px;color:#f3f3f3;font-size:16px;line-height:1.8;min-width:0}
.gs-contact-item svg{width:26px;height:26px;stroke:#858585;fill:none;stroke-width:1.6;flex:0 0 auto;stroke-linecap:round;stroke-linejoin:round}
.gs-contact-item--email{direction:ltr;justify-content:center}
.gs-contact-item--phone{direction:ltr;justify-content:flex-end;white-space:normal}
.gs-contact-item a:hover{color:#fff}
.gs-footer__note{margin-top:30px;color:#8f8f8f;font-size:13px;line-height:1.8}

@media (max-width: 1280px){
  :root{--gs-gutter:30px}
  .gs-header__inner{gap:34px}
  .gs-brand img{width:205px}
  .gs-nav{gap:20px}
  .gs-nav__link{font-size:17px}
  .gs-footer__top{gap:44px}
}
@media (max-width: 1040px){
  :root{--gs-header-h:86px;--gs-gutter:24px}
  .gs-header__inner{justify-content:space-between}
  .gs-brand img{width:188px}
  .gs-nav{display:none}
  .gs-menu-button{display:inline-flex}
  .gs-mobile-nav{position:absolute;top:100%;inset-inline:0;background:#fff;border-top:1px solid #eee;border-bottom:1px solid #e8e8e8;padding:12px 24px 20px;box-shadow:0 16px 30px rgba(0,0,0,.08)}
  .gs-mobile-nav[data-open="true"]{display:grid}
  .gs-mobile-nav a{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;border-bottom:1px solid #f0f0f0;font-size:16px;font-weight:650}
  .gs-mobile-nav a:last-child{border-bottom:0}
  .gs-mobile-nav__group{border-bottom:1px solid #f0f0f0}
  .gs-mobile-nav__toggle{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;border:0;background:none;font:inherit;font-size:16px;font-weight:650;color:#242424;cursor:pointer}
  .gs-mobile-nav__toggle span{transition:transform .18s ease}
  .gs-mobile-nav__toggle[aria-expanded="true"] span{transform:rotate(90deg)}
  .gs-mobile-nav__submenu{display:none;grid-template-columns:1fr 1fr;gap:2px 14px;padding:2px 6px 14px}
  .gs-mobile-nav__submenu[data-open="true"]{display:grid}
  .gs-mobile-nav__submenu a{min-height:40px;border-bottom:0;padding:0 8px;font-size:14.5px;font-weight:550;color:#4a5158;justify-content:flex-start}
  .gs-mobile-nav__submenu a:last-child{grid-column:1/-1;margin-top:6px;padding-top:10px;border-top:1px solid #f0f0f0;color:var(--gs-brand)}
  .gs-footer{padding-top:64px}
  .gs-footer__top{grid-template-columns:1.1fr 1fr 1fr;gap:44px}
  .gs-footer__brand{grid-column:1/-1;min-height:0;border-inline-end:0;border-bottom:1px solid var(--gs-footer-line);padding:0 0 34px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
  .gs-footer__brand-logo{width:170px;margin:0 0 24px}
  .gs-contact-row{grid-template-columns:1fr;gap:17px}
  .gs-contact-item,.gs-contact-item--email,.gs-contact-item--phone{justify-content:flex-start;direction:rtl}
}
@media (max-width: 720px){
  :root{--gs-gutter:20px;--gs-header-h:76px}
  .gs-brand img{width:164px}
  .gs-footer{padding:48px 0 34px}
  .gs-footer__top{grid-template-columns:1fr 1fr;gap:38px 28px}
  .gs-footer__brand-logo{width:150px;margin-bottom:22px}
  .gs-socials{gap:20px}
  .gs-footer__downloads{grid-column:1/-1}
  .gs-downloads{grid-template-columns:1fr}
  .gs-footer__column h2,.gs-footer__downloads h2{font-size:18px;margin-bottom:18px}
  .gs-footer__column nav{gap:15px}
  .gs-footer__column a{font-size:15px}
  .gs-download{min-height:58px;font-size:16px;padding-inline:20px}
  .gs-footer__rule{margin:34px 0 26px}
  .gs-contact-title{font-size:18px;margin-bottom:18px}
  .gs-contact-item{font-size:14px;align-items:flex-start}
  .gs-demo{padding-inline:20px;min-height:360px}
  .gs-demo__card{padding:30px 20px}
  .gs-demo__card strong{font-size:22px}
}
@media (max-width: 420px){
  .gs-footer__top{grid-template-columns:1fr}
  .gs-footer__downloads{grid-column:auto}
  .gs-brand img{width:150px}
}
@media (prefers-reduced-motion: reduce){.gs-header *,.gs-footer *{scroll-behavior:auto!important;transition:none!important}}

.gs-is-pending{cursor:default!important;opacity:.82}.gs-is-pending:hover{background:inherit!important;color:inherit!important;border-color:inherit!important}

.gs-contact-item,.gs-contact-item a,.gs-contact-item span{min-width:0;overflow-wrap:anywhere;word-break:normal}
