/* Main.css - Központi stílusok és változók */

/* CSS Változók */
:root {
  /* Színek */
  --primary-color: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-light: #3b82f6;
  --secondary-color: #64748b;
  --success-color: #059669;
  --danger-color: #dc2626;
  --warning-color: #d97706;
  --info-color: #0891b2;
  --dark-color: #1e293b;
  --light-color: #f8fafc;

  /* Bootstrap kompatibilis színek */
  --bs-primary: #007bff;
  --bs-success: #28a745;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-info: #17a2b8;
  --bs-secondary: #6c757d;
  --bs-light: #f8f9fa;
  --bs-dark: #343a40;

  /* Bootstrap alert színek */
  --bs-success-bg: #d4edda;
  --bs-success-text: #155724;
  --bs-danger-bg: #f8d7da;
  --bs-danger-text: #721c24;
  --bs-warning-bg: #fff3cd;
  --bs-warning-text: #856404;
  --bs-info-bg: #d1ecf1;
  --bs-info-text: #0c5460;

  /* Bootstrap border színek */
  --bs-border-color: #dee2e6;
  --bs-border-light: #ced4da;

  /* Bootstrap form színek */
  --bs-form-focus-border: #007bff;
  --bs-form-focus-shadow: rgba(0, 123, 255, 0.25);

  /* Gradiens színek */
  --gradient-primary: linear-gradient(135deg, #0593ff 0%, #250448 100%);
  --gradient-warning: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
  --gradient-light: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);

  /* Gyakran használt gradiensek */
  --gradient-primary-button: linear-gradient(
    135deg,
    var(--primary-color),
    var(--primary-dark)
  );
  --gradient-primary-hover: linear-gradient(
    135deg,
    var(--primary-light),
    var(--primary-color)
  );
  --gradient-success: linear-gradient(
    135deg,
    var(--success-color),
    var(--bs-success-dark)
  );
  --gradient-warning-button: linear-gradient(
    135deg,
    var(--warning-color),
    var(--bs-warning-dark)
  );
  --gradient-danger: linear-gradient(
    135deg,
    var(--danger-color),
    var(--bs-danger-dark)
  );
  --gradient-info: linear-gradient(
    135deg,
    var(--info-color),
    var(--info-light)
  );
  --gradient-gold: linear-gradient(45deg, var(--gold), #ffed4e);
  --gradient-success-light: linear-gradient(
    90deg,
    var(--success-color),
    var(--success-light)
  );
  --gradient-warning-light: linear-gradient(
    90deg,
    var(--warning-color),
    var(--warning-light)
  );
  --gradient-danger-light: linear-gradient(
    90deg,
    var(--danger-color),
    var(--danger-light)
  );
  --gradient-processing: linear-gradient(
    90deg,
    var(--success-color),
    var(--bs-success-darker)
  );

  /* Alert gradiensek */
  --gradient-success-alert: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
  --gradient-danger-alert: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
  --gradient-warning-alert: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);

  /* Upload és egyéb gradiensek */
  --gradient-bs-primary: linear-gradient(
    135deg,
    var(--bs-primary) 0%,
    var(--bs-primary-dark) 100%
  );
  --gradient-bs-success: linear-gradient(
    135deg,
    var(--bs-success) 0%,
    var(--bs-success-dark) 100%
  );
  --gradient-bs-warning: linear-gradient(
    135deg,
    var(--bs-warning) 0%,
    var(--bs-warning-dark) 100%
  );
  --gradient-bs-danger: linear-gradient(
    135deg,
    var(--bs-danger) 0%,
    var(--bs-danger-dark) 100%
  );
  --gradient-transparent: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(255, 255, 255, 0.05) 100%
  );

  /* Kamera és speciális gradiensek */
  --gradient-camera: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);

  /* Speciális színek */
  --gold: #ffd700;
  --orange: #ff6b35;
  --gray-light: #f3f4f6;
  --gray-medium: #e9ecef;
  --gray-dark: #374151;
  --gray-muted: #d1d5db;

  /* Subscription Plan színek */
  --plan-basic-color: #6c757d;
  --plan-basic-dark: #495057;
  --plan-basic-light: #adb5bd;
  --plan-pro-color: #2563eb;
  --plan-pro-dark: #1d4ed8;
  --plan-pro-light: #3b82f6;
  --plan-max-color: #581c87;
  --plan-max-dark: #3b0764;
  --plan-max-light: #7c3aed;
  --plan-active-color: #059669;
  --plan-active-dark: #047857;
  --plan-active-light: #10b981;

  /* Success/Warning/Danger gradiensek */
  --success-light: #34d399;
  --warning-light: #fbbf24;
  --danger-light: #f87171;
  --info-light: #138496;

  /* Bootstrap gradiensek */
  --bs-primary-dark: #0056b3;
  --bs-success-dark: #1e7e34;
  --bs-warning-dark: #e0a800;
  --bs-danger-dark: #b91c1c;
  --bs-success-darker: #047857;
  --bs-warning-darker: #b45309;

  /* Alert border színek */
  --alert-success-border: #c3e6cb;
  --alert-danger-border: #f5c6cb;
  --alert-warning-border: #ffeaa7;
  --alert-info-border: #bee5eb;

  /* Speciális háttér színek */
  --hover-bg: #e3f2fd;

  /* Háttér és kártya színek */
  --background-color: #f1f5f9;
  --card-background: #ffffff;
  --border-color: #e2e8f0;

  /* Szöveg színek */
  --text-primary: #1e293b;
  --text-secondary: #64748b;
  --text-muted: #94a3b8;

  /* Árnyékok */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),
    0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),
    0 10px 10px -5px rgb(0 0 0 / 0.04);

  /* Méretek */
  --sidebar-width: 220px;
  --border-radius: 8px;
  --border-radius-sm: 6px;
  --border-radius-lg: 12px;

  /* Betűméretek */
  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-base: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 18px;

  /* Padding és margin */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;

  /* Átmenetek */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.2s ease;
  --transition-slow: 0.3s ease;
}

/* Alap stílusok */
* {
  box-sizing: border-box;
}

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

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: var(--spacing-md);
}

h1 {
  font-size: 2rem;
}
h2 {
  font-size: 1.75rem;
}
h3 {
  font-size: 1.5rem;
}
h4 {
  font-size: 1.25rem;
}
h5 {
  font-size: 1.1rem;
}
h6 {
  font-size: 1rem;
}

p {
  margin-bottom: var(--spacing-md);
}

/* Linkek */
a {
  color: var(--primary-color);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--primary-dark);
  text-decoration: none;
}

/* Container */
.container {
  max-width: 1520px;
  margin: 20px auto;
  padding: 0 var(--spacing-md);
}

.container-fluid {
  max-width: 1800px;
  margin: 0 auto;
  padding: 0 var(--spacing-md);
}

/* Utility osztályok */
.text-primary {
  color: var(--primary-color) !important;
}
.text-secondary {
  color: var(--secondary-color) !important;
}
.text-success {
  color: var(--success-color) !important;
}
.text-danger {
  color: var(--danger-color) !important;
}
.text-warning {
  color: var(--warning-color) !important;
}
.text-info {
  color: var(--info-color) !important;
}
.text-muted {
  color: var(--text-muted) !important;
}

.bg-primary {
  background-color: var(--primary-color) !important;
}
.bg-secondary {
  background-color: var(--secondary-color) !important;
}
.bg-success {
  background-color: var(--success-color) !important;
}
.bg-danger {
  background-color: var(--danger-color) !important;
}
.bg-warning {
  background-color: var(--warning-color) !important;
}
.bg-info {
  background-color: var(--info-color) !important;
}
.bg-light {
  background-color: var(--light-color) !important;
}

/* Responsive */
@media (max-width: 768px) {
  :root {
    --font-size-base: 13px;
    --spacing-md: 0.75rem;
  }

  .container {
    padding: 0 var(--spacing-sm);
  }
}

/* Subscription Plan stílusok */
.plan-basic {
  border-color: var(--plan-basic-color) !important;
  background-color: rgba(108, 117, 125, 0.05) !important;
}

.plan-basic .card-header {
  background-color: var(--plan-basic-color) !important;
  color: white !important;
}

.plan-basic .card-header .card-title {
  color: white !important;
}

.plan-basic .card-body {
  background-color: rgba(108, 117, 125, 0.05) !important;
}

.plan-basic .card-body .card-title,
.plan-basic .card-body h3,
.plan-basic .card-body h4 {
  color: var(--plan-basic-color) !important;
}

.plan-basic .btn:not(.btn-success) {
  background-color: var(--plan-basic-color) !important;
  border-color: var(--plan-basic-color) !important;
  color: white !important;
}

.plan-basic .btn:not(.btn-success):hover {
  background-color: var(--plan-basic-dark) !important;
  border-color: var(--plan-basic-dark) !important;
}

.plan-pro {
  border-color: var(--plan-pro-color) !important;
  background-color: rgba(37, 99, 235, 0.05) !important;
}

.plan-pro .card-header {
  background-color: var(--plan-pro-color) !important;
  color: white !important;
}

.plan-pro .card-header .card-title {
  color: white !important;
}

.plan-pro .card-body {
  background-color: rgba(37, 99, 235, 0.05) !important;
}

.plan-pro .card-body .card-title,
.plan-pro .card-body h3,
.plan-pro .card-body h4 {
  color: var(--plan-pro-color) !important;
}

.plan-pro .btn:not(.btn-success) {
  background-color: var(--plan-pro-color) !important;
  border-color: var(--plan-pro-color) !important;
  color: white !important;
}

.plan-pro .btn:not(.btn-success):hover {
  background-color: var(--plan-pro-dark) !important;
  border-color: var(--plan-pro-dark) !important;
}

.plan-max {
  border-color: var(--plan-max-color) !important;
  background-color: rgba(88, 28, 135, 0.05) !important;
}

.plan-max .card-header {
  background-color: var(--plan-max-color) !important;
  color: white !important;
}

.plan-max .card-header .card-title {
  color: white !important;
}

.plan-max .card-body {
  background-color: rgba(88, 28, 135, 0.05) !important;
}

.plan-max .card-body .card-title,
.plan-max .card-body h3,
.plan-max .card-body h4 {
  color: var(--plan-max-color) !important;
}

.plan-max .btn:not(.btn-success) {
  background-color: var(--plan-max-color) !important;
  border-color: var(--plan-max-color) !important;
  color: white !important;
}

.plan-max .btn:not(.btn-success):hover {
  background-color: var(--plan-max-dark) !important;
  border-color: var(--plan-max-dark) !important;
}

/* Aktív plan stílusok */
.plan-active .btn-success {
  background-color: var(--plan-active-color) !important;
  border-color: var(--plan-active-color) !important;
  color: white !important;
}

.plan-active .btn-success:hover {
  background-color: var(--plan-active-dark) !important;
  border-color: var(--plan-active-dark) !important;
}

/* Category badge stílusok */
.category-badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  display: inline-block;
  text-decoration: none;
  transition: all 0.2s ease;
  border: none;
  white-space: nowrap;
}

.category-badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
