/* ============================================
   REALMMAKER MINIS - GRIMDARK THEME
   Warhammer/Dark Fantasy Aesthetic
   ============================================ */

/* === FONTS === */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;600;700&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap');

/* === ROOT VARIABLES === */
:root {
  /* Grimdark Colors */
  --rm-bg: #0a0a0f;
  --rm-bg-dark: #050508;
  --rm-panel: #12121c;
  --rm-card: #16162a;
  --rm-card-hover: #1a1a32;
  
  /* Gold Accent */
  --rm-gold: #c9a84c;
  --rm-gold-light: #d4b85d;
  --rm-gold-dark: #a88a3d;
  --rm-gold-rgb: 201, 168, 76;
  
  /* Text Colors */
  --rm-text: #e8e6e1;
  --rm-text-muted: #9a9688;
  --rm-bone: #d4cfc4;
  --rm-steel: #6b7280;
  
  /* Category Colors */
  --rm-resin: #9c27b0;
  --rm-fdm: #4caf50;
  --rm-custom: #2196f3;
  --rm-red: #8b0000;
  
  /* Fonts */
  --rm-font-display: 'Cinzel Decorative', serif;
  --rm-font-heading: 'Cinzel', serif;
  --rm-font-body: 'Crimson Text', serif;
  
  /* Override accent color */
  --accent-color: #c9a84c !important;
  --accent-rgb: 201, 168, 76 !important;
}

/* === GLOBAL OVERRIDES === */
body {
  background: var(--rm-bg) !important;
  color: var(--rm-text) !important;
  font-family: var(--rm-font-body) !important;
  background-image: 
    radial-gradient(ellipse at top, rgba(201, 168, 76, 0.03) 0%, transparent 50%),
    radial-gradient(ellipse at bottom, rgba(139, 0, 0, 0.02) 0%, transparent 50%) !important;
}

