/* Masafere Koochooloo — v7. Design tokens intentionally use low specificity
   for default Elementor blocks so element-specific Elementor styling can win. */
:root { color-scheme: light; }
body.mkj-app {
  --mkj-bg:#fff9f2; --mkj-paper:#ffffff; --mkj-ink:#3e3431; --mkj-muted:#796e68;
  --mkj-accent:#b85643; --mkj-accent-strong:#994530; --mkj-accent-soft:#fff0e8;
  --mkj-secondary:#6b8468; --mkj-secondary-soft:#edf2e9; --mkj-gold:#daa35e;
  --mkj-border:#eddccf; --mkj-shadow:0 12px 38px rgba(91,55,42,.075);
  --mkj-radius:22px;
  direction:rtl; text-align:right; min-height:100vh; margin:0;
  background:radial-gradient(ellipse 40rem 28rem at 100% -10%,#ffe5ce 0,transparent 75%),
             radial-gradient(ellipse 26rem 25rem at -8% 30%,#f6eee4 0,transparent 80%),var(--mkj-bg);
  color:var(--mkj-ink);
  font-family:"Vazirmatn","IRANSansX","Yekan Bakh","Shabnam","Noto Sans Arabic",Tahoma,Arial,sans-serif;
  line-height:1.85; -webkit-font-smoothing:antialiased;
}
body.mkj-app.mkj-theme-olive {
  --mkj-bg:#faf9f1; --mkj-ink:#343d32; --mkj-muted:#687363;
  --mkj-accent:#728454; --mkj-accent-strong:#52663b; --mkj-accent-soft:#eff3e2;
  --mkj-secondary:#b17b56; --mkj-secondary-soft:#faebdb; --mkj-gold:#c8a864;
  --mkj-border:#e4e4d5; --mkj-shadow:0 12px 38px rgba(55,75,42,.07);
  background:radial-gradient(ellipse 44rem 28rem at 90% 0,#e9eddb 0,transparent 74%),var(--mkj-bg);
}
body.mkj-app.mkj-theme-honey {
  --mkj-bg:#fffaf0; --mkj-ink:#42382a; --mkj-muted:#85735a;
  --mkj-accent:#be7729; --mkj-accent-strong:#925918; --mkj-accent-soft:#fff1d7;
  --mkj-secondary:#a55a62; --mkj-secondary-soft:#f8e6e6; --mkj-gold:#dfac3b;
  --mkj-border:#f0dec3; --mkj-shadow:0 12px 38px rgba(116,76,20,.08);
  background:radial-gradient(ellipse 44rem 28rem at 90% 0,#fff0cd 0,transparent 75%),var(--mkj-bg);
}
body.mkj-app,body.mkj-app * {box-sizing:border-box}
body.mkj-app a {transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}
body.mkj-app a:focus-visible,body.mkj-app button:focus-visible,body.mkj-app input:focus-visible {
  outline:3px solid var(--mkj-gold);outline-offset:3px
}
body.mkj-app .mkj-bar {
  min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:14px max(26px,calc((100vw - 1160px)/2));
  background:rgba(255,255,255,.9);border-bottom:1px solid var(--mkj-border);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
body.mkj-app .mkj-brand {text-decoration:none;display:flex;align-items:center;gap:11px;color:var(--mkj-ink);font-size:21px;font-weight:800;line-height:1.45}
body.mkj-app .mkj-brand b{color:var(--mkj-accent)}
body.mkj-app .mkj-brand small{display:block;font-size:10px;color:var(--mkj-muted);font-weight:500;letter-spacing:.05px}
body.mkj-app .mkj-brand-mark {
  display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:15px;
  background:var(--mkj-accent);color:white;font-size:26px;box-shadow:0 6px 14px rgba(131,66,43,.17)
}
body.mkj-app .mkj-bar-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:13px}
body.mkj-app .mkj-bar-actions a{color:var(--mkj-accent-strong);text-decoration:none;font-weight:700}
body.mkj-app .mkj-bar-label{color:var(--mkj-muted)}
body.mkj-app .mkj-user{border-radius:30px;padding:4px 11px;background:var(--mkj-accent-soft);color:var(--mkj-accent-strong)}
body.mkj-app .mkj-main{width:min(100%,1160px);margin:0 auto;padding:32px 24px 86px}
body.mkj-app .mkj-main .elementor{max-width:100%}
/* Mirrored in Elementor Canvas editor preview: Elementor paints the page body directly. */
body.mkj-app:not(:has(.mkj-main)) > .elementor{width:min(100%,1160px);margin:0 auto;padding:32px 24px 72px}
body.mkj-app :where(.mkj-document){gap:22px;padding:0;margin:0;max-width:100%}
body.mkj-app :where(.mkj-hero){position:relative;overflow:hidden;border:1px solid var(--mkj-border);
  padding:34px 42px;background:linear-gradient(115deg,rgba(255,255,255,.98),rgba(255,251,246,.92));
  border-radius:26px;box-shadow:var(--mkj-shadow);isolation:isolate;gap:8px!important}
body.mkj-app :where(.mkj-hero)::before{content:"";position:absolute;inset:auto auto -115px -70px;width:280px;height:280px;border-radius:50%;
  background:var(--mkj-accent-soft);opacity:.92;z-index:-1}
body.mkj-app :where(.mkj-hero)::after{content:"✿";font-size:170px;line-height:1;position:absolute;left:25px;bottom:10px;
  opacity:.075;color:var(--mkj-accent);pointer-events:none;z-index:-1}
body.mkj-app .mkj-eyebrow{color:var(--mkj-accent-strong);font-size:12px;font-weight:800;display:inline-flex;
  gap:8px;align-items:center;width:max-content;max-width:100%;padding:4px 13px;border-radius:30px;
  background:var(--mkj-accent-soft);line-height:2}
body.mkj-app :where(.mkj-hero-title .elementor-heading-title){color:var(--mkj-ink);font-size:clamp(27px,3.2vw,39px);line-height:1.65;font-weight:850;letter-spacing:-.5px}
body.mkj-app :where(.mkj-hero-desc p){color:var(--mkj-muted);font-size:clamp(14px,1.5vw,16px);line-height:2.15;max-width:680px;margin:0}
body.mkj-app :where(.mkj-section-title .elementor-heading-title){font-size:clamp(19px,2vw,25px);font-weight:800;color:var(--mkj-ink);line-height:1.55}
body.mkj-app .mkj-highlights{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
body.mkj-app .mkj-highlights span{padding:8px 15px;font-size:12px;font-weight:700;border-radius:12px;
  background:var(--mkj-secondary-soft);color:var(--mkj-secondary)}
body.mkj-app :where(.mkj-grid){display:grid!important;gap:20px!important;align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
body.mkj-app :where(.mkj-grid-topics){grid-template-columns:repeat(3,minmax(0,1fr))}
body.mkj-app :where(.mkj-grid>.e-con){min-width:0}
body.mkj-app :where(.mkj-card){background:var(--mkj-paper);border:1px solid var(--mkj-border);border-radius:var(--mkj-radius);
  padding:26px;box-shadow:var(--mkj-shadow);min-height:258px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  gap:10px;justify-content:flex-start}
body.mkj-app :where(.mkj-card):hover{transform:translateY(-4px);border-color:var(--mkj-accent);box-shadow:0 18px 38px rgba(102,58,42,.11)}
body.mkj-app :where(.mkj-card .mkj-icon-holder){width:56px;height:56px;border-radius:17px;
  background:var(--mkj-accent-soft);display:flex;align-items:center;justify-content:center}
body.mkj-app :where(.mkj-card-tone-2 .mkj-icon-holder,.mkj-card-tone-4 .mkj-icon-holder){background:var(--mkj-secondary-soft)}
body.mkj-app :where(.mkj-card .mkj-icon-holder .elementor-icon){font-size:24px;color:var(--mkj-accent);display:block}
body.mkj-app :where(.mkj-card-tone-2 .mkj-icon-holder .elementor-icon,.mkj-card-tone-4 .mkj-icon-holder .elementor-icon){color:var(--mkj-secondary)}
body.mkj-app :where(.mkj-card-title .elementor-heading-title){font-size:21px;font-weight:800;color:var(--mkj-ink);line-height:1.55}
body.mkj-app :where(.mkj-card-desc p){font-size:13.5px;line-height:2;color:var(--mkj-muted);margin:0}
body.mkj-app :where(.mkj-card .elementor-widget-button){margin-top:auto}
body.mkj-app :where(.mkj-btn-primary .elementor-button){display:inline-flex;gap:10px;align-items:center;
  border-radius:12px;background:var(--mkj-accent);color:white;font-size:13px;padding:11px 20px;
  font-weight:750;text-decoration:none;box-shadow:0 7px 15px rgba(116,58,38,.13)}
body.mkj-app :where(.mkj-btn-primary .elementor-button:hover){background:var(--mkj-accent-strong);transform:translateY(-1px);color:white}
body.mkj-app :where(.mkj-btn-soft .elementor-button){display:inline-flex;gap:8px;align-items:center;
  border-radius:12px;background:var(--mkj-accent-soft);color:var(--mkj-accent-strong);
  font-size:13px;padding:11px 20px;font-weight:750;text-decoration:none}
body.mkj-app :where(.mkj-btn-soft .elementor-button:hover){background:var(--mkj-border)}
body.mkj-app :where(.mkj-crumbs){display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--mkj-muted)}
body.mkj-app .mkj-crumbs a{color:var(--mkj-accent-strong);font-weight:700;text-decoration:none}
body.mkj-app .mkj-crumbs .mkj-crumb-sep{font-size:24px;line-height:1;color:#a69b8b}
body.mkj-app :where(.mkj-progress){padding:25px 29px 20px;border:1px solid var(--mkj-border);border-radius:22px;
 background:white;box-shadow:var(--mkj-shadow)}
body.mkj-app :where(.mkj-progress-head){display:flex;align-items:center;justify-content:space-between;gap:10px;
 font-size:13px;color:var(--mkj-muted);margin-bottom:13px}
body.mkj-app :where(.mkj-progress-head strong){color:var(--mkj-accent-strong);font-size:14px}
body.mkj-app :where(.mkj-progress-track){height:9px;background:var(--mkj-accent-soft);border-radius:20px;overflow:hidden}
body.mkj-app :where(.mkj-progress-track span){display:block;height:100%;background:linear-gradient(90deg,var(--mkj-gold),var(--mkj-accent));border-radius:20px;transition:width .4s ease}
body.mkj-app .mkj-step-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:19px 0 0;padding:0;gap:8px}
body.mkj-app .mkj-step-list li{margin:0;padding:0}
body.mkj-app .mkj-step-list a{display:flex;gap:8px;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--mkj-muted);font-size:11px;font-weight:650}
body.mkj-app .mkj-step-num{display:grid;place-items:center;border-radius:50%;width:35px;height:35px;
  border:1px solid var(--mkj-border);background:#fff;color:var(--mkj-muted);font-weight:800;font-size:13px}
body.mkj-app .mkj-step.is-current .mkj-step-num{background:var(--mkj-accent);color:white;border-color:var(--mkj-accent);
  box-shadow:0 0 0 5px var(--mkj-accent-soft)}
body.mkj-app .mkj-step.is-current a{color:var(--mkj-accent-strong)}
body.mkj-app .mkj-step.is-done .mkj-step-num{background:var(--mkj-secondary-soft);border-color:var(--mkj-secondary-soft);color:var(--mkj-secondary)}
body.mkj-app :where(.mkj-lesson-card){padding:32px 36px;min-height:255px;background:var(--mkj-paper);
 border:1px solid var(--mkj-border);border-radius:24px;box-shadow:var(--mkj-shadow);gap:12px}
body.mkj-app :where(.mkj-stage-icon .elementor-icon){color:var(--mkj-accent);font-size:35px}
body.mkj-app :where(.mkj-stage-title .elementor-heading-title){color:var(--mkj-ink);font-size:clamp(22px,2.5vw,29px);font-weight:800}
body.mkj-app :where(.mkj-stage-body p){font-size:16px;line-height:2.25;color:var(--mkj-ink);margin:0}
body.mkj-app :where(.mkj-tip){border:1px solid #e2e7d9;border-radius:19px;background:var(--mkj-secondary-soft);
 padding:20px 24px;display:flex!important;flex-direction:row!important;align-items:center;gap:18px!important}
body.mkj-app :where(.mkj-tip-icon){flex:0 0 40px;max-width:40px}
body.mkj-app :where(.mkj-tip-icon .elementor-icon){font-size:29px;color:var(--mkj-secondary)}
body.mkj-app :where(.mkj-tip-copy){flex:1;min-width:0;gap:3px}
body.mkj-app :where(.mkj-tip-copy .elementor-heading-title){font-size:15px;font-weight:800;color:var(--mkj-ink)}
body.mkj-app :where(.mkj-tip-copy p){font-size:13px;color:var(--mkj-muted);margin:0}
body.mkj-app :where(.mkj-steps-nav){display:flex!important;flex-direction:row!important;flex-wrap:wrap;
  justify-content:space-between;align-items:center;gap:14px}
body.mkj-app :where(.mkj-bottom-note){text-align:center;border-radius:16px;background:var(--mkj-accent-soft);padding:16px;
 font-size:12px;font-weight:650;color:var(--mkj-accent-strong)}
/* Authentication gate */
body.mkj-app .mkj-gate{max-width:860px;margin:20px auto;background:white;padding:35px;
 border:1px solid var(--mkj-border);border-radius:26px;box-shadow:var(--mkj-shadow)}
body.mkj-app .mkj-gate-head{text-align:center;max-width:600px;margin:0 auto 24px}
body.mkj-app .mkj-gate-head .mkj-eyebrow{margin:0 auto 10px}
body.mkj-app .mkj-gate-head h1{font-size:clamp(23px,3vw,32px);color:var(--mkj-ink);margin:4px 0}
body.mkj-app .mkj-gate-head p{color:var(--mkj-muted);font-size:14px;margin:6px 0 0;line-height:2.1}
body.mkj-app .mkj-gate-lock{width:55px;height:55px;margin:0 auto 12px;display:grid;place-items:center;
 border-radius:19px;background:var(--mkj-accent-soft);color:var(--mkj-accent);font-size:26px}
body.mkj-app .mkj-form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.mkj-app .mkj-auth-form{border:1px solid var(--mkj-border);border-radius:18px;padding:23px;background:#fff}
body.mkj-app .mkj-auth-form:first-child{background:linear-gradient(160deg,#fff,var(--mkj-accent-soft))}
body.mkj-app .mkj-auth-form h2{font-size:20px;color:var(--mkj-ink);margin:0 0 15px}
body.mkj-app .mkj-auth-form label{display:block;margin:14px 0;font-size:13px;font-weight:700;color:var(--mkj-ink)}
body.mkj-app .mkj-auth-form input:not(.mkj-honeypot){display:block;width:100%;padding:12px 14px;border:1px solid var(--mkj-border);
 border-radius:11px;font:inherit;margin-top:6px;background:white;color:var(--mkj-ink);font-size:14px}
body.mkj-app .mkj-field-hint{font-size:11px;font-weight:400;color:var(--mkj-muted);display:block;margin-top:4px}
body.mkj-app .mkj-auth-form button{border:0;background:var(--mkj-accent);color:white;padding:12px 20px;cursor:pointer;
 border-radius:11px;font:inherit;font-size:13px;font-weight:800;width:100%;margin-top:7px}
body.mkj-app .mkj-auth-form button:hover{background:var(--mkj-accent-strong)}
body.mkj-app .mkj-error{border:1px solid #dfa198;background:#fff1ee;color:#832f23;padding:11px 14px;border-radius:11px}
body.mkj-app .mkj-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
body.mkj-app .mkj-back{display:inline-block;margin-top:18px;text-decoration:none;color:var(--mkj-accent-strong);font-weight:700}
body.mkj-app .mkj-small{font-size:11px;color:var(--mkj-muted);margin-top:14px}
body.mkj-app .mkj-empty{padding:36px;background:#fff;border:1px solid var(--mkj-border);border-radius:20px;box-shadow:var(--mkj-shadow)}
@media(max-width:850px){
 body.mkj-app :where(.mkj-grid-topics){grid-template-columns:repeat(2,minmax(0,1fr))}
 body.mkj-app .mkj-bar-label{display:none}
}
@media(max-width:670px){
 body.mkj-app .mkj-main{padding:20px 14px 50px}
 body.mkj-app .mkj-bar{min-height:70px;padding:10px 14px}
 body.mkj-app .mkj-brand{font-size:18px}
 body.mkj-app .mkj-brand-mark{width:39px;height:39px;border-radius:13px}
 body.mkj-app :where(.mkj-grid),body.mkj-app :where(.mkj-grid-topics){grid-template-columns:1fr}
 body.mkj-app :where(.mkj-hero){padding:23px 21px;border-radius:20px}
 body.mkj-app :where(.mkj-card){min-height:220px;padding:23px}
 body.mkj-app :where(.mkj-lesson-card){padding:24px 20px}
 body.mkj-app :where(.mkj-progress){padding:20px 15px}
 body.mkj-app :where(.mkj-step-caption){font-size:10px}
 body.mkj-app :where(.mkj-tip){padding:16px;gap:10px!important}
 body.mkj-app .mkj-gate{padding:21px 17px;margin:0 auto}
 body.mkj-app .mkj-form-columns{grid-template-columns:1fr}
 body.mkj-app :where(.mkj-steps-nav){flex-direction:column!important;align-items:stretch}
 body.mkj-app :where(.mkj-steps-nav .elementor-widget-button){width:100%}
 body.mkj-app :where(.mkj-steps-nav .elementor-button){width:100%;justify-content:center}
 body.mkj-app:not(:has(.mkj-main)) > .elementor{padding:20px 14px 50px}
}
@media(prefers-reduced-motion:reduce){body.mkj-app *,body.mkj-app *::before,body.mkj-app *::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* === v7.1: Persian typography, visible Elementor actions, consistent scale === */
body.mkj-app {
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:1.9;
}
/* Preserve icon fonts: typography is applied to text-carrying elements, not <i> icons. */
body.mkj-app :is(.elementor-heading-title,.elementor-widget-text-editor p,.elementor-button-text,
  .mkj-brand,.mkj-eyebrow,.mkj-progress,.mkj-step-caption,.mkj-crumbs,.mkj-auth-form,
  .mkj-bar-actions,.mkj-bottom-note,.mkj-fallback-nav a,button,input,textarea,select) {
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif!important;
}
body.mkj-app .mkj-hero-title .elementor-heading-title {
  font-size:clamp(23px,2.7vw,32px);font-weight:800;line-height:1.55;letter-spacing:0;
}
body.mkj-app .mkj-section-title .elementor-heading-title {
  font-size:clamp(18px,1.8vw,22px);font-weight:750;line-height:1.6;
}
body.mkj-app .mkj-card-title .elementor-heading-title {
  font-size:19px;font-weight:750;line-height:1.65;
}
body.mkj-app .mkj-stage-title .elementor-heading-title {
  font-size:clamp(20px,2.2vw,25px);font-weight:750;line-height:1.7;
}
body.mkj-app .mkj-hero-desc p,
body.mkj-app .mkj-card-desc p,
body.mkj-app .mkj-stage-body p {
  font-size:15px;line-height:2.05;font-weight:400;
}
body.mkj-app .mkj-tip-copy .elementor-heading-title {font-size:16px;font-weight:750;}
body.mkj-app .mkj-tip-copy p {font-size:14px;line-height:1.95;}
body.mkj-app .mkj-eyebrow {font-size:12px;font-weight:650;}
body.mkj-app .mkj-brand {font-size:19px;font-weight:800;}
body.mkj-app .mkj-crumbs {font-size:13px;}
body.mkj-app .mkj-bar-label {font-size:12px;}
body.mkj-app .mkj-progress-head {font-size:13px;}
body.mkj-app .mkj-progress-head strong {font-weight:750;}
body.mkj-app .mkj-step-caption {font-size:12px;}
/* Some Elementor defaults/themes hide button-widget wrappers in custom snapshot shells.
   Keep the built-in navigation widgets visible without altering their custom text or links. */
body.mkj-app .mkj-btn-primary.elementor-widget-button,
body.mkj-app .mkj-btn-soft.elementor-widget-button,
body.mkj-app .mkj-card .elementor-widget-button,
body.mkj-app .mkj-steps-nav .elementor-widget-button {
  display:block!important;visibility:visible!important;opacity:1!important;
  position:relative;min-width:0;z-index:1;
}
body.mkj-app .mkj-card .elementor-button-wrapper,
body.mkj-app .mkj-steps-nav .elementor-button-wrapper,
body.mkj-app .mkj-btn-primary .elementor-button-wrapper,
body.mkj-app .mkj-btn-soft .elementor-button-wrapper {
  display:block!important;visibility:visible!important;opacity:1!important;
}
body.mkj-app .mkj-btn-primary .elementor-button,
body.mkj-app .mkj-btn-soft .elementor-button,
body.mkj-app .mkj-card .elementor-button,
body.mkj-app .mkj-steps-nav .elementor-button {
  display:inline-flex!important;visibility:visible!important;opacity:1!important;
  align-items:center;justify-content:center;gap:8px;
  width:auto;max-width:100%;min-height:43px;padding:10px 19px;
  border-radius:12px;border:1px solid transparent;text-decoration:none;
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif!important;
  font-size:14px;line-height:1.65;font-weight:700;
  box-shadow:none;cursor:pointer;
}
body.mkj-app .mkj-btn-primary .elementor-button,
body.mkj-app .mkj-card .elementor-button,
body.mkj-app .mkj-steps-nav .mkj-btn-primary .elementor-button {
  background:var(--mkj-accent);color:#fff;
}
body.mkj-app .mkj-btn-soft .elementor-button,
body.mkj-app .mkj-steps-nav .mkj-btn-soft .elementor-button {
  background:var(--mkj-accent-soft);color:var(--mkj-accent-strong);
  border-color:var(--mkj-border);
}
body.mkj-app .mkj-steps-nav{gap:14px!important;}
body.mkj-app .mkj-steps-nav .elementor-widget-button{flex:0 0 auto;}
body.mkj-app .mkj-fallback-nav {
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  max-width:900px;margin:25px auto;padding:14px;
  background:var(--mkj-paper);border:1px solid var(--mkj-border);border-radius:18px;
}
body.mkj-app .mkj-fallback-nav a{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--mkj-accent);color:white;padding:10px 17px;
  font-size:14px;font-weight:700;text-decoration:none;border-radius:12px;
}
body.mkj-app .mkj-fallback-nav a:hover{background:var(--mkj-accent-strong);color:white;}
@media(max-width:670px){
  body.mkj-app .mkj-hero-title .elementor-heading-title {font-size:24px;}
  body.mkj-app .mkj-card-title .elementor-heading-title {font-size:18px;}
  body.mkj-app .mkj-hero-desc p,body.mkj-app .mkj-stage-body p {font-size:15px;}
  body.mkj-app .mkj-steps-nav .elementor-widget-button {width:100%;}
  body.mkj-app .mkj-steps-nav .elementor-button {width:100%;}
  body.mkj-app .mkj-fallback-nav a {width:100%;justify-content:space-between;}
}
