/* ============================================================
   DM Gold — تمپلیت «تماس با ما»
   ------------------------------------------------------------
   ⚠ هیچ رنگی هارد-کد نیست. همه‌جا همان توکن‌های قالب مصرف می‌شوند و
   fallbackِ داخلِ var() دقیقاً همان قراردادِ بقیهٔ فایل‌های قالب است:
   توکن‌هایی مثل --dm-ink-1 / --dm-paper / --dm-line عمداً فقط در
   بلوکِ حالتِ شب تعریف شده‌اند، پس در حالتِ روشن مقدارِ fallback
   می‌نشیند و در حالتِ شب خودکار برمی‌گردد. حذفِ fallback = خرابیِ
   حالتِ روشن.
   ============================================================ */

:root {
    --dmc-gap: 14px;
    --dmc-section-mb: 48px;
    --dmc-card-radius: 16px;

    /*
     * ⚠ رنگِ برند عمداً از یک واسطه روی ریشه رد می‌شود و مستقیم مصرف نمی‌گردد —
     * دقیقاً همان کاری که صفحهٔ اصلی با --button-bg می‌کند و علتِ اینکه دکمه‌های
     * آنجا در حالت شب طلایی نمی‌شوند.
     *
     * چرا کار می‌کند: مقدارِ یک متغیر در لحظهٔ محاسبه، با مقدارِ --dm-primary
     * روی «همان عنصری» جایگزین می‌شود که متغیر رویش تعریف شده. این تعریف روی
     * ریشه (html) است و بلوکِ حالتِ شب --dm-primary را روی body بازتعریف می‌کند
     * که فرزندِ html است ⇒ این واسطه همان رنگِ حالتِ روشن را می‌گیرد و
     * دست‌نخورده به پایین ارث می‌رسد.
     *
     * نتیجه: تعویضِ روز/شب در این دو صفحه مو-به-مو مثل بقیهٔ سایت رفتار می‌کند؛
     * سطح‌ها و متن‌ها تیره می‌شوند ولی رنگِ برند همان می‌ماند.
     * اگر روزی بخواهی رنگِ برند در حالت شب هم عوض شود، کافی است این چهار خط
     * حذف شوند تا مصرف‌کننده‌ها دوباره مستقیم به توکنِ قالب وصل گردند.
     */
    --dmc-accent: var(--dm-primary);
    --dmc-accent-10: var(--dm-primary-10);
    --dmc-accent-20: var(--dm-primary-20);
    --dmc-accent-tint: var(--dm-primary-tint);
}

/* استانداردِ سراسری: عنصری که JS با اتریبیوت hidden مخفی می‌کند */
[hidden] { display: none !important; }

.dmc-page { padding-block: 24px 60px; }
@media (max-width: 768px) { .dmc-page { padding-block: 14px 24px; } }

/*
 * ⚠ هم‌عرض‌کردن با هدر و صفحهٔ اصلی: ظرفِ عمومیِ قالب ۱۶ پیکسل پدینگِ کناری دارد
 * ولی ظرفِ هدر و ظرفِ صفحهٔ اصلی در دسکتاپ هیچ پدینگی ندارند ⇒ محتوای این صفحه
 * ۳۲ پیکسل باریک‌تر از هدر می‌افتاد. پدینگ فقط در دسکتاپ صفر می‌شود و در
 * عرض‌های کوچک‌تر دقیقاً همان مقادیرِ صفحهٔ اصلی برمی‌گردد.
 * سلکتور عمداً به همین صفحه محدود است تا ظرفِ عمومی جای دیگری تغییر نکند.
 */
.dmc-page > .dm-container { padding-inline: 0; }
@media (max-width: 991.98px) { .dmc-page > .dm-container { padding-inline: 16px; } }
@media (max-width: 768px)    { .dmc-page > .dm-container { padding-inline: 12px; } }

/*
 * ⚠ عمداً داخل :where — وزنِ این قانون باید صفر باشد.
 * نسخهٔ قبلی `.dmc-page a` بود (وزن ۰-۱-۱) و از کلاسِ خودِ دکمه‌ها (۰-۱-۰)
 * بالاتر می‌ایستاد ⇒ متنِ دکمه‌های خطی و کم‌رنگ و آیکون‌های شبکهٔ اجتماعی
 * به‌جای رنگِ برند، سیاه رندر می‌شد و هیچ خطایی هم جایی دیده نمی‌شد.
 */
