/* =====================================================================
 *  باشگاه مشتریان ووکامرس — پنل امتیاز/کیف پول در Cart & Checkout Blocks
 *  ری‌دیزاین نسخه 6.12.1 — یکپارچه با تسویه‌حساب بلوکی و دارک‌مود.
 * ===================================================================== */

.wlc-blocks-panel {
    --wlcb-accent: var(--wp--preset--color--primary, #6d28d9);
    --wlcb-ink: var(--wp--preset--color--contrast, #1e1e1e);
    --wlcb-surface: var(--wc-background-color, #fff);
    --wlcb-line: var(--wc-form-border-color, #e2e6ee);
    --wlcb-muted: #64748b;

    box-sizing: border-box;
    width: 100%;
    margin-block: 1rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--wlcb-line);
    border-radius: 14px;
    background: var(--wlcb-surface);
    color: inherit;
    font: inherit;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .04);
}

.wlc-blocks-panel *,
.wlc-blocks-panel *::before,
.wlc-blocks-panel *::after { box-sizing: border-box; }

.wlc-blocks-panel__header {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-block-end: .9rem;
    font-size: 1.02rem;
    font-weight: 700;
}
.wlc-blocks-panel__header::before {
    content: "";
    width: .55rem; height: 1.1rem;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--wlcb-accent), color-mix(in srgb, var(--wlcb-accent) 60%, #000));
}

.wlc-blocks-panel__section + .wlc-blocks-panel__section {
    margin-block-start: 1rem;
    padding-block-start: 1rem;
    border-block-start: 1px solid color-mix(in srgb, var(--wlcb-line) 80%, transparent);
}

.wlc-blocks-panel__section--earning {
    padding: .8rem;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    background: #ecfdf3;
}

.wlc-blocks-panel__section--earning .wlc-blocks-panel__row--summary {
    margin-block-end: .35rem;
    background: transparent;
    color: #166534;
}

.wlc-blocks-panel__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.wlc-blocks-panel__row--summary {
    margin-block-end: .7rem;
    padding: .55rem .75rem;
    border-radius: 10px;
    background: color-mix(in srgb, var(--wlcb-accent) 6%, transparent);
    font-size: .875rem;
    font-weight: 600;
}

.wlc-blocks-panel__label,
.wlc-blocks-panel__help,
.wlc-blocks-panel__applied { display: block; }

.wlc-blocks-panel__label {
    margin-block-end: .45rem;
    font-weight: 700;
}

.wlc-blocks-panel__controls {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: .55rem;
}

.wlc-blocks-panel__input {
    min-width: 8rem;
    flex: 1 1 9rem;
    min-height: 2.85rem;
    padding-inline: .85rem;
    border: 1px solid var(--wlcb-line);
    border-radius: 10px;
    background: color-mix(in srgb, var(--wlcb-ink) 3%, transparent);
    color: inherit;
    font: inherit;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.wlc-blocks-panel__input:focus {
    outline: none;
    border-color: var(--wlcb-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--wlcb-accent) 22%, transparent);
}

.wlc-blocks-panel__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: .65rem 1.15rem;
    border: 1px solid transparent;
    border-radius: 10px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--wlcb-accent) 92%, #fff), var(--wlcb-accent));
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--wlcb-accent) 26%, transparent);
    transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.wlc-blocks-panel__button:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.05); }

.wlc-blocks-panel__button--link {
    background: transparent;
    color: var(--wlcb-accent);
    border-color: var(--wlcb-line);
    box-shadow: none;
    font-weight: 600;
}
.wlc-blocks-panel__button--link:hover:not(:disabled) { background: color-mix(in srgb, var(--wlcb-accent) 8%, transparent); }

.wlc-blocks-panel__button:disabled,
.wlc-blocks-panel__input:disabled { cursor: not-allowed; opacity: .55; transform: none; box-shadow: none; }

.wlc-blocks-panel__wallet {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .65rem .75rem;
    border: 1px solid var(--wlcb-line);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.wlc-blocks-panel__wallet:hover { border-color: color-mix(in srgb, var(--wlcb-accent) 40%, var(--wlcb-line)); background: color-mix(in srgb, var(--wlcb-accent) 4%, transparent); }
.wlc-blocks-panel__wallet input {
    width: 1.2rem; height: 1.2rem; margin: 0;
    accent-color: var(--wlcb-accent);
}

.wlc-blocks-panel__help,
.wlc-blocks-panel__applied {
    margin-block-start: .45rem;
    color: var(--wlcb-muted);
    font-size: .8125rem;
}
.wlc-blocks-panel__applied { color: color-mix(in srgb, var(--wlcb-accent) 85%, #000); font-weight: 600; }

.wlc-blocks-panel__error {
    margin-block-start: .75rem;
    padding: .65rem .8rem;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fef2f2;
    color: #991b1b;
    font-size: .875rem;
}

@media (prefers-color-scheme: dark) {
    .wlc-blocks-panel { --wlcb-line: #2a3346; --wlcb-muted: #94a0b4; box-shadow: 0 1px 2px rgba(0,0,0,.3); }
    .wlc-blocks-panel__error { background: rgba(220, 38, 38, .14); border-color: rgba(220, 38, 38, .3); color: #fca5a5; }
}

@media (max-width: 480px) {
    .wlc-blocks-panel__controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .wlc-blocks-panel__button--link { grid-column: 1 / -1; }
}
