/* ============================================================
   ERROR PAGES (404, 500)
   Empty-state pattern (headline + description + CTA), modelled on
   .cart-empty in components/cart-sidebar.css.
   ============================================================ */

/* 500.html is standalone with a short body: pin the footer to the bottom. */
.error-standalone {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.error-standalone main { flex: 1; }

.error-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  padding-top: var(--space-16);
  padding-bottom: var(--space-16);
  text-align: center;
}
.error-page-icon {
  width: 64px; height: 64px;
  background: var(--color-bg-subtle);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-text-hint);
}
.error-page-icon svg { width: 28px; height: 28px; }
.error-page-title {
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--color-text-primary);
  line-height: 1.2;
}
.error-page-desc {
  max-width: 480px;
  font-size: var(--text-base);
  color: var(--color-text-secondary);
  line-height: 1.6;
}
.error-page-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}
/* shop.css sets .btn-primary { width: 100% } and leaves anchors underlined. */
.error-page-actions .btn { width: auto; text-decoration: none; }
.error-page-actions svg { width: 14px; height: 14px; flex-shrink: 0; }

@media (max-width: 640px) {
  .error-page { padding-top: var(--space-10); padding-bottom: var(--space-10); }
  .error-page-title { font-size: var(--text-2xl); }
}
