/*
Theme Name: خواب‌نامه (Khabnameh)
Theme URI: https://khabnameh.example
Author: Khabnameh Team
Description: قالب «خواب‌نامه» — تعبیر خواب سه‌لایه با هوش مصنوعی. این قالب برای کار کردن به افزونه‌ی «خواب‌نامه — هسته» (khabnameh-core) نیاز دارد.
Version: 1.1.9
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: khabnameh
Tags: rtl-language-support, custom-colors
*/

/* ================================================================
   css/design-system.css — توکن‌ها و پایه
================================================================ */
:root{
  --bg:#f6f3ec; --bg-soft:#efeadd; --surface:#fdfcf8; --surface-2:#f4f0e5;
  --text:#27241d; --text-2:#5c584c; --muted:#8b8577;
  --border:#e4decd; --border-strong:#d3cbb4;
  --accent:#8a5a14; --accent-strong:#754a0c; --accent-soft:rgba(138,90,20,.11);
  --btn-bg:#8a5a14; --btn-fg:#fdfcf8; --btn-hover:#754a0c;
  --gold:#b98733;
  --ok:#3d6b45; --err:#a8443a; --warn:#8f6a00;
  --overlay:rgba(39,36,29,.45);
  --sh-sm:0 1px 2px rgba(39,36,29,.05);
  --sh-md:0 4px 16px rgba(39,36,29,.08);
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-full:999px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px; --s14:56px;
  --fs-cap:12.5px; --fs-sm:14px; --fs-body:16px; --fs-h3:19px; --fs-h2:24px; --fs-h1:30px; --fs-disp:36px;
  --lh-ui:1.7; --lh-read:1.95;
  --ease:.22s cubic-bezier(.4,0,.2,1);
}
html[data-theme="dark"]{
  --bg:#161619; --bg-soft:#1d1d21; --surface:#1e1e23; --surface-2:#26262c;
  --text:#e9e6dd; --text-2:#b6b2a7; --muted:#8f8b81;
  --border:#2c2c33; --border-strong:#3d3d46;
  --accent:#d4a24e; --accent-strong:#e2b569; --accent-soft:rgba(212,162,78,.14);
  --btn-bg:#d4a24e; --btn-fg:#17161a; --btn-hover:#e2b569;
  --gold:#d4a24e;
  --ok:#7fb37f; --err:#d47c72; --warn:#d4a24e;
  --overlay:rgba(0,0,0,.6);
  --sh-sm:none; --sh-md:none;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:"Vazirmatn",Tahoma,sans-serif;
  background:var(--bg); color:var(--text);
  font-size:var(--fs-body); line-height:var(--lh-ui);
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word; /* واژگان بسیار بلند هرگز صفحه را افقی نمی‌کشند */
}
img{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none;transition:color var(--ease)}
a:hover{color:var(--accent-strong)}
h1,h2,h3,h4{font-weight:700;line-height:1.45}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
::placeholder{color:var(--muted)}
.container{max-width:1120px;margin-inline:auto;padding-inline:var(--s5)}
#main:focus{outline:none}
.skip{position:absolute;top:-48px;inset-inline-start:var(--s4);z-index:200;background:var(--accent);color:var(--btn-fg);padding:var(--s2) var(--s4);border-radius:var(--r-sm);transition:top var(--ease)}
.skip:focus{top:var(--s2)}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-sm{width:15px;height:15px}
.ic-lg{width:22px;height:22px}
::-webkit-scrollbar{width:10px;height:8px}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:2px solid var(--bg)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ================================================================
   css/components.css
