/* Kart Sabz Core — ظاهر شورت‌کدها. رنگ‌ها از متغیرهای تنظیمات می‌آیند (--ks-*). */
:root{--ks-primary:#15284b;--ks-accent:#1b7a6b;--ks-soft:#f2f7f6;--ks-text:#22334d;--ks-radius:14px;--ks-shadow:0 6px 24px rgba(21,40,75,.08);--ks-border:#e1e7f0}
.ks-container{width:min(1200px,100% - 32px);margin-inline:auto}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;position:absolute!important;word-wrap:normal!important}

/* بخش‌های صفحه اصلی (کلاس‌ها روی کانتینرهای Elementor) */
.ks-sec{padding-block:clamp(40px,6vw,76px)!important;color:var(--ks-text)}
.ks-sec-soft{background:var(--ks-soft)}
.ks-sec-dark{background:var(--ks-primary);color:#fff}
.ks-sec-dark .ks-sec-title .elementor-heading-title,.ks-sec-dark .ks-sec-lead,.ks-sec-dark .ks-sec-lead *{color:#fff}
.ks-sec-slider,.ks-sec-h1{padding-block:0!important}
.ks-sec-h1{min-height:0}
.ks-inner{width:min(1200px,100%);margin-inline:auto;padding-inline:16px;box-sizing:border-box}
.ks-sec-title .elementor-heading-title{color:var(--ks-primary);font-weight:800;font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:.4em}
.ks-sec-lead{max-width:760px;margin:0 auto 1.5em;line-height:2}
.ks-el-btn .elementor-button{background:var(--ks-accent);color:#fff;border-radius:999px;padding:.85em 2em;font-weight:700}
.ks-el-btn .elementor-button:hover{filter:brightness(.92)}

/* دکمه‌ها */
.ks-btn{display:inline-block;background:var(--ks-accent);color:#fff!important;text-decoration:none!important;border:2px solid var(--ks-accent);border-radius:999px;padding:.7em 1.6em;font-weight:700;line-height:1.5;cursor:pointer;text-align:center;transition:filter .15s,transform .15s}
.ks-btn:hover,.ks-btn:focus-visible{filter:brightness(.92)}
.ks-btn:focus-visible,.ks-nav:focus-visible,.ks-faq-item summary:focus-visible,.ks-video-facade:focus-visible{outline:3px solid var(--ks-accent-dark,#166256);outline-offset:2px}
.ks-btn-lg{padding:.9em 2.2em;font-size:1.05rem}
.ks-btn-block{display:block;width:100%;box-sizing:border-box}
.ks-btn-outline{background:transparent;color:var(--ks-accent)!important}
.ks-btn-outline:hover{background:var(--ks-accent);color:#fff!important;filter:none}
.ks-btn.is-disabled{background:#cfd6de;border-color:#cfd6de;color:#5b6773!important;cursor:not-allowed}

/* شبکه کارت‌ها */
.ks-grid{display:grid;gap:20px;grid-template-columns:repeat(var(--ks-cols,3),minmax(0,1fr));margin-block:24px}
@media(max-width:1024px){.ks-grid{grid-template-columns:repeat(min(var(--ks-cols,3),2),minmax(0,1fr))}}
@media(max-width:640px){.ks-grid{grid-template-columns:1fr}}
.ks-card{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow);padding:22px;display:flex;flex-direction:column;gap:10px;position:relative;color:var(--ks-text)}
.ks-card-title{margin:0;font-size:1.15rem;color:var(--ks-primary);line-height:1.6}
.ks-card-title a{color:inherit;text-decoration:none}
.ks-card-text{margin:0;line-height:1.9;color:#4a5a6a}
.ks-card-img{width:100%;height:auto;border-radius:10px}
.ks-card .ks-btn{margin-top:auto;align-self:flex-start}
.ks-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--ks-soft);font-size:1.6rem}
.ks-meta{margin:0;font-size:.85rem;color:#6a7886}
.ks-tag{background:var(--ks-soft);border-radius:999px;padding:.1em .7em;font-size:.8rem}
.ks-tag-ok{background:#e3f5ea;color:#12663a}
.ks-empty{text-align:center;color:#6a7886}

/* قیمت‌ها */
.ks-plan.is-featured{border:2px solid var(--ks-accent)}
.ks-badge{position:absolute;inset-block-start:-12px;inset-inline-start:20px;background:var(--ks-accent);color:#fff;border-radius:999px;padding:.15em .9em;font-size:.8rem;font-weight:700}
.ks-price{margin:.2em 0;color:var(--ks-primary)}
.ks-price strong{font-size:2rem}
.ks-price-soon{color:#6a7886;font-weight:700}
.ks-features{margin:0;padding-inline-start:1.2em;line-height:2}
.ks-note{font-size:.88rem;color:#586674;line-height:1.9;background:var(--ks-soft);border-radius:10px;padding:.7em 1em;margin:.4em 0}
.ks-plan .ks-btn{margin-top:auto}

/* آکاردئون سؤالات (بدون جاوااسکریپت) */
.ks-faq{max-width:900px;margin-inline:auto}
.ks-faq-group{margin:1.6em 0 .6em;color:var(--ks-primary)}
.ks-faq-item{background:#fff;border:1px solid var(--ks-border);border-radius:12px;margin-block:10px;overflow:hidden}
.ks-faq-item summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:700;color:var(--ks-primary);display:flex;justify-content:space-between;gap:12px;align-items:center}
.ks-faq-item summary::-webkit-details-marker{display:none}
.ks-faq-item summary::after{content:"+";font-size:1.4rem;color:var(--ks-accent);line-height:1}
.ks-faq-item[open] summary::after{content:"−"}
.ks-faq-answer{padding:0 20px 16px;line-height:2;color:#3f4e5c}

/* زمان‌بندی */
.ks-timeline{max-width:820px;margin-inline:auto}
.ks-dl{display:grid;gap:10px;margin:16px 0}
.ks-dl>div{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;background:#fff;border:1px solid var(--ks-border);border-radius:12px;padding:14px 18px}
.ks-dl dt{font-weight:700;color:var(--ks-primary)}
.ks-dl dd{margin:0}
.ks-alert{background:#fff7e0;border:1px solid #f1d98a;border-radius:12px;padding:14px 18px;line-height:1.9;color:#5b4700}
.ks-alert p{margin:0}
.ks-alert-info{background:#e8f1fb;border-color:#b9d3ee;color:#143a63}
.ks-alert-ok{background:#e3f5ea;border-color:#a9dcbc;color:#12663a}
.ks-link,.ks-official a{color:var(--ks-accent);font-weight:700}
.ks-official{line-height:2.2}

/* آموزش‌ها */
.ks-tut{padding:0 0 18px;overflow:hidden}
.ks-tut>*:not(.ks-tut-thumb){margin-inline:18px}
.ks-tut-thumb{display:block;position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ks-primary),#12497d)}
.ks-tut-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ks-play{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:1.2rem}
.ks-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-block:12px}
.ks-chip{background:var(--ks-soft);border-radius:999px;padding:.4em 1em;text-decoration:none;color:var(--ks-primary);font-size:.9rem}
.ks-video{aspect-ratio:16/9;max-width:900px;margin:0 auto 24px;background:#000;border-radius:var(--ks-radius);overflow:hidden;position:relative}
.ks-video iframe,.ks-video video{width:100%;height:100%;border:0;display:block}
.ks-video-facade{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;height:100%;position:relative;background:#1d3b53 center/cover no-repeat}

/* تماس و فرم */
.ks-contact{max-width:760px;margin-inline:auto}
.ks-contact-list{list-style:none;padding:0;line-height:2.2}
.ks-social{display:flex;gap:14px;list-style:none;padding:0;flex-wrap:wrap}
.ks-form{max-width:640px;margin-inline:auto}
.ks-form label{display:block;font-weight:700;margin-bottom:4px}
.ks-form input[type=text],.ks-form input[type=email],.ks-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--ks-border);border-radius:10px;padding:.7em 1em;font:inherit}
.ks-hp{position:absolute!important;inset-inline-start:-9999px;height:0;overflow:hidden}
.ks-selected{background:#e3f5ea;border:1px solid #a9dcbc;border-radius:12px;padding:12px 16px;margin-bottom:16px}

/* اسلایدشو */
.ks-slider{position:relative;overflow:hidden;background:var(--ks-primary);color:#fff;width:100%}
.ks-slides{position:relative;min-height:clamp(340px,52vw,560px)}
.ks-slide{display:flex;align-items:center;background:linear-gradient(120deg,var(--ks-primary),#12497d);opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.ks-slide.is-active{opacity:1;visibility:visible;z-index:1}
.ks-slides{display:grid}
.ks-slides>.ks-slide{grid-area:1/1;position:relative;inset:auto;min-height:clamp(340px,52vw,560px)}
.ks-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ks-slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,42,74,.88),rgba(11,42,74,.45))}
.ks-slide-body{position:relative;z-index:2;padding-block:40px;padding-inline:56px}
.ks-slide-title{margin:0 0 .5em;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1.5;max-width:760px;color:#fff}
.ks-slide-text{margin:0 0 1.4em;font-size:clamp(1rem,1.6vw,1.2rem);max-width:640px;line-height:2;opacity:.95}
.ks-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ks-primary);font-size:1.6rem;cursor:pointer;line-height:1}
.ks-prev{inset-inline-start:10px}.ks-next{inset-inline-end:10px}
.ks-dots{position:absolute;inset-inline:0;bottom:14px;z-index:3;display:flex;gap:8px;justify-content:center}
.ks-dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0}
.ks-dots button[aria-selected=true]{background:#fff}
@media(max-width:767px){.ks-hide-mobile{display:none!important}.ks-slide-body{padding-inline:20px}.ks-nav{display:none}}
@media(min-width:768px){.ks-hide-desktop{display:none!important}}
@media(prefers-reduced-motion:reduce){.ks-slide{transition:none}}

/* اسلایدشو همیشه تمام‌عرض صفحه (حتی داخل کانتینر Astra یا Elementor) */
.ks-sec-slider,.ks-sec-slider>.e-con-inner,.ks-sec-slider .ks-inner{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;--content-width:100%;--container-max-width:100%}
.ks-slider{width:100vw;max-width:100vw;position:relative;margin-inline:calc(50% - 50vw);box-sizing:border-box}
html,body{overflow-x:clip}
@media(max-width:767px){.ks-slides>.ks-slide,.ks-slides{min-height:clamp(380px,110vw,520px)}.ks-slide-title{font-size:1.45rem}.ks-slide-body{padding-block:56px 48px}}
img{height:auto}
.ks-grid>*{min-width:0}
.ks-dl dd{overflow-wrap:anywhere}

/* ---------- ویجت‌های Elementor: تعداد ستون را خود Elementor کنترل می‌کند ---------- */
.ks-grid--custom{grid-template-columns:repeat(var(--ks-cols,3),minmax(0,1fr))!important}
@media(max-width:1024px){.ks-grid--custom{--ks-cols:2}}
@media(max-width:767px){.ks-grid--custom{--ks-cols:1}}
.ks-btn-sm{padding:.3em 1.1em;font-size:.88rem}
.ks-part{width:100%}

/* ---------- هدر و فوتر (قالب‌های Elementor) ---------- */
.ks-site-header{position:relative;z-index:999;width:100%}
body.ks-sticky-header .ks-site-header{position:sticky;top:0}
body.ks-sticky-header.admin-bar .ks-site-header{top:32px}
@media(max-width:782px){body.ks-sticky-header.admin-bar .ks-site-header{top:46px}}
.ks-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;width:min(1200px,100% - 32px);margin-inline:auto;box-sizing:border-box}
.ks-hd-top{background:var(--ks-primary);color:#fff;font-size:.88rem}
.ks-hd-top .ks-row{min-height:38px}
.ks-hd-top p{margin:0}
.ks-hd-top a:not(.ks-btn){color:#fff}
.ks-hd-main{background:#fff;box-shadow:0 2px 14px rgba(11,42,74,.08);position:relative}
.ks-hd-main .ks-row{min-height:72px}
.ks-logo a{display:inline-flex;align-items:center;font-weight:800;font-size:1.35rem;color:var(--ks-primary);text-decoration:none}
.ks-logo img{max-height:52px;width:auto;display:block}
.ks-menu{position:static}
.ks-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.ks-menu a{display:block;text-decoration:none;color:var(--ks-primary);font-weight:600;padding:.45em 0}
.ks-menu a:hover,.ks-menu .current-menu-item>a{color:var(--ks-accent)}
.ks-menu .sub-menu{list-style:none;margin:0;padding-inline-start:1em}
.ks-menu--vertical .ks-menu-list{flex-direction:column;align-items:flex-start;gap:4px}
.ks-menu-toggle{display:none;background:transparent;border:0;padding:10px;cursor:pointer;flex-direction:column;gap:5px;border-radius:8px}
.ks-menu-toggle span{display:block;width:26px;height:3px;background:var(--ks-primary);border-radius:2px}
@media(max-width:1024px){
  .ks-menu--bp1024 .ks-menu-toggle{display:inline-flex}
  .ks-menu--bp1024 .ks-menu-panel{display:none;position:absolute;inset-inline-end:16px;top:100%;z-index:50;width:max-content;min-width:240px;max-width:calc(100vw - 32px);background:var(--ks-panel-bg,#fff);padding:10px 20px;border-radius:0 0 14px 14px;box-shadow:0 12px 28px rgba(11,42,74,.18)}
  .ks-menu--bp1024.is-open .ks-menu-panel{display:block}
  .ks-menu--bp1024 .ks-menu-list{flex-direction:column;align-items:stretch;gap:0}
}
@media(max-width:767px){
  .ks-menu--bp767 .ks-menu-toggle{display:inline-flex}
  .ks-menu--bp767 .ks-menu-panel{display:none;position:absolute;inset-inline-end:16px;top:100%;z-index:50;width:max-content;min-width:240px;max-width:calc(100vw - 32px);background:var(--ks-panel-bg,#fff);padding:10px 20px;border-radius:0 0 14px 14px;box-shadow:0 12px 28px rgba(11,42,74,.18)}
  .ks-menu--bp767.is-open .ks-menu-panel{display:block}
  .ks-menu--bp767 .ks-menu-list{flex-direction:column;align-items:stretch;gap:0}
}
@media(max-width:544px){.ks-hd-info{display:none}.ks-hd-top .ks-row{justify-content:center}}

.ks-ft{background:var(--ks-primary);color:#d6e0ea;padding-block:48px 28px}
.ks-ft-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px;width:min(1200px,100% - 32px);margin-inline:auto;box-sizing:border-box}
:where(.ks-ft-col){box-sizing:border-box}
.ks-ft a:not(.ks-btn),.ks-ft .ks-menu a,.ks-ft .ks-logo a{color:#fff}
.ks-ft-title,.ks-ft-title .elementor-heading-title{color:#fff;font-size:1.05rem;margin:0 0 .6em}
.ks-ft-text,.ks-ft-text p{color:#d6e0ea;line-height:2;font-size:.92rem;margin:0 0 .6em}
.ks-ft-legal{background:var(--ks-primary);border-top:1px solid rgba(255,255,255,.15);padding-block:16px 24px}
.ks-ft-legal-row{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;width:min(1200px,100% - 32px);margin-inline:auto;box-sizing:border-box}
.ks-ft-legal .ks-ft-text,.ks-ft-legal .ks-ft-text p,.ks-ft-copy,.ks-ft-copy p{color:#b9c8d6;font-size:.84rem;margin:0}
.ks-ft .ks-official{padding:0;list-style:none}
.ks-ft .ks-contact-list{padding:0}
.ks-template-canvas{background:#f2f5f8;margin:0}

/* ---------- هماهنگی رنگ‌های سراسری Elementor با رنگ‌های سایت (بدون اینکه انتخاب دستی کاربر را باطل کند) ---------- */
body[class*="elementor-kit-"]{--e-global-color-primary:var(--ks-primary);--e-global-color-secondary:var(--ks-primary);--e-global-color-text:var(--ks-text);--e-global-color-accent:var(--ks-accent)}
body .ks-sec-title .elementor-heading-title,body .ks-sec-title h2{color:var(--ks-primary)}
body .ks-sec-dark .ks-sec-title .elementor-heading-title,body .ks-sec-dark .ks-sec-lead,body .ks-sec-dark .ks-sec-lead p{color:#fff}
body .ks-el-btn .elementor-button{background:var(--ks-accent);color:#fff;text-decoration:none!important;border-radius:999px}
body .ks-ft-title .elementor-heading-title,body .ks-ft-title h2{color:#fff!important}
body .ks-ft-text,body .ks-ft-text p,body .ks-ft .elementor-widget-text-editor{color:#d6e0ea}
body .ks-ft-legal .ks-ft-text,body .ks-ft-legal .ks-ft-text p,body .ks-ft-copy,body .ks-ft-copy p{color:#b9c8d6}
body .ks-hd-top p,body .ks-hd-top .elementor-widget-text-editor{color:#fff}
body .ks-ft .ks-logo a{color:#fff}
:where(.ks-ft-col){flex:1 1 200px;min-width:min(200px,100%)}
:where(.ks-ft-col:first-child){flex-grow:1.6}

/* ---------- تثبیت چیدمان هدر/فوتر در برابر CSS خود Elementor (کانتینرها عرض/حاشیه خودشان را اعمال می‌کنند) ---------- */
body .ks-site-header .ks-hd-top,body .ks-site-header .ks-hd-main,body .ks-site-footer .ks-ft,body .ks-site-footer .ks-ft-legal{width:100%!important;max-width:none!important;margin-inline:0!important;box-sizing:border-box}
body .ks-site-header .ks-row,body .ks-site-footer .ks-ft-grid,body .ks-site-footer .ks-ft-legal-row{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;width:min(1200px,100% - 32px)!important;max-width:1200px!important;margin-inline:auto!important;padding-inline:0!important;box-sizing:border-box}
body .ks-site-header .ks-row{align-items:center!important;justify-content:space-between!important}
body .ks-site-header .ks-row>.elementor-widget,body .ks-site-header .ks-row>.e-con{width:auto!important;max-width:100%;flex:0 1 auto;margin:0}
body .ks-site-header .ks-hd-main .ks-menu{min-width:0}
body .ks-site-footer .ks-ft-grid{align-items:flex-start!important}
