/* 404-sivu (templates/404.html) */
.eb-404 { text-align: center; padding: 64px 24px 96px; }
.eb-404-code { font-family: var(--font-display); font-weight: 800; font-size: clamp(110px, 20vw, 220px); line-height: 1; color: var(--steel-200); user-select: none; }
@supports (-webkit-text-stroke: 2px black) {
  .eb-404-code { color: transparent; -webkit-text-stroke: 2px var(--steel-300); }
}
.eb-404 .eb-kicker { display: block; margin: -14px 0 12px; }
.eb-404 h1 { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(30px, 4.4vw, 48px); letter-spacing: -.01em; line-height: 1; margin: 0 0 14px; }
.eb-404 p { color: var(--fg2); font-size: 15.5px; max-width: 46ch; margin: 0 auto 28px; line-height: 1.6; }
.eb-404-search { display: flex; gap: 10px; max-width: 480px; margin: 0 auto 20px; }
.eb-404-search input[type="search"] { flex: 1; min-width: 0; height: 48px; padding: 0 16px; font-size: 15px; font-family: var(--font-text); color: var(--fg1); background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--r-sm); transition: border-color .15s ease, box-shadow .15s ease; }
.eb-404-search input[type="search"]:focus { outline: 0; border-color: var(--ink-900); box-shadow: 0 0 0 3px var(--volt-100); }
.eb-404-search .eb-btn { height: 48px; }
.eb-404-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 560px) {
  .eb-404-search { flex-direction: column; }
  .eb-404-actions .eb-btn { flex: 1 1 40%; }
}
