/* Genel Ayarlar ve Reset */
:root {
--primary-color: #2B6777 ; /* İlan sistemi mavi tonu */
--secondary-color: #6c757d; /* İkincil buton/metin rengi */
--background-color: #f8f9fa; /* Hafif arka plan */
--text-dark: #343a40;
--text-light: #ffffff;
--font-family: 'Montserrat', sans-serif;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: var(--font-family);
background-color: var(--background-color);
color: var(--text-dark);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
}

.not-found-container {
max-width: 600px;
width: 100%;
text-align: center;
background: var(--text-light);
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
padding: 40px 20px;
}

/* Logo Stilleri */
.logo-header {
margin-bottom: 30px;
}

.logo-text {
font-size: 24px;
font-weight: 800;
color: var(--primary-color);
text-decoration: none;
}
.logo-link {
text-decoration: none;
}


/* Hata Kodu ve Mesajlar */
.error-code {
font-size: 100px;
font-weight: 800;
color: var(--primary-color);
margin-bottom: 20px;
opacity: 0.2; /* Hafif vurgu */
line-height: 1;
}

.main-message {
font-size: 28px;
font-weight: 600;
color: var(--text-dark);
margin-bottom: 10px;
}

.sub-message {
font-size: 16px;
color: var(--secondary-color);
margin-bottom: 30px;
}

/* İllüstrasyon Alanı */
.illustration-area {
width: 150px;
  height: 150px;
  margin: 0 auto 30px;
  /* İkonun bulunduğu alanı daha belirgin hale getirebiliriz */
  /* background-color: #e9ecef; /* Hafif bir gri zemin */
  /* border-radius: 50%; */
  display: flex;
  justify-content: center;
  align-items: center;
}

.error-icon {
width: 80%; /* İkonu konteyner içinde biraz küçülttük */
height: 80%;
/* stroke: var(--primary-color); /* Mavi çizgi */
/* stroke-width: 1.5; */
}

/* Butonlar */
.action-buttons {
display: flex;
justify-content: center;
gap: 15px; /* Butonlar arası boşluk */
margin-bottom: 30px;
}

.btn {
padding: 12px 25px;
border-radius: 8px;
font-weight: 600;
text-decoration: none;
transition: background-color 0.3s, transform 0.2s;
font-size: 15px;
flex-grow: 1; /* Mobil görünümde tam genişlik için ayar */
max-width: 250px; /* Masaüstünde genişliği sınırlama */
}

.primary-btn {
background-color: var(--primary-color);
color: var(--text-light);
border: 2px solid var(--primary-color);
}

.primary-btn:hover {
background-color: #0056b3; /* Koyu mavi */
transform: translateY(-2px);
}

.secondary-btn {
background-color: transparent;
color: var(--secondary-color);
border: 2px solid var(--secondary-color);
}

.secondary-btn:hover {
background-color: var(--secondary-color);
color: var(--text-light);
transform: translateY(-2px);
}

/* Arama Kutusu */
.search-box-area {
display: flex; /* Dış çerçeve flex */
justify-content: center;
margin-top: 20px;
border: 1px solid #dee2e6;
border-radius: 8px;
overflow: hidden;
}

.search-box-area form {
display: flex;
width: 100%; /* Formun, ebeveyn div'in (search-box-area) tüm genişliğini kaplamasını sağlar */
}

.search-input {
flex-grow: 1;
padding: 12px;
border: none;
font-size: 14px;
outline: none;
}

.search-button {
background-color: var(--secondary-color);
color: var(--text-light);
border: none;
padding: 12px 20px;
cursor: pointer;
font-weight: 600;
transition: background-color 0.3s;
}

.search-button:hover {
background-color: var(--text-dark);
}

/* 📱 RESPONSIVE - MOBİL UYUMLULUK */
@media (max-width: 576px) {
.not-found-container {
  padding: 30px 15px;
}

.error-code {
  font-size: 80px;
}

.main-message {
  font-size: 22px;
}

.sub-message {
  font-size: 14px;
}

/* Mobil görünümde butonları alt alta yığma */
.action-buttons {
  flex-direction: column;
  gap: 10px;
}

.btn {
  width: 100%;
  max-width: 100%;
}

/* Mobil görünümde arama kutusu küçültme (Düzeltildi) */
  .search-input { /* Artık doğru seçici: .search-input (class) */
      padding: 10px;
  }

  .search-button {
      padding: 10px 15px;
  }
}
