/* ═══════════════════════════════════════════════════
   AWAKE NEWS — 404 Page Styles
   Depends on: css/style.css
═══════════════════════════════════════════════════ */

.error-main { padding: 40px 0; }

.error-page {
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 40px 0 48px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 40px;
}

/* Visual side */
.error-visual {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  user-select: none;
}

.error-num {
  font-family: var(--font-display);
  font-size: 96px;
  font-weight: 800;
  line-height: 1;
  color: var(--brand);
  letter-spacing: -4px;
  opacity: 0.15;
}

.error-icon-wrap {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--brand-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -60px;
}

.error-icon {
  font-size: 36px;
  color: var(--brand);
}

/* Content side */
.error-content { flex: 1; min-width: 0; }

.error-title {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 12px;
  line-height: 1.2;
}

.error-desc {
  font-size: 15px;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 24px;
  max-width: 480px;
}

/* Error search */
.error-search-form { margin-bottom: 20px; }

.error-search-wrap {
  display: flex;
  align-items: center;
  background: var(--bg-surface);
  border: 2px solid var(--border);
  border-radius: var(--radius-md);
  padding: 0 12px;
  gap: 8px;
  max-width: 480px;
  transition: border-color var(--trans);
}

.error-search-wrap:focus-within { border-color: var(--brand); }

.error-search-wrap i { font-size: 16px; color: var(--text-tertiary); flex-shrink: 0; }

.error-search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text-primary);
  outline: none;
  padding: 10px 0;
}

.error-search-input::placeholder { color: var(--text-tertiary); }

.error-search-btn {
  background: var(--brand);
  color: #fff;
  border: none;
  padding: 6px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--trans);
}

.error-search-btn:hover { background: var(--brand-dark); }

/* Quick links */
.error-quick-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.error-home-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--brand);
  color: #fff;
  padding: 10px 20px;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 600;
  transition: background var(--trans);
}

.error-home-btn:hover { background: var(--brand-dark); color: #fff; }

.error-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  padding: 10px 20px;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  border: 1px solid var(--border);
  cursor: pointer;
  font-family: var(--font-body);
  transition: background var(--trans), color var(--trans);
}

.error-back-btn:hover { background: var(--bg-tertiary); color: var(--text-primary); }

/* Category links */
.error-cats-label {
  font-size: 13px;
  color: var(--text-tertiary);
  margin-bottom: 10px;
}

.error-cats { display: flex; gap: 8px; flex-wrap: wrap; }

.error-cat-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  background: var(--bg-secondary);
  transition: background var(--trans), color var(--trans), border-color var(--trans);
}

.cat-ghana-link:hover       { background: var(--cat-ghana); color: #fff; border-color: var(--cat-ghana); }
.cat-politics-link:hover    { background: var(--cat-politics); color: #fff; border-color: var(--cat-politics); }
.cat-sports-link:hover      { background: var(--cat-sports); color: #fff; border-color: var(--cat-sports); }
.cat-entertainment-link:hover { background: var(--cat-entertainment); color: #fff; border-color: var(--cat-entertainment); }
.cat-business-link:hover    { background: var(--cat-business); color: #fff; border-color: var(--cat-business); }
.cat-world-link:hover       { background: var(--cat-world); color: #fff; border-color: var(--cat-world); }

/* Latest section */
.error-latest { padding-bottom: 20px; }

/* ─── RESPONSIVE ─── */
@media (max-width: 700px) {
  .error-page {
    flex-direction: column;
    gap: 24px;
    padding: 28px 0 32px;
    text-align: center;
  }

  .error-visual { flex-direction: row; align-items: center; }
  .error-icon-wrap { margin-top: 0; margin-left: -40px; }
  .error-num { font-size: 64px; opacity: 0.12; }
  .error-title { font-size: 24px; }
  .error-desc { max-width: 100%; }
  .error-search-wrap { max-width: 100%; }
  .error-quick-links { justify-content: center; }
  .error-cats { justify-content: center; }
  .stories-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 400px) {
  .stories-grid { grid-template-columns: 1fr; }
}
