/* Partner cards — brand card color + hover glow (no blink).
   Premium uses admin bg_color (--brand) for glow/badge/bar. */

/* ── Base ─────────────────────────────────────────────────────────── */
.partners-grid .partner,
.rail .partner,
.partner {
    background: var(--color-surface-2);
    border-color: var(--color-border);
    box-shadow:
        0 1px 0 color-mix(in srgb, #fff 4%, transparent) inset,
        0 8px 22px rgba(0, 0, 0, 0.22);
}

.partner__glow {
    opacity: 0.55;
    background: radial-gradient(
        120% 95% at 50% -15%,
        color-mix(in srgb, var(--brand, var(--color-primary)) 42%, transparent),
        transparent 62%
    );
}

.partner__bar > span {
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--brand, var(--color-primary)) 70%, #000),
        var(--brand, var(--color-primary))
    );
}

.partner__rate-value {
    color: var(--brand, var(--color-primary));
}

/* ── Card color from admin bg_color (--brand) ─────────────────────── */
.partner--custom-bg {
    background:
        linear-gradient(
            165deg,
            color-mix(in srgb, var(--brand) 28%, var(--color-surface-2)) 0%,
            color-mix(in srgb, var(--brand) 10%, var(--color-surface-2)) 45%,
            var(--color-surface-2) 100%
        );
    border-color: color-mix(in srgb, var(--brand) 36%, var(--color-border));
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--brand) 18%, transparent),
        0 0 18px color-mix(in srgb, var(--brand) 14%, transparent),
        0 10px 26px rgba(0, 0, 0, 0.24),
        0 1px 0 color-mix(in srgb, #fff 4%, transparent) inset;
}

.partner--custom-bg .partner__glow {
    opacity: 0.78;
    background: radial-gradient(
        125% 100% at 50% -12%,
        color-mix(in srgb, var(--brand) 58%, transparent),
        transparent 64%
    );
}

.partner--custom-bg .partner__stats {
    border-color: color-mix(in srgb, var(--brand) 22%, var(--color-border));
    background: color-mix(in srgb, var(--brand) 6%, var(--color-bg));
}

.partner--custom-bg .partner__bar > span {
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--brand) 70%, #000),
        var(--brand),
        color-mix(in srgb, var(--brand) 65%, #fff)
    );
}

.partner--custom-bg .partner__rate-value {
    color: var(--brand);
}

/* Hover — brand glow (not forced yellow) */
.rail .partner--custom-bg:hover,
.partners-grid .partner--custom-bg:hover,
.partner--custom-bg:hover {
    border-color: color-mix(in srgb, var(--brand) 58%, var(--color-border)) !important;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.2),
        0 0 36px color-mix(in srgb, var(--brand) 42%, transparent),
        0 16px 36px color-mix(in srgb, var(--brand) 22%, transparent),
        0 0 0 1px color-mix(in srgb, var(--brand) 40%, var(--color-border)) !important;
}

.rail .partner--custom-bg:hover .partner__glow,
.partners-grid .partner--custom-bg:hover .partner__glow {
    opacity: 1;
    background: radial-gradient(
        130% 110% at 50% -8%,
        color-mix(in srgb, var(--brand) 70%, transparent),
        transparent 68%
    );
}

.rail .partner--custom-bg:hover .partner__wordmark,
.partners-grid .partner--custom-bg:hover .partner__wordmark {
    color: color-mix(in srgb, var(--brand) 85%, #fff);
    text-shadow: 0 2px 18px color-mix(in srgb, var(--brand) 55%, transparent);
}

/* ── Premium — same card color system + PREMIUM badge chrome ──────── */
.partner--premium {
    --premium-accent: var(--brand, var(--color-coin));
    --premium-accent-deep: color-mix(in srgb, var(--premium-accent) 72%, #000);
    animation: none !important;
}

.partner--premium.partner--custom-bg {
    --premium-accent: var(--brand);
    --premium-accent-deep: color-mix(in srgb, var(--brand) 72%, #000);
}

.partner--premium:after {
    display: none !important;
}

.partner--premium .partner__aura {
    opacity: 0.9;
    animation: none !important;
    background:
        linear-gradient(
            165deg,
            color-mix(in srgb, var(--premium-accent) 22%, var(--color-surface-2)) 0%,
            var(--color-surface-2) 62%
        )
            padding-box,
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--premium-accent) 75%, transparent),
            color-mix(in srgb, var(--premium-accent) 25%, transparent) 40%,
            transparent 65%,
            color-mix(in srgb, var(--premium-accent) 55%, transparent)
        )
            border-box;
    border: 1.5px solid transparent;
}

