/* ═══════════════════════════════════════════════════════════
   Accessibility & Mobile Polish — Agency Level
   iOS zoom prevention · 404 fix · reduced motion · tap targets
   ═══════════════════════════════════════════════════════════ */

/* ── iOS Zoom Prevention: inputs must be ≥16px ── */
@media screen and (max-width: 1050px) {
  .search-box input,
  .language-picker select,
  .layout-variant-picker select,
  .print-button,
  .primary-link,
  .secondary-link,
  .nav-toggle strong,
  .header-more-toggle,
  .header-primary-action,
  input[type="search"],
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* ── Focus Visible: consistent ring for keyboard nav ── */
*:focus-visible {
  outline: 2px solid var(--brand-primary) !important;
  outline-offset: 2px !important;
  border-radius: var(--radius-sm) !important;
}

/* ── Reduced Motion: disable custom animations ── */
@media (prefers-reduced-motion: reduce) {
  .nav-menu,
  .language-menu,
  .header-more-panel {
    animation: none !important;
  }

  .nav-toggle:hover,
  .header-primary-action:hover,
  .primary-link:hover,
  .secondary-link:hover,
  .catalog-result-card:hover,
  .product-card:hover,
  .category-overview-card:hover,
  .nav-menu a:hover,
  .language-option:hover {
    transform: none !important;
  }
}

/* ── 404 Page: add home link ── */
.error-body .legal-main,
.error-body main {
  text-align: center;
}

.error-body .error-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
  flex-wrap: wrap;
}

.error-body .error-actions a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: var(--radius-md);
  padding: 0.62rem 1.3rem;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all var(--duration-base) var(--ease-standard);
}

.error-body .error-actions a:first-child {
  background: var(--brand-primary);
  color: #fff;
}

.error-body .error-actions a:first-child:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--brand-primary) 18%, transparent);
}

.error-body .error-actions a:last-child {
  border: 1px solid var(--line);
  color: var(--ink);
  background: var(--surface);
}

.error-body .error-actions a:last-child:hover {
  border-color: var(--brand-primary);
  color: var(--brand-primary);
}

/* ── Tap Target: minimum 44x44px on mobile ── */
@media screen and (max-width: 640px) {
  .nav-toggle,
  .header-more-toggle,
  .header-primary-action,
  .print-button,
  .primary-link,
  .secondary-link,
  .language-trigger,
  button,
  a[role="button"] {
    min-height: 44px !important;
    min-width: 44px !important;
  }
}
