/* ============================================
   پرشان — استایل برند (طبق سند طراحی نسخه ۲.۲)
   تمام رنگ‌ها به‌صورت «متغیر» تعریف شده‌اند تا
   فقط اینجا عوض شوند، نه در کل کدها
   ============================================ */
:root {
    --bg: #F7F2EA;              /* پس‌زمینه استخوانی */
    --bg-alt: #F1E7D7;          /* کرم بخش‌های متناوب */
    --ink: #3B2A20;             /* متن اصلی قهوه‌ای تیره */
    --ink-soft: #6A4A32;        /* متن ثانویه */
    --brand-dark: #4C2E05;      /* قهوه‌ای شکلاتی دکمه */
    --accent-copper: #A86E3A;   /* مسی — لینک و اکسنت */
    --accent-gold: #D6BA8A;     /* طلایی مات — خطوط برند */
    --border: #D1BD9A;          /* حاشیه‌ها */
    --footer: #3B2A20;          /* فوتر تیره */
}

/* ریست ساده — حذف فاصله‌های پیش‌فرض مرورگر */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background: var(--bg);
    color: var(--ink);
    font-family: Vazirmatn, Tahoma, sans-serif;
    line-height: 1.8;
}

/* ---------- هدر ---------- */
.site-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 48px;
    position: sticky; top: 0;
    background: rgba(247, 242, 234, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--accent-gold);
    z-index: 100;
}
.logo {
    font-size: 26px; font-weight: 600;
    color: var(--ink); text-decoration: none;
}
.main-nav { display: flex; gap: 32px; }
.main-nav a {
    color: var(--ink-soft); text-decoration: none;
    font-size: 15px; transition: color 0.3s;
}
.main-nav a:hover { color: var(--accent-copper); }

/* گروه دکمه‌های سمت چپ هدر: تماس + همبرگری */
.header-actions {
    display: flex; align-items: center; gap: 12px;
}

/* دکمه همبرگری — در دسکتاپ مخفی، در موبایل نمایان */
.nav-toggle {
    display: none;
    background: none; border: none; cursor: pointer;
    padding: 8px 4px;
}
.nav-toggle span {
    display: block;
    width: 24px; height: 2px;
    background: var(--ink);
    margin: 5px 0;
    border-radius: 1px;
    transition: transform 0.3s, opacity 0.3s;
}
/* وقتی منو باز است، سه خط می‌شوند ضربدر — حالت aria را CSS می‌خواند */
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* دکمه CTA تماس — برند اصلی */
.btn-call {
    background: var(--brand-dark); color: var(--bg);
    padding: 10px 24px; border-radius: 3px;
    text-decoration: none; font-size: 15px;
    transition: background 0.3s;
}
.btn-call:hover { background: var(--ink); }

/* ---------- هیرو ---------- */
.hero {
    min-height: 82vh;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    background: linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);
    padding: 0 24px;
}
.hero h1 { font-size: 64px; font-weight: 500; }
.hero .brand-line {
    width: 72px; height: 1px;
    background: var(--accent-gold);
    margin: 28px auto;
}
.hero p { color: var(--ink-soft); font-size: 20px; }

/* ---------- فوتر ---------- */
.site-footer {
    background: var(--footer);
    color: var(--bg-alt);
    text-align: center;
    padding: 48px 24px;
}
.site-footer .brand-line { width: 56px; height: 1px; background: var(--accent-gold); margin: 20px auto; }
.site-footer p { font-size: 14px; opacity: 0.85; }
.site-footer a { color: var(--accent-gold); text-decoration: none; }

/* ---------- صفحه‌ی ورود (برای همه‌ی اندازه‌ها) ---------- */
.login-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);
    padding: 24px;
}
.login-card {
    background: #FFFDF8;
    border: 1px solid var(--border);
    border-radius: 6px;
    box-shadow: 0 12px 40px rgba(59, 42, 32, 0.08);
    padding: 48px 40px;
    width: 100%; max-width: 380px;
    text-align: center;
}
.login-card h1 { font-size: 34px; font-weight: 600; }
.login-card .brand-line { width: 56px; height: 1px; background: var(--accent-gold); margin: 18px auto; }
.login-sub { color: var(--ink-soft); font-size: 15px; margin-bottom: 28px; }

