/* دکمه‌ی «تماس بگیرید» برای محصولات بدون قیمت (فروشگاه + پیش‌نمایش پنل) */

.dwps-call {
    --dwps-c: #e8590c;
    --dwps-fg: #fff;
    --dwps-ink: #c2410c;
    --dwps-rgb: 232, 89, 12;
    display: block;
    margin: .4em 0;
    line-height: 1.4;
}

.dwps-call .dwps-call-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55em;
    width: var(--dwps-w, auto);
    height: var(--dwps-h, auto);
    max-width: 100%;
    box-sizing: border-box;
    padding: var(--dwps-py, .6em) var(--dwps-px, 1.25em);
    font-family: inherit;
    font-size: var(--dwps-fs, .88em);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid var(--dwps-c);
    border-radius: 10px;
    background: var(--dwps-c);
    color: var(--dwps-fg);
    box-shadow: 0 4px 14px rgba(var(--dwps-rgb), .28);
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}

.dwps-call a.dwps-call-btn,
.dwps-call a.dwps-call-btn:visited {
    color: var(--dwps-fg) !important;
    text-decoration: none !important;
}

.dwps-call .dwps-call-ico {
    flex: 0 0 auto;
    width: 1.15em;
    height: 1.15em;
}

/* حالت‌ها */
.dwps-call .dwps-call-btn--outline {
    background: transparent;
    color: var(--dwps-ink);
    box-shadow: none;
}
.dwps-call a.dwps-call-btn--outline,
.dwps-call a.dwps-call-btn--outline:visited {
    color: var(--dwps-ink) !important;
}

.dwps-call .dwps-call-btn--soft {
    background: rgba(var(--dwps-rgb), .12);
    border-color: transparent;
    color: var(--dwps-ink);
    box-shadow: none;
}
.dwps-call a.dwps-call-btn--soft,
.dwps-call a.dwps-call-btn--soft:visited {
    color: var(--dwps-ink) !important;
}

/* اندازه‌ها */
.dwps-call .dwps-call-btn--s-sm { --dwps-fs: .8em;  --dwps-py: .42em; --dwps-px: 1em; border-width: 1.5px; }
.dwps-call .dwps-call-btn--s-md { --dwps-fs: .88em; --dwps-py: .6em;  --dwps-px: 1.25em; }
.dwps-call .dwps-call-btn--s-lg { --dwps-fs: .98em; --dwps-py: .75em; --dwps-px: 1.6em; }

/* گوشه‌ها */
.dwps-call .dwps-call-btn--r-sm { border-radius: 5px; }
.dwps-call .dwps-call-btn--r-md { border-radius: 10px; }
.dwps-call .dwps-call-btn--r-lg { border-radius: 16px; }
.dwps-call .dwps-call-btn--r-pill { border-radius: 999px; }

/* حالت‌های هاور/فوکوس (فقط برای دکمه‌ی لینک‌دار) */
.dwps-call a.dwps-call-btn:hover,
.dwps-call a.dwps-call-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(var(--dwps-rgb), .34);
}
.dwps-call a.dwps-call-btn--outline:hover,
.dwps-call a.dwps-call-btn--outline:focus-visible {
    background: var(--dwps-c);
    color: var(--dwps-fg) !important;
}
.dwps-call a.dwps-call-btn--soft:hover,
.dwps-call a.dwps-call-btn--soft:focus-visible {
    background: rgba(var(--dwps-rgb), .22);
    box-shadow: none;
}
.dwps-call a.dwps-call-btn:focus-visible {
    outline: 2px solid var(--dwps-ink);
    outline-offset: 2px;
}
.dwps-call a.dwps-call-btn:active { transform: translateY(0); }

/* دکمه‌ی بدون لینک (نمایشی) */
.dwps-call .dwps-call-btn--static { cursor: inherit; }

/* لیست محصولات / ویجت‌ها: دکمه‌ی جمع‌وجورتر و تمام‌عرض */
.dwps-call--loop { margin: .35em 0 0; }
.dwps-call--loop .dwps-call-btn {
    display: flex;
    width: var(--dwps-w, 100%);
    padding: calc(var(--dwps-py, .6em) * .85) calc(var(--dwps-px, 1.25em) * .7);
    font-size: calc(var(--dwps-fs, .88em) * .95);
}

/* صفحه‌ی محصولِ «تماس بگیرید»: فرم افزودن به سبد (و پیام «ناموجود» واریانت‌های بدون قیمت) پنهان می‌شود */
body.dwps-call-product form.cart,
body.dwps-call-product .single_add_to_cart_button,
body.dwps-call-product .woocommerce-variation-add-to-cart {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .dwps-call .dwps-call-btn { transition: none; }
    .dwps-call a.dwps-call-btn:hover,
    .dwps-call a.dwps-call-btn:focus-visible { transform: none; }
}

/* ---------- پنل مدیریت: کادر پیش‌نمایش ---------- */
.dwps-cfp-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 92px;
    padding: 20px;
    border: 1px dashed var(--dw-border, #d0d5dd);
    border-radius: var(--dw-radius-sm, 10px);
    background: var(--dw-surface-2, #f8f9fb);
}
.dwps-cfp-preview .dwps-call { margin: 0; }
.dwps-cfp-preview .dwps-call { font-size: 15px; }
.dwps-cfp-f[hidden] { display: none !important; }