================================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:42px;padding:0 var(--s5);border-radius:var(--r-md);font-weight:600;font-size:var(--fs-sm);transition:background var(--ease),border-color var(--ease),transform .1s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--btn-bg);color:var(--btn-fg)}
.btn-primary:hover{background:var(--btn-hover);color:var(--btn-fg)}
.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-secondary{background:var(--surface);border:1px solid var(--border-strong);color:var(--text)}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}
.btn-ghost{color:var(--text-2)}
.btn-ghost:hover{background:var(--bg-soft);color:var(--text)}
.btn-danger{background:transparent;border:1px solid var(--err);color:var(--err)}
.btn-danger:hover{background:var(--err);color:#fff}
.btn-sm{height:34px;padding:0 var(--s4);font-size:13px}
.btn-lg{height:48px;padding:0 var(--s6);font-size:15px}
.btn-block{width:100%}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-md);color:var(--text-2);transition:background var(--ease),color var(--ease)}
.icon-btn:hover{background:var(--bg-soft);color:var(--text)}
.input,.textarea{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:10px 14px;font-size:var(--fs-sm);transition:border-color var(--ease),box-shadow var(--ease)}
.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.textarea{resize:vertical;min-height:90px;line-height:1.8}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:var(--fs-sm);font-weight:600}
.field .hint{font-size:var(--fs-cap);color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--r-full);font-size:13px;color:var(--text-2);background:var(--surface);transition:all var(--ease)}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:600}
.chip small{font-weight:500;font-size:11px;color:var(--muted)}
.chip.sub{height:26px;padding:0 10px;font-size:12px;color:var(--muted);cursor:default}
span.chip.sub:hover{color:var(--muted);border-color:var(--border-strong)}
.badge{display:inline-flex;align-items:center;gap:4px;background:var(--bg-soft);color:var(--text-2);font-size:var(--fs-cap);padding:2px 9px;border-radius:6px;font-weight:500}
.badge-accent{background:var(--accent-soft);color:var(--accent-strong)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.dream-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--ease);box-shadow:var(--sh-sm)}
.dream-card:hover{border-color:var(--border-strong)}
.dream-card figure{aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft);min-width:0}
.dream-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.dream-card:hover figure img{transform:scale(1.03)}
.dream-card .dc-body{padding:var(--s4) var(--s5) var(--s3);display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.dream-card .dc-cat{font-size:var(--fs-cap);color:var(--accent);font-weight:600}
.dream-card h3{font-size:17px;line-height:1.6}
.dream-card:hover h3 a{color:var(--accent)}
.dream-card .dc-ex{font-size:var(--fs-sm);color:var(--text-2);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dream-card .dc-meta,.row-meta{display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-cap);color:var(--muted);margin-top:auto}
.row-meta span{display:inline-flex;align-items:center;gap:4px}
/* کارت مشابه فشرده — تصویر کوچک کنار متن، برای Discovery بدون اشغال صفحه */
.sim-card{display:flex;gap:var(--s4);align-items:flex-start;padding:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);box-shadow:var(--sh-sm);transition:border-color var(--ease)}
.sim-card:hover{border-color:var(--accent)}
.sim-card:active{transform:translateY(1px)}
.sim-thumb{width:96px;aspect-ratio:4/3;flex:none;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-soft)}
.sim-thumb img{width:100%;height:100%;object-fit:cover}
.sim-noimg{width:96px;aspect-ratio:4/3;flex:none;border-radius:var(--r-sm);background:var(--bg-soft);color:var(--muted);display:flex;align-items:center;justify-content:center}
.sim-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.sim-why{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-cap);color:var(--accent);font-weight:600}
.sim-t{font-size:15px;font-weight:600;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sim-card:hover .sim-t{color:var(--accent)}
.sim-ex{font-size:13px;color:var(--text-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}
.sim-meta{font-size:11.5px;color:var(--muted);margin-top:4px}
.cat-card{display:flex;align-items:center;gap:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4) var(--s5);transition:border-color var(--ease);box-shadow:var(--sh-sm)}
.cat-card:hover{border-color:var(--accent)}
.cat-ico{width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
.cat-card h3{font-size:15.5px}
.cat-card .cat-desc{font-size:var(--fs-cap);color:var(--muted);margin-top:2px}
.cat-card .cat-count{font-size:var(--fs-cap);color:var(--accent);font-weight:600;white-space:nowrap;margin-inline-start:auto}
.tabs{margin-block:var(--s4)}
.tablist{display:flex;gap:var(--s5);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.tablist::-webkit-scrollbar{display:none}
.tablist [role=tab]{padding:10px 2px;font-size:var(--fs-sm);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--ease),border-color var(--ease);white-space:nowrap}
.tablist [role=tab]:hover{color:var(--text)}
.tablist [role=tab].on{color:var(--accent);border-color:var(--accent);font-weight:600}
[role=tabpanel]{padding-block:var(--s5)}
[role=tabpanel] h3{font-size:16.5px;margin-top:var(--s5);display:flex;align-items:center;gap:8px}
[role=tabpanel] h3 .ic{color:var(--accent)}
[role=tabpanel] h3:first-child{margin-top:0}
[role=tabpanel] p{font-size:15.5px;color:var(--text-2);line-height:1.9;margin-top:10px}
.src-note{font-size:var(--fs-cap);color:var(--muted);margin-bottom:var(--s2)}
.acc{border-bottom:1px solid var(--border)}
.acc:first-child{border-top:1px solid var(--border)}
.acc-h{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) 2px;text-align:start;font-size:15px;font-weight:600;color:var(--text)}
.acc-h .ic{transition:transform var(--ease);color:var(--muted)}
.acc.open .acc-h .ic{transform:rotate(180deg)}
.acc-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.acc.open .acc-b{grid-template-rows:1fr}
.acc-b>div{overflow:hidden}
.acc-b p{padding:0 2px var(--s4);font-size:var(--fs-sm);color:var(--text-2);line-height:1.85}
.dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;min-width:190px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:6px;box-shadow:var(--sh-md);z-index:60}
.dd-item{display:flex;width:100%;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-2);text-align:start}
.dd-item:hover{background:var(--bg-soft);color:var(--text)}
.modal-root{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:var(--s5)}
.modal-root[hidden]{display:none}
.modal-back{position:absolute;inset:0;background:var(--overlay)}
.modal-box{position:relative;width:100%;max-width:460px;max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--sh-md);animation:mIn .22s ease}
@keyframes mIn{from{opacity:0;transform:translateY(10px) scale(.98)}}
.modal-box h3{font-size:18px;margin-bottom:var(--s2)}
.modal-x{position:absolute;top:var(--s4);inset-inline-end:var(--s4)}
.toasts{position:fixed;bottom:var(--s6);inset-inline:0;display:flex;flex-direction:column;align-items:center;gap:var(--s2);z-index:140;pointer-events:none}
.toast{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-full);padding:10px 18px;font-size:var(--fs-sm);box-shadow:var(--sh-md);animation:tIn .25s ease}
.toast .ic{color:var(--ok)}
.toast.err .ic{color:var(--err)}
.toast.out{animation:tOut .25s ease forwards}
@keyframes tIn{from{opacity:0;transform:translateY(12px)}}
@keyframes tOut{to{opacity:0;transform:translateY(8px)}}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-strong);font-weight:700;font-size:14px;border:1px solid transparent;flex:none}
.avatar:hover{border-color:var(--accent)}
.avatar--anon{background:var(--bg-soft);color:var(--muted)}
.avatar-sm{width:24px;height:24px}
.avatar-xl{width:64px;height:64px;font-size:24px}
.breadcrumb{font-size:var(--fs-cap);color:var(--muted)}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.breadcrumb li{display:inline-flex;align-items:center;gap:8px}
.breadcrumb li+li::before{content:"/";opacity:.5}
.breadcrumb a{color:var(--text-2)}
.breadcrumb [aria-current]{color:var(--muted)}
.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:var(--s8)}
.page-btn{min-width:36px;height:36px;padding:0 8px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;transition:background var(--ease)}
.page-btn:hover{background:var(--bg-soft)}
.page-btn[aria-current]{background:var(--accent);color:var(--btn-fg);font-weight:700}
.page-btn:disabled{opacity:.35;cursor:not-allowed}
.sk{background:var(--surface-2);border-radius:var(--r-sm);animation:skP 1.3s ease infinite}
@keyframes skP{50%{opacity:.45}}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s3);padding:var(--s14) var(--s5)}
.empty-ico{width:60px;height:60px;border-radius:var(--r-full);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.empty h3{font-size:17px}
.empty p{font-size:var(--fs-sm);color:var(--text-2);max-width:340px}
.errbox{border:1px solid var(--err);border-radius:var(--r-lg);padding:var(--s6);display:flex;flex-direction:column;align-items:center;gap:var(--s3);text-align:center}
.errbox .ic{width:34px;height:34px;color:var(--err)}
.cmt{display:flex;gap:var(--s3);padding-block:var(--s4)}
.cmt + .cmt{border-top:1px solid var(--border)}
.cmt.reply{margin-inline-start:48px;border-top:1px dashed var(--border)}
.cmt-b{flex:1;min-width:0}
.cmt-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cmt-head b{font-size:var(--fs-sm)}
.cmt-head time{font-size:var(--fs-cap);color:var(--muted)}
.cmt-text{font-size:var(--fs-sm);color:var(--text-2);line-height:1.8;margin-top:2px}
.cmt-actions{display:flex;gap:var(--s4);margin-top:6px}
.cmt-actions button{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-cap);color:var(--muted);border-radius:6px;padding:3px 6px;transition:color var(--ease)}
.cmt-actions button:hover{color:var(--accent)}
.cmt-actions .liked{color:var(--err)}
.cmt-actions .liked .ic{fill:currentColor}
.cmt-reply-form{margin-top:10px}
.cmt-name-edit{display:inline-block;width:150px;height:32px;padding:2px 10px}
.like-btn{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--text-2);padding:7px 15px;border:1px solid var(--border-strong);border-radius:var(--r-full);transition:all var(--ease);font-weight:600}
.like-btn:hover{border-color:var(--err);color:var(--err)}
.like-btn.liked{background:rgba(168,68,58,.09);border-color:var(--err);color:var(--err)}
.like-btn.liked .ic{fill:var(--err);stroke:var(--err)}
.like-btn.pop .ic{animation:pop .35s ease}
@keyframes pop{40%{transform:scale(1.35)}}
.cmt-btn{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--text-2);padding:7px 13px;border:1px solid var(--border-strong);border-radius:var(--r-full);transition:all var(--ease)}
.cmt-btn:hover{border-color:var(--accent);color:var(--accent)}
.bk-btn.marked{color:var(--accent)}
.bk-btn.marked .ic{fill:currentColor}
.sbox{position:relative;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);height:38px;padding:0 12px;transition:border-color var(--ease),box-shadow var(--ease)}
.sbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.sbox input{border:none;background:none;outline:none;width:100%;font-size:var(--fs-sm);min-width:0}
.sbox .ic{color:var(--muted)}
/* دراپ‌داون دقیقاً به عرض خودِ جعبه‌ی جست‌وجو — بدون min-width که در RTL از لبه‌ی
   viewport بیرون بزند و اسکرول افقی بسازد */
