/* BENSTUDIO Rezsi Kalkulátor - Pixel Art Style */

@font-face {
  font-family: 'Orange Kid';
  src: url('/assets/fonts/orange-kid.woff') format('woff'),
       url('/assets/fonts/orange-kid.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  --primary-color: #4c9ffe;
  --bg-primary: #0d1117;
  --bg-secondary: #161b22;
  --bg-tertiary: #21262d;
  --text-primary: #f0f6fc;
  --text-secondary: #c9d1d9;
  --text-muted: #7d8590;
  --border-color: #30363d;
  --card-bg: #161b22;
  --input-bg: #0d1117;
  --hover-bg: #21262d;
  --pixel-orange: #ff8c00;
  --pixel-blue: #00bfff;
  --pixel-cyan: #00ffff;
  --pixel-green: #39ff14;
  --pixel-red: #ff073a;
  --pixel-yellow: #ffff00;
  --border-radius: 4px;
  --border-radius-sm: 2px;
  --font-family-pixel: 'Orange Kid', 'Press Start 2P', 'Courier New', monospace;
  --font-family-sans: 'Orange Kid', 'Press Start 2P', 'Courier New', monospace;
}

body { 
  background: var(--bg-primary);
  background-image: 
    linear-gradient(90deg, rgba(76, 159, 254, 0.03) 1px, transparent 1px),
    linear-gradient(rgba(76, 159, 254, 0.03) 1px, transparent 1px);
  background-size: 16px 16px;
  font-family: var(--font-family-sans);
  margin: 0;
  color: var(--text-primary);
  font-size: 16px; /* 14px -> 16px */
  image-rendering: -moz-crisp-edges;
  image-rendering: -webkit-crisp-edges;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
}

.container {
  max-width: 1200px;
}

.card { 
  background: var(--card-bg);
  border: 2px solid var(--border-color);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.6);
}

.card-body { 
  padding: 1.5rem;
  color: var(--text-primary);
}

.form-label {
  color: var(--text-secondary);
  font-size: 15px; /* 13px -> 15px */
  font-weight: normal;
}

.form-control, .form-select {
  background: var(--input-bg);
  border: 2px solid var(--border-color);
  color: var(--text-primary);
  border-radius: var(--border-radius-sm);
  font-size: 15px; /* 13px -> 15px */
  font-family: var(--font-family-sans);
}

.form-control:focus, .form-select:focus {
  background: var(--input-bg);
  border-color: var(--pixel-blue);
  box-shadow: 0 0 0 2px rgba(76, 159, 254, 0.2);
  color: var(--text-primary);
}

.form-select option {
  background: var(--input-bg);
  color: var(--text-primary);
}

.btn {
  font-family: var(--font-family-pixel);
  font-size: 15px; /* 13px -> 15px */
  border-radius: var(--border-radius-sm);
  border-width: 2px;
  padding: 0.5rem 1rem;
}

.btn-primary {
  background: var(--pixel-orange);
  border-color: var(--pixel-orange);
  color: white;
  box-shadow: inset -2px -2px 0px rgba(0,0,0,0.3), inset 2px 2px 0px rgba(255,255,255,0.2);
}

.btn-primary:hover {
  background: var(--pixel-blue);
  border-color: var(--pixel-blue);
  transform: translateY(-1px);
}

.btn-success {
  background: var(--pixel-green);
  border-color: var(--pixel-green);
  color: #000000;
  box-shadow: inset -2px -2px 0px rgba(0,0,0,0.3), inset 2px 2px 0px rgba(255,255,255,0.2);
}

.btn-success:hover {
  background: #32e612;
  border-color: #32e612;
  color: #000000;
  transform: translateY(-1px);
}

.btn-outline-secondary {
  background: transparent;
  border-color: var(--border-color);
  color: var(--text-secondary);
}

.btn-outline-secondary:hover {
  background: var(--hover-bg);
  border-color: var(--pixel-blue);
  color: var(--text-primary);
  transform: translateY(-1px);
}

.btn-info {
  background: var(--pixel-cyan);
  border-color: var(--pixel-cyan);
  color: #000000;
  box-shadow: inset -2px -2px 0px rgba(0,0,0,0.3), inset 2px 2px 0px rgba(255,255,255,0.2);
}

.btn-info:hover {
  background: #00e6e6;
  border-color: #00e6e6;
  color: #000000;
  transform: translateY(-1px);
}

.btn-warning {
  background: var(--pixel-yellow);
  border-color: var(--pixel-yellow);
  color: #000000;
  box-shadow: inset -2px -2px 0px rgba(0,0,0,0.3), inset 2px 2px 0px rgba(255,255,255,0.2);
}

.btn-warning:hover {
  background: #e6e600;
  border-color: #e6e600;
  color: #000000;
  transform: translateY(-1px);
}

.form-text {
  color: var(--text-muted);
  font-size: 14px; /* 12px -> 14px */
}

.text-muted {
  color: var(--text-muted) !important;
}

.text-success {
  color: var(--pixel-green) !important;
}

.text-info {
  color: var(--pixel-cyan) !important;
}

.text-warning {
  color: var(--pixel-yellow) !important;
}

label {
  display: flex;
  gap: 6px;
  align-items: center;
  font-family: var(--font-family-pixel);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-pixel);
  color: var(--text-primary);
}

.navbar-brand {
  font-family: var(--font-family-pixel);
}

/* Bootstrap overrides for dark theme */
.navbar-dark {
  background-color: var(--card-bg);
}

.navbar-dark .navbar-brand {
  color: var(--text-primary);
}

.navbar-dark .navbar-nav .nav-link {
  color: var(--text-secondary);
}

.small {
  font-size: 14px; /* 12px -> 14px */
}

/* Eredmény kijelzés stílusok */
.result-card {
  border-left: 4px solid var(--pixel-green);
}

.cost-display {
  font-size: 28px; /* 24px -> 28px */
  font-weight: bold;
  color: var(--pixel-green);
  text-shadow: 1px 1px 0px rgba(0,0,0,0.8);
}

.cost-breakdown {
  font-size: 14px; /* 12px -> 14px */
  color: var(--text-secondary);
}

.service-badge {
  background: var(--pixel-blue);
  color: white;
  padding: 4px 8px;
  border-radius: var(--border-radius-sm);
  font-size: 13px; /* 11px -> 13px */
  box-shadow: inset -1px -1px 0px rgba(0,0,0,0.3), inset 1px 1px 0px rgba(255,255,255,0.2);
}

.calculator-section {
  border-top: 3px solid var(--pixel-orange);
}

/* Animációk */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.fade-in {
  animation: fadeIn 0.3s ease-out;
}

/* Responsive design javítások */
@media (max-width: 768px) {
  body {
    font-size: 15px; /* 13px -> 15px */
  }
  
  .cost-display {
    font-size: 24px; /* 20px -> 24px */
  }
  
  .card-body {
    padding: 1rem;
  }
}
