/* EMKAN v135 — precision / virtual-learning pass.
   This layer intentionally preserves the approved minimal, linear visual language. */

/* --------------------------------------------------------------------------
   1 + 2 + 9 — shared header geometry and one canonical theme-control size
   -------------------------------------------------------------------------- */
@media (min-width:1280px){
  html body .site-header{
    width:min(calc(100% - 240px),1320px)!important;
    max-width:1320px!important;
    margin-inline:auto!important;
  }
  html body .site-header .nav-frame{position:relative!important}
  html body .site-header .primary-nav{padding-inline:105px!important}
  html body .site-header .nav-list{
    width:max-content!important;
    max-width:calc(100% - 210px)!important;
    gap:clamp(21px,1.55vw,30px)!important;
    margin-inline:auto!important;
  }
  html body .site-header .language-button{
    position:absolute!important;left:30px!important;right:auto!important;
    inset-inline:auto!important;top:50%!important;transform:translateY(-50%)!important;
    margin:0!important;z-index:12!important;
  }
  html body .site-header .nav-frame>#themeButton.theme-button,
  html body .site-header .nav-frame>.theme-button{
    position:absolute!important;right:30px!important;left:auto!important;
    inset-inline:auto!important;top:50%!important;transform:translateY(-50%)!important;
    margin:0!important;z-index:12!important;
  }
}
@media (min-width:901px) and (max-width:1279px){
  html body .site-header{
    width:min(calc(100% - 110px),1060px)!important;
    max-width:1060px!important;
    margin-inline:auto!important;
  }
  html body .site-header .nav-frame{position:relative!important}
  html body .site-header .primary-nav{padding-inline:82px!important}
  html body .site-header .nav-list{
    width:max-content!important;
    max-width:calc(100% - 164px)!important;
    gap:clamp(14px,1.35vw,22px)!important;
    margin-inline:auto!important;
  }
  html body .site-header .language-button{
    position:absolute!important;left:24px!important;right:auto!important;
    inset-inline:auto!important;top:50%!important;transform:translateY(-50%)!important;
    margin:0!important;z-index:12!important;
  }
  html body .site-header .nav-frame>#themeButton.theme-button,
  html body .site-header .nav-frame>.theme-button{
    position:absolute!important;right:24px!important;left:auto!important;
    inset-inline:auto!important;top:50%!important;transform:translateY(-50%)!important;
    margin:0!important;z-index:12!important;
  }
}

/* The Welcome screen is deliberately excluded: its sun and moon remain a pair. */
.site-header .theme-button,
.menu-page .theme-button,
.account-language-rail .theme-toggle,
.account-language-rail .auth-theme-inline{
  width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
  padding:0!important;display:inline-grid!important;place-items:center!important;
}
.site-header .theme-button .theme-icon-wrap,
.menu-page .theme-button .theme-icon-wrap,
.account-language-rail .theme-toggle .theme-icon-wrap,
.account-language-rail .auth-theme-inline .theme-icon-wrap{
  width:15px!important;height:15px!important;display:grid!important;place-items:center!important;
}
.site-header .theme-button :is(svg,i),
.menu-page .theme-button :is(svg,i),
.account-language-rail .theme-toggle :is(svg,i),
.account-language-rail .auth-theme-inline :is(svg,i){
  width:13.5px!important;height:13.5px!important;font-size:13.5px!important;line-height:13.5px!important;
}

/* --------------------------------------------------------------------------
   4 — registration steps: identical grammar to Store product tabs
   -------------------------------------------------------------------------- */
