/* King Life accessibility, interaction and visual-polish layer. */
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #bf9842;
  outline-offset: 3px;
  border-radius: .35rem;
}

.kl-card,
.kl-topic-card {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

@media (hover:hover) and (pointer:fine) {
  .kl-topic-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 55px rgba(16,42,67,.11);
    border-color: rgba(191,152,66,.38);
  }
}

summary::-webkit-details-marker { display:none; }
details[open] summary span:last-child { transform: rotate(45deg); }
summary span:last-child { transition: transform 160ms ease; }

input, select, textarea { min-height: 44px; }
button, .kl-btn { min-height: 44px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 640px) {
  .kl-display { text-wrap: balance; }
  table { font-size: .875rem; }
}