.login-error {
    background: #F8E7E0; color: #8A3B22;
    border: 1px solid #E0B8A5;
    border-radius: 4px;
    padding: 10px 14px; font-size: 14px; margin-bottom: 20px;
}
.login-info {
    background: #EEF3E7; color: #4A6A35;
    border: 1px solid #C9DCB5;
    border-radius: 4px;
    padding: 10px 14px; font-size: 14px; margin-bottom: 20px;
}

.login-card form { text-align: right; }
.login-card label {
    display: block; font-size: 14px;
    color: var(--ink-soft); margin-bottom: 6px;
}
.login-card input {
    width: 100%; padding: 10px 14px;
    border: 1px solid var(--border); border-radius: 4px;
    background: var(--bg); color: var(--ink);
    font-family: inherit; font-size: 15px;
    margin-bottom: 18px;
    transition: border-color 0.3s;
}
.login-card input:focus { outline: none; border-color: var(--accent-copper); }
.login-btn {
    width: 100%; text-align: center;
    border: none; cursor: pointer;
    font-family: inherit; margin-top: 6px;
    display: block;
}

/* ---------- موبایل (فقط تنظیم‌های اندازه + پنل منو) ---------- */
@media (max-width: 768px) {
    .site-header { padding: 14px 20px; }
    .btn-call { padding: 8px 16px; font-size: 14px; }

    .nav-toggle { display: block; }

    /* منو: پنل کشویی زیر هدر — فقط وقتی کلاس open دارد */
    .main-nav {
        display: none;
        position: absolute;
        top: 100%; right: 0; left: 0;
        flex-direction: column;
        gap: 0;
        background: var(--bg);
        border-bottom: 1px solid var(--accent-gold);
        box-shadow: 0 16px 32px rgba(59, 42, 32, 0.10);
    }
    .main-nav.open {
        display: flex;
        animation: navDrop 0.25s ease;
    }
    @keyframes navDrop {
        from { opacity: 0; transform: translateY(-8px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    .main-nav a {
        padding: 14px 24px;
        font-size: 16px;
        border-top: 1px solid var(--border);
    }
    .main-nav a:hover { background: var(--bg-alt); color: var(--accent-copper); }

    .hero h1 { font-size: 40px; }
    .hero p { font-size: 16px; }
    .login-card { padding: 36px 24px; }
}
/* صفحه ۴۰۴ */
.error-code {
    font-size: clamp(4rem, 15vw, 7rem);
    font-weight: 700;
    line-height: 1;
    margin: 0;
}
.main-nav a:focus-visible, .nav-toggle:focus-visible, .btn-call:focus-visible {
    outline: 2px solid var(--accent-copper);
    outline-offset: 2px;
}
/* کاربرانی که در سیستم‌عامل «کاهش حرکت» را فعال کرده‌اند */
@media (prefers-reduced-motion: reduce) {
    .main-nav.open { animation: none; }
}
/* ---------- پاسپورت بوم ---------- */
.passport-wrap { max-width: 640px; margin: 48px auto; padding: 0 20px; }
.passport-card {
    background: #FFFFFF;
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 40px 32px;
}
.passport-code {
    font-size: 32px; letter-spacing: 3px;
    color: var(--brand-dark); text-align: center; margin: 8px 0 0;
}
.owner-box {
    background: var(--bg-alt);
    border: 1px solid var(--accent-gold);
    border-radius: 4px;
    padding: 16px 20px; text-align: center; margin: 24px 0;
}
.specs { width: 100%; border-collapse: collapse; margin-top: 8px; }
.specs th, .specs td {
    padding: 10px 12px; text-align: right;
    border-bottom: 1px solid var(--accent-gold);
    font-size: 15px;
}
.specs th { color: var(--ink-soft); font-weight: 500; width: 45%; }
/* ---------- صفحات ساده‌ی منو ---------- */
.page-hero {
    min-height: 34vh;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    background: linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);
    padding: 48px 24px;
}
.page-hero h1 { font-size: 44px; font-weight: 500; }
.page-hero p { color: var(--ink-soft); font-size: 18px; margin-top: 6px; }
.page-section { max-width: 720px; margin: 40px auto 56px; padding: 0 24px; }
.page-section h2 { font-size: 22px; font-weight: 600; margin: 26px 0 8px; color: var(--ink); }
.page-section p { color: var(--ink-soft); margin-bottom: 12px; }

@media (max-width: 768px) {
    .page-hero h1 { font-size: 30px; }
    .page-hero p { font-size: 15px; }
    .page-section { margin: 24px auto 40px; }
}
/* ===== ویرایش زنده (فقط ادمین) ===== */
.edit-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2rem;
    padding: 0.9rem 1rem;
    background: #232323;
    color: #f3ede3;
    border-radius: 8px;
}
.edit-btn {
    background: #B07B2E;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 0.5rem 1.2rem;
    font-family: inherit;
    font-size: 0.95rem;
    cursor: pointer;
}
.edit-btn:hover { background: #96682a; }
.edit-status { font-size: 0.9rem; opacity: 0.85; }
body.edit-mode [data-ck] {
    outline: 2px dashed #B07B2E;
    outline-offset: 3px;
    cursor: text;
    min-width: 1rem;
    min-height: 1em;
}
body.edit-mode [data-ck-img] {
    outline: 2px dashed #B07B2E;
    outline-offset: 3px;
}
.hero-img {
    max-width: 100%;
    border-radius: 8px;
    margin-top: 1.5rem;
}
.img-slot {
    display: inline-block;
    margin-top: 1.5rem;
    padding: 1.2rem 2.2rem;
    border: 2px dashed #B07B2E;
    border-radius: 8px;
    color: #B07B2E;
    cursor: pointer;
    font-size: 1rem;
}
/* ===== صفحات داخلی ===== */
.page-hero {
    max-width: 860px;
    margin: 0 auto;
    padding: 4rem 1.5rem 0.5rem;
    text-align: center;
}
.page-hero h1 { margin: 0 0 0.6rem; }
.page-hero p { margin: 0; opacity: 0.85; }
.content-section {
    max-width: 720px;
    margin: 0 auto;
    padding: 2.2rem 1.5rem 0.5rem;
}
.content-section h2 { margin: 0 0 0.8rem; }
.content-section p { margin: 0; line-height: 2.1; }
.soon-card {
    border: 1px solid rgba(176, 123, 46, 0.35);
    border-radius: 10px;
    margin-top: 2.5rem;
    padding-bottom: 2rem !important;
}
/* نوار مدیریتی بالای سایت — فقط برای ادمین دیده می‌شود */
.admin-quickbar {
    background: #201d19;
    color: #e8e2d9;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.2rem;
    padding: 0.55rem 1.2rem;
    font-size: 0.9rem;
}
.admin-quickbar a {
    color: #d9a05b;
    text-decoration: none;
}
.admin-quickbar a:hover {
    text-decoration: underline;
}
.admin-quickbar .qb-title {
    font-weight: 700;
    color: #ffffff;
}
.admin-quickbar summary {
    cursor: pointer;
    color: #d9a05b;
}
.admin-quickbar .qb-pages {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    background: #2a2620;
    padding: 0.5rem 0.9rem;
    border-radius: 8px;
    margin-top: 0.45rem;
}
/* منوی تصویری — نشانگر روی آیتم، عکس مربعی همان صفحه؛ بدون انیمیشن */
.main-nav a {
    position: relative;
}
.nav-thumb {
    display: none;
    position: absolute;
    top: 100%;
    right: 50%;
    transform: translateX(50%);
    margin-top: 10px;
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #d8cfc0;
    box-shadow: 0 8px 20px rgba(32, 29, 25, 0.18);
    z-index: 60;
    pointer-events: none;
}
.main-nav a:hover .nav-thumb,
.main-nav a:focus-visible .nav-thumb {
    display: block;
}

/* دکمه‌ی شناور تماس — پایین سمت راست همه‌ی صفحات */
.phone-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 90;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--accent-copper);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(32, 29, 25, 0.25);
}
.phone-float svg {
    width: 24px;
    height: 24px;
    fill: #fff;
}
.phone-float:hover {
    filter: brightness(1.08);
}
/* لینک خروج کنار دکمه‌ی حساب در هدر */
.btn-out {
    font-size: 13px;
    color: var(--ink-soft);
    text-decoration: none;
    margin-inline-start: 12px;
    align-self: center;
}
.btn-out:hover {
    color: var(--accent-copper);
}
/* ---- نوار ادمین: دسکتاپ ردیف همیشگی، موبایل همبرگری (بدون انیمیشن) ---- */
.qb-toggle { display: none; }
.qb-head { display: none; }
.qb-body { display: contents; }

