/* 🎨 PREMIUM DESIGN SYSTEM - OPENCLAW STYLE */
:root {
  --bg-primary: #FFFFFF;
  --bg-secondary: #F8F9FA;
  --bg-card: #FFFFFF;
  --text-primary: #1A1A2E;
  --text-secondary: #4A5568;
  --text-muted: #718096;
  --gold: #D4AF37;
  --gold-light: #E8C547;
  --gold-dark: #B8962E;
  --marine-dark: #1E3A5F;
  --marine-light: #2563EB;
  --marine-accent: #3B82F6;
  --border: #E2E8F0;
  --shadow: 0 4px 20px rgba(30, 58, 95, 0.08);
  --shadow-hover: 0 8px 30px rgba(30, 58, 95, 0.12);
  --radius: 14px;
  --radius-lg: 18px;
  --gold-gradient: linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-light));
  --marine-gradient: linear-gradient(135deg, var(--marine-dark), var(--marine-light));
}

body {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, Roboto, sans-serif !important;
  line-height: 1.6 !important;
  margin: 0; padding: 0;
}

/* Cards & Sections - OpenClaw Style */
.card, .section, .faq-box, .price-display, .next-steps, .req-box, .info-box,
.wz-md-preview, .chart-card, .stat-card, .file-card, .framework-card, .form-section,
.command-section, .instructions, .hero-cta {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow) !important;
  transition: all 0.3s ease !important;
}
.card:hover, .section:hover {
  box-shadow: var(--shadow-hover) !important;
  transform: translateY(-2px) !important;
}

/* Butoane - Gold Premium */
button, a.btn, .wz-btn-next, .wz-btn-action, .btn-checkout, .btn-back,
.btn-next, .new-chat-btn, .send-btn, .copy-btn, .fs-btn, .wz-chat-toggle,
.btn-gold, .btn-primary, .cta-button {
  background: var(--gold-gradient) !important;
  color: #0A0A0A !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  min-height: 48px !important;
  padding: 12px 24px !important;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3) !important;
  transition: all 0.2s ease !important;
  cursor: pointer;
}
button:hover, a.btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(212, 175, 55, 0.4) !important;
}

/* Butoane Secundare - Albastru Marin */
.btn-outline, .btn-secondary {
  background: transparent !important;
  border: 2px solid var(--marine-light) !important;
  color: var(--marine-dark) !important;
  box-shadow: none !important;
}
.btn-outline:hover {
  background: var(--marine-light) !important;
  color: #FFFFFF !important;
}

/* Tipografie & Headings */
h1, h2, h3, h4 {
  color: var(--marine-dark) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 12px;
}
.accent, .gold-text { color: var(--gold) !important; }
.subtitle, .text-muted, p, li { color: var(--text-secondary) !important; }

/* Navigare & Header */
nav, .nav-mobile, .topbar, header {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--border) !important;
}
.nav-links a, .mobile-menu a, .bottom-nav a {
  color: var(--text-primary) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.nav-links a:hover, .mobile-menu a:hover, .bottom-nav a.active {
  color: var(--gold) !important;
}

/* Input-uri & Formulare */
input, textarea, select, .form-input, .wz-field-wrap input, .wz-field-wrap textarea {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  color: var(--text-primary) !important;
  font-size: 16px !important;
  padding: 12px 14px !important;
  width: 100%; box-sizing: border-box;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--marine-light) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}

/* Bottom Nav & Mobile */
.bottom-nav {
  background: rgba(255, 255, 255, 0.98) !important;
  border-top: 1px solid var(--border) !important;
}
.mobile-menu {
  background: var(--bg-card) !important;
  border-left: 1px solid var(--border) !important;
}