.sr-drop{position:absolute;top:calc(100% + 8px);inset-inline:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--sh-md);padding:6px;z-index:80;max-height:340px;overflow:auto}
.sr-sec{font-size:11.5px;color:var(--muted);padding:8px 12px 4px;font-weight:600}
.sr-item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:start;padding:8px 12px;border-radius:var(--r-sm);color:var(--text)}
.sr-item:hover,.sr-item.on{background:var(--bg-soft)}
.sr-item small{color:var(--muted);font-size:var(--fs-cap)}
.pub-preview{border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--s4);margin-bottom:var(--s4)}
.pub-preview-t{display:block;font-size:var(--fs-cap);color:var(--muted);font-weight:600;margin-bottom:var(--s2)}
.pp-card{background:var(--bg-soft);border-radius:var(--r-sm);padding:var(--s4)}
.pp-card b{font-size:15px;line-height:1.6}
.pp-card p{font-size:13px;color:var(--text-2);line-height:1.8;margin-top:6px}
.pp-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);margin-top:10px}

/* ================================================================
   css/pages.css — چیدمان صفحه‌ها
   قاعده‌ی همه‌ی Gridها: minmax(0,…fr) تا حداقلِ Track صفر بماند و
   محتوای ذاتی (مثل تب‌های nowrap) ستون را از viewport عریض‌تر نکند.
================================================================ */
.hdr{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .hdr{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
}
.hdr-in{display:flex;align-items:center;gap:var(--s5);height:62px}
.logo{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:800;color:var(--text)}
.logo svg{width:26px;height:26px;flex:none}
.hdr-nav{display:flex;gap:var(--s2)}
.hdr-nav a{color:var(--text-2);font-size:var(--fs-sm);padding:7px 12px;border-radius:var(--r-sm);transition:all var(--ease);white-space:nowrap}
.hdr-nav a:hover,.hdr-nav a.on{color:var(--accent);background:var(--accent-soft)}
.hdr-nav a.min{color:var(--muted);font-weight:400}
.hdr-nav a.min:hover{color:var(--text-2);background:var(--bg-soft)}
.hdr-search{flex:1;max-width:300px;margin-inline-start:auto;min-width:0}
.hdr-search .sbox{width:210px;transition:width var(--ease)}
.hdr-search .sbox:focus-within{width:300px}
.hdr-actions{display:flex;align-items:center;gap:var(--s2);flex:none}
.only-mobile{display:none}
.bnav{display:none;position:fixed;bottom:0;inset-inline:0;z-index:100;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}
.bnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 7px;font-size:11px;color:var(--muted)}
.bnav a.on{color:var(--accent)}
.bnav .bnav-cta .ic{background:var(--accent);color:var(--btn-fg);border-radius:var(--r-full);width:34px;height:34px;padding:7px}
.ftr{border-top:1px solid var(--border);margin-top:var(--s14);padding-block:var(--s10) var(--s6);font-size:var(--fs-sm)}
.ftr-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:var(--s10)}
.ftr h4{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:var(--s3)}
.ftr ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ftr ul a{color:var(--text-2)}
.ftr ul a:hover{color:var(--accent)}
.ftr-about{color:var(--text-2);line-height:1.85;max-width:280px;margin-top:var(--s2)}
.ftr-note{margin-top:var(--s8);padding-top:var(--s4);border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-cap);display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
/* --- Home --- */
.hero-home{padding-block:var(--s10) var(--s8)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s10);align-items:start}
.hero-home h1{font-size:var(--fs-disp);font-weight:800}
.hero-sub{color:var(--text-2);margin-top:var(--s2);font-size:15px}
.composer{margin-top:var(--s5);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);transition:border-color var(--ease),box-shadow var(--ease);box-shadow:var(--sh-sm);max-width:640px}
.composer.focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.composer textarea{width:100%;border:none;outline:none;background:none;resize:none;padding:var(--s5) var(--s5) var(--s3);font-size:var(--fs-body);line-height:2;min-height:132px}
.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s4) var(--s4);flex-wrap:wrap}
.cmp-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--muted);height:38px;padding:0 12px;border-radius:var(--r-md);transition:color var(--ease),background var(--ease)}
.cmp-more:hover{color:var(--accent);background:var(--bg-soft)}
.composer-extra{padding:0 var(--s5) var(--s4);border-top:1px dashed var(--border)}
.composer-opts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:var(--s3)}
.cmp-thumbs{display:flex;gap:8px}
.cmp-thumb{position:relative;width:54px;height:54px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--border-strong);flex:none}
.cmp-thumb img{width:100%;height:100%;object-fit:cover}
.cmp-thumb button{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;background:var(--overlay);color:#fff;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center}
.mood-hint{font-size:var(--fs-cap);color:var(--muted);margin-top:var(--s2)}
.interp-load{margin-top:var(--s6);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:var(--s6);max-width:640px}
.steps{list-style:none;display:flex;flex-direction:column;gap:var(--s4)}
.steps li{display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);color:var(--muted);transition:color var(--ease)}
.steps li .st-ico{width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center}
.steps li.active{color:var(--text);font-weight:600}
.steps li.done{color:var(--text-2)}
.steps li.done .st-ico{color:var(--ok)}
.spin{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:rot .7s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.load-bar{height:3px;background:var(--bg-soft);border-radius:99px;margin-top:var(--s5);overflow:hidden}
.load-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .8s ease}
.rail{position:sticky;top:82px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.rail-h{display:flex;align-items:center;justify-content:space-between;padding:var(--s4) var(--s5);border-bottom:1px solid var(--border)}
.rail-h h2{font-size:14.5px;display:flex;align-items:center;gap:8px}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:blink 2.2s ease infinite}
@keyframes blink{50%{opacity:.35}}
.rail-h a{font-size:var(--fs-cap);color:var(--muted)}
.rail-h a:hover{color:var(--accent)}
.rail-item{display:block;padding:var(--s3) var(--s5);border-bottom:1px solid var(--border);color:var(--text);transition:background var(--ease)}
.rail-item:last-child{border-bottom:none}
.rail-item:hover{background:var(--bg-soft)}
.rail-item h3{font-size:13.5px;font-weight:600;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rail-item:hover h3{color:var(--accent)}
.rail-item .re{font-size:12px;color:var(--muted);line-height:1.7;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rail-meta{display:flex;gap:var(--s3);font-size:11.5px;color:var(--muted);margin-top:4px}
.rail-meta span{display:inline-flex;gap:3px;align-items:center}
.rail-item.new{animation:dropIn .5s ease}
@keyframes dropIn{from{opacity:0;transform:translateY(-8px)}}
.early-hook{margin-top:var(--s8);position:static}
.early-hook .rail-h{padding:var(--s3) var(--s5)}
.early-hook .rail-h h2{font-size:13.5px;font-weight:700}
.sec{border-top:1px solid var(--border);padding-block:var(--s10)}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s6)}
.sec-head h2{font-size:var(--fs-h2)}
.sec-hint{font-size:var(--fs-sm);color:var(--text-2);margin-bottom:var(--s5)}
.sec-link{font-size:var(--fs-sm);color:var(--text-2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.sec-link:hover{color:var(--accent)}
.pop-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--s10)}
.pop-item{display:flex;flex-direction:column;gap:4px;padding:14px 2px;border-bottom:1px solid var(--border);color:var(--text)}
.pop-item:last-child,.pop-item:nth-last-child(2):nth-child(odd){border-bottom:none}
.pop-item:hover .pop-t{color:var(--accent)}
.pop-t{font-size:15.5px;font-weight:700}
.pop-d{font-size:13px;color:var(--text-2);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pop-meta{font-size:11.5px;color:var(--muted);margin-top:2px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s5)}
.grid-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.how{display:flex;flex-direction:column;max-width:560px}
.how li{display:flex;gap:var(--s5);padding-block:var(--s4);list-style:none}
.how .num{font-size:24px;font-weight:800;color:var(--accent);opacity:.85;line-height:1.2;min-width:32px}
.how h3{font-size:16px}
.how p{font-size:var(--fs-sm);color:var(--text-2);margin-top:3px}
.educ{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s10)}
.educ h2{font-size:var(--fs-h2);margin-bottom:var(--s4)}
.educ p{font-size:var(--fs-sm);color:var(--text-2);line-height:var(--lh-read)}
.educ p+p{margin-top:var(--s3)}
.educ .more{margin-top:var(--s4);display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm)}
.final-cta{text-align:center;padding-block:var(--s10)}
.final-cta h2{font-size:var(--fs-h2)}
.final-cta p{color:var(--text-2);margin-block:var(--s3) var(--s5)}
.page-interp{max-width:640px;margin-inline:auto;padding-block:var(--s10)}
.page-interp .hero-sub{text-align:center;margin-inline:auto}
/* --- صفحات محتوایی ---
   .wide: سقف ۱۱۲۰px (قبلاً max-width:100% سقف container را با Specificity
   خنثی می‌کرد و ستون مقاله را روی مانیتورهای عریض بیش از حد می‌کشید) */