@media (max-width: 768px) {
    .admin-quickbar { padding: 0; }
    .qb-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 14px;
        cursor: pointer;
    }
    .qb-burger { display: block; color: #d9a05b; font-size: 20px; line-height: 1; }
    .qb-body { display: none; }
    .qb-toggle:checked ~ .qb-body {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 4px 14px 14px;
    }
    .qb-body details summary { cursor: pointer; }
}
/* ===== Kinfolk polish - home (appended) ===== */
::selection { background: var(--accent-gold); color: #3B2A20; }
html { scroll-behavior: smooth; }

.hero { min-height: 78vh; padding-bottom: 3.5rem; }
.hero h1 {
    font-size: 92px;
    font-weight: 300;
    line-height: 1.25;
}
.hero p { font-size: 19px; }
.hero .brand-line { margin: 30px auto; }
.hero-img {
    width: min(100%, 1060px);
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: 4px;
    margin-top: 3rem;
}

/* entrance: quiet rise-in, staggered, no bounce */
@keyframes kfRise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
}
.hero h1 { animation: kfRise 0.7s ease both; }
.hero .brand-line { animation: kfRise 0.7s ease 0.15s both; }
.hero p { animation: kfRise 0.7s ease 0.3s both; }
.hero-img { animation: kfRise 0.9s ease 0.4s both; }

