/**
 * Theme Pages Final — last cascade layer (footer)
 * Forces preset theme tokens on page-specific CSS loaded in body.
 */

/* ── Auth (/login, /register, /about) ── */
.auth-page {
    background: var(--auth-bg) !important;
    background-image: var(--auth-bg-glow) !important;
    color: var(--auth-text) !important;
}

.auth-card {
    background: var(--auth-card) !important;
    border-color: var(--auth-card-border) !important;
    color: var(--auth-text) !important;
}

.auth-card__title,
.public-about-hero__title,
.public-about-card__title {
    color: var(--auth-heading) !important;
}

.auth-card__subtitle,
.auth-form__label,
.public-about-hero__text,
.public-about-card__text {
    color: var(--auth-text-secondary) !important;
}

.auth-form__input,
.auth-form__select,
.phone-prefix {
    background: var(--auth-input-bg) !important;
    border-color: var(--auth-input-border) !important;
    color: var(--auth-text) !important;
}

.auth-form__input:focus,
.auth-form__select:focus {
    border-color: var(--auth-input-focus) !important;
    background: var(--auth-input-bg) !important;
}

.auth-form__submit,
.auth-card__logo,
.public-about-hero__icon {
    background: var(--auth-blue) !important;
    color: var(--button-text, #fff) !important;
}

.auth-form__link a,
.auth-change-country a,
.public-about-stat__value,
.public-about-card__icon {
    color: var(--link-color, color-mix(in srgb, var(--primary-color) 80%, #fff)) !important;
}

/* ── Profile ── */
.profile-page {
    --prof-surface: var(--dash-card) !important;
    --prof-border: var(--dash-card-border) !important;
    --prof-text: var(--dash-text) !important;
    --prof-text-muted: var(--dash-text-secondary) !important;
    --prof-accent: var(--primary-color) !important;
    --prof-accent-soft: var(--w-primary-soft, color-mix(in srgb, var(--primary-color) 14%, transparent)) !important;
    --prof-input-bg: var(--theme-input-bg) !important;
    --prof-success: var(--success-color) !important;
    --prof-danger: var(--danger-color) !important;
}

.profile-card,
.profile-step,
.profile-security-status {
    background: var(--prof-surface) !important;
    border-color: var(--prof-border) !important;
    color: var(--prof-text) !important;
}

.profile-card__title,
.profile-hero__name,
.profile-field label,
.profile-2fa-triggers__title {
    color: var(--prof-text) !important;
}

.profile-btn--primary {
    background: var(--theme-gradient-primary) !important;
    color: var(--button-text, #fff) !important;
}

.profile-avatar-edit {
    background: var(--primary-color) !important;
}

.profile-switch__input:checked + .profile-switch__track {
    background: var(--success-color) !important;
}

/* ── Orders ── */
.orders-page-v2,
.order-details-v2.order-details-page {
    background: var(--orders-bg, var(--dash-bg)) !important;
    color: var(--orders-text, var(--dash-text)) !important;
}

.orders-card,
.orders-filters,
.orders-shipping-block,
.orders-empty {
    background: var(--orders-card, var(--dash-card)) !important;
    border-color: var(--orders-border, var(--dash-card-border)) !important;
    color: var(--orders-text, var(--dash-text)) !important;
}

.orders-filters__submit {
    background: var(--orders-blue, var(--primary-color)) !important;
    color: var(--button-text, #fff) !important;
}

.order-details-v2 .delivery-card__content {
    background: var(--reply-bg) !important;
    color: var(--reply-text) !important;
    border-color: var(--reply-border) !important;
}

/* ── Notifications ── */
.notifications-page-v2 {
    color: var(--notif-text, var(--dash-text)) !important;
}

.notif-card-v2 {
    background: var(--notif-card, var(--dash-card)) !important;
    border-color: var(--notif-border, var(--dash-card-border)) !important;
}

.notifications-filters__search-btn {
    background: var(--notif-blue, var(--primary-color)) !important;
}

/* ── ShamCash pay ── */
.sc-pay-page {
    background: var(--sc-pay-bg) !important;
    color: var(--sc-pay-text) !important;
}

.sc-pay-page .sc-pay-card,
.sc-pay-page .sc-pay-panel {
    background: var(--sc-pay-card, var(--dash-card)) !important;
    border-color: var(--dash-card-border) !important;
    color: var(--sc-pay-text) !important;
}

/* ── Binance pay ── */
.bnp-pay-page {
    color: var(--page-shell-text, var(--dash-text)) !important;
}

.bnp-pay-hero__title,
.bnp-pay-amount-box__value {
    color: var(--theme-heading, var(--dash-heading)) !important;
}

.bnp-pay-hero__sub,
.bnp-pay-amount-box__label,
.bnp-pay-hint {
    color: var(--dash-text-secondary) !important;
}

.bnp-pay-amount-box {
    background: var(--dash-card) !important;
    border-color: var(--dash-card-border) !important;
}

.bnp-pay-open-btn {
    background: var(--warning-color, #f0b90b) !important;
    color: var(--button-text, #1e1e1e) !important;
}

.bnp-pay-back {
    color: var(--primary-color) !important;
}

.wallet-quick-amount {
    background: var(--theme-input-bg, var(--dash-card)) !important;
    border-color: var(--border-color-token, var(--dash-card-border)) !important;
    color: var(--page-shell-text) !important;
}

/* ── VIP / Favorites / Product modals ── */
body:not(.admin) .vip-page,
body:not(.admin) .favorites-page,
body:not(.admin) .product-page,
body:not(.admin) .prayer-page,
body:not(.admin) .telegram-bot-page {
    background: var(--page-shell-bg) !important;
    color: var(--page-shell-text) !important;
}

body:not(.admin) #productModalOverlay .modal-content,
body:not(.admin) #productModalOverlay .product-modal-card,
body:not(.admin) .product-modal-overlay .product-modal-card,
body:not(.admin) .product-modal,
body:not(.admin) .checkout-modal {
    background: var(--dash-card) !important;
    color: var(--dash-text) !important;
    border-color: var(--dash-card-border) !important;
}

body:not(.admin) .product-modal-overlay .product-modal-title {
    color: var(--dash-heading, var(--dash-text)) !important;
}

body:not(.admin) .product-modal-overlay .product-modal-input,
body:not(.admin) .product-modal-overlay .qty-input-inline,
body:not(.admin) .product-modal-overlay .qty-dropdown {
    background: var(--theme-input-bg, var(--auth-input-bg)) !important;
    color: var(--text-color, var(--dash-text)) !important;
    border-color: var(--theme-input-border, var(--dash-card-border)) !important;
}

/* ── Agent shipping orders ── */
.ship-orders-page,
.ship-orders-page .page-box {
    background: var(--page-shell-bg, var(--dash-bg)) !important;
    color: var(--page-shell-text, var(--dash-text)) !important;
}

.ship-card,
.ship-reply-block {
    background: var(--dash-card) !important;
    border-color: var(--dash-card-border) !important;
    color: var(--dash-text) !important;
}

.ship-card-value,
.ship-intro {
    color: var(--dash-text) !important;
}

.ship-card-label {
    color: var(--dash-text-muted) !important;
}

.ship-btn-accept { background: var(--success-color) !important; color: var(--button-text, #fff) !important; }
.ship-btn-reject { background: var(--danger-color) !important; color: var(--button-text, #fff) !important; }
.ship-btn-withdraw,
.ship-btn-copy-order { background: var(--primary-color) !important; color: var(--button-text, #fff) !important; }


/* ── Debts / Verify page-box ── */
body.page-debts:not(.admin) .debts-page,
body.page-verify:not(.admin) .page-box {
    background: transparent !important;
}

body.page-debts:not(.admin) .debts-box {
    background: var(--dash-card) !important;
    border: 1px solid var(--dash-card-border) !important;
    color: var(--dash-text) !important;
    border-radius: var(--dash-radius-lg, 16px);
    padding: clamp(1rem, 4vw, 1.5rem);
}

/* ── Favorites search spacing fix ── */
body.page-favorites:not(.admin) .favorites-page {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ── Text contrast safety ── */
html.dark body:not(.admin) .auth-page,
html.theme-dark body:not(.admin) .auth-page,
html.dark body:not(.admin) .profile-page,
html.theme-dark body:not(.admin) .profile-page,
html.dark body:not(.admin) .orders-page-v2,
html.theme-dark body:not(.admin) .orders-page-v2 {
    color: var(--site-text-dark) !important;
}

html.light body:not(.admin) .auth-page,
html.theme-light body:not(.admin) .auth-page {
    --auth-text: var(--site-text-light);
    --auth-heading: var(--theme-heading);
}

html.light body:not(.admin) .auth-form__input,
html.theme-light body:not(.admin) .auth-form__input {
    color: var(--site-text-light) !important;
}