body.v115-course-detail #contentApp .v49-progress,
#contentApp .v49-progress{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
  width:min(430px,100%)!important;max-width:100%!important;
  margin:0 0 26px!important;padding:0!important;gap:26px!important;
  border:0!important;border-bottom:1px solid var(--line)!important;
  list-style:none!important;overflow:visible!important;
}
body.v115-course-detail #contentApp .v49-progress li,
#contentApp .v49-progress li{
  position:relative!important;flex:1 1 0!important;min-width:0!important;
  margin:0!important;padding:0 0 10px!important;border:0!important;
  color:var(--category-muted)!important;font-size:10.5px!important;line-height:1.55!important;
  text-align:center!important;white-space:nowrap!important;
}
body.v115-course-detail #contentApp .v49-progress li::after,
#contentApp .v49-progress li::after{
  content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:-1px!important;
  height:1px!important;background:var(--hover-accent)!important;transform:scaleX(0)!important;
  transform-origin:center!important;transition:transform .18s ease!important;
}
body.v115-course-detail #contentApp .v49-progress li[aria-current="step"],
#contentApp .v49-progress li[aria-current="step"]{color:var(--fg)!important;font-weight:600!important}
body.v115-course-detail #contentApp .v49-progress li[aria-current="step"]::after,
#contentApp .v49-progress li[aria-current="step"]::after{transform:scaleX(1)!important}
:is(html[lang="fa"],html[lang="ar"]) #contentApp .v49-progress{direction:rtl!important}
html[lang="en"] #contentApp .v49-progress{direction:ltr!important}
@media(max-width:520px){
  #contentApp .v49-progress{width:100%!important;gap:14px!important}
  #contentApp .v49-progress li{font-size:9.5px!important}
}

/* --------------------------------------------------------------------------
   6 — one canonical Store search field/icon
   -------------------------------------------------------------------------- */
body[class] :is(.store-category-side,.emkan-store-filter-rail) :is(.product-search,.emkan-store-search-proxy,.emkan-v135-store-search){
  position:relative!important;display:block!important;
}
.emkan-v135-store-search-icon{
  position:absolute!important;z-index:5!important;top:50%!important;width:11px!important;height:11px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.35!important;stroke-linecap:round!important;
  color:var(--category-muted,var(--fg))!important;opacity:.66!important;pointer-events:none!important;
  transform:translateY(-52%)!important;
}
:is(html[lang="fa"],html[lang="ar"]) .emkan-v135-store-search-icon{left:5px!important;right:auto!important}
html[lang="en"] .emkan-v135-store-search-icon{right:5px!important;left:auto!important}
:is(html[lang="fa"],html[lang="ar"]) :is(.store-category-side,.emkan-store-filter-rail) input[type="search"]{
  padding-left:25px!important;padding-right:0!important;direction:rtl!important;text-align:right!important;
}
html[lang="en"] :is(.store-category-side,.emkan-store-filter-rail) input[type="search"]{
  padding-right:25px!important;padding-left:0!important;direction:ltr!important;text-align:left!important;
}

/* --------------------------------------------------------------------------
   7 — always-visible quantity control (browser-native hover spinner replaced)
   -------------------------------------------------------------------------- */