.art-wrap{max-width:720px;margin-inline:auto}
.art-wrap.wide{max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s10);align-items:start}
.article{padding-block:var(--s6) var(--s4);min-width:0}
.article h1{font-size:var(--fs-h1);line-height:1.5;margin-top:var(--s3)}
.article .meta-row{margin-top:var(--s3);display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--fs-cap);flex-wrap:wrap}
.article .meta-row a{color:var(--text-2)}
.article .meta-row a:hover{color:var(--accent)}
.answ{margin-block:var(--s5) var(--s6);border-inline-start:3px solid var(--accent);padding-inline-start:var(--s4)}
.answ-t{display:block;font-size:var(--fs-cap);font-weight:700;color:var(--accent);margin-bottom:6px}
.answ p{font-size:17px;line-height:2;color:var(--text)}
.action-bar{display:flex;align-items:center;gap:var(--s3);margin-block:var(--s5) var(--s6);padding-block:var(--s3);border-block:1px solid var(--border);flex-wrap:wrap}
.action-bar .grow{flex:1}
.dream-quote{background:var(--surface-2);border-inline-start:3px solid var(--border-strong);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--s4) var(--s5);font-size:15px;color:var(--text-2);line-height:1.9}
.art-h2{font-size:20px;margin-top:var(--s10);padding-top:var(--s6);border-top:1px solid var(--border)}
.art-h3{font-size:16px;margin-top:var(--s8)}
.art-body{font-size:16px;line-height:var(--lh-read);color:var(--text)}
.art-body p{margin-top:var(--s4)}
.art-body p:first-child{margin-top:0}
.symbol-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s4)}
.sym-note{font-size:var(--fs-cap);color:var(--muted);margin-top:var(--s2)}
.psych-box{margin-top:var(--s5);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5) var(--s6)}
.psych-box .badge{margin-bottom:var(--s3)}
.psych-box p{font-size:var(--fs-sm);color:var(--text-2);line-height:1.9}
.psych-box p+p{margin-top:var(--s3)}
.disclaimer{display:flex;gap:10px;margin-top:var(--s8);font-size:var(--fs-cap);color:var(--muted);line-height:1.8}
.disclaimer .ic{margin-top:3px}
.hero-img{aspect-ratio:21/9;max-height:340px;border-radius:var(--r-lg);overflow:hidden;margin-block:var(--s5);background:var(--bg-soft)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.sim-list{display:flex;flex-direction:column;gap:8px;margin-top:var(--s4)}
.loop-line{margin-top:var(--s5);font-size:var(--fs-sm);color:var(--muted)}
.next-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);border-top:1px solid var(--border);margin-top:var(--s10);padding-top:var(--s6);flex-wrap:wrap}
.next-cta h3{font-size:17px}
.next-cta p{font-size:var(--fs-sm);color:var(--text-2);margin-top:4px}
.mobile-next{display:none;border-top:1px solid var(--border);margin-top:var(--s8);padding-top:var(--s4)}
.mobile-next h3{font-size:15px;margin-bottom:var(--s2)}
.var-row{padding-block:var(--s3);border-bottom:1px solid var(--border)}
.var-row:last-child{border-bottom:none}
.var-row b{font-size:15px}
.var-row p{font-size:var(--fs-sm);color:var(--text-2);line-height:1.8;margin-top:2px}
.art-side{position:sticky;top:82px;display:flex;flex-direction:column;gap:var(--s5);min-width:0}
.page-head{padding-block:var(--s8) var(--s5)}
.page-head h1{font-size:var(--fs-h1)}
.page-head p{color:var(--text-2);margin-top:var(--s2);font-size:15px}
.filter-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:var(--s3);scrollbar-width:none}
.filter-row::-webkit-scrollbar{display:none}
.search-hero{max-width:560px;margin-inline:auto;text-align:center;padding-block:var(--s10) var(--s6)}
.search-hero h1{font-size:26px}
.search-hero .sbox{height:52px;margin-top:var(--s5)}
.trend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:var(--s5)}
.res-group{margin-top:var(--s8)}
.res-group>h2{font-size:17px;margin-bottom:var(--s3)}
.res-row{display:block;padding:var(--s4) 2px;border-bottom:1px solid var(--border);color:var(--text)}
.res-row:hover{color:var(--accent)}
.res-row b{font-size:15px}
.res-row p{font-size:var(--fs-sm);color:var(--text-2);margin-top:3px;line-height:1.7}
.res-row small{color:var(--muted);font-size:var(--fs-cap)}
.prof-head{display:flex;align-items:center;gap:var(--s5);padding-block:var(--s8)}
.prof-list{list-style:none;display:flex;flex-direction:column}
.prof-item{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) 2px;border-bottom:1px solid var(--border);color:var(--text)}
.prof-item:hover{color:var(--accent)}
.prof-item .ic{color:var(--muted)}
.prof-item .cnt{margin-inline-start:auto;font-size:var(--fs-cap);color:var(--muted)}
.row-item{display:flex;align-items:center;gap:var(--s4);padding-block:var(--s4)}
.row-item + .row-item{border-top:1px solid var(--border)}
.row-item h3{font-size:15px}
.row-item p{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.row-item .row-meta{margin-top:4px;margin-inline-start:0}
.row-item .row-act{margin-inline-start:auto;display:flex;gap:var(--s2);flex:none}
.login-box{max-width:380px;margin:var(--s14) auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s8) var(--s6);box-shadow:var(--sh-sm)}
.login-box h1{font-size:21px;text-align:center}
.login-alt{text-align:center;margin-top:var(--s4);font-size:var(--fs-sm);color:var(--muted)}
.form-err{font-size:var(--fs-cap);color:var(--err);min-height:20px;margin-top:6px}
.doc{max-width:660px;margin-inline:auto;padding-block:var(--s10)}
.doc h1{font-size:26px}
.doc .lead{color:var(--text-2);font-size:15.5px;margin-top:var(--s2);line-height:1.85}
.doc h2{font-size:19px;margin-top:var(--s10)}
.doc p{font-size:15px;line-height:var(--lh-read);color:var(--text-2);margin-top:var(--s4)}
.doc ul{margin-top:var(--s4);padding-inline-start:0;list-style:none;display:flex;flex-direction:column;gap:var(--s3)}
.doc ul li{padding-inline-start:var(--s5);position:relative;font-size:15px;line-height:1.85;color:var(--text-2)}
.doc ul li::before{content:"";position:absolute;inset-inline-start:0;top:13px;width:7px;height:7px;border-radius:2px;background:var(--accent-soft);border:1px solid var(--accent)}
.src-list{list-style:none;margin-top:var(--s4)}
.src-list li{display:flex;gap:var(--s4);padding-block:var(--s4);border-bottom:1px solid var(--border)}
.src-list b{font-size:15px}
.src-list p{font-size:var(--fs-sm);color:var(--muted);margin-top:2px}
.p404{text-align:center;padding-block:var(--s14)}
.p404 .code{font-size:88px;font-weight:800;color:var(--border-strong);line-height:1}
.p404 h1{font-size:22px;margin-top:var(--s3)}
.p404 p{color:var(--text-2);margin-block:var(--s3) var(--s5)}

