:root {
  --primary: #8B5CF6;
  --primary-dark: #7C3AED;
  --primary-deeper: #6D28D9;
  --secondary: #EC4899;
  --secondary-dark: #DB2777;
  --accent: #FBBF24;
  --accent-gold: #FBBF24;
  --gold: #FBBF24;
  --gold-light: #FDE68A;
  --orange: #8B5CF6;
  --teal: #EC4899;
  --accent-red: #EC4899;
  --dragon-red: #EC4899;
  --dragon-red-dark: #DB2777;
  --tiger-orange: #FBBF24;
  --tiger-orange-dark: #D97706;
  --ice-blue: #8B5CF6;
  --ice-white: #F8FAFC;
  --sand: #1E293B;
  --sand-dark: #0F172A;
  --bg: #111827;
  --bg-light: #111827;
  --bg-main: #111827;
  --bg-mid: #1E293B;
  --bg-white: #1E293B;
  --bg-dark: #0F172A;
  --dark: #0F172A;
  --dark2: #111827;
  --dark3: #1E293B;
  --divider: #374151;
  --border-color: #374151;
  --border-accent: #8B5CF6;
  --border-teal: #EC4899;
  --text: #F8FAFC;
  --text-dark: #F8FAFC;
  --text-light: #F8FAFC;
  --text-mid: #94A3B8;
  --text-muted: #94A3B8;
  --text-muted-custom: #94A3B8;
  --light: #F8FAFC;
  --muted: #94A3B8;
  --card-bg: #1E293B;
  --button-text: #FFFFFF;
  --shadow-sm: 0 8px 22px rgba(2, 6, 23, 0.28);
  --shadow: 0 14px 34px rgba(2, 6, 23, 0.34);
  --shadow-md: 0 18px 42px rgba(2, 6, 23, 0.38);
  --shadow-lg: 0 24px 58px rgba(2, 6, 23, 0.44);
  --shadow-hover: 0 22px 50px rgba(139, 92, 246, 0.28);
  --generated-page-bg: #111827;
  --generated-surface: #111827;
  --generated-card: #1E293B;
  --generated-border: #8B5CF6;
  --generated-accent: #8B5CF6;
  --generated-accent-2: #FBBF24;
  --generated-heading: #F8FAFC;
  --generated-text: #F8FAFC;
  --generated-muted: #94A3B8;
  --generated-accent-text: #FFFFFF;
  --generated-floating-bg: rgba(15, 23, 42, 0.42);
  --generated-floating-border: rgba(255, 255, 255, 0.18);
  --generated-register-bg: #22c55e;
  --generated-register-text: #FFFFFF;
  --generated-login-bg: #fbbf24;
  --generated-login-text: #0f172a;
  --author-box-bg: linear-gradient(90deg, #0F172A, #111827, #0F172A);
  --author-card-bg: #1E293B;
  --author-box-border: #8B5CF6;
  --author-label-color: #FBBF24;
  --author-name-color: #F8FAFC;
  --author-role-color: #EC4899;
  --author-text-color: #F8FAFC;
  --author-avatar-bg: #111827;
  --author-avatar-border: #8B5CF6;
  --author-chip-bg: rgba(139, 92, 246, 0.16);
  --author-chip-border: rgba(139, 92, 246, 0.42);
  --author-chip-text: #F8FAFC;
  --author-link-bg: linear-gradient(135deg, #8B5CF6, #EC4899);
  --author-link-text: #FFFFFF;
  --source-author-bg: #111827;
  --source-author-surface: #0F172A;
  --source-author-card: #1E293B;
  --source-author-border: #8B5CF6;
  --source-author-accent: #8B5CF6;
  --source-author-accent-2: #FBBF24;
  --source-author-heading: #F8FAFC;
  --source-author-copy: #94A3B8;
  --chrome-header-bg: #0F172A;
  --chrome-header-border: #8B5CF6;
  --chrome-header-link: #F8FAFC;
  --chrome-header-link-hover: #FBBF24;
  --chrome-header-active-bg: rgba(139, 92, 246, 0.18);
  --chrome-header-active-text: #FFFFFF;
  --chrome-footer-bg: #0F172A;
  --chrome-footer-text: #94A3B8;
  --chrome-footer-link: #F8FAFC;
  --chrome-footer-link-hover: #FBBF24;
  --chrome-footer-heading: #FFFFFF;
  --chrome-footer-border: #374151;
}

html,
body {
  background: var(--generated-page-bg) !important;
  color: var(--generated-text) !important;
}

body,
main,
main section,
.bg-ocean,
.bg-white-section,
.content-section,
.article-section,
.compare-section,
.steps-section,
.map-section,
.faq-section,
.features-section,
.offer-section,
.games-section,
.privacy-section,
.responsible-section {
  background: var(--generated-page-bg) !important;
  color: var(--generated-text) !important;
}

.navbar-custom {
  background: linear-gradient(135deg, #0F172A 0%, #111827 58%, #8B5CF6 100%) !important;
  border-bottom-color: var(--primary) !important;
  box-shadow: 0 8px 26px rgba(139, 92, 246, 0.22) !important;
}

.navbar-custom .nav-link {
  color: var(--chrome-header-link) !important;
}

.navbar-custom .nav-link:hover,
.navbar-custom .nav-link.active {
  background: var(--chrome-header-active-bg) !important;
  color: var(--chrome-header-active-text) !important;
}

.navbar-toggler,
.btn-nav-login {
  border-color: var(--primary) !important;
  color: var(--button-text) !important;
}

.btn-nav-login:hover,
.btn-nav-register,
.nav-btn-register,
.cta-register {
  background: var(--primary) !important;
  color: var(--button-text) !important;
}

.btn-nav-register:hover,
.nav-btn-login:hover,
.cta-login {
  background: var(--secondary) !important;
  color: var(--button-text) !important;
}

.footer-main,
footer {
  background: linear-gradient(135deg, #0F172A 0%, #111827 100%) !important;
  border-color: var(--chrome-footer-border) !important;
  color: var(--chrome-footer-text) !important;
}

.footer-heading,
.footer-main h2,
.footer-main h3,
.footer-main h4,
.footer-main h5,
footer h2,
footer h3,
footer h4,
footer h5 {
  border-color: var(--primary) !important;
  color: var(--chrome-footer-heading) !important;
}

.footer-desc,
.footer-bottom p,
.footer-main p,
footer p {
  color: var(--chrome-footer-text) !important;
}

.footer-links li a,
.footer-main a,
footer a {
  color: var(--chrome-footer-link) !important;
}

.footer-links li a:hover,
.footer-main a:hover,
footer a:hover {
  color: var(--chrome-footer-link-hover) !important;
}

.hero-section,
.page-hero,
.error-hero,
.rg-section,
.cta-section,
.app-hero,
.login-hero,
.register-hero {
  background: linear-gradient(135deg, #0F172A 0%, #111827 48%, #8B5CF6 74%, #EC4899 100%) !important;
  color: var(--generated-text) !important;
}

.hero-section::before,
.hero-section::after,
.page-hero::before,
.page-hero::after,
.error-hero::before,
.error-hero::after {
  background: radial-gradient(circle, rgba(251, 191, 36, 0.16) 0%, transparent 70%) !important;
}

main :is(h1, h2, h3, h4, h5, h6),
.section-title,
.article-text h2,
.article-text h3,
.content-block h2,
.content-block h3,
[style*="color:"] {
  color: var(--generated-heading) !important;
}

main :is(p, li, td, th, label, small),
.article-text,
.content-block,
.faq-answer,
.accordion-body {
  color: var(--generated-text) !important;
}

.section-subtitle,
.text-muted,
[class*="subtitle"],
[class*="desc"],
[class*="muted"],
[class*="label"],
.card-text,
.role,
.stat-label {
  color: var(--generated-muted) !important;
}

main a:not([class*="btn"]):not(.btn) {
  color: var(--accent) !important;
}

main a:not([class*="btn"]):not(.btn):hover {
  color: var(--secondary) !important;
}

main :is(.adv-card, .game-card, .pricing-card, .testimonial-card, .rg-card, .privacy-notice, .age-alert, .feature-card, .offer-card, .step-card, .step-item, .info-box, .bonus-card, .faq-card, .accordion-item, .author-box-card, .login-card, .register-card, .form-card, .content-card, .table-card),
main [class*="-card"],
main [class*="_card"],
main [class*="box"],
main [class*="panel"] {
  background: var(--generated-card) !important;
  border-color: var(--generated-border) !important;
  color: var(--generated-text) !important;
  box-shadow: var(--shadow-sm) !important;
}

main :is(.adv-card, .game-card, .pricing-card, .testimonial-card, .rg-card, .feature-card, .offer-card, .step-card, .step-item, .info-box, .bonus-card, .faq-card, .accordion-item, .login-card, .register-card, .form-card):hover {
  box-shadow: var(--shadow-hover) !important;
}

main :is(.adv-card, .game-card, .pricing-card, .testimonial-card, .rg-card, .privacy-notice, .age-alert, .feature-card, .offer-card, .step-card, .step-item, .info-box, .bonus-card, .faq-card, .accordion-item, .author-box-card, .login-card, .register-card, .form-card, .content-card) :is(p, li, small, span),
main [class*="-card"] :is(p, li, small, span),
main [class*="box"] :is(p, li, small, span) {
  color: var(--generated-text) !important;
}

main :is(.adv-icon, .feature-icon, .step-num, .author-avatar, .icon-box, .badge-icon),
.pricing-badge,
.hero-badge,
.badge,
[class*="badge"] {
  background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
  border-color: var(--primary) !important;
  color: var(--button-text) !important;
}

main :is(.btn, [class*="btn"], button, input[type="button"], input[type="submit"]) {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--button-text) !important;
  box-shadow: 0 10px 24px rgba(139, 92, 246, 0.24) !important;
}

main :is(.btn, [class*="btn"], button, input[type="button"], input[type="submit"]):hover {
  background: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: var(--button-text) !important;
}

.btn-outline-primary,
.btn-hero-secondary,
.btn-cta-outline,
[class*="outline"] {
  background: transparent !important;
  border-color: var(--primary) !important;
  color: var(--button-text) !important;
}

.btn-outline-primary:hover,
.btn-hero-secondary:hover,
.btn-cta-outline:hover,
[class*="outline"]:hover {
  background: var(--primary) !important;
  color: var(--button-text) !important;
}

.compare-table,
table,
.table {
  background: var(--generated-card) !important;
  border-color: var(--divider) !important;
  color: var(--generated-text) !important;
}

thead th,
.compare-table thead th {
  background: var(--bg-dark) !important;
  color: var(--generated-heading) !important;
  border-color: var(--divider) !important;
}

tbody td,
.compare-table tbody td,
.compare-table tbody tr:nth-child(even) td {
  background: var(--generated-card) !important;
  border-color: var(--divider) !important;
  color: var(--generated-text) !important;
}

hr,
.ocean-divider,
.section-title::after {
  background: linear-gradient(90deg, transparent, var(--primary), var(--secondary), var(--accent), transparent) !important;
  border-color: var(--divider) !important;
}

main :is(input, textarea, select, .form-control, .form-select) {
  background: var(--bg-dark) !important;
  border-color: var(--generated-border) !important;
  color: var(--generated-text) !important;
}

main :is(input, textarea, select, .form-control, .form-select)::placeholder {
  color: var(--generated-muted) !important;
}

main :is(input, textarea, select, .form-control, .form-select):focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(251, 191, 36, 0.18) !important;
}

.accordion,
.accordion-item,
.accordion-button,
.accordion-button:not(.collapsed),
.accordion-body {
  background: var(--generated-card) !important;
  border-color: var(--generated-border) !important;
  color: var(--generated-text) !important;
}

.accordion-button::after {
  filter: invert(1) saturate(1.3) hue-rotate(220deg) !important;
}

.icon-yes,
.text-secondary-custom,
[class*="success"] {
  color: var(--secondary) !important;
}

.text-primary-custom,
.pricing-price,
[class*="primary"]:not(.btn):not([class*="btn"]):not([class*="section"]) {
  color: var(--primary) !important;
}

.icon-no,
[class*="warning"],
[class*="gold"],
[class*="price"],
[class*="mult"] {
  color: var(--accent) !important;
}

.content-img,
.map-container,
iframe {
  border-color: var(--generated-border) !important;
  box-shadow: var(--shadow-sm) !important;
}

[data-generated-module],
.generated-module {
  background: var(--generated-surface) !important;
  border-color: var(--generated-border) !important;
  color: var(--generated-text) !important;
}

::selection {
  background: var(--secondary);
  color: var(--button-text);
}
main :is(.btn, [class*="btn"], button, input[type="button"], input[type="submit"]),
main :is(.btn, [class*="btn"], button, input[type="button"], input[type="submit"]) *,
.navbar-custom :is(.btn, [class*="btn"]) {
  color: var(--button-text) !important;
}