/* Zopnexa brand overrides on top of Evara main.css (brand colours already swapped in main.css) */
:root {
    --zpx-primary: #6d28d9;
    --zpx-primary-dark: #4c1d95;
    --zpx-accent: #f7811e;
    --zpx-ink: #1e0a4c;
}

.logo.logo-width-1 a img { max-width: 170px; height: auto; }
.mobile-header-logo img { max-width: 140px; }
.preloader .loader .bar { background: var(--zpx-primary); }

.product-cart-wrap .product-badges span.sale { background-color: var(--zpx-accent); }
.newsletter { background: linear-gradient(90deg, var(--zpx-primary) 0%, var(--zpx-ink) 100%); }

.single-hero-slider .single-slider-img img { max-height: 420px; object-fit: contain; }

/* variant picker on product page */
.zpx-variants { display: flex; flex-wrap: wrap; gap: 8px; }
.zpx-variants label { margin: 0; }
.zpx-variants input { position: absolute; opacity: 0; pointer-events: none; }
.zpx-variants span {
    display: inline-block; padding: 6px 14px; border: 1px solid #ddd; border-radius: 4px;
    cursor: pointer; font-size: 14px; transition: all .15s;
}
.zpx-variants input:checked + span { border-color: var(--zpx-primary); background: var(--zpx-primary); color: #fff; }
.zpx-variants input:disabled + span { opacity: .4; text-decoration: line-through; cursor: not-allowed; }

.detail-qty input.qty-val { width: 40px; border: 0; text-align: center; padding: 0; height: auto; background: transparent; }

.zpx-toast {
    position: fixed; right: 20px; bottom: 20px; z-index: 9999; max-width: 320px;
    padding: 12px 18px; border-radius: 6px; color: #fff; background: var(--zpx-ink);
    box-shadow: 0 8px 24px rgba(0,0,0,.15); opacity: 0; transform: translateY(10px); transition: all .25s;
}
.zpx-toast.show { opacity: 1; transform: none; }
.zpx-toast.error { background: #d9534f; }

.cart-table .qty-input { width: 70px; text-align: center; }
.order-summary-row { display: flex; justify-content: space-between; padding: 6px 0; }
.order-summary-row.total { border-top: 1px solid #eee; margin-top: 6px; padding-top: 12px; font-weight: 700; font-size: 18px; }

.form-group .invalid-feedback { display: block; }
.account-sidebar .nav-link { border-radius: 4px; }
.status-steps { display: flex; gap: 6px; flex-wrap: wrap; }
.status-steps .step { padding: 4px 10px; border-radius: 20px; background: #f1f1f1; font-size: 13px; }
.status-steps .step.done { background: var(--zpx-primary); color: #fff; }
.page-content img { max-width: 100%; height: auto; }

/* top bar: replace theme's green */
.header-style-1 .header-top-ptb-1 { background-color: #f3eefe; border-bottom: 3px solid var(--zpx-primary); }
.header-top-ptb-1 { background-image: none; }