/* ================================================================
   css/responsive.css
================================================================ */
@media (max-width:1020px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .rail{position:static}
  .grid-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .art-wrap.wide{grid-template-columns:minmax(0,1fr)}
  .art-side{position:static;flex-direction:row;flex-wrap:wrap}
  .art-side .card{flex:1;min-width:240px}
  .ftr-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ftr-about{grid-column:1/-1}
}
@media (max-width:880px){
  .hdr-nav{display:none}
}
@media (max-width:720px){
  body{padding-bottom:74px}
  .hdr-search{display:none}
  .hdr-in{gap:var(--s3)}
  .hdr-actions .btn{display:none}
  .only-mobile{display:inline-flex}
  .bnav{display:flex}
  .toasts{bottom:86px}
  .hero-home h1{font-size:29px}
  .pop-list{grid-template-columns:minmax(0,1fr)}
  .pop-item:nth-last-child(2):nth-child(odd){border-bottom:none}
  .educ{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
  .ftr{margin-top:var(--s10)}
  .ftr-in{grid-template-columns:minmax(0,1fr);gap:var(--s6)}
  .article h1{font-size:24px}
  .answ p{font-size:15.5px;line-height:1.95}
  .modal-root{align-items:flex-end;padding:0}
  .modal-box{max-width:none;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:80vh;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}
  .cmt.reply{margin-inline-start:var(--s5)}
  .next-cta{flex-direction:column;align-items:flex-start}
  .dside{display:none}
  .mobile-next{display:block}
  /* کارت مشابه در موبایل — فشرده‌تر */
  .sim-thumb,.sim-noimg{width:72px}
  .sim-t{font-size:14.5px}
  .sim-ex{display:none}
  .sim-card{padding:8px}
  /* فید موبایل: لیست editorial فشرده */
  .grid-cards.feed{gap:10px}
  .grid-cards.feed .dream-card{flex-direction:row;align-items:stretch}
  .grid-cards.feed .dream-card figure{width:92px;aspect-ratio:1;flex:none}
  .grid-cards.feed .dc-body{padding:11px 14px;gap:4px}
  .grid-cards.feed .dream-card h3{font-size:15px}
  .grid-cards.feed .dc-ex{-webkit-line-clamp:2;font-size:13px}
  .grid-cards.feed .row-meta{gap:var(--s2)}
  .grid-cards.feed .row-meta span:last-child{display:none}
  .input,.textarea,.sbox input{font-size:16px}
}
@media (max-width:480px){
  .grid-cats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s3)}
  .cat-card{flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s4)}
  .cat-card .cat-count{margin-inline-start:0}
  .hero-home h1{font-size:26px}
  .grid-cards.feed .dream-card figure{width:76px}
  .sim-thumb,.sim-noimg{width:64px}
}

/* ================================================================
   WP layout glue
================================================================ */
body{min-height:100vh;display:flex;flex-direction:column}
#main{flex:1}

/* ================================================================
   v1.1.1 — AEO/UX (پاسخ کوتاه، منابع، FAQ، دسترس‌پذیری)
   همه‌ی قواعد این بخش الحاقی‌اند (cascade پایانی) و هیچ سبک
   موجود را بازنویسی نمی‌کنند — فقط تکمیل/بهبود.
================================================================ */

/* --- کنتراست متن کم‌رنگ تا حد WCAG AA (4.5:1) ---
   قبلی روشن: #8b8577 (3.3-3.6:1) / قبلی تاریک: #8f8b81 (4.3:1) */
:root{--muted:#736d5f}
html[data-theme="dark"]{--muted:#96928a}

/* --- کامپوننت «پاسخ کوتاه» (AEO) — نسخه‌ی برجسته‌تر از .answ --- */
.answ.khn-direct-answer{background:var(--accent-soft);padding:var(--s4) var(--s5);border-radius:var(--r-md);border-inline-start-width:4px}
.answ.khn-direct-answer p{font-size:15.5px;line-height:1.9;color:var(--text)}

/* --- کامپوننت «منابع» (E-E-A-T) --- */
.khn-sources{margin-top:var(--s6)}
.src-list{list-style:none;margin:var(--s3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}
.src-list li{font-size:var(--fs-sm);color:var(--text-2);padding-inline-start:var(--s4);position:relative;line-height:1.8}
.src-list li::before{content:"";position:absolute;inset-inline-start:0;top:.72em;width:6px;height:6px;border-radius:var(--r-full);background:var(--accent);opacity:.75}
.src-list a{color:var(--text-2);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--ease)}
.src-list a:hover{color:var(--accent)}

/* --- شورت‌کد [khn_faq] — فاصله‌گذاری هم‌ریتم با بخش‌های مقاله --- */
.khn-faq{margin-block:var(--s4) var(--s6)}

/* --- اهداف لمسی (WCAG 2.5.8) — آکاردئون و صفحه‌بندی --- */
.acc-h{min-height:44px}
.page-btn{min-width:44px;height:44px}

/* --- خوانایی فهرست منابع در چاپ --- */
@media print{
  .khn-sources,.khn-faq,.answ.khn-direct-answer{border-inline-start-color:var(--text)}
  .src-list a{text-decoration-color:var(--text)}
}

/* ===== 1.1.4: احراز هویت اختصاصی قالب (ورود/ثبت‌نام/موبایل/بازیابی) ===== */
.auth-box{max-width:400px}
.auth-sub{text-align:center;color:var(--text-2);font-size:var(--fs-sm);margin-top:var(--s2);line-height:1.9}
.auth-note{font-size:var(--fs-sm);color:var(--text-2);line-height:1.9;margin:0}
.auth-tabs{margin-top:var(--s5)}
.auth-tabs [role=tab]{cursor:pointer;background:none;border:none;font:inherit;padding:10px 2px}
.auth-form{margin-top:var(--s5);display:flex;flex-direction:column;gap:var(--s4)}
.auth-form .field{margin-bottom:0}
.auth-form .field .hint{margin:0}
.auth-remember{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}
.auth-remember input{width:16px;height:16px;accent-color:var(--accent)}
.auth-err{color:var(--err);font-size:var(--fs-sm);margin:0;line-height:1.8}
.auth-ok{color:var(--ok);font-size:var(--fs-sm);margin:0;line-height:1.8}
.btn-block{width:100%}
.auth-hp{position:absolute;left:-5000px;top:-5000px;opacity:0;height:1px;width:1px;overflow:hidden}
[data-otp-countdown]{color:var(--muted);font-size:var(--fs-sm)}
.quota-hint{margin:var(--s2) 0 0}
.quota-hint.err{color:var(--err)}
.btn.busy{opacity:.6;cursor:progress}
.guest-card{display:flex;align-items:center;gap:var(--s3)}

/* ================================================================
   v1.1.5 — اصلاح فرم‌های احراز هویت، فوتر موبایل، حساب و امنیت
================================================================ */

/* --- اصلاح بحرانی: ویژگی hidden همیشه بر display غالب باشد ---
   display:flex قواعد قبلی صفت hidden را می‌شکست و همه‌ی فرم‌های
   صفحه‌ی ورود هم‌زمان پشت سر هم دیده می‌شدند. */
[hidden]{display:none !important}

/* --- صفحه‌ی احراز هویت: تب‌های هم‌عرض و فاصله‌گذاری بهتر --- */
.auth-tabs{gap:var(--s3)}
.auth-tabs [role=tab]{flex:1 1 0;text-align:center;padding:12px 2px;font-size:14px}
.auth-box .tablist{border-bottom:1px solid var(--border)}
.auth-form{margin-top:var(--s5);gap:var(--s5)}
.auth-form .btn-block{margin-top:var(--s2)}
.auth-err,.auth-ok{padding:10px 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.8;margin:0}
.auth-err{color:var(--err);background:rgba(168,68,58,.07)}
.auth-ok{color:var(--ok);background:rgba(61,107,69,.08)}
.auth-box .auth-sub{margin-top:var(--s3)}

/* --- دکمه‌ی نمایش/پنهان‌کردن رمز --- */
.pw-wrap{position:relative;display:block}
.pw-wrap .input{width:100%;padding-inline-end:40px}
.pw-eye{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--muted);border-radius:var(--r-sm);transition:color var(--ease)}
.pw-eye:hover{color:var(--text)}
.pw-eye:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.pw-eye.on{color:var(--accent)}
.pw-eye .ic{width:19px;height:19px}

/* --- پنل کاربر: بخش «حساب و امنیت» --- */
.acct-rows{list-style:none;margin:0 0 var(--s5);padding:0;display:flex;flex-direction:column}
.acct-rows li{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding-block:11px;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}
.acct-rows li:last-child{border-bottom:none}
.acct-rows .acct-k{color:var(--muted);flex:none}
.acct-rows b{font-weight:600;color:var(--text);text-align:left;overflow-wrap:anywhere}
.acct-rows .acct-ok{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:600}
.acct-rows .acct-ok .ic{width:14px;height:14px}
.acct-form{margin-top:var(--s4)}

/* --- فوتر موبایل: کوتاه‌تر، گروه‌بندی‌شده، خواناتر --- */
@media (max-width:720px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .ftr{margin-top:var(--s8);padding-block:var(--s8) var(--s7);font-size:13px}
  .ftr-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--s5)}
  .ftr-in > div:first-child{grid-column:1 / -1}
  .ftr h4{font-size:12px;margin-bottom:var(--s2);color:var(--text-2)}
  .ftr ul{gap:9px}
  .ftr-about{max-width:none;margin-top:var(--s2)}
  .ftr-note{flex-direction:column;align-items:center;text-align:center;gap:5px;margin-top:var(--s6);padding-top:var(--s4)}
}
@media (max-width:480px){
  .ftr-in{gap:var(--s5) var(--s4)}
  .auth-box{max-width:none}
}

/* --- چاپ: بخش حساب نمایش داده نشود --- */
@media print{
  .acct-form,.auth-tabs{display:none}
}
