/* ═══════════════════════════════════════════
   فرشواره — wiki.css  (دانشنامه فرش)
   ═══════════════════════════════════════════ */

.fv-wiki-page { background: var(--clr-cream); color: var(--clr-text); }

/* ══ HERO ══ */
.fv-wk-hero {
    background: linear-gradient(150deg, #1a0a22 0%, var(--clr-purple) 60%, #3a2460 100%);
    padding: 26px 0 38px;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.fv-wk-hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image: radial-gradient(circle at 15% 40%, rgba(201,168,76,.10) 0%, transparent 55%),
                      radial-gradient(circle at 85% 10%, rgba(201,168,76,.06) 0%, transparent 50%);
}
.fv-wk-hero .fv-container { position: relative; z-index: 1; }

.fv-wk-crumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; list-style: none; margin: 0 0 18px; padding: 0; font-size: 12.5px; color: rgba(255,255,255,.45); }
.fv-wk-crumb a { color: rgba(255,255,255,.7); }
.fv-wk-crumb a:hover { color: var(--clr-gold); }
.fv-wk-crumb [aria-current] { color: rgba(255,255,255,.9); }

.fv-wk-hero__title { font-size: clamp(26px, 5vw, 40px); font-weight: var(--fw-extrabold); line-height: 1.35; margin: 0 0 10px; color: #fff; }
.fv-wk-hero__desc { max-width: 720px; font-size: 15px; line-height: 2; color: rgba(255,255,255,.72); margin: 0 0 22px; }
.fv-wk-hero__alt { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13.5px; color: rgba(255,255,255,.6); margin: 0 0 16px; }
.fv-wk-hero__alt span[dir="ltr"] { font-family: system-ui, sans-serif; letter-spacing: .02em; color: var(--clr-gold); }

/* تعریفِ کوتاه — جعبه‌یِ نقل‌قول */
.fv-wk-define {
    max-width: 780px; margin: 6px 0 0; padding: 16px 20px;
    background: rgba(255,255,255,.07); border: 1px solid rgba(201,168,76,.35);
    border-inline-start: 4px solid var(--clr-gold); border-radius: var(--r-md);
    font-size: 16px; line-height: 2.05; color: #fff;
}

/* جستجو */
.fv-wk-search { position: relative; max-width: 560px; }
.fv-wk-search input {
    width: 100%; height: 52px; padding: 0 18px; padding-inline-end: 96px;
    border: 1px solid rgba(255,255,255,.25); border-radius: var(--r-pill);
    background: rgba(255,255,255,.95); color: var(--clr-text); font: inherit; font-size: 15px;
}
.fv-wk-search input:focus { outline: 2px solid var(--clr-gold); outline-offset: 2px; }
.fv-wk-search__count { position: absolute; inset-inline-end: 16px; top: 50%; transform: translateY(-50%); font-size: 12px; color: var(--clr-text-muted); pointer-events: none; }

/* ══ بدنه‌یِ آرشیو ══ */
.fv-wk-body { padding-top: 28px; padding-bottom: 56px; }

.fv-wk-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.fv-wk-chip {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 15px;
    border: 1px solid var(--clr-border); border-radius: var(--r-pill);
    background: #fff; color: var(--clr-text-mid); font-size: 13px; font-weight: var(--fw-medium);
    transition: all .15s var(--ease);
}
.fv-wk-chip small { color: var(--clr-text-muted); font-size: 11px; }
.fv-wk-chip:hover, .fv-wk-chip.is-on { background: var(--clr-purple); border-color: var(--clr-purple); color: #fff; }
.fv-wk-chip:hover small, .fv-wk-chip.is-on small { color: var(--clr-gold); }

.fv-wk-alpha {
    display: flex; flex-wrap: wrap; gap: 6px; padding: 12px; margin-bottom: 26px;
    background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-md);
    position: sticky; top: 62px; z-index: 5;
}
.fv-wk-alpha a, .fv-wk-alpha span {
    min-width: 34px; height: 34px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--r-sm); font-size: 14px; font-weight: var(--fw-semibold);
}
.fv-wk-alpha a { background: var(--clr-cream); color: var(--clr-purple); }
.fv-wk-alpha a:hover { background: var(--clr-gold); color: #fff; }
.fv-wk-alpha span { color: #cfc7d8; }

.fv-wk-group { margin-bottom: 30px; scroll-margin-top: 80px; }
.fv-wk-group__letter {
    display: flex; align-items: center; gap: 12px; margin: 0 0 12px;
    font-size: 26px; font-weight: var(--fw-extrabold); color: var(--clr-purple);
}
.fv-wk-group__letter::after { content: ''; flex: 1; height: 1px; background: var(--clr-border); }

.fv-wk-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.fv-wk-item a {
    display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px;
    background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-md);
    transition: transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s;
}
.fv-wk-item a:hover { transform: translateY(-2px); border-color: var(--clr-gold); box-shadow: 0 8px 22px rgba(45,27,78,.10); }
.fv-wk-item strong { font-size: 16px; color: var(--clr-purple); }
.fv-wk-item__en { font-size: 12px; color: var(--clr-gold-dark); font-family: system-ui, sans-serif; text-align: end; }
.fv-wk-item__short { font-size: 13px; line-height: 1.9; color: var(--clr-text-mid); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fv-wk-empty { padding: 30px; text-align: center; color: var(--clr-text-muted); }

/* ══ صفحه‌یِ مدخل ══ */
.fv-wk-layout { display: grid; gap: 28px; padding-top: 30px; padding-bottom: 60px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 980px) {
    .fv-wk-layout { grid-template-columns: 250px minmax(0, 1fr); align-items: start; }
}

.fv-wk-toc {
    background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-md); padding: 16px 18px;
    font-size: 13.5px;
}
@media (min-width: 980px) { .fv-wk-toc { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow: auto; } }
.fv-wk-toc strong { display: block; margin-bottom: 10px; color: var(--clr-purple); font-size: 14px; }
.fv-wk-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.fv-wk-toc li.lv3 { padding-inline-start: 14px; font-size: 13px; }
.fv-wk-toc a { color: var(--clr-text-mid); line-height: 1.8; }
.fv-wk-toc a:hover, .fv-wk-toc a.is-on { color: var(--clr-gold-dark); }

.fv-wk-main { background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-lg); padding: clamp(18px, 4vw, 36px); min-width: 0; }

.fv-wk-content { font-size: 16px; line-height: 2.15; color: var(--clr-text); }
.fv-wk-content > :first-child { margin-top: 0; }
.fv-wk-content h2 { font-size: 23px; font-weight: var(--fw-extrabold); color: var(--clr-purple); margin: 38px 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--clr-cream-mid); scroll-margin-top: 20px; }
.fv-wk-content h3 { font-size: 18px; font-weight: var(--fw-bold); color: var(--clr-purple-mid); margin: 28px 0 8px; scroll-margin-top: 20px; }
.fv-wk-content p { margin: 0 0 14px; }
.fv-wk-content ul { list-style: disc; }
.fv-wk-content ol { list-style: decimal; }
.fv-wk-content ul, .fv-wk-content ol { margin: 0 0 16px; padding-inline-start: 24px; }
.fv-wk-content li::marker { color: var(--clr-gold-dark); }
.fv-wk-content li { margin-bottom: 6px; }
.fv-wk-content a { color: var(--clr-gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.fv-wk-content img, .fv-wk-content svg { max-width: 100%; height: auto; }
.fv-wk-content figure { margin: 22px 0; text-align: center; }
.fv-wk-content figcaption { font-size: 13px; color: var(--clr-text-muted); margin-top: 8px; line-height: 1.9; }
.fv-wk-content blockquote { margin: 18px 0; padding: 12px 18px; background: var(--clr-cream); border-inline-start: 4px solid var(--clr-gold); border-radius: var(--r-sm); }
.fv-wk-content table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 14.5px; display: block; overflow-x: auto; }
.fv-wk-content th, .fv-wk-content td { border: 1px solid var(--clr-border); padding: 9px 12px; text-align: start; }
.fv-wk-content th { background: var(--clr-cream); color: var(--clr-purple); }

/* جعبه‌هایِ آموزشی که در متن می‌آیند: <div class="fv-wk-note"> */
.fv-wk-note { margin: 20px 0; padding: 14px 18px; background: #faf6e8; border: 1px solid #ecdca4; border-radius: var(--r-md); font-size: 14.5px; line-height: 2; }
.fv-wk-note > strong:first-child { display: block; color: var(--clr-gold-dark); margin-bottom: 2px; }

/* شماتیکِ آموزشی: <figure class="fv-wk-diagram"> */
.fv-wk-diagram { background: var(--clr-cream); border: 1px solid var(--clr-border); border-radius: var(--r-md); padding: 16px; }

.fv-wk-faq { margin-top: 40px; }
.fv-wk-faq h2 { font-size: 21px; color: var(--clr-purple); margin: 0 0 14px; }
.fv-wk-faq details { border: 1px solid var(--clr-border); border-radius: var(--r-md); margin-bottom: 10px; background: var(--clr-cream); }
.fv-wk-faq summary { cursor: pointer; padding: 14px 18px; font-weight: var(--fw-semibold); color: var(--clr-purple); list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.fv-wk-faq summary::-webkit-details-marker { display: none; }
.fv-wk-faq summary::after { content: '+'; color: var(--clr-gold-dark); font-size: 20px; line-height: 1; }
.fv-wk-faq details[open] summary::after { content: '−'; }
.fv-wk-faq details p { margin: 0; padding: 0 18px 16px; line-height: 2.05; color: var(--clr-text-mid); }

.fv-wk-related { margin-top: 38px; }
.fv-wk-related h2 { font-size: 21px; color: var(--clr-purple); margin: 0 0 14px; }
.fv-wk-related ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.fv-wk-related a { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border: 1px solid var(--clr-border); border-radius: var(--r-md); background: var(--clr-cream); height: 100%; }
.fv-wk-related a:hover { border-color: var(--clr-gold); }
.fv-wk-related strong { color: var(--clr-purple); }
.fv-wk-related span { font-size: 12.5px; color: var(--clr-text-muted); line-height: 1.8; }

.fv-wk-foot { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--clr-border); font-size: 13px; color: var(--clr-text-muted); }
.fv-wk-sources strong { color: var(--clr-purple); }
.fv-wk-sources ul { margin: 6px 0 12px; padding-inline-start: 20px; line-height: 1.9; }
.fv-wk-meta a { color: var(--clr-gold-dark); }

@media print {
    .fv-wk-alpha, .fv-wk-search, .fv-wk-toc { display: none; }
    .fv-wk-hero { background: none; color: #000; }
}