/* nav underline: thin copper line grows from the right */
.main-nav a::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 1px;
    background: var(--accent-copper);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
}
.main-nav a:hover::after { transform: scaleX(1); }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 768px) {
    .hero { min-height: auto; padding: 3.5rem 20px 2.5rem; }
    .hero h1 { font-size: 46px; }
    .hero p { font-size: 16px; }
    .hero .brand-line { margin: 22px auto; }
    .hero-img { margin-top: 2rem; aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
    .hero h1, .hero .brand-line, .hero p, .hero-img { animation: none; }
    html { scroll-behavior: auto; }
}

/* === Home: editorial sections === */
.home-head { text-align:center; margin:96px auto 48px; }
.home-head .home-kicker { display:block; font-size:12px; letter-spacing:.35em; color:var(--accent); margin-bottom:14px; }
.home-head h2 { font-weight:300; font-size:34px; margin:0; }
.home-services .home-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; max-width:1120px; margin:0 auto; padding:0 24px 96px; }
.home-card { text-decoration:none; color:inherit; display:block; border-top:1px solid var(--sand); padding-top:18px; }
.home-card .home-idx { font-size:12px; letter-spacing:.3em; color:var(--accent); }
.home-card figure { margin:18px 0 20px; overflow:hidden; border-radius:4px; aspect-ratio:4/5; }
.home-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease; }
.home-card:hover img { transform:scale(1.04); }
.home-card h3 { font-weight:400; font-size:22px; margin:6px 0 10px; }
.home-card p { font-size:15px; line-height:1.9; color:var(--muted); margin:0 0 14px; }
.home-card .home-more { font-size:13px; color:var(--accent); }
.home-quote { text-align:center; padding:80px 24px; border-top:1px solid #E3D9C8; border-bottom:1px solid #E3D9C8; background:var(--bg-alt); }
.home-quote p { max-width:640px; margin:0 auto; font-size:26px; font-weight:300; line-height:2; }
.home-journal { text-align:center; padding:0 24px 110px; }
.home-journal-lead { color:var(--muted); font-size:15px; line-height:2; max-width:520px; margin:0 auto 26px; }
.home-btn { display:inline-block; padding:12px 34px; border:1px solid var(--ink); border-radius:999px; color:var(--ink); text-decoration:none; font-size:14px; transition:all .25s ease; }
.home-btn:hover { background:var(--ink); color:var(--bg); }
@media (max-width:768px) {
  .home-services .home-cards { grid-template-columns:1fr; gap:56px; padding-bottom:72px; }
  .home-head { margin:64px auto 36px; }
  .home-head h2 { font-size:24px; }
  .home-quote p { font-size:20px; }
}

/* ==== Home: pinned services scroller ==== */
.pin-outer{ height:340vh; position:relative; }
.pin-viewport{ position:sticky; top:0; height:100vh; overflow:hidden; display:flex; align-items:center; }
.pin-inner{ width:min(1120px,92vw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.pin-media{ position:relative; aspect-ratio:4/5; border-radius:6px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(59,42,32,.45); }
.pin-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity .7s ease, transform .9s ease; }
.pin-media img.on{ opacity:1; transform:scale(1); }
.pin-media::after{ content:''; position:absolute; inset:0; background:linear-gradient(to left, rgba(59,42,32,.18), transparent 45%); pointer-events:none; }
.pin-copy{ position:relative; min-height:340px; }
.pin-slide{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; opacity:0; transform:translateY(40px); transition:opacity .55s ease, transform .6s cubic-bezier(.22,.61,.36,1); pointer-events:none; }
.pin-slide.on{ opacity:1; transform:none; pointer-events:auto; }
.pin-slide figure{ display:none; }
.pin-idx{ font-size:12px; letter-spacing:.35em; color:var(--accent); margin-bottom:16px; }
.pin-slide h3{ font-weight:400; font-size:40px; margin:0 0 14px; }
.pin-slide p{ font-size:16px; line-height:2; color:var(--muted); max-width:400px; margin:0 0 26px; }
.pin-slide a{ align-self:flex-start; text-decoration:none; color:var(--ink); font-size:14px; border:1px solid var(--ink); border-radius:999px; padding:10px 30px; transition:all .25s ease; }
.pin-slide a:hover{ background:var(--ink); color:var(--bg); }
.pin-progress{ position:absolute; left:5%; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:16px; align-items:center; }
.pin-dot{ width:8px; height:8px; border-radius:50%; background:var(--sand); border:0; padding:0; cursor:pointer; transition:all .4s ease; }
.pin-dot.on{ background:var(--accent); height:28px; border-radius:5px; }
@media (max-width:768px){
  .pin-outer{ height:auto; }
  .pin-viewport{ position:static; height:auto; display:block; padding:0 24px 72px; }
  .pin-inner{ grid-template-columns:1fr; gap:0; }
  .pin-media{ display:none; }
  .pin-copy{ min-height:0; }
  .pin-slide{ position:static; display:flex; opacity:1; transform:none; pointer-events:auto; margin-bottom:56px; }
  .pin-slide figure{ display:block; margin:0 0 18px; aspect-ratio:3/2; overflow:hidden; border-radius:4px; }
  .pin-slide figure img{ width:100%; height:100%; object-fit:cover; }
  .pin-slide h3{ font-size:26px; }
  .pin-progress{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .pin-media img, .pin-slide{ transition:none; }
}
img[src*='logo-fa.']{height:44px!important;width:auto!important}
img[src*='logo-fa-light']{height:34px!important;width:auto!important}
/* فوتر: چیدمان عمودی وسط‌چین، لوگوی بزرگ‌تر */
footer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
footer img[src*='logo']{height:52px!important;width:auto!important}
/* فوتر: چیدمان عمودی وسط‌چین، لوگوی بزرگ‌تر */
footer.site-footer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
footer.site-footer a.logo img{height:46px!important;width:auto!important;display:block}
/* ===== Night mode ===== */
html[data-theme="dark"]{
    --bg:#120d08;
    --bg-alt:#2e2418;
    --ink:#ece3d4;
    --muted:#b3a48d;
    --accent:#d6ba8a;
    --sand:#3a2f21;
}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}

/* متن‌های فوتر: در شب روشن بمانند */
html[data-theme="dark"] .site-footer p,
html[data-theme="dark"] .site-footer a{color:var(--ink)}
html[data-theme="dark"] .site-footer a:hover{color:var(--accent)}
html[data-theme="dark"] footer.site-footer a.logo{color:var(--ink)}

/* همبرگری در شب دیده شود */
html[data-theme="dark"] .nav-toggle span{background:var(--ink)}

/* دکمه سوییچ شب/روز */
.theme-toggle{
    width:38px;height:38px;border:1px solid var(--sand);border-radius:50%;
    background:transparent;cursor:pointer;position:relative;flex:0 0 auto;padding:0;
}
.theme-toggle::before{
    content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;
    border-radius:50%;box-shadow:inset 5px -3px 0 0 var(--ink);
    transition:box-shadow .2s,background .2s;
}
html[data-theme="dark"] .theme-toggle::before{
    background:var(--accent);
    box-shadow:0 -7px 0 -3px var(--accent),0 7px 0 -3px var(--accent),
    -7px 0 0 -3px var(--accent),7px 0 0 -3px var(--accent),
    -5px -5px 0 -4px var(--accent),5px -5px 0 -4px var(--accent),
    -5px 5px 0 -4px var(--accent),5px 5px 0 -4px var(--accent);
}

/* ===== شب: هدر هم تیره شود ===== */
html[data-theme="dark"] .site-header{background:var(--bg-alt)}
html[data-theme="dark"] .site-header .main-nav a{color:var(--ink)}
html[data-theme="dark"] .site-header .nav-toggle span{background:var(--ink)!important}
html[data-theme="dark"] .site-header .logo img{filter:brightness(0) invert(.9) sepia(.3) saturate(2)}

/* ===== دکمه ثبت‌نام در شب: طلایی با متن تیره ===== */
html[data-theme="dark"] .btn-call,
html[data-theme="dark"] .btn-call:hover{
    background:var(--accent)!important;
    color:#221a12!important;
    border-color:var(--accent)!important;
}

/* ===== موبایل: هدر جمع‌وجور با فاصله درست ===== */
@media (max-width:768px){
    .site-header{gap:10px}
    .site-header .logo img{height:26px!important}
    .site-header .header-actions{margin-inline-start:auto;gap:.5rem!important}
    .site-header .btn-call{
        padding:.3rem .6rem!important;
        font-size:.75rem!important;
        white-space:nowrap!important;
    }
    .site-header .theme-toggle{width:30px;height:30px}
    .site-header .nav-toggle{padding:6px 4px}
}
html[data-theme="dark"] .site-header{background:var(--footer)}
@media (max-width:768px){
    .pin-slide{align-items:stretch}
    .pin-slide figure{
        display:block!important;
        align-self:stretch!important;
        width:100%!important;
        max-width:100%!important;
        margin-inline:auto!important;
    }
    .pin-slide figure img{
        display:block!important;
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
    }
}
/* remember me */
.remember-row{display:flex;align-items:center;gap:.5rem;margin:.9rem 0 1.2rem;font-size:.92rem;color:var(--ink)}
.remember-row input[type="checkbox"]{width:16px;height:16px;accent-color:#8a5a2b;cursor:pointer}
.remember-row label{cursor:pointer}
/* نوار کاربر — عادی در جریان صفحه؛ بالای هدر، با اسکرول می‌رود و در بازگشت برمی‌گردد */
.user-bar{
    background:#4C2E05;
    display:flex;justify-content:space-between;align-items:center;
    padding:.45rem 1.25rem;
    font-size:.9rem;
    color:#fff;
}
.user-bar a,.user-bar button{
    color:#fff !important;text-decoration:none;background:none;border:none;
    cursor:pointer;padding:0;font:inherit;font-weight:600;
}
.user-bar a:hover,.user-bar button:hover{text-decoration:underline}
/* ---------- Homepage hero video background ---------- */
body { overflow-x: hidden; }
.hero {
    position: relative;
    overflow: hidden;
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    min-height: calc(100vh - 76px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.15;
    z-index: 0;
    pointer-events: none;
}
.hero > *:not(.hero-video) { position: relative; z-index: 1; }