/* === NAVBAR === */
.nav-glass,
nav {
  background: rgba(10, 10, 15, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(201, 168, 76, 0.2) !important;
}

/* Logo Style */
nav a[href="/"] span,
nav .text-xl,
nav .text-2xl,
.store-name {
  font-family: var(--rm-font-display) !important;
  color: var(--rm-gold) !important;
  letter-spacing: 3px !important;
  text-shadow: 0 0 20px rgba(201, 168, 76, 0.3) !important;
}

/* Nav Links */
nav a {
  font-family: var(--rm-font-heading) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  transition: all 0.3s ease !important;
}

nav a:hover {
  color: var(--rm-gold) !important;
  text-shadow: 0 0 10px rgba(201, 168, 76, 0.5) !important;
}

/* === HERO SECTION === */
.hero-grid,
section:first-of-type {
  background: 
    radial-gradient(ellipse at center, var(--rm-panel) 0%, var(--rm-bg) 70%) !important;
}

/* Hero Title */
h1, .text-4xl, .text-5xl, .text-6xl {
  font-family: var(--rm-font-display) !important;
  color: var(--rm-gold) !important;
  letter-spacing: 4px !important;
  text-shadow: 0 0 40px rgba(201, 168, 76, 0.3) !important;
}

/* Hero Subtitle */
.text-lg, .text-xl {
  font-family: var(--rm-font-body) !important;
  color: var(--rm-text-muted) !important;
}

/* === HEADINGS === */
h2 {
  font-family: var(--rm-font-heading) !important;
  color: var(--rm-gold) !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

h3, h4 {
  font-family: var(--rm-font-heading) !important;
  color: var(--rm-text) !important;
}

/* === CARDS === */
.glass-effect,
.bg-dark-card,
[class*="bg-"][class*="1a1a"],
.bg-\[\#1a1a1a\] {
  background: var(--rm-card) !important;
  border: 1px solid rgba(201, 168, 76, 0.15) !important;
  transition: all 0.3s ease !important;
}

.glass-effect:hover,
.hover-lift:hover {
  background: var(--rm-card-hover) !important;
  border-color: rgba(201, 168, 76, 0.3) !important;
  box-shadow: 0 10px 40px rgba(201, 168, 76, 0.1) !important;
  transform: translateY(-4px) !important;
}

/* Product Cards */
.gradient-border {
  background: linear-gradient(135deg, var(--rm-gold), transparent 50%, var(--rm-gold)) !important;
  padding: 1px !important;
}

.gradient-border > div {
  background: var(--rm-card) !important;
}

/* === BUTTONS === */
/* Primary Button (Gold) */
.bg-accent,
button[class*="bg-"]:not(.bg-transparent):not(.bg-dark):not(.bg-red):not(.bg-green):not(.bg-gray),
a[class*="bg-"]:not([class*="bg-dark"]):not([class*="bg-transparent"]):not(.bg-red):not(.bg-green):not(.bg-gray) {
  background: linear-gradient(135deg, var(--rm-gold) 0%, var(--rm-gold-dark) 100%) !important;
  color: var(--rm-bg) !important;
  font-family: var(--rm-font-heading) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

.bg-accent:hover,
button[class*="bg-"]:not(.bg-transparent):hover {
  background: linear-gradient(135deg, var(--rm-gold-light) 0%, var(--rm-gold) 100%) !important;
  box-shadow: 0 0 30px rgba(201, 168, 76, 0.4) !important;
  transform: translateY(-2px) !important;
}

/* Secondary Button (Outline) */
.border-accent,
button.border,
a.border {
  border: 1px solid var(--rm-gold) !important;
  color: var(--rm-gold) !important;
  background: transparent !important;
  font-family: var(--rm-font-heading) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

.border-accent:hover,
button.border:hover,
a.border:hover {
  background: var(--rm-gold) !important;
  color: var(--rm-bg) !important;
}

/* === ACCENT COLOR OVERRIDES === */
.text-accent,
[style*="color: var(--accent-color)"] {
  color: var(--rm-gold) !important;
}

/* === PRICES === */
.text-2xl.font-bold,
.text-3xl.font-bold,
[class*="price"],
.price {
  font-family: var(--rm-font-display) !important;
  color: var(--rm-gold) !important;
}

/* === BADGES === */
.rounded-full[class*="bg-"] {
  font-family: var(--rm-font-heading) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 9px !important;
}

/* Sale Badge */
.bg-red-500,
.bg-red-600,
[class*="sale"],
[class*="Sale"] {
  background: var(--rm-red) !important;
  color: var(--rm-bone) !important;
}

/* Category Badges */
.bg-purple-500,
.bg-purple-600 {
  background: var(--rm-resin) !important;
}

.bg-green-500,
.bg-green-600 {
  background: var(--rm-fdm) !important;
}

.bg-blue-500,
.bg-blue-600 {
  background: var(--rm-custom) !important;
}

/* === FORMS === */
input, textarea, select {
  background: var(--rm-panel) !important;
  border: 1px solid rgba(201, 168, 76, 0.2) !important;
  color: var(--rm-text) !important;
  font-family: var(--rm-font-body) !important;
  transition: all 0.3s ease !important;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--rm-gold) !important;
  box-shadow: 0 0 20px rgba(201, 168, 76, 0.2) !important;
  outline: none !important;
}

input::placeholder, textarea::placeholder {
  color: var(--rm-steel) !important;
}

/* === FOOTER === */
footer {
  background: var(--rm-panel) !important;
  border-top: 1px solid rgba(201, 168, 76, 0.2) !important;
}

footer h3, footer h4 {
  font-family: var(--rm-font-heading) !important;
  color: var(--rm-gold) !important;
  letter-spacing: 2px !important;
}

footer a {
  color: var(--rm-text-muted) !important;
  transition: color 0.3s ease !important;
}

footer a:hover {
  color: var(--rm-gold) !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar {
  width: 8px !important;
}

::-webkit-scrollbar-track {
  background: var(--rm-bg) !important;
}

::-webkit-scrollbar-thumb {
  background: var(--rm-gold) !important;
  border-radius: 4px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--rm-gold-light) !important;
}

/* === PARTICLES/DECORATIONS === */
.particle {
  background: var(--rm-gold) !important;
  opacity: 0.3 !important;
}

/* === STATS SECTION === */
.text-4xl.font-bold,
.text-5xl.font-bold {
  font-family: var(--rm-font-display) !important;
  color: var(--rm-gold) !important;
}

/* === REVIEWS === */
.fa-star {
  color: var(--rm-gold) !important;
}

/* === TRUST BADGES === */
.fa-shield-alt,
.fa-truck,
.fa-headset,
.fa-check-circle {
  color: var(--rm-gold) !important;
}

/* === SALE BANNER === */
[class*="sale-banner"],
[class*="event-banner"] {
  background: linear-gradient(135deg, var(--rm-red) 0%, #5c0000 100%) !important;
  border-bottom: 2px solid var(--rm-gold) !important;
}

/* === MODAL/POPUP === */
[class*="modal"],
[class*="popup"],
[role="dialog"] {
  background: var(--rm-card) !important;
  border: 1px solid rgba(201, 168, 76, 0.3) !important;
}

/* === CART === */
[class*="cart"] {
  font-family: var(--rm-font-body) !important;
}

/* === DIVIDERS === */
hr, .border-b, [class*="divide"] {
  border-color: rgba(201, 168, 76, 0.15) !important;
}

/* === ANIMATIONS === */
@keyframes goldGlow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(201, 168, 76, 0.2);
  }
  50% {
    box-shadow: 0 0 40px rgba(201, 168, 76, 0.4);
  }
}

.animate-glow {
  animation: goldGlow 3s ease-in-out infinite !important;
}

/* === SPECIAL ELEMENTS === */

/* Titan Forge Badge */
.titan-forge-badge {
  background: linear-gradient(135deg, #1a1a2e 0%, #0f0f1a 100%);
  border: 2px solid var(--rm-gold);
  padding: 8px 16px;
  font-family: var(--rm-font-heading);
  color: var(--rm-gold);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Category Pills */
.category-resin {
  background: rgba(156, 39, 176, 0.2) !important;
  border: 1px solid var(--rm-resin) !important;
  color: #ce93d8 !important;
}

.category-fdm {
  background: rgba(76, 175, 80, 0.2) !important;
  border: 1px solid var(--rm-fdm) !important;
  color: #81c784 !important;
}

.category-custom {
  background: rgba(33, 150, 243, 0.2) !important;
  border: 1px solid var(--rm-custom) !important;
  color: #64b5f6 !important;
}

/* === RESPONSIVE ADJUSTMENTS === */
@media (max-width: 768px) {
  h1, .text-4xl, .text-5xl {
    font-size: 1.75rem !important;
    letter-spacing: 2px !important;
  }
  
  nav a {
    font-size: 11px !important;
  }
}

/* === LOADING STATE === */
.loader,
[class*="spinner"],
[class*="loading"] {
  border-color: var(--rm-gold) transparent transparent transparent !important;
}

/* === TOAST NOTIFICATIONS === */
[class*="toast"],
[class*="notification"] {
  background: var(--rm-card) !important;
  border: 1px solid var(--rm-gold) !important;
  color: var(--rm-text) !important;
  font-family: var(--rm-font-body) !important;
}

/* === SUCCESS/ERROR STATES === */
.text-green-500,
.text-green-400 {
  color: var(--rm-fdm) !important;
}

.text-red-500,
.text-red-400 {
  color: #ef5350 !important;
}

/* === PRODUCT PAGE SPECIFIC === */
.product-description {
  font-family: var(--rm-font-body) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--rm-text-muted) !important;
}

/* Version/Changelog */
[class*="changelog"],
[class*="version"] {
  font-family: var(--rm-font-body) !important;
  background: var(--rm-panel) !important;
  border-left: 3px solid var(--rm-gold) !important;
}

/* === STAFF PANEL === */
.staff-nav,
[class*="staff"] nav {
  background: var(--rm-panel) !important;
}

/* === FINAL POLISH === */

/* Remove any remaining blue accents */
[class*="blue-500"]:not(.category-custom),
[class*="blue-600"]:not(.category-custom),
[class*="indigo"] {
  color: var(--rm-gold) !important;
}

/* Ensure text readability */
p, li, td, th {
  color: var(--rm-text) !important;
}

/* Link hover states */
a:not([class*="bg-"]):not(nav a) {
  color: var(--rm-gold) !important;
  transition: all 0.3s ease !important;
}

a:not([class*="bg-"]):not(nav a):hover {
  text-shadow: 0 0 10px rgba(201, 168, 76, 0.5) !important;
}

/* Dark backgrounds consistency */
.bg-dark,
.bg-\[\#0a0a0a\],
.bg-\[\#111111\],
.bg-\[\#1a1a1a\],
.bg-dark-lighter {
  background: var(--rm-bg) !important;
}

/* Border consistency */
.border-dark-border,
.border-\[\#2a2a2a\] {
  border-color: rgba(201, 168, 76, 0.15) !important;
}

/* Dropdown menus */
[class*="dropdown"],
.dropdown-menu {
  background: var(--rm-card) !important;
  border: 1px solid rgba(201, 168, 76, 0.2) !important;
}

/* Table styles */
table {
  border-color: rgba(201, 168, 76, 0.15) !important;
}

table th {
  background: var(--rm-panel) !important;
  font-family: var(--rm-font-heading) !important;
  color: var(--rm-gold) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-size: 11px !important;
}

table td {
  border-color: rgba(201, 168, 76, 0.1) !important;
}

table tr:hover td {
  background: var(--rm-card-hover) !important;
}

/* Invoice/Receipt styling */
.invoice,
[class*="invoice"],
[class*="receipt"] {
  font-family: var(--rm-font-body) !important;
}

/* Empty states */
.empty-state,
[class*="empty"] {
  color: var(--rm-text-muted) !important;
}

/* Pagination */
.pagination a,
[class*="pagination"] a {
  border-color: rgba(201, 168, 76, 0.3) !important;
  color: var(--rm-text) !important;
}

.pagination a:hover,
.pagination a.active,
[class*="pagination"] a:hover,
[class*="pagination"] a.active {
  background: var(--rm-gold) !important;
  color: var(--rm-bg) !important;
}

/* Breadcrumbs */
.breadcrumb,
[class*="breadcrumb"] {
  font-family: var(--rm-font-heading) !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
}

/* Search */
[type="search"],
.search-input {
  background: var(--rm-panel) !important;
  border: 1px solid rgba(201, 168, 76, 0.2) !important;
}

/* Checkbox/Radio custom */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  background: var(--rm-gold) !important;
  border-color: var(--rm-gold) !important;
}

/* Progress bars */
.progress-bar,
[class*="progress"] > div {
  background: var(--rm-gold) !important;
}

/* Tooltips */
[class*="tooltip"] {
  background: var(--rm-card) !important;
  border: 1px solid var(--rm-gold) !important;
  color: var(--rm-text) !important;
}

/* Feature icons */
.feature-icon,
.fa-rocket,
.fa-shield-alt,
.fa-headset,
.fa-cogs,
.fa-bolt,
.fa-gem,
.fa-crown {
  color: var(--rm-gold) !important;
}

/* Image placeholders */
.placeholder-image,
[class*="placeholder"] {
  background: var(--rm-panel) !important;
  border: 1px dashed rgba(201, 168, 76, 0.3) !important;
}
