/* Estonian Startup Jobs Theme Colors */
:root {
  /* Primary Colors */
  --primary-blue: #0c7ff2;
  --primary-blue-dark: #0056b3;
  --primary-blue-alt: #007bff;
  --primary-blue-light: #1668c7;
  --primary-blue-lighter: #1980e6;
  
  /* Text Colors */
  --text-primary: #0d141c;
  --text-primary-alt: #0d151c;
  --text-primary-dark: #0e141b;
  --text-secondary: #49719c;
  --text-secondary-alt: #49739c;
  --text-secondary-dark: #4e7297;
  --text-warning: #8b6914;
  
  /* Background Colors */
  --bg-light: #e7edf4;
  --bg-light-alt: #cedbe8;
  --bg-light-darker: #dde3e8;
  --bg-success: #0d7847;
  --bg-warning: #ffd700;
  
  /* Border Colors */
  --border-primary: #1980e6;
  --border-light: #cedbe8;
  --border-light-alt: #dde3e8;
  --border-secondary: #e7edf4;
  
  /* Semantic Colors */
  --color-success: #0d7847;
  --color-warning: #ffd700;
  --color-info: #1980e6;
  --color-danger: #dc3545;
  
  /* Neutral Colors */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-50: #f8fafc;
  --color-gray-100: #f1f5f9;
  --color-gray-200: #e2e8f0;
  --color-gray-300: #cbd5e1;
  --color-gray-400: #94a3b8;
  --color-gray-500: #64748b;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-800: #1e293b;
  --color-gray-900: #0f172a;
  
  /* Slate Colors (commonly used in the app) */
  --color-slate-50: #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-400: #94a3b8;
  --color-slate-500: #64748b;
  --color-slate-600: #475569;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;
  
  /* Nordic Warm Colors */
  --nordic-cream: #faf9f7;
  --nordic-sage: #e8f2e8;
  --nordic-lavender: #f0f0f8;
  --nordic-peach: #fef7f4;
  --nordic-blue-gray: #f1f4f7;
  --nordic-warm-gray: #f8f9fa;
  --nordic-soft-blue: #f4f7fa;
  --nordic-mint: #f0f8f4;
  
  /* Category Colors */
  --category-engineering: #f0f0f8;
  --category-design: #e8f2e8;
  --category-marketing: #fef7f4;
  --category-sales: #f4f7fa;
  --category-product: #f8f5ff;
  --category-operations: #f1f4f7;
  --category-finance: #fff8f0;
  --category-hr: #f0f8f4;
  --category-support: #f4f8ff;
  --category-other: #f8f9fa;
}

/* Theme Utility Classes */
.theme-primary {
  background-color: var(--primary-blue);
  color: var(--color-white);
}

.theme-primary-text {
  color: var(--text-primary);
}

.theme-secondary-text {
  color: var(--text-secondary);
}

.theme-bg-light {
  background-color: var(--bg-light);
}

.theme-border-light {
  border-color: var(--border-light);
}

.theme-button-primary {
  background-color: var(--primary-blue);
  color: var(--color-slate-50);
  border-radius: 0.125rem;
  height: 2.5rem;
  padding: 0 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
  letter-spacing: 0.015em;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: background-color 0.2s;
}

.theme-button-primary:hover {
  background-color: var(--primary-blue-dark);
}

.theme-card {
  background-color: var(--color-white);
  border: 1px solid var(--color-slate-200);
  border-radius: 0.5rem;
  padding: 1.5rem;
  transition: box-shadow 0.2s;
}

.theme-card:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.theme-input {
  background-color: var(--nordic-cream);
  border: none;
  border-radius: 0.125rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text-primary);
}

.theme-input::placeholder {
  color: var(--text-secondary);
}

.theme-input:focus {
  outline: none;
  ring: 0;
  border: none;
}

.theme-category-badge {
  background-color: var(--bg-light);
  color: var(--text-primary);
  padding: 0.25rem 1rem;
  border-radius: 0.125rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  transition: background-color 0.2s;
}

.theme-category-badge:hover {
  background-color: var(--color-slate-100);
}

.theme-job-card {
  background-color: var(--nordic-warm-gray);
  border: 1px solid var(--color-slate-200);
  border-radius: 0.125rem;
  padding: 0.5rem 1rem;
  min-height: 4.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 0.625rem;
  border-left: 3px solid var(--color-slate-300);
}

.theme-job-card:hover {
  background-color: var(--color-white);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.theme-pagination-button {
  color: var(--text-primary);
  border-radius: 9999px;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: background-color 0.2s;
  margin: 0 0.125rem;
}

.theme-pagination-button:hover {
  background-color: var(--bg-light);
}

.theme-pagination-button.active {
  background-color: var(--bg-light);
  font-weight: 700;
  letter-spacing: 0.015em;
}

.company-logo-default {
  background-color: var(--bg-light);
  border: 1px solid var(--border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2349719c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V7l8-4v18'/%3E%3Cpath d='M19 21V11l-6-4'/%3E%3Cpath d='M9 9v.01'/%3E%3Cpath d='M9 12v.01'/%3E%3Cpath d='M9 15v.01'/%3E%3Cpath d='M9 18v.01'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}

.company-logo-fallback {
  background-color: var(--bg-light);
  border: 1px solid var(--border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 0.75rem;
}

.theme-featured-tag {
  background-color: rgb(230, 114, 110);
  color: rgb(233, 237, 242);
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
}

/* Category-specific job card colors */
.theme-job-card.category-engineering {
  border-left-color: #6366f1;
  background-color: var(--category-engineering);
}

.theme-job-card.category-design {
  border-left-color: #10b981;
  background-color: var(--category-design);
}

.theme-job-card.category-marketing {
  border-left-color: #f59e0b;
  background-color: var(--category-marketing);
}

.theme-job-card.category-sales {
  border-left-color: #3b82f6;
  background-color: var(--category-sales);
}

.theme-job-card.category-product {
  border-left-color: #8b5cf6;
  background-color: var(--category-product);
}

.theme-job-card.category-operations {
  border-left-color: #6b7280;
  background-color: var(--category-operations);
}

.theme-job-card.category-finance {
  border-left-color: #059669;
  background-color: var(--category-finance);
}

.theme-job-card.category-hr {
  border-left-color: #84cc16;
  background-color: var(--category-hr);
}

.theme-job-card.category-customer_support {
  border-left-color: #06b6d4;
  background-color: var(--category-support);
}

.theme-job-card.category-other {
  border-left-color: var(--color-slate-400);
  background-color: var(--category-other);
}

/* Section headers with subtle backgrounds */
.theme-section-header {
  background: linear-gradient(135deg, var(--nordic-blue-gray) 0%, var(--nordic-cream) 100%);
  padding: 0.75rem 1rem;
  border-radius: 0.25rem;
  border-left: 4px solid var(--primary-blue-lighter);
  margin-bottom: 1rem;
}

.theme-section-header.featured {
  background: linear-gradient(135deg, var(--nordic-peach) 0%, var(--nordic-cream) 100%);
  border-left-color: #f59e0b;
}

.theme-section-header h2 {
  margin: 0;
}

/* Gradient background for main container */
.theme-gradient-bg {
  background: linear-gradient(135deg, var(--nordic-cream) 0%, var(--nordic-warm-gray) 50%, var(--nordic-blue-gray) 100%);
}