.emkan-v135-number-shell{position:relative!important;display:block!important;width:100%!important;min-width:0!important}
.emkan-v135-number-shell>input[type="number"]{
  width:100%!important;height:100%!important;padding-inline-end:22px!important;
  -moz-appearance:textfield!important;appearance:textfield!important;
}
.emkan-v135-number-shell>input[type="number"]::-webkit-inner-spin-button,
.emkan-v135-number-shell>input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}
.emkan-v135-number-steps{
  position:absolute!important;z-index:3!important;top:1px!important;bottom:1px!important;inset-inline-end:0!important;
  width:20px!important;display:grid!important;grid-template-rows:1fr 1fr!important;
}
.emkan-v135-number-step{
  appearance:none!important;border:0!important;background:transparent!important;color:var(--category-muted,var(--fg))!important;
  width:20px!important;min-width:20px!important;min-height:0!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;opacity:.72!important;
}
.emkan-v135-number-step+ .emkan-v135-number-step{border-top:1px solid var(--line)!important}
.emkan-v135-number-step svg{width:8px!important;height:8px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.45!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.emkan-v135-number-step:hover,.emkan-v135-number-step:focus-visible{color:var(--hover-accent)!important;opacity:1!important;outline:0!important}

/* --------------------------------------------------------------------------
   3 — virtual education. Fine rules, no visual card system.
   -------------------------------------------------------------------------- */
.emkan-v135-virtual-program{
  margin-top:34px!important;padding-top:0!important;border-top:1px solid var(--line)!important;
  color:var(--fg)!important;
}
.emkan-v135-virtual-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;padding:17px 0 15px!important;border-bottom:1px solid var(--line)!important}
.emkan-v135-virtual-head h2{margin:0!important;font-size:15px!important;font-weight:600!important;line-height:1.7!important}
.emkan-v135-virtual-head p{margin:3px 0 0!important;color:var(--category-muted)!important;font-size:10.5px!important;line-height:1.9!important;max-width:690px!important}
.emkan-v135-virtual-badges{display:flex!important;align-items:center!important;gap:13px!important;flex-wrap:wrap!important;white-space:nowrap!important}
.emkan-v135-virtual-badge{font-size:9px!important;color:var(--category-muted)!important;padding-bottom:3px!important;border-bottom:1px solid var(--line)!important}
.emkan-v135-access-gate{padding:18px 0!important;border-bottom:1px solid var(--line)!important;max-width:650px!important}
.emkan-v135-access-gate p{margin:0 0 12px!important;font-size:11px!important;line-height:2!important;color:var(--category-muted)!important}
.emkan-v135-access-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:end!important}
.emkan-v135-access-row label{display:grid!important;gap:4px!important;font-size:10px!important;color:var(--category-muted)!important}
.emkan-v135-access-row input{border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;color:var(--fg)!important;padding:8px 0!important;outline:0!important;font:inherit!important;letter-spacing:.05em!important}
.emkan-v135-access-row input:focus{border-bottom-color:var(--hover-accent)!important}
.emkan-v135-access-row button,.emkan-v135-lesson-complete,.emkan-v135-materials a{
  appearance:none!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;color:var(--fg)!important;
  padding:8px 0!important;text-decoration:none!important;font:inherit!important;font-size:10.5px!important;cursor:pointer!important;
}
.emkan-v135-access-row button:hover,.emkan-v135-lesson-complete:hover,.emkan-v135-materials a:hover{color:var(--hover-accent)!important;border-bottom-color:var(--hover-accent)!important}
.emkan-v135-access-status{min-height:18px!important;margin:8px 0 0!important;font-size:9.5px!important;color:var(--category-muted)!important}
.emkan-v135-lessons{display:block!important}
.emkan-v135-lesson{position:relative!important;display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)!important;gap:32px!important;padding:22px 0!important;border-bottom:1px solid var(--line)!important}
.emkan-v135-lesson.is-locked{opacity:.52!important}
.emkan-v135-lesson.is-complete .emkan-v135-lesson-number{color:var(--hover-accent)!important}
.emkan-v135-lesson-copy{min-width:0!important}
.emkan-v135-lesson-kicker{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 7px!important;color:var(--category-muted)!important;font-size:9px!important}
.emkan-v135-lesson h3{margin:0 0 8px!important;font-size:13px!important;font-weight:600!important;line-height:1.8!important}
.emkan-v135-lesson p{margin:0 0 11px!important;font-size:10.5px!important;line-height:2!important;color:var(--category-muted)!important;white-space:pre-line!important}
.emkan-v135-video-wrap{position:relative!important;width:100%!important;aspect-ratio:16/9!important;background:rgba(127,127,127,.045)!important;overflow:hidden!important}
.emkan-v135-video-wrap video{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#050607!important}
.emkan-v135-video-lock{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--bg) 86%,transparent)!important;font-size:10px!important;color:var(--category-muted)!important;text-align:center!important;padding:20px!important}
.emkan-v135-progress-line{height:1px!important;background:var(--line)!important;margin-top:12px!important;overflow:hidden!important}
.emkan-v135-progress-line>span{display:block!important;height:1px!important;width:0;background:var(--hover-accent)!important;transition:width .18s linear!important}
.emkan-v135-materials{padding:18px 0!important;border-bottom:1px solid var(--line)!important}
.emkan-v135-materials h3{margin:0 0 8px!important;font-size:12px!important;font-weight:600!important}
.emkan-v135-materials-list{display:flex!important;gap:20px!important;flex-wrap:wrap!important}
.emkan-v135-material-disabled{font-size:10px!important;color:var(--category-muted)!important;padding-bottom:6px!important;border-bottom:1px solid var(--line)!important;opacity:.65!important}
:is(html[lang="fa"],html[lang="ar"]) .emkan-v135-virtual-program{direction:rtl!important;text-align:right!important}
html[lang="en"] .emkan-v135-virtual-program{direction:ltr!important;text-align:left!important}
@media(max-width:760px){
  .emkan-v135-virtual-head{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .emkan-v135-lesson{grid-template-columns:1fr!important;gap:14px!important;padding:18px 0!important}
  .emkan-v135-access-row{grid-template-columns:1fr!important}
}

/* Admin controls for virtual programmes: same line-based form language. */
.emkan-v135-virtual-admin{grid-column:1/-1!important;margin:10px 0 4px!important;padding:16px 0 0!important;border-top:1px solid var(--line,#d7d9dd)!important}
.emkan-v135-virtual-admin>h3{margin:0 0 12px!important;font-size:13px!important;font-weight:650!important}
.emkan-v135-virtual-admin>p{margin:0 0 14px!important;font-size:10px!important;line-height:1.9!important;color:var(--muted,#6e747c)!important}
.emkan-v135-virtual-admin-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 18px!important}
.emkan-v135-virtual-admin-grid>label{margin:0!important}
.emkan-v135-virtual-admin-grid>.emkan-v135-full{grid-column:1/-1!important}
.emkan-v135-virtual-check{display:flex!important;align-items:center!important;gap:8px!important;min-height:34px!important}
@media(max-width:760px){.emkan-v135-virtual-admin-grid{grid-template-columns:1fr!important}.emkan-v135-virtual-admin-grid>.emkan-v135-full{grid-column:auto!important}}

/* --------------------------------------------------------------------------
   8 — common project-style image enlargement
   -------------------------------------------------------------------------- */
.emkan-v135-viewer{
  position:fixed!important;inset:0!important;z-index:2147482500!important;display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;grid-template-rows:54px minmax(0,1fr)!important;
  padding:10px!important;background:rgba(7,9,12,.95)!important;color:#fff!important;
}
.emkan-v135-viewer[hidden]{display:none!important}
.emkan-v135-viewer-stage{grid-column:1/-1!important;grid-row:2!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
.emkan-v135-viewer-stage img{display:block!important;max-width:calc(100vw - 36px)!important;max-height:calc(100vh - 78px)!important;width:auto!important;height:auto!important;object-fit:contain!important;box-shadow:none!important;border:0!important}
.emkan-v135-viewer button{appearance:none!important;border:0!important;background:transparent!important;color:#fff!important;cursor:pointer!important;box-shadow:none!important;opacity:.82!important}
.emkan-v135-viewer button:hover,.emkan-v135-viewer button:focus-visible{opacity:1!important;outline:0!important}
.emkan-v135-viewer-close{grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:center!important;width:38px!important;height:38px!important;padding:0!important;font:300 29px/1 Arial,sans-serif!important}
.emkan-v135-viewer-prev,.emkan-v135-viewer-next{grid-row:2!important;z-index:2!important;width:44px!important;height:60px!important;padding:0!important;align-self:center!important}
.emkan-v135-viewer-prev{grid-column:1!important}.emkan-v135-viewer-next{grid-column:3!important}
.emkan-v135-viewer-prev svg,.emkan-v135-viewer-next svg{width:18px!important;height:30px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.15!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.emkan-v135-viewer-open{overflow:hidden!important}
.v120-report-gallery img,.v49-course img,.learning-panel img{cursor:zoom-in!important}
/* remove old oversized report-viewer line/rail if a legacy layer created one */
.emkan-gallery-lightbox{display:none!important}
.emkan-gallery-lightbox[hidden]{display:none!important}

/* Existing Store product lightbox is normalized to the same project-style geometry. */
.emkan-product-lightbox{background:rgba(7,9,12,.95)!important}
.emkan-product-lightbox-close{top:10px!important;right:10px!important;width:38px!important;height:38px!important;font-size:29px!important;font-weight:300!important}
.emkan-product-lightbox-stage{overflow:hidden!important;border:0!important}
.emkan-product-lightbox-stage::after{display:none!important}

/* Small language/layout stabilization: language changes must not leave stale direction. */
html[lang="fa"],html[lang="ar"]{direction:rtl}
html[lang="en"]{direction:ltr}

/* Legacy v127 report viewer is neutralized to the same project-style viewer:
   no oversized bottom track; close stays in the corner. */
.emkan-report-viewer-foot{display:none!important}
.emkan-report-viewer{background:rgba(7,9,12,.95)!important;padding-bottom:10px!important}
.emkan-report-viewer-head{min-height:46px!important;border:0!important;padding:0 10px!important}
.emkan-report-viewer-close{width:38px!important;height:38px!important;font:300 29px/1 Arial,sans-serif!important}
.emkan-report-viewer-stage{inset-block-end:10px!important;border:0!important}
.emkan-report-viewer-slides{border:0!important;scrollbar-width:none!important}
.emkan-report-viewer-slides::-webkit-scrollbar{display:none!important}
