/**
 * Radio Group Component Styles
 * Version: 1.0
 *
 * Extracted from templates/components/radio-group.phtml
 * Date: 2025-11-02
 *
 * Supports two styles:
 * 1. Card Style - Visual grid cards with checkmarks
 * 2. Simple Style - Traditional radio buttons (uses global form-check styles)
 */

/* ================================================
   Card Style - Visual Grid Cards
   ================================================ */

.radio-card-group .radio-card-option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1rem;
    border: 2px solid #d1d5db;
    border-radius: 0.5rem;
    background: white;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.radio-card-group .radio-card-option:hover {
    border-color: var(--primary-color, #2563eb);
    background: #f0f9ff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.radio-card-group .radio-card-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.radio-card-group .radio-text {
    font-size: 0.95rem;
    font-weight: 500;
    color: #374151;
    transition: all 0.2s ease;
}

.radio-card-group .radio-card-option input[type="radio"]:checked ~ .radio-text {
    font-weight: 600;
    color: var(--primary-color, #2563eb);
}

.radio-card-group .radio-card-option:has(input[type="radio"]:checked) {
    border-color: var(--primary-color, #2563eb);
    background: #eff6ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* ================================================
   Accessibility - Focus State
   ================================================ */

.radio-card-group .radio-card-option:has(input[type="radio"]:focus-visible) {
    outline: 2px solid var(--primary-color, #2563eb);
    outline-offset: 2px;
}

/* ================================================
   Responsive - Mobile Optimizations
   ================================================ */

/* Tablet and small desktop */
@media (max-width: 768px) {
    .radio-card-group {
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)) !important;
        gap: 10px !important;
    }

    .radio-card-group .radio-card-option {
        padding: 0.75rem 0.875rem;
        gap: 0.375rem;
    }

    .radio-card-group .radio-text {
        font-size: 0.9rem;
    }

    .radio-card-group .radio-icon {
        width: 18px;
        height: 18px;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .radio-card-group {
        grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)) !important;
    }

    .radio-card-group .radio-card-option {
        padding: 0.625rem 0.75rem;
        flex-direction: column;
        gap: 0.25rem;
    }

    .radio-card-group .radio-text {
        font-size: 0.85rem;
    }
}
