/* Premium feel overrides: refined palette, typography, glassy cards, soft motion */

/* Premium Green Color Palette */
:root {
  --premium-primary: #065f46;        /* Deep forest green */
  --premium-primary-light: #059669;  /* Emerald green */
  --premium-primary-dark: #064e3b;   /* Darker forest */
  --premium-secondary: #ecfdf5;      /* Mint cream */
  --premium-accent: #10b981;         /* Bright emerald */
  --premium-text: #064e3b;           /* Dark green text */
  --premium-text-light: #6b7280;     /* Neutral gray */
  --premium-border: #d1fae5;         /* Light green border */
  --premium-shadow: rgba(6, 95, 70, 0.12);
  --premium-shadow-lg: rgba(6, 95, 70, 0.25);
  --premium-gradient: linear-gradient(135deg, #065f46 0%, #059669 50%, #10b981 100%);
  --premium-success: #22c55e;        /* Success green */
  --premium-warning: #f59e0b;        /* Amber warning */
  --premium-error: #ef4444;          /* Red error */
  --premium-info: #3b82f6;           /* Blue info */
  
  /* Legacy variables for compatibility */
  --primary: #0e7c49;
  --primary-light: #24a869;
  --primary-lighter: #5ecf9a;
  --accent: #1a73e8;
  --text: #101315;
  --muted: #5b6773;
  --border: rgba(14, 124, 73, 0.16);
  --shadow: 0 14px 36px rgba(14, 124, 73, 0.14);
  --shadow-hover: 0 24px 60px rgba(14, 124, 73, 0.22);
  --nav-bg: rgba(255, 255, 255, 0.72);
  --card-bg: #ffffff;
}

[data-theme="dark"] {
  --text: #e6eaee;
  --muted: #a9b4c0;
  --nav-bg: rgba(18, 18, 18, 0.72);
  --card-bg: #121212;
  --border: rgba(94, 207, 154, 0.14);
}

/* Global typography and spacing */
html { scroll-behavior: smooth; }
body { color: var(--text); font-size: 18.5px; line-height: 1.7; text-rendering: optimizeLegibility; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif; }
h1, h2, h3 { color: var(--text); letter-spacing: -0.01em; font-family: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
h1 { font-weight: 800; }
h2 { font-weight: 700; }
p { color: var(--muted); }

/* Navigation refinement */
.nav-container { backdrop-filter: saturate(140%) blur(12px); box-shadow: 0 8px 28px rgba(16, 19, 21, 0.08); border-bottom: 1px solid var(--border); }
.logo a.brand { letter-spacing: 0.02em; }

/* Enhanced green button styles */
.btn-primary, .btn-success, .cta-button, .btn {
  background: var(--premium-gradient);
  border: 1px solid var(--premium-primary-light);
  color: white;
  font-weight: 600;
  letter-spacing: 0.025em;
  box-shadow: 0 4px 14px var(--premium-shadow-lg);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.btn-primary:hover, .btn-success:hover, .cta-button:hover, .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px var(--premium-shadow-lg);
  background: linear-gradient(135deg, var(--premium-primary-light) 0%, var(--premium-accent) 100%);
}

.btn-primary::before, .btn-success::before, .cta-button::before, .btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s;
}

.btn-primary:hover::before, .btn-success:hover::before, .cta-button:hover::before, .btn:hover::before {
  left: 100%;
}
.btn-secondary { background: transparent; border: 1px solid var(--border); color: var(--primary); }
.btn-secondary:hover { background: rgba(14, 124, 73, 0.08); }

/* Hero and badges */
.hero-card { backdrop-filter: blur(18px); border: 1px solid var(--border); box-shadow: var(--shadow); }
.section-badge { border: 1px solid var(--border); background: rgba(94, 207, 154, 0.10); }

/* Cards: premium green glassy elevation */
.card, .service-card, .feature-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid var(--premium-border);
  border-radius: 16px;
  box-shadow: 0 8px 32px var(--premium-shadow);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.card:hover, .service-card:hover, .feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px var(--premium-shadow-lg);
  border-color: var(--premium-accent);
}

.card::before, .service-card::before, .feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--premium-gradient);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card:hover::before, .service-card:hover::before, .feature-card:hover::before {
  opacity: 1;
}

.pricing-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.86) 100%);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}
[data-theme="dark"] .service-card, [data-theme="dark"] .feature-card, [data-theme="dark"] .pricing-card {
  background: linear-gradient(180deg, rgba(18,18,18,0.92) 0%, rgba(18,18,18,0.86) 100%);
}
.pricing-card:hover { transform: translateY(-6px) scale(1.01); box-shadow: var(--shadow-hover); }

/* Icon pills */
.icon-pill { background: radial-gradient(100% 100% at 50% 0%, rgba(94,207,154,0.18) 0%, rgba(94,207,154,0.08) 100%); border: 1px solid var(--border); }

/* Background animation: softer, less noisy */
.bg-animation::before, .bg-animation::after { opacity: 0.25; filter: saturate(120%); }

/* Footer refinement */
footer { border-top: 1px solid var(--border); }
.footer-links a { color: var(--muted); }
.footer-links a:hover { color: var(--primary); }

/* Form elements */
input[type="text"], input[type="email"], textarea {
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: box-shadow 220ms ease, transform 220ms ease;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus {
  box-shadow: 0 0 0 4px rgba(94,207,154,0.22);
}

/* Navigation enhancements */
.navbar, .nav, header {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--premium-border);
  box-shadow: 0 4px 20px var(--premium-shadow);
}

.nav-link, .navbar-nav .nav-link {
  color: var(--premium-text);
  font-weight: 500;
  transition: all 0.3s ease;
  position: relative;
}

.nav-link:hover, .navbar-nav .nav-link:hover {
  color: var(--premium-primary);
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--premium-gradient);
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

/* Form elements */
.form-control, input, textarea, select {
  border: 2px solid var(--premium-border);
  border-radius: 8px;
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.9);
}

.form-control:focus, input:focus, textarea:focus, select:focus {
  border-color: var(--premium-accent);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
  outline: none;
}

/* Status indicators */
.badge-success, .alert-success {
  background: var(--premium-success);
  color: white;
}

.badge-warning, .alert-warning {
  background: var(--premium-warning);
  color: white;
}

.badge-error, .alert-error {
  background: var(--premium-error);
  color: white;
}

/* Dark mode enhancements */
@media (prefers-color-scheme: dark) {
  :root {
    --premium-secondary: #0f172a;
    --premium-text: #f1f5f9;
    --premium-text-light: #94a3b8;
    --premium-border: #1e3a2e;
    --premium-shadow: rgba(6, 95, 70, 0.2);
    --premium-shadow-lg: rgba(6, 95, 70, 0.4);
  }
  
  .card, .service-card, .feature-card {
    background: rgba(15, 23, 42, 0.95);
    border-color: var(--premium-border);
  }
  
  .navbar, .nav, header {
    background: rgba(15, 23, 42, 0.95);
  }
  
  .form-control, input, textarea, select {
    background: rgba(15, 23, 42, 0.9);
    color: var(--premium-text);
    border-color: var(--premium-border);
  }
}

/* Subtle content entrance */
.fade-in-up { opacity: 0; transform: translateY(10px); animation: fadeUp 600ms cubic-bezier(0.22,1,0.36,1) forwards; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }