/*
 * Brand fills that carry white text, darkened to at least 4.5:1 (WCAG AA).
 *
 * Shared by the Virtual Office layout, the Store Portal layouts and the
 * frontend layout; load it after page stylesheets. Hues stay the same and only
 * the shade drops (Tailwind 600/700 steps). Every stop in a gradient has to
 * pass on its own because text can sit anywhere along it.
 *
 *   primary blue   #4f6fff 4.16  ->  #4361ee 5.02
 *   violet         #8b5cf6 4.23  ->  #7c3aed 5.70
 *   purple end     #a855f7 3.96  ->  #9333ea 5.38
 *   indigo         #6366f1 4.47  ->  #4f46e5 6.29
 *   sky            #0ea5e9 2.77  ->  #0369a1 5.93
 *   orange         #ff7a45 2.59  ->  #c2410c 5.18
 *   amber          #f59e0b 2.15  ->  #b45309 5.02
 *   green          #4dc187 2.26  ->  #047857 5.48 / #15803d 5.02
 *   red            #f0736b 2.85  ->  #dc2626 4.83
 *
 * `html body` prefixes keep these ahead of page rules regardless of load
 * order; !important is used only where the source rule already has it.
 */

/* ------------------------------------------------------------------ */
/* Virtual Office shared tokens (affiliate-vo-premium.css)             */
/* ------------------------------------------------------------------ */

:root {
    --vo-p-blue: #4361ee;
    --vo-p-blue-2: #5b4cf0;
    --vo-p-violet: #7c3aed;
}