:where(.dmc-page a) { color: inherit; text-decoration: none; }

.dmc-page :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--dmc-accent);
    outline-offset: 2px;
    border-radius: 6px;
}


/* ════════════════════════════════════════════
   سربرگ بخش‌ها و مسیر راهنما
   ════════════════════════════════════════════ */
.dmc-section { margin-bottom: var(--dmc-section-mb); }
@media (max-width: 991.98px) { .dmc-section { margin-bottom: 34px; } }
@media (max-width: 768px)    { .dmc-section { margin-bottom: 26px; } }

.dmc-section-header {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
    margin-bottom: 22px; padding-bottom: 14px;
    border-bottom: 1.5px solid var(--dm-line, #f0f0f0);
}
.dmc-section-title {
    display: flex; align-items: center; gap: 9px;
    margin: 0; font-size: 19px; font-weight: 900;
    color: var(--dm-ink-1, #1a1a1a);
}
.dmc-section-title::before {
    content: ''; flex-shrink: 0;
    inline-size: 4px; block-size: 20px;
    background: var(--dmc-accent);
    border-radius: 2px;
}
.dmc-section-hint { margin: 0; font-size: 12px; font-weight: 600; color: var(--dm-ink-3, #aaa); }
@media (max-width: 768px) {
    .dmc-section-header { margin-bottom: 14px; padding-bottom: 10px; }
    .dmc-section-title { font-size: 16px; }
}

.dmc-breadcrumb { margin-bottom: 18px; }
.dmc-breadcrumb__list {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin: 0; padding: 0; list-style: none;
    font-size: 12px; font-weight: 600; color: var(--dm-ink-3, #aaa);
}
.dmc-breadcrumb__list li + li::before { content: '/'; margin-inline-end: 8px; }
.dmc-breadcrumb__list a:hover { color: var(--dmc-accent); }


/* ════════════════════════════════════════════
   دکمه‌ها
   ════════════════════════════════════════════ */
.dmc-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-block-size: 44px; padding: 10px 22px;
    border: 1px solid transparent; border-radius: var(--dm-radius, 10px);
    font-family: inherit; font-size: 13.5px; font-weight: 800;
    cursor: pointer; transition: background .2s, color .2s, border-color .2s, opacity .2s;
}
.dmc-btn svg { fill: currentColor; flex-shrink: 0; }

/* ⚠ متنِ روی دکمهٔ رنگی عمداً در هر دو حالت سفید می‌ماند — همان قراردادی که
   header.css با --dm-white دارد و حالتِ شب هم دست‌نخورده نگهش می‌دارد. */
.dmc-btn--primary { background: var(--dmc-accent); color: var(--dm-white, #fff); }
.dmc-btn--primary:hover { opacity: .9; }

.dmc-btn--ghost {
    background: var(--dmc-accent-10);
    color: var(--dmc-accent);
}
.dmc-btn--ghost:hover { background: var(--dmc-accent-20); }

.dmc-btn--outline {
    background: transparent;
    color: var(--dmc-accent);
    border-color: var(--dmc-accent);
}
.dmc-btn--outline:hover { background: var(--dmc-accent-10); }

.dmc-btn--lg { min-block-size: 50px; padding-inline: 34px; font-size: 14.5px; }
.dmc-btn--sm { min-block-size: 38px; padding: 8px 16px; font-size: 12.5px; }
.dmc-btn--block { inline-size: 100%; }
.dmc-btn[disabled] { opacity: .55; cursor: not-allowed; }


/* ════════════════════════════════════════════
   سربرگ صفحه
   ════════════════════════════════════════════ */
.dmc-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 24px;
    align-items: stretch;
    margin-bottom: var(--dmc-section-mb);
}
.dmc-hero__text {
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dmc-card-radius);
    padding: 34px 34px 30px;
}
.dmc-hero__eyebrow {
    display: inline-block; margin-bottom: 12px;
    padding: 5px 12px; border-radius: 999px;
    background: var(--dmc-accent-10);
    color: var(--dmc-accent);
    font-size: 11.5px; font-weight: 800;
}
.dmc-hero__title {
    margin: 0 0 12px; font-size: 30px; font-weight: 900; line-height: 1.6;
    color: var(--dm-ink-1, #1a1a1a);
}
/*
 * ⚠ سقفِ عرضِ ۶۲ نویسه عمداً برداشته شد: ستونِ متن ۱۰۳۶ پیکسل است و آن سقف
 * پاراگراف را روی ۴۳۴ پیکسل نگه می‌داشت ⇒ ۵۶۷ پیکسل فضای خالی سمت چپِ کارت.
 * در عوض خودِ کارت است که عرض را محدود می‌کند.
 */
.dmc-hero__desc {
    margin: 0 0 22px; font-size: 14px; line-height: 2.1;
    color: var(--dm-ink-2, #555);
}
.dmc-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.dmc-hero__note { margin: 0; font-size: 12.5px; color: var(--dm-ink-3, #aaa); }
.dmc-hero__note strong { color: var(--dm-ink-1, #1a1a1a); font-weight: 800; }

.dmc-hero__card {
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dmc-card-radius);
    padding: 24px 22px;
    display: flex; flex-direction: column; gap: 16px;
}
.dmc-status { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 800; color: var(--dm-ink-1, #1a1a1a); }
.dmc-status__dot {
    inline-size: 10px; block-size: 10px; border-radius: 50%;
    background: #2f9e6a; box-shadow: 0 0 0 4px rgba(47, 158, 106, .14);
    flex-shrink: 0;
}
.dmc-status__dot[data-open="0"] { background: var(--dm-ink-3, #aaa); box-shadow: 0 0 0 4px rgba(128, 128, 128, .18); }

.dmc-hours { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dmc-hours__row {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding-block: 10px; font-size: 12.5px;
    color: var(--dm-ink-2, #555);
    border-top: 1px solid var(--dm-line, #f0f0f0);
}
.dmc-hours__row:first-child { border-top: none; }
.dmc-hours__val { font-weight: 800; color: var(--dm-ink-1, #1a1a1a); }
.dmc-hours__row--off .dmc-hours__val { color: var(--dm-ink-3, #aaa); }
.dmc-hours__hint { margin: 0; font-size: 11.5px; line-height: 1.9; color: var(--dm-ink-3, #aaa); }

@media (max-width: 991.98px) {
    .dmc-hero { grid-template-columns: 1fr; gap: 14px; margin-bottom: 34px; }
    .dmc-hero__text { padding: 26px 20px 22px; }
    .dmc-hero__title { font-size: 24px; }
}
@media (max-width: 768px) {
    .dmc-hero { margin-bottom: 26px; }
    .dmc-hero__title { font-size: 21px; }
    .dmc-hero__desc { font-size: 13px; }
    .dmc-hero__actions .dmc-btn { flex: 1 1 100%; }
}


/* ════════════════════════════════════════════
   کارت‌های ارتباط سریع
   ════════════════════════════════════════════ */
.dmc-quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--dmc-gap); }
.dmc-quick {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 20px 18px;
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dmc-card-radius);
    transition: border-color .2s, transform .2s;
}
.dmc-quick:hover { border-color: var(--dmc-accent); transform: translateY(-2px); }
.dmc-quick__icon {
    flex-shrink: 0;
    inline-size: 48px; block-size: 48px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--dmc-accent-tint);
    color: var(--dmc-accent);
}
.dmc-quick__icon svg { fill: currentColor; }
.dmc-quick__body { display: flex; flex-direction: column; gap: 3px; min-inline-size: 0; }
.dmc-quick__title { font-size: 13px; font-weight: 800; color: var(--dm-ink-1, #1a1a1a); }
.dmc-quick__value {
    font-size: 13.5px; font-weight: 700; color: var(--dmc-accent);
    overflow-wrap: anywhere;
}
.dmc-quick__sub { font-size: 11.5px; font-weight: 500; color: var(--dm-ink-3, #aaa); line-height: 1.8; }

@media (max-width: 1200px) { .dmc-quick-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
    .dmc-quick-grid { grid-template-columns: 1fr; gap: 10px; }
    .dmc-quick { padding: 16px 14px; gap: 12px; }
    .dmc-quick__icon { inline-size: 42px; block-size: 42px; }
}


/* ════════════════════════════════════════════
   چیدمان فرم + ستون کناری
   ════════════════════════════════════════════ */
.dmc-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    /* کشیده تا دو ستون دقیقاً هم‌قد تمام شوند */
    align-items: stretch;
}
.dmc-aside { display: flex; flex-direction: column; gap: var(--dmc-gap); }

.dmc-card {
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dmc-card-radius);
    padding: 26px 26px 24px;
}
.dmc-card__title { margin: 0 0 16px; font-size: 15px; font-weight: 900; color: var(--dm-ink-1, #1a1a1a); }

@media (max-width: 1100px) { .dmc-layout { grid-template-columns: 1fr; } }
@media (max-width: 768px)  { .dmc-card { padding: 18px 16px; } }


/* ════════════════════════════════════════════
   فرم
   ════════════════════════════════════════════ */
.dmc-form-intro {
    margin: 0 0 22px; padding: 12px 14px;
    background: var(--dmc-accent-tint);
    border-radius: var(--dm-radius, 10px);
    font-size: 12.5px; line-height: 1.95; color: var(--dm-ink-2, #555);
}

.dmc-form { display: flex; flex-direction: column; gap: 18px; }

.dmc-field-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
@media (max-width: 640px) { .dmc-field-row { grid-template-columns: 1fr; gap: 16px; } }

.dmc-field { display: flex; flex-direction: column; gap: 7px; min-inline-size: 0; }
.dmc-label { font-size: 12.5px; font-weight: 800; color: var(--dm-ink-1, #1a1a1a); }
.dmc-req { color: var(--dmc-accent); }

.dmc-input {
    inline-size: 100%;
    min-block-size: 46px;
    padding: 11px 14px;
    font-family: inherit; font-size: 13.5px;
    color: var(--dm-ink-1, #1a1a1a);
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dm-radius, 10px);
    transition: border-color .2s, box-shadow .2s;
}
.dmc-input::placeholder { color: var(--dm-ink-3, #aaa); font-size: 12.5px; }
.dmc-input:hover { border-color: var(--dm-border, #e2e2e2); }
.dmc-input:focus {
    outline: none;
    border-color: var(--dmc-accent);
    box-shadow: 0 0 0 3px var(--dmc-accent-10);
}
.dmc-input[aria-invalid="true"] { border-color: #d24a63; }
.dmc-input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(210, 74, 99, .12); }

.dmc-select {
    appearance: none;
    padding-inline-end: 38px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aaaaaa' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: left 14px center;
    cursor: pointer;
}

.dmc-textarea { min-block-size: 150px; line-height: 2; resize: vertical; }

.dmc-hint { margin: 0; font-size: 11.5px; line-height: 1.8; color: var(--dm-ink-3, #aaa); }

.dmc-error {
    margin: 0; font-size: 11.5px; font-weight: 700; color: #d24a63;
    display: flex; align-items: center; gap: 5px;
}
.dmc-error::before { content: '⚠'; font-size: 12px; }

.dmc-field-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dmc-counter { margin: 0; font-size: 11.5px; color: var(--dm-ink-3, #aaa); margin-inline-start: auto; }

.dmc-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; padding-block: 4px; }
.dmc-check__box {
    inline-size: 18px; block-size: 18px; margin: 4px 0 0;
    accent-color: var(--dmc-accent);
    flex-shrink: 0; cursor: pointer;
}
.dmc-check__text { font-size: 12.5px; line-height: 1.95; color: var(--dm-ink-2, #555); }

.dmc-form-actions {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    border-top: 1px solid var(--dm-line, #f0f0f0);
    margin-top: 4px; padding-block-start: 20px;
}
.dmc-form-privacy { margin: 0; flex: 1 1 220px; font-size: 11.5px; line-height: 1.9; color: var(--dm-ink-3, #aaa); }
@media (max-width: 640px) { .dmc-form-actions .dmc-btn { inline-size: 100%; } }

.dmc-form-result {
    margin: 0; padding: 14px 16px;
    border-radius: var(--dm-radius, 10px);
    font-size: 13px; font-weight: 700; line-height: 1.9;
}
.dmc-form-result[data-state="ok"] {
    background: rgba(47, 158, 106, .10); color: #227952;
    border: 1px solid rgba(47, 158, 106, .28);
}
.dmc-form-result[data-state="err"] {
    background: rgba(210, 74, 99, .08); color: #b23a51;
    border: 1px solid rgba(210, 74, 99, .26);
}


/* ════════════════════════════════════════════
   ستون کناری
   ════════════════════════════════════════════ */
.dmc-info-list { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; }
.dmc-info-item {
    display: flex; align-items: flex-start; gap: 12px;
    padding-block: 14px;
    border-top: 1px solid var(--dm-line, #f0f0f0);
    font-size: 12.5px; line-height: 2;
    color: var(--dm-ink-2, #555);
}
.dmc-info-item:first-child { border-top: none; padding-block-start: 0; }
.dmc-info-item__icon {
    flex-shrink: 0;
    inline-size: 32px; block-size: 32px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    background: var(--dmc-accent-tint);
    color: var(--dmc-accent);
}
.dmc-info-item__icon svg { fill: currentColor; }
.dmc-info-item__icon svg[stroke] { fill: none; }
.dmc-info-item__text { min-inline-size: 0; overflow-wrap: anywhere; }
.dmc-info-item__text a { font-weight: 700; color: var(--dm-ink-1, #1a1a1a); }
.dmc-info-item__text a:hover { color: var(--dmc-accent); }

.dmc-social { padding-top: 18px; border-top: 1px solid var(--dm-line, #f0f0f0); }
.dmc-social__label { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 800; color: var(--dm-ink-1, #1a1a1a); }
.dmc-social__row { display: flex; gap: 8px; flex-wrap: wrap; }
.dmc-social__link {
    inline-size: 40px; block-size: 40px; border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
    background: var(--dm-paper-2, #f8f9fb);
    border: 1px solid var(--dm-line, #f0f0f0);
    color: var(--dm-ink-2, #555);
    transition: background .2s, color .2s, border-color .2s;
}
.dmc-social__link:hover {
    background: var(--dmc-accent);
    border-color: var(--dmc-accent);
    color: var(--dm-white, #fff);
}

.dmc-card--cta { text-align: center; }
.dmc-cta__desc { margin: 0 0 18px; font-size: 12.5px; line-height: 2; color: var(--dm-ink-2, #555); }


/* ════════════════════════════════════════════
   نقشه و دسترسی
   ════════════════════════════════════════════ */
.dmc-map-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--dmc-gap); }
.dmc-map-card {
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dmc-card-radius);
    overflow: hidden;
    display: flex; flex-direction: column;
}
.dmc-map-canvas {
    position: relative;
    min-block-size: 300px;
    background:
        linear-gradient(var(--dm-line, #f0f0f0) 1px, transparent 1px) 0 0 / 44px 44px,
        linear-gradient(90deg, var(--dm-line, #f0f0f0) 1px, transparent 1px) 0 0 / 44px 44px,
        var(--dm-paper-2, #f8f9fb);
    display: flex; align-items: center; justify-content: center;
}
.dmc-map-pin { color: var(--dmc-accent); filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .12)); }
.dmc-map-pin svg { fill: currentColor; }
.dmc-map-foot {
    padding: 18px 20px;
    border-top: 1px solid var(--dm-line, #f0f0f0);
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.dmc-map-address { margin: 0; flex: 1 1 240px; font-size: 12.5px; line-height: 1.95; color: var(--dm-ink-2, #555); }
.dmc-map-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.dmc-branch-list { display: flex; flex-direction: column; gap: var(--dmc-gap); }
.dmc-branch {
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dmc-card-radius);
    padding: 18px 20px;
    border-inline-start: 3px solid var(--dmc-accent);
}
.dmc-branch__name { margin: 0 0 6px; font-size: 13.5px; font-weight: 800; color: var(--dm-ink-1, #1a1a1a); }
.dmc-branch__addr { margin: 0 0 6px; font-size: 12.5px; line-height: 1.95; color: var(--dm-ink-2, #555); }
.dmc-branch__meta { margin: 0; font-size: 11.5px; color: var(--dm-ink-3, #aaa); }

@media (max-width: 991.98px) {
    .dmc-map-layout { grid-template-columns: 1fr; }
    .dmc-map-canvas { min-block-size: 220px; }
}
@media (max-width: 640px) {
    .dmc-map-foot { padding: 14px; }
    .dmc-map-actions { inline-size: 100%; }
    .dmc-map-actions .dmc-btn { flex: 1 1 0; }
}


/* ════════════════════════════════════════════
   پرسش‌های پرتکرار
   ════════════════════════════════════════════ */
.dmc-faq { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--dmc-gap); align-items: start; }
.dmc-faq__item {
    background: var(--dm-paper, #fff);
    border: 1px solid var(--dm-line, #f0f0f0);
    border-radius: var(--dmc-card-radius);
    padding: 4px 20px;
    transition: border-color .2s;
}
.dmc-faq__item[open] { border-color: var(--dmc-accent-20); }
.dmc-faq__q {
    list-style: none;
    display: flex; align-items: center; gap: 10px;
    padding-block: 16px;
    font-size: 13.5px; font-weight: 800; color: var(--dm-ink-1, #1a1a1a);
    cursor: pointer;
}
.dmc-faq__q::-webkit-details-marker { display: none; }
.dmc-faq__q::before {
    content: '+';
    flex-shrink: 0;
    inline-size: 24px; block-size: 24px; border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    background: var(--dmc-accent-tint);
    color: var(--dmc-accent);
    font-size: 15px; font-weight: 800; line-height: 1;
}
.dmc-faq__item[open] .dmc-faq__q::before { content: '−'; }
.dmc-faq__a {
    padding: 0 34px 18px;
    font-size: 12.5px; line-height: 2.1; color: var(--dm-ink-2, #555);
    border-top: 1px solid var(--dm-line, #f0f0f0);
    padding-block-start: 14px;
}

@media (max-width: 991.98px) { .dmc-faq { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
    .dmc-faq__item { padding-inline: 14px; }
    .dmc-faq__a { padding-inline: 0; }
}

/* محتوای ویرایشگر برگه، اگر مدیر چیزی نوشته باشد */
.dmc-editor-content { color: var(--dm-ink-2, #555); line-height: 2.1; }
.dmc-editor-content :where(h1, h2, h3, h4) { color: var(--dm-ink-1, #1a1a1a); }


/* ════════════════════════════════════════════
   حالت شب — فقط چیزهایی که با توکن درست نمی‌شوند
   ⚠ بقیهٔ صفحه خودکار برمی‌گردد، چون همه‌جا توکن مصرف شده.
   این چند قانون برای رنگ‌های وضعیت (سبز/قرمز) است که روی زمینهٔ
   تیره کم‌کنتراست می‌شوند، و برای فلشِ سلکت که تصویرِ درون‌خطی است.
   ════════════════════════════════════════════ */
body.theme-dark .dmc-form-result[data-state="ok"] {
    background: rgba(47, 158, 106, .16);
    color: #6ddba7;
    border-color: rgba(47, 158, 106, .38);
}
body.theme-dark .dmc-form-result[data-state="err"] {
    background: rgba(210, 74, 99, .16);
    color: #ff8fa3;
    border-color: rgba(210, 74, 99, .38);
}
body.theme-dark .dmc-error { color: #ff8fa3; }
body.theme-dark .dmc-input[aria-invalid="true"] { border-color: #ff8fa3; }

body.theme-dark .dmc-status__dot { box-shadow: 0 0 0 4px rgba(47, 158, 106, .22); }

/* فلشِ سلکت خاکستریِ روشن بود و روی زمینهٔ تیره تقریباً محو می‌شد */
body.theme-dark .dmc-select {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfd2dd' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

/* سایهٔ سنجاقِ نقشه روی زمینهٔ تیره دیده نمی‌شود */
body.theme-dark .dmc-map-pin { filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .55)); }

/*
 * ⚠ حالتِ شبِ قالب، ورودی‌ها را با نوعِ عنصر هدف می‌گیرد (وزنِ ۰-۲-۱) و از
 * کلاسِ ما بالاتر می‌ایستد؛ این خط فقط حاشیهٔ فوکوس را با بقیهٔ صفحه یکی می‌کند.
 */
body.theme-dark .dmc-input:focus { box-shadow: 0 0 0 3px var(--dmc-accent-20); }


/* ════════════════════════════════════════════
   کاهش حرکت
   ════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
    .dmc-page *, .dmc-page *::before, .dmc-page *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