/* 📱 MOBILE RESPONSIVE (păstrează tema light) */
@media (max-width: 768px) {
  .main-content {
    padding-top: 70px !important;
    padding-bottom: calc(85px + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .files-grid, .charts-grid, .stats-row, .steps-overview, .pricing-grid,
  .wz-card-grid, .wz-stats-row, .framework-card, .hero-cta {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .hero { padding: 90px 16px 32px !important; }
  h1 { font-size: 1.6rem !important; }
  h2 { font-size: 1.3rem !important; }
  .card, .section { padding: 16px !important; margin: 0 0 14px !important; }
}
/* 🔘 Butoane Sugerează/Propune: compacte, inline, la nivelul textului */
.btn-suggest, .btn-propune, 
button[class*="sugereaza"], button[class*="propune"],
.wz-field-wrap button, .wizard-step button.inline-btn,
button:has(span:contains("Sugerează")), button:has(span:contains("Propune")) {
  min-height: auto !important;
  padding: 4px 10px !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  box-shadow: none !important;
  background: var(--marine-gradient) !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  width: auto !important;
  flex: none !important;
  margin-left: 8px !important;
}
.btn-suggest:hover, .btn-propune:hover { opacity: 0.9; transform: translateY(-1px); }
.btn-suggest:disabled, .btn-propune:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

/* 🔘 COMPACT BUTTONS - Text-Sized, No Large Frames */
button, a.btn, .btn, .nav-cta, .wz-btn-next, .wz-btn-action, 
.btn-checkout, .btn-back, .btn-next, .new-chat-btn, .send-btn, 
.copy-btn, .fs-btn, .wz-chat-toggle, .btn-primary, .cta-button,
.btn-gold, .btn-outline, .btn-secondary, .wz-field-wrap button {
  min-height: auto !important;
  height: auto !important;
  padding: 6px 14px !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  border: 1px solid transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: fit-content !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

/* Primary/CTA Gold - Compact */
.nav-cta, .btn-gold, .btn-primary, .cta-button, .wz-btn-next, .wz-btn-action {
  background: linear-gradient(135deg, #B8962E, #D4AF37, #E8C547) !important;
  color: #0A0A0A !important;
  border: none !important;
}

/* Secondary/Outline - Compact */
.btn-outline, .btn-secondary {
  background: transparent !important;
  border: 1px solid #2563EB !important;
  color: #1E3A5F !important;
}

/* Hover - Subtle */
button:hover, a.btn:hover, .btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(30,58,95,0.12) !important;
}

/* Mobile: touch area sigură, dar vizual compact */
@media (max-width: 768px) {
  button, a.btn, .btn {
    padding: 8px 16px !important;
    min-height: 38px !important;
    font-size: 0.92rem !important;
  }
}

/* 🌟 PREMIUM GOLD NEON GLOW & MOBILE COMPACT SPACING */
/* Selector global pentru toate cardurile & secțiunile */
.card, .section, .faq-box, .price-display, .next-steps, .req-box, .info-box,
.wz-md-preview, .chart-card, .stat-card, .file-card, .framework-card, .form-section,
.command-section, .instructions, .hero-cta, .pricing-card, .step-card, .feature-card,
.wz-card, .wz-bcard, .wz-acard, .checkout-card, .success-card, .cancel-card {
  position: relative;
  border: 1px solid rgba(212, 175, 55, 0.25) !important;
  box-shadow: 
    0 0 6px rgba(212, 175, 55, 0.15),
    0 0 12px rgba(212, 175, 55, 0.1),
    0 4px 16px rgba(30, 58, 95, 0.06) !important;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  will-change: transform, box-shadow;
}

/* ✨ Interactive Glow (Hover & Focus) */
.card:hover, .section:hover, .stat-card:hover, .file-card:hover, .framework-card:hover,
.pricing-card:hover, .step-card:hover, .feature-card:hover, .wz-bcard:hover, .wz-acard:hover {
  border-color: rgba(212, 175, 55, 0.5) !important;
  box-shadow: 
    0 0 10px rgba(212, 175, 55, 0.3),
    0 0 20px rgba(212, 175, 55, 0.2),
    0 0 35px rgba(212, 175, 55, 0.12),
    0 6px 24px rgba(30, 58, 95, 0.1) !important;
  transform: translateY(-3px) !important;
}

/* 📱 MOBILE COMPACT SPACING */
@media (max-width: 768px) {
  /* Reducere padding & margin pe carduri */
  .card, .section, .faq-box, .price-display, .stat-card, .file-card, .framework-card,
  .form-section, .command-section, .instructions, .pricing-card, .step-card, .feature-card,
  .wz-card, .wz-bcard, .wz-acard, .checkout-card, .success-card, .cancel-card {
    padding: 14px !important;
    margin: 0 0 10px !important;
  }
  /* Conținut mai compact */
  .main-content, .app, .wz-shell, main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  h1, h2, h3, h4 { margin-bottom: 8px !important; }
  p, li, .subtitle, .text-muted { margin-bottom: 6px !important; line-height: 1.45 !important; }
  .hero { padding: 80px 12px 24px !important; }
  .hero h1 { font-size: 1.5rem !important; margin-bottom: 10px !important; }
  
  /* 📱 Mobile Tap Feedback cu neon intensificat */
  .card:active, .section:active, .stat-card:active, .file-card:active,
  .pricing-card:active, .step-card:active, .wz-bcard:active, .wz-acard:active {
    transform: scale(0.985) translateY(0) !important;
    box-shadow: 
      0 0 14px rgba(212, 175, 55, 0.4),
      0 0 28px rgba(212, 175, 55, 0.25) !important;
  }
}

/* 🎨 FINE UI REFINEMENTS: Spacing, Colors, Animations */
:root {
  --space-xs: 6px;
  --space-sm: 10px;
  --space-md: 16px;
  --space-lg: 24px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --shadow-soft: 0 4px 20px rgba(0,0,0,0.05);
  --shadow-hover: 0 8px 30px rgba(0,0,0,0.08);
  --transition-smooth: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* 📦 Cards & Sections: Consistent Spacing & Polish */
.stat-card, .chart-card, .wz-card, .wz-bcard, .wz-acard, .card, .section, .faq-box, .price-display {
  padding: var(--space-lg) !important;
  gap: var(--space-md) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-soft) !important;
  transition: var(--transition-smooth) !important;
}

/* 📊 Stat Values & Labels: Better Typography Hierarchy */
.stat-value, .wz-stat-value, .file-status {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  color: #0A0A0A !important;
}
.stat-label, .wz-stat-label, .progress-text {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: #6B7280 !important;
  margin-top: 2px !important;
}

/* 🔄 Progress Bar: Smooth & Premium */
.wz-progress-bar, .progress-bar, [role="progressbar"] {
  height: 8px !important;
  border-radius: 99px !important;
  background: #E5E7EB !important;
  overflow: hidden !important;
}
.wz-progress-bar > div, .progress-bar > div, [role="progressbar"] > div {
  height: 100% !important;
  background: linear-gradient(90deg, #C9A227, #E8C547) !important;
  border-radius: 99px !important;
  transition: width 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* 🪄 Wizard Steps & Fields: Cleaner Indicators & Focus */
.wz-step, .step-card {
  padding: var(--space-md) !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition-smooth) !important;
}
.wz-step.active, .step-card.active {
  border-color: rgba(201, 162, 39, 0.4) !important;
  background: rgba(201, 162, 39, 0.04) !important;
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.1) !important;
}
input, textarea, select, .wz-field-wrap input, .wz-field-wrap textarea {
  padding: 10px 14px !important;
  border-radius: var(--radius-sm) !important;
  border: 1.5px solid #E5E7EB !important;
  transition: var(--transition-smooth) !important;
  font-size: 0.95rem !important;
  background: #FAFAFA !important;
}
input:focus, textarea:focus, select:focus {
  border-color: #C9A227 !important;
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15) !important;
  outline: none !important;
  background: #FFFFFF !important;
}

/* ✨ Micro-Animations: Entrance & Hover */
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.stat-card, .chart-card, .wz-card, .card {
  animation: fadeSlideUp 0.4s ease-out both;
}
.stat-card:nth-child(2), .chart-card:nth-child(2) { animation-delay: 0.05s; }
.stat-card:nth-child(3), .chart-card:nth-child(3) { animation-delay: 0.1s; }
.stat-card:nth-child(4), .chart-card:nth-child(4) { animation-delay: 0.15s; }

/* 📱 Mobile Touch Feedback & Spacing */
@media (max-width: 768px) {
  .stat-card, .chart-card, .wz-card, .card {
    padding: var(--space-md) !important;
    margin-bottom: var(--space-sm) !important;
  }
  .stat-value { font-size: 1.5rem !important; }
  input, textarea, select { padding: 12px 14px !important; font-size: 16px !important; }
  .wz-step, .step-card { padding: 12px !important; }
}
