/* Radio cards: templates/components/radio-cards.html */
.radio-cards { display: grid; gap: .35rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.radio-cards legend { margin-bottom: .35rem; padding: 0; font-size: .85rem; font-weight: 700; }
.radio-cards-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .6rem; }
.radio-card { position: relative; display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.5rem; padding: .55rem .8rem; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; font-weight: 700; transition: border-color .15s, background .15s, transform var(--spring-duration) var(--spring); }
.radio-card:hover { border-color: #a8ced0; background: #f7fbfb; }
.radio-card:has(input:checked) { border-color: var(--primary); color: var(--primary-dark); background: #f1f8f8; box-shadow: inset 0 0 0 1px var(--primary); }
.radio-card:active { transform: scale(var(--press-scale)); filter: brightness(.96); transition-duration: var(--press-duration); }
.radio-card:has(input:focus-visible) { outline: 3px solid #79b7ba; outline-offset: 2px; }
.radio-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
@media (pointer: coarse) {
  .radio-card { min-height: 2.75rem; }
}
