/*
Theme Name:   Sabtenam Lottery Child (ثبت‌نام لاتاری)
Theme URI:    https://example.com/
Description:  Child Theme مستقل برای قالب Astra؛ ظاهر فارسی و راست‌چین سایت خدمات ثبت‌نام لاتاری. فایل‌های اصلی Astra تغییر نمی‌کند. داده‌ها و شورت‌کدها در افزونه «Kart Sabz Core» هستند تا با تعویض قالب از بین نروند.
Author:       Sabtenam Lottery
Template:     astra
Version:      1.4.1
Requires at least: 6.3
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  kart-sabz-child
Tags:         rtl-language-support, custom-colors, custom-logo, custom-menu, accessibility-ready
*/

/* ---------- فونت فارسی (Vazirmatn، مجوز OFL؛ فایل داخل همین قالب است، بدون درخواست به سرور خارجی) ---------- */
@font-face{
  font-family:"Vazirmatn";
  src:url("assets/fonts/Vazirmatn-Variable.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --ks-primary:#15284b;
  --ks-accent:#1b7a6b;
  --ks-soft:#f2f7f6;
  --ks-text:#22334d;
  --ks-font:"Vazirmatn",Tahoma,"Segoe UI",system-ui,sans-serif;
}

/* اتصال رنگ‌های Astra به رنگ‌های تنظیمات سایت (از «تنظیمات ثبت‌نام لاتاری»). */
body{
  --ast-global-color-0:var(--ks-accent);
  --ast-global-color-1:var(--ks-primary);
  --ast-global-color-2:var(--ks-primary);
  --ast-global-color-3:var(--ks-text);
}

html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body,button,input,select,textarea,
.main-header-menu a,.ast-builder-menu a,h1,h2,h3,h4,h5,h6,.entry-title{
  font-family:var(--ks-font)!important;
}
body{color:var(--ks-text);line-height:1.9;direction:rtl;text-align:right;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--ks-primary);line-height:1.6;font-weight:800}
a{color:var(--ks-accent-dark,#166256)}
.entry-content a:not(.ks-btn):not(.elementor-button){text-underline-offset:3px}
/* صفحه‌های محتوایی Astra: زمینه آرام و کادر سفید ملایم */
.ast-separate-container{background:var(--ks-soft)}
.ast-separate-container .ast-article-single,.ast-separate-container .ast-article-post{border-radius:16px;box-shadow:0 1px 2px rgba(21,40,75,.05),0 10px 28px -16px rgba(21,40,75,.16)}
.entry-title{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}
:focus-visible{outline:3px solid var(--ks-accent-dark,#166256);outline-offset:2px}
.ks-sec-dark :focus-visible,.ks-slider :focus-visible,.ks-ft :focus-visible,.ks-footer :focus-visible,.ks-topbar :focus-visible{outline-color:#fff}

/* ---------- نوار بالای هدر (پیش‌فرض خاموش؛ از تنظیمات قابل‌روشن‌شدن است) ---------- */
.ks-topbar{background:var(--ks-primary);color:#fff;font-size:.88rem}
.ks-topbar__in{width:min(1200px,100% - 32px);margin-inline:auto;display:flex;gap:16px;justify-content:space-between;align-items:center;min-height:38px;flex-wrap:wrap}
.ks-topbar a{color:#fff;text-decoration:none}
.ks-topbar a:hover{text-decoration:underline}
.ks-topbar__login{background:var(--ks-accent);padding:.2em 1em;border-radius:999px;font-weight:700}
@media(max-width:544px){.ks-topbar__hours{display:none}}

/* ---------- هدر ثابت (بدون پرش صفحه؛ از position:sticky استفاده می‌شود) ---------- */
body.ks-sticky-header #masthead{position:sticky;top:0;z-index:999;border-bottom:1px solid #e1e7f0;box-shadow:0 6px 20px -16px rgba(21,40,75,.35)}
#masthead .main-header-menu a{font-weight:600;font-size:.93rem}
body.ks-sticky-header.admin-bar #masthead{top:32px}
@media(max-width:782px){body.ks-sticky-header.admin-bar #masthead{top:46px}}

/* ---------- فوتر ---------- */
footer.site-footer{display:none}
.ks-footer{background:var(--ks-deep,#0f1e3a);color:#c3d0da;margin-top:0}
.ks-footer a{color:#fff;text-decoration:none}
.ks-footer a:hover{text-decoration:underline}
.ks-footer__grid{width:min(1200px,100% - 32px);margin-inline:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-block:44px 24px}
.ks-footer h2{color:#fff;font-size:1.05rem;margin:0 0 .8em}
.ks-footer ul{list-style:none;margin:0;padding:0;line-height:2.3}
.ks-footer__brand{font-size:1.3rem;font-weight:800;color:#fff}
.ks-footer__brand img{max-height:48px;width:auto}
.ks-footer__about,.ks-footer__contact{font-size:.92rem;line-height:2}
.ks-footer__legal{border-top:1px solid rgba(255,255,255,.15);padding-block:18px 26px}
.ks-footer__legal p{width:min(1200px,100% - 32px);margin:0 auto;font-size:.85rem;line-height:2;color:#b9c8d6}
.ks-footer__copy{text-align:center}
@media(max-width:900px){.ks-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ks-footer__grid{grid-template-columns:1fr}}

/* ---------- صفحه‌ها و Elementor ---------- */
.ks-sec .elementor-widget-container{max-width:100%}
.elementor-page.ks-fullwidth .site-content>.ast-container{max-width:100%;padding:0}
.entry-content .ks-btn{text-decoration:none}
.single-ks_tutorial .entry-content,.page .entry-content>[class^="ks-"]{max-width:100%}

/* ---------- ریسپانسیو کل سایت ---------- */
html,body{max-width:100%}
body{overflow-wrap:break-word}
img,video,iframe,svg{max-width:100%;height:auto}
.entry-content table{display:block;max-width:100%;overflow-x:auto}
.ks-topbar__in{padding-block:4px}
@media(max-width:544px){
  .ks-topbar{font-size:.8rem}
  .ks-topbar__in{justify-content:center;gap:8px}
}
@media(max-width:782px){
  .ks-footer__grid{padding-block:32px 16px;gap:24px}
}
/* صفحه‌های محتوایی (غیر Elementor): فاصله امن از لبه‌ها در موبایل */
.ks-fullbleed-fix{overflow-x:clip}

/* فونت فارسی برای ویجت‌های Elementor (اگر کاربر فونت دیگری انتخاب کند همان اعمال می‌شود) */
body[class*="elementor-kit-"]{
  --e-global-typography-primary-font-family:"Vazirmatn";
  --e-global-typography-secondary-font-family:"Vazirmatn";
  --e-global-typography-text-font-family:"Vazirmatn";
  --e-global-typography-accent-font-family:"Vazirmatn";
}
.elementor-widget-container,.elementor-heading-title,.elementor-button{font-family:var(--ks-font)}

/* خوانایی صفحه‌های متنی (غیر Elementor): عرض مناسب خط */
.page:not(.elementor-page) .entry-content,.single-post .entry-content{max-width:860px;margin-inline:auto}
.page:not(.elementor-page) .entry-content h2{margin-top:1.6em;font-size:1.35rem}
