/*
 * Пользовательские переопределения стилей Donate Rewards.
 *
 * Этот файл подключается после frontend.css,
 * поэтому здесь удобно вносить правки без редактирования ядра.
 */

/* Пример:
.drf-auth-form input[type="text"] {
  border-color: #7c3aed;
}
*/

/* =====================================================================
 * GLOBAL THEME TOKENS BRIDGE (theme customizer -> plugin/theme surfaces)
 * Этот файл грузится ПОСЛЕ frontend.css и используется как финальный слой.
 * ===================================================================== */

:root {
  --drf-accent: var(--drf-color-primary, #7c3aed);
  --drf-accent-2: var(--drf-color-primary-2, #a855f7);
  --drf-secondary: var(--drf-color-secondary, #3b82f6);
  --drf-success: var(--drf-color-success, #22c55e);
  --drf-danger: var(--drf-color-danger, #ef4444);
  --drf-warning: var(--drf-color-warning, #f59e0b);
  --drf-btn-text: var(--drf-color-button-text, #ffffff);
  --drf-rarity-common: color-mix(in srgb, var(--drf-color-border, #94a3b8) 75%, #475569 25%);
  --drf-rarity-uncommon: var(--drf-success);
  --drf-rarity-rare: var(--drf-secondary);
  --drf-rarity-epic: color-mix(in srgb, var(--drf-accent-2) 80%, #d946ef 20%);
  --drf-rarity-legendary: var(--drf-warning);

}

/* Base text & surfaces for plugin areas */
.drf-section,
.drf-popup,
.drf-case-openers,
.woocommerce-account .woocommerce,
.woocommerce form.checkout,
.woocommerce table.shop_table,
.woocommerce .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout-payment,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  color: var(--drf-color-text, #e2e8f0) !important;
}

/* Universal cards/blocks */
.drf-card,
.drf-auth-card,
.drf-account-card,
.drf-case-container,
.drf-popup-card,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.single-product .related.products,
.single-product .woocommerce-tabs.wc-tabs-wrapper {
  background: linear-gradient(160deg, var(--drf-color-surface, #111827), var(--drf-color-bg, #0f172a)) !important;
  border-color: color-mix(in srgb, var(--drf-color-border, #94a3b8) 26%, transparent) !important;
}

/* SHOP / CATALOG */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: linear-gradient(160deg, var(--drf-shop-card-bg), var(--drf-color-bg, #0f172a)) !important;
  border-color: color-mix(in srgb, var(--drf-shop-card-border) 26%, transparent) !important;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price *,
.woocommerce-page ul.products li.product .price,
.woocommerce-page ul.products li.product .price * {
  color: var(--drf-shop-price) !important;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  background: var(--drf-shop-button-bg) !important;
}

/* All major buttons: plugin + Woo + generic theme buttons */
.drf-btn,
.drf-auth-btn,
.drf-auth-card .button,
.drf-account-card .button,
.woocommerce-account .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single-product .single_add_to_cart_button.button.alt,
#place_order.button,
#place_order,
.wp-element-button,
.button,
button:not(.drf-qty-btn):not(.drf-quick-qty-btn):not(.drf-site-profile-btn):not(.drf-site-header-toggle),
input[type="submit"] {
  background: linear-gradient(135deg, var(--drf-accent), var(--drf-accent-2)) !important;
  color: var(--drf-btn-text) !important;
  border-color: color-mix(in srgb, var(--drf-color-border, #94a3b8) 28%, transparent) !important;
}

/* Secondary button cases */
.drf-btn-secondary,
#rewardContinueButton,
.single-product .drf-quick-qty-btn.is-active {
  background: var(--drf-secondary) !important;
  color: var(--drf-btn-text) !important;
}

/* Success / danger cases */
#rewardClaimButton,
.woocommerce .woocommerce-message {
  border-left-color: var(--drf-success) !important;
}

.woocommerce .woocommerce-error,
.drf-site-profile-menu a.drf-danger {
  color: var(--drf-danger) !important;
}

/* Links */
.drf-site-footer-link,
.drf-auth-lost-link,
.drf-auth-back,
.drf-privacy-consent-row a,
.woocommerce a,
.woocommerce-account a {
  color: var(--drf-color-link, #7dd3fc) !important;
}

.drf-site-footer-link:hover,
.drf-auth-lost-link:hover,
.drf-auth-back:hover,
.woocommerce a:hover,
.woocommerce-account a:hover {
  color: var(--drf-color-link-hover, #bae6fd) !important;
}

/* Form controls */
.drf-section input,
.drf-section select,
.drf-section textarea,
.drf-popup input,
.drf-popup select,
.drf-popup textarea,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
select.orderby {
  background: var(--drf-color-bg, #0f172a) !important;
  color: var(--drf-color-text, #e2e8f0) !important;
  border-color: color-mix(in srgb, var(--drf-color-border, #94a3b8) 35%, transparent) !important;
}

/* Typography enforcement for constructor/plugin blocks */
.drf-section,
.drf-section *,
.drf-popup,
.drf-popup *,
.drf-case-openers,
.drf-case-openers *,
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce * {
  font-family: var(--drf-font-family, "Inter", "Segoe UI", "Roboto", sans-serif) !important;
}

.drf-title,
.drf-auth-head h2,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products > h2 {
  font-family: var(--drf-heading-font, var(--drf-font-family, "Inter", "Segoe UI", "Roboto", sans-serif)) !important;
}

/* Product shop cards prices/text */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price *,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.drf-meta,
.drf-subtitle,
.drf-popup-meta,
.drf-case-finished {
  color: var(--drf-color-text-muted, #cbd5f5) !important;
}

/* Account navigation pills */
.woocommerce-account .woocommerce-MyAccount-navigation a {
  background: color-mix(in srgb, var(--drf-color-surface-2, #1f2937) 65%, transparent) !important;
  color: var(--drf-color-text, #e2e8f0) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--drf-accent) !important;
  color: var(--drf-btn-text) !important;
}

/* ACCOUNT */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: linear-gradient(160deg, var(--drf-account-nav-bg), var(--drf-color-bg, #0f172a)) !important;
}

.woocommerce-account .woocommerce-MyAccount-content,
.drf-section .drf-card,
.drf-section .drf-account-card {
  background: linear-gradient(160deg, var(--drf-account-card-bg), var(--drf-color-bg, #0f172a)) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--drf-account-nav-active-bg) !important;
}

/* Global geometry */
.drf-card,
.drf-auth-card,
.drf-account-card,
.drf-case-container,
.drf-popup-card,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.single-product .related.products,
.single-product .woocommerce-tabs.wc-tabs-wrapper,
.woocommerce table.shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout #payment,
.woocommerce-cart #payment,
#add_payment_method #payment {
  border-radius: var(--drf-radius-lg) !important;
  border-width: var(--drf-border-width) !important;
}

.drf-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.button,
input[type="submit"] {
  border-radius: var(--drf-radius-md, 12px) !important;
}

/* Inline style rescue from generated plugin HTML */
.drf-section [style*="background:#0b1220"],
.drf-section [style*="background: #0b1220"],
.drf-section [style*="background:#111827"],
.drf-section [style*="background: #111827"] {
  background: var(--drf-color-surface, #111827) !important;
}

.drf-section [style*="color:#22c55e"],
.drf-section [style*="color: #22c55e"] {
  color: var(--drf-success) !important;
}

.drf-section [style*="color:#94a3b8"],
.drf-section [style*="color: #94a3b8"] {
  color: var(--drf-color-text-muted, #cbd5f5) !important;
}

.drf-section [style*="color:#e2e8f0"],
.drf-section [style*="color: #e2e8f0"] {
  color: var(--drf-color-text, #e2e8f0) !important;
}

/* Home constructor blocks from saved pages */
.drf-homepage,
.drf-homepage .description,
.drf-homepage .features,
.drf-homepage .plugins-section,
.drf-homepage .mods-section,
.drf-homepage .news-section,
.drf-homepage .support-content {
  background: var(--drf-home-bg, #0f172a) !important;
  color: var(--drf-color-text, #e2e8f0) !important;
}

.drf-homepage {
  background: var(--drf-home-root-bg, #0b1220) !important;
}

.drf-homepage .feature-card,
.drf-homepage .mod-card,
.drf-homepage .news-card,
.drf-homepage .support-card,
.drf-homepage .support-section {
  background: var(--drf-home-surface) !important;
  border-color: color-mix(in srgb, var(--drf-color-border, #94a3b8) 26%, transparent) !important;
  border-radius: var(--drf-radius-lg, 16px) !important;
}

.drf-homepage .section-title,
.drf-homepage .mods-header h2,
.drf-homepage .news-title,
.drf-homepage .description h2 {
  color: var(--drf-home-accent) !important;
}

.drf-homepage .btn-primary,
.drf-homepage .support-btn,
.drf-homepage .btn-view-all:hover {
  background: linear-gradient(135deg, var(--drf-home-accent), var(--drf-accent)) !important;
  color: var(--drf-btn-text) !important;
}

.drf-homepage .btn-outline,
.drf-homepage .btn-view-all {
  border-color: var(--drf-home-accent) !important;
  color: var(--drf-home-accent) !important;
}

/* Home deep blocks (hero / features / support / news) */
.drf-homepage .hero {
  background: var(--drf-home-hero-bg, linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)) !important;
}

.drf-homepage .hero h1 { color: var(--drf-home-hero-title, #a855f7) !important; }
.drf-homepage .hero p { color: var(--drf-home-hero-text, #ffffff) !important; }

.drf-homepage .hero .btn.btn-primary {
  background: var(--drf-home-hero-btn-bg, #7c3aed) !important;
  color: var(--drf-home-hero-btn-text, #ffffff) !important;
}

.drf-homepage .hero .btn.btn-outline {
  border-color: var(--drf-home-hero-outline, #7c3aed) !important;
  color: var(--drf-home-hero-btn-text, #ffffff) !important;
}

.drf-homepage .feature-icon {
  background: var(--drf-home-feature-icon-bg, linear-gradient(135deg, #7c3aed 0%, #a855f7 100%)) !important;
  color: var(--drf-home-feature-icon-text, #ffffff) !important;
  border: 1px solid var(--drf-home-feature-icon-border, #7c3aed) !important;
}

.drf-homepage .feature-card:hover .feature-icon {
  background: var(--drf-home-feature-icon-hover-bg, linear-gradient(135deg, #8b5cf6 0%, #c084fc 100%)) !important;
}

.drf-homepage .feature-card h3,
.drf-homepage .mod-name,
.drf-homepage .support-title {
  color: var(--drf-home-feature-title, #e6edf7) !important;
}

.drf-homepage .feature-card p,
.drf-homepage .mod-description,
.drf-homepage .support-features li,
.drf-homepage .news-excerpt {
  color: var(--drf-home-feature-text, #b8c6dd) !important;
}

.drf-homepage .support-header {
  background: var(--drf-home-support-header-bg, linear-gradient(135deg,#1f2a44 0%, #312e81 100%)) !important;
}

.drf-homepage .support-header h2 { color: var(--drf-home-support-title, #ffffff) !important; }
.drf-homepage .support-header p { color: var(--drf-home-support-text, #ffffff) !important; }

.drf-homepage .support-icon {
  background: var(--drf-home-support-icon-bg, #f0f4ff) !important;
  color: var(--drf-home-support-icon-text, #667eea) !important;
  border: 1px solid var(--drf-home-support-icon-border, #94a3b8) !important;
}

.drf-homepage .support-btn {
  background: var(--drf-home-support-btn-bg, linear-gradient(135deg,#3b82f6 0%, #8b5cf6 100%)) !important;
  color: var(--drf-home-support-btn-text, #ffffff) !important;
}

.drf-homepage .support-btn:hover {
  background: var(--drf-home-support-btn-hover-bg, linear-gradient(135deg,#2563eb 0%, #7c3aed 100%)) !important;
  color: var(--drf-home-support-btn-hover-text, #ffffff) !important;
}

.drf-homepage .section-title,
.drf-homepage .mods-header h2,
.drf-homepage .news-title,
.drf-homepage .description h2 {
  color: var(--drf-home-section-title, #a855f7) !important;
}

.drf-homepage .section-title::after {
  background: linear-gradient(90deg, var(--drf-home-divider-start, #7c3aed), var(--drf-home-divider-end, #a855f7)) !important;
}

.drf-homepage .news-card { background: var(--drf-home-news-card-bg, #152236) !important; }
.drf-homepage .news-title { color: var(--drf-home-news-title, #a855f7) !important; }
.drf-homepage .news-excerpt { color: var(--drf-home-news-text, #b8c6dd) !important; }

.drf-homepage .mod-link {
  color: var(--drf-home-mod-link, #a855f7) !important;
}

.drf-homepage .mod-link:hover {
  color: var(--drf-home-mod-link-hover, #c084fc) !important;
}

.drf-homepage .news-readmore {
  color: var(--drf-home-news-link, #a855f7) !important;
}

.drf-homepage .news-readmore:hover {
  color: var(--drf-home-news-link-hover, #c084fc) !important;
}

.drf-homepage .feature-card:hover,
.drf-homepage .mod-card:hover,
.drf-homepage .news-card:hover,
.drf-homepage .support-card:hover {
  border-color: var(--drf-home-hover-border, #7c3aed) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--drf-home-hover-border, #7c3aed) 30%, transparent) !important;
}

.drf-homepage .feature-icon .emoji,
.drf-homepage .support-icon .emoji,
.drf-homepage .support-btn .emoji,
.drf-homepage .mod-icon .emoji,
.drf-homepage .news-readmore .emoji {
  filter: var(--drf-home-emoji-filter, none) !important;
}

/* Checkout + cart + notices */
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-cart table.shop_table,
.woocommerce table.shop_table,
.woocommerce-checkout #payment,
#add_payment_method #payment,
.woocommerce-cart #payment {
  background: var(--drf-checkout-order-bg) !important;
  border-color: color-mix(in srgb, var(--drf-color-border, #94a3b8) 28%, transparent) !important;
  color: var(--drf-color-text, #e2e8f0) !important;
}

.woocommerce form.checkout,
.woocommerce-checkout form.checkout {
  background: var(--drf-checkout-form-bg) !important;
}

.woocommerce-checkout #payment,
#add_payment_method #payment,
.woocommerce-cart #payment {
  background: var(--drf-checkout-payment-bg) !important;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: color-mix(in srgb, var(--drf-color-surface, #111827) 80%, #ffffff 20%) !important;
  color: var(--drf-color-text, #e2e8f0) !important;
  border-top-color: var(--drf-accent) !important;
}

.woocommerce-message { border-top-color: var(--drf-success) !important; }
.woocommerce-error { border-top-color: var(--drf-danger) !important; }

/* Tabs and related products */
.single-product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: color-mix(in srgb, var(--drf-product-tabs-bg) 72%, transparent) !important;
  border-color: color-mix(in srgb, var(--drf-color-border, #94a3b8) 25%, transparent) !important;
  color: var(--drf-color-text, #e2e8f0) !important;
}

.single-product .summary.entry-summary,
.single-product .woocommerce div.product div.summary {
  background: linear-gradient(160deg, var(--drf-product-summary-bg), var(--drf-color-bg, #0f172a)) !important;
  border-radius: var(--drf-radius-lg, 16px) !important;
  border: 1px solid color-mix(in srgb, var(--drf-color-border, #94a3b8) 26%, transparent) !important;
  padding: 16px !important;
}

.single-product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--drf-accent) !important;
  color: var(--drf-btn-text) !important;
}

.single-product .related.products ul.products li.product .button,
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  background: var(--drf-product-button-bg) !important;
  color: var(--drf-btn-text) !important;
}

#place_order.button,
#place_order,
.woocommerce-checkout #payment #place_order {
  background: var(--drf-checkout-button-bg) !important;
}

/* Quantity and quick qty controls */
.single-product form.cart .quantity,
.single-product form.cart .quantity.drf-qty-wrap,
#primary #main .product .entry-summary .cart .quantity {
  background: var(--drf-product-qty-bg) !important;
}

.single-product form.cart .quantity .drf-qty-btn,
.single-product form.cart .quantity.drf-qty-wrap .drf-qty-btn {
  color: var(--drf-color-bg, #0f172a) !important;
  background: var(--drf-btn-text) !important;
}

.single-product form.cart .quantity .qty,
.single-product form.cart .quantity.drf-qty-wrap .qty,
.single-product input.qty {
  color: var(--drf-color-bg, #0f172a) !important;
}

/* Rarity/badges/case strip */
.drf-badge.common,
.drf-badge.drf-badge-common,
.drf-popup-badge.common,
.drf-case-item.common {
  background: var(--drf-rarity-common) !important;
  border-color: var(--drf-rarity-common) !important;
}

.drf-badge.uncommon,
.drf-badge.drf-badge-uncommon,
.drf-popup-badge.uncommon,
.drf-case-item.uncommon {
  background: var(--drf-rarity-uncommon) !important;
  border-color: var(--drf-rarity-uncommon) !important;
}

.drf-badge.rare,
.drf-badge.drf-badge-rare,
.drf-popup-badge.rare,
.drf-case-item.rare {
  background: var(--drf-rarity-rare) !important;
  border-color: var(--drf-rarity-rare) !important;
}

.drf-badge.epic,
.drf-badge.drf-badge-epic,
.drf-popup-badge.epic,
.drf-case-item.epic {
  background: var(--drf-rarity-epic) !important;
  border-color: var(--drf-rarity-epic) !important;
}

.drf-badge.legendary,
.drf-badge.drf-badge-legendary,
.drf-popup-badge.legendary,
.drf-case-item.legendary {
  background: var(--drf-rarity-legendary) !important;
  border-color: var(--drf-rarity-legendary) !important;
}

/* Header/footer shell links */
.drf-site-header-links a,
.drf-site-profile-btn,
.drf-site-header-toggle {
  background: color-mix(in srgb, var(--drf-header-link-bg, #1f2937) 70%, transparent) !important;
  border-color: color-mix(in srgb, var(--drf-color-border, #94a3b8) 28%, transparent) !important;
  color: var(--drf-color-text, #e2e8f0) !important;
}

.drf-site-header-links a:hover,
.drf-site-profile-btn:hover {
  background: var(--drf-header-link-hover-bg) !important;
  color: var(--drf-btn-text) !important;
}

.drf-site-header,
.drf-site-header-wrap,
header.site-header {
  background: var(--drf-header-bg) !important;
}

.drf-site-footer-links,
.drf-site-footer-inner,
footer.site-footer {
  background: var(--drf-footer-bg) !important;
  color: var(--drf-footer-text) !important;
}

.drf-site-footer-links a,
.drf-site-footer-link,
footer.site-footer a {
  color: var(--drf-footer-link) !important;
}