.partner--premium .partner__glow {
    opacity: 0.85;
    animation: none !important;
    background: radial-gradient(
        130% 110% at 50% -8%,
        color-mix(in srgb, var(--premium-accent) 55%, transparent),
        transparent 66%
    );
}

.partner--premium .partner__stats {
    border-color: color-mix(in srgb, var(--premium-accent) 28%, var(--color-border));
    background: color-mix(in srgb, var(--premium-accent) 6%, var(--color-bg));
}

.partner--premium .partner__bar > span {
    background: linear-gradient(
        90deg,
        var(--premium-accent-deep),
        var(--premium-accent),
        color-mix(in srgb, var(--premium-accent) 70%, #fff)
    );
}

.partner--premium .partner__rate-value {
    color: var(--premium-accent);
    text-shadow: 0 0 12px color-mix(in srgb, var(--premium-accent) 40%, transparent);
}

.partner--premium .partner__rate-label {
    color: color-mix(in srgb, var(--premium-accent) 60%, var(--color-text-subtle));
}

.partner--premium .partner__premium-label,
.partner__premium-label {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--premium-accent, var(--color-coin)) 78%, #fff) 0%,
        var(--premium-accent, var(--color-coin)) 50%,
        var(--premium-accent-deep, #d97706) 100%
    );
    color: #14110c;
    box-shadow:
        0 0 12px color-mix(in srgb, var(--premium-accent, var(--color-coin)) 45%, transparent),
        0 2px 6px rgba(0, 0, 0, 0.35);
}

/* Premium hover — stronger brand glow (2nd img PubScale style) */
.rail .partner--premium:hover,
.partners-grid .partner--premium:hover,
.rail .partner--premium.partner--custom-bg:hover,
.partners-grid .partner--premium.partner--custom-bg:hover,
.partner--premium:hover {
    border-color: color-mix(in srgb, var(--premium-accent) 65%, var(--color-border)) !important;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.22),
        0 0 42px color-mix(in srgb, var(--premium-accent) 48%, transparent),
        0 18px 40px color-mix(in srgb, var(--premium-accent) 26%, transparent),
        0 0 0 1px color-mix(in srgb, var(--premium-accent) 45%, var(--color-border)) !important;
}

.rail .partner--premium:hover .partner__glow,
.partners-grid .partner--premium:hover .partner__glow {
    opacity: 1;
    background: radial-gradient(
        135% 115% at 50% -6%,
        color-mix(in srgb, var(--premium-accent) 72%, transparent),
        transparent 70%
    );
}

.rail .partner--premium:hover .partner__aura,
.partners-grid .partner--premium:hover .partner__aura {
    opacity: 1;
}

.rail .partner--premium:hover .partner__wordmark,
.partners-grid .partner--premium:hover .partner__wordmark {
    color: color-mix(in srgb, var(--premium-accent) 88%, #fff);
    text-shadow: 0 2px 18px color-mix(in srgb, var(--premium-accent) 55%, transparent);
}

/* No blink / pulse / shine */
.partner--premium,
.partner--premium:after,
.partner--premium .partner__glow,
.partner--premium .partner__aura,
.partner__aura {
    animation: none !important;
}

/* Locked cards: show only "Locked", hide "Unavailable" label */
.partner--locked .partner__rate-label {
    display: none !important;
}

.partner--locked .partner__rate {
    justify-content: center;
}

.partner--locked .partner__rate-value {
    letter-spacing: var(--tracking-wide, 0.04em);
}