html body .btn-gradient-primary,
html body.dark .btn-gradient-primary {
    background-image: linear-gradient(115deg, #3754db 50%, #c42b35 120%);
}

html body .btn-gradient-secondary,
html body.dark .btn-gradient-secondary {
    background-image: linear-gradient(to right, var(--secondary_500, #805dca) 0%, #4361ee 100%);
}

/* Create / edit product tabs */
html body .vo-create-product .vo-create-product-tabs .nav.nav-pills .nav-item .nav-link.active {
    background: linear-gradient(135deg, #4361ee 0%, #5b4cf0 46%, #7c3aed 100%);
}

html body.dark .vo-create-product .vo-create-product-tabs .nav.nav-pills .nav-item .nav-link.active {
    background: linear-gradient(135deg, #4361ee 0%, #6d4fe8 48%, #9333ea 100%);
}

/* ------------------------------------------------------------------ */
/* Purple heroes and pills ending in #a855f7                           */
/* ------------------------------------------------------------------ */

html body .sl-hero,
html body .sp-head {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 55%, #9333ea 100%);
}

html body .ew-bank-nav .nav-link.active {
    background: linear-gradient(135deg, #4361ee 0%, #7c3aed 55%, #9333ea 100%) !important;
}

/* Shop list */
html body {
    --sl-primary: #4f46e5;
    --sl-primary-2: #7c3aed;
}

html body .sl-meter-card {
    background: rgba(255, 255, 255, 0.08);
}

html body .sl-meter-top span,
html body .sl-meter-note {
    opacity: 1;
}

html body .sl-btn--danger {
    color: #b91c1c;
}

html body .sl-btn--upgrade {
    background: linear-gradient(135deg, #b45309, #c2410c);
}

/* ------------------------------------------------------------------ */
/* E-wallet                                                            */
/* ------------------------------------------------------------------ */

html body .ew-card,
html body .ew-card-ecash {
    background:
        radial-gradient(ellipse 90% 80% at 88% 18%, rgba(167, 243, 208, 0.22), transparent 55%),
        radial-gradient(ellipse 70% 60% at 12% 90%, rgba(5, 150, 105, 0.4), transparent 55%),
        linear-gradient(135deg, #064e3b 0%, #065f46 42%, #047857 100%);
}

html body .ew-page .ew-card .ew-balance-label {
    color: rgba(255, 255, 255, 0.94);
    opacity: 1;
}

html body .ew-convert-btn {
    background:
        radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.18), transparent 45%),
        linear-gradient(145deg, #047857 0%, #065f46 100%);
}

html body .ew-bank-add-btn {
    color: #fff !important;
    background: #b45309 !important;
    border-color: #b45309 !important;
}

/* ------------------------------------------------------------------ */
/* Marketplace + checkout orange CTAs                                  */
/* ------------------------------------------------------------------ */

html body .mp-mode-btn.is-active,
html body .mp-filter-card.is-active {
    background: linear-gradient(145deg, #c2410c 0%, #9a3412 100%);
}

html body .mp-search-submit,
html body .mp-cart-btn {
    background: linear-gradient(135deg, #c2410c 0%, #9a3412 100%);
}

html body .mp-badge-new {
    background: #c2410c;
}

html body .mp-sold-badge,
html body .mp-cart-btn.is-added {
    background: linear-gradient(135deg, #065f46 0%, #047857 100%);
}

html body .ck-page,
html body .ck-new-addr-modal,
html body .ck-addr-drawer {
    --ck-gradient: linear-gradient(145deg, #c2410c 0%, #9a3412 100%);
}

html body .ck-page .ck-addr-add-tile__plus {
    background: linear-gradient(135deg, #c2410c 0%, #9a3412 100%);
}

html body .ck-page .btn-outline-primary:hover,
html body .ck-page .btn-outline-success:hover,
html body.dark .ck-page .btn-outline-primary:hover,
html body.dark .ck-page .btn-outline-success:hover {
    background: linear-gradient(145deg, #c2410c 0%, #9a3412 100%) !important;
}

/* ------------------------------------------------------------------ */
/* Store Portal                                                        */
/* ------------------------------------------------------------------ */

html body .sp-logout {
    background: linear-gradient(135deg, #c42b35, #dc2626);
}

html body .sp-kyc-cta.is-todo { background: linear-gradient(135deg, #0369a1, #4f46e5); }
html body .sp-kyc-cta.is-warn { background: linear-gradient(135deg, #b45309, #c2410c); }
html body .sp-kyc-cta.is-bad { background: linear-gradient(135deg, #dc2626, #be185d); }
html body .sp-kyc-cta.is-ok { background: linear-gradient(135deg, #15803d, #0f766e); }

html body .skyc-hero,
html body .bs-hero {
    background: linear-gradient(120deg, #0369a1 0%, #4f46e5 52%, #6d28d9 100%);
}

html body .cs-hero {
    background: linear-gradient(120deg, #4361ee 0%, #5b4cf0 48%, #6d28d9 100%);
}

html body .ds-hero {
    background: linear-gradient(120deg, #5b4cf0 0%, #6d28d9 45%, #4338ca 100%);
}

html body :is(.cs-hero, .ds-hero, .bs-hero, .skyc-hero) :is([class*="__eyebrow"], [class*="__sub"], [class*="__lead"]) {
    opacity: 1;
}

html body :is(.cs-hero__cta, .ds-hero__cta, .bs-hero__cta) {
    background: rgba(15, 23, 42, 0.18);
}

html body :is(.cs-hero__cta, .ds-hero__cta, .bs-hero__cta):hover {
    background: rgba(15, 23, 42, 0.3);
}

html body .bs-add-btn,
html body .sp-btn {
    background: linear-gradient(120deg, #4f46e5, #7c3aed);
}

/* Login page footer (light-only page, #94a3b8 is 2.6:1) */
html body .sp-foot {
    color: #64748b;
}

html body .pos-product-card__demo {
    background: linear-gradient(120deg, #b45309, #b91c1c);
}

html body .pos-place-order {
    background: linear-gradient(135deg, #047857, #15803d) !important;
}

/* ------------------------------------------------------------------ */
/* Frontend (light only): aiz-core placeholders are #898b92 (3.4:1)    */
/* ------------------------------------------------------------------ */

.aiz-main-wrapper .form-control::placeholder {
    color: #6b6e76;
    opacity: 1;
}
