/* ============================================================
   RADIO.CSS — Scelta singola
   ============================================================ */
.answer-choices { display: flex; flex-direction: column; gap: var(--space-3); }

.choice-label {
    display: flex; align-items: center; gap: var(--space-4);
    padding: var(--space-4) var(--space-5);
    border: 2px solid var(--clr-border);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
    background: var(--clr-surface-warm);
}
.choice-label:hover {
    border-color: var(--clr-primary-light);
    background: #fdf5f6;
    box-shadow: var(--shadow-sm);
}

.choice-input { position: absolute; opacity: 0; width: 0; height: 0; }

/* Custom radio */
.choice-label--radio::before {
    content: '';
    flex-shrink: 0;
    width: 22px; height: 22px;
    border: 2px solid var(--clr-border);
    border-radius: 50%;
    background: var(--clr-surface);
    transition: border-color var(--transition-fast), background var(--transition-fast);
}
.choice-label--radio:has(.choice-input:checked)::before {
    border-color: var(--clr-primary);
    background: var(--clr-primary);
    box-shadow: inset 0 0 0 4px #fff;
}
.choice-label--radio:has(.choice-input:checked) {
    border-color: var(--clr-primary);
    background: #fdf5f6;
    box-shadow: var(--shadow-sm);
}

.choice-text {
    font-size: var(--text-md);
    color: var(--clr-text);
    line-height: 1.4;
}

.choice-other { margin-top: var(--space-2); padding-left: calc(22px + var(--space-4) + var(--space-5)); }
.choice-other--hidden { display: none; }
.choice-other__input { width: 100%; }

@media (max-width: 600px) {
    .choice-label { padding: var(--space-4); }
    .choice-text { font-size: var(--text-base); }
    .choice-other { padding-left: var(--space-4); }
}
