/**
 * Styling for multiple choice and selection form elements
 * For Chapter 3 Interactive Module
 */

/* Reflection Options */
.reflection-options {
    margin: 20px 0;
}

.reflection-option {
    margin-bottom: 15px;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 8px;
    border-left: 4px solid #e0e0e0;
    transition: all 0.3s ease;
    cursor: pointer;
}

.reflection-option:hover {
    background-color: #f0f0f0;
    border-left-color: #4CAF50;
}

.reflection-option input[type="radio"] {
    margin-right: 12px;
    transform: scale(1.2);
}

.reflection-option label {
    display: inline-block;
    width: calc(100% - 30px);
    vertical-align: middle;
    cursor: pointer;
    line-height: 1.6;
}

.reflection-option input[type="radio"]:checked + label {
    font-weight: bold;
}

.reflection-option:has(input[type="radio"]:checked) {
    background-color: #e8f5e9;
    border-left-color: #2E7D32;
}

/* Discussion Activity Options */
.discussion-questions {
    margin: 20px 0;
}

.discussion-item {
    margin: 25px 0;
    padding: 20px;
    background: white;
    border-radius: var(--input-radius);
    box-shadow: var(--shadow-sm);
}

.choice-options {
    margin: 15px 0;
}

.choice-option {
    margin-bottom: 12px;
    padding: 12px 16px;
    background-color: #f9f9f9;
    border-radius: 8px;
    border-left: 4px solid #e0e0e0;
    transition: all 0.3s ease;
    cursor: pointer;
}

.choice-option:hover {
    background-color: #f0f0f0;
    border-left-color: #4CAF50;
}

.choice-option input[type="radio"] {
    margin-right: 12px;
    transform: scale(1.2);
}

.choice-option label {
    display: inline-block;
    width: calc(100% - 30px);
    vertical-align: middle;
    cursor: pointer;
    line-height: 1.6;
}

.choice-option input[type="radio"]:checked + label {
    font-weight: bold;
}

.choice-option:has(input[type="radio"]:checked) {
    background-color: #e8f5e9;
    border-left-color: #2E7D32;
}

/* Grammar Exercise Options */
.grammar-exercise {
    margin: 20px 0;
}

.grammar-item {
    margin: 20px 0;
    padding: 16px;
    background: #f8f9fa;
    border-radius: var(--input-radius);
    border: 1px solid rgba(0,0,0,0.05);
}

.grammar-item p {
    margin-bottom: 10px;
    font-weight: 500;
    color: #333;
}

/* Multiple Choice Options for Grammar Questions */
.multiple-choice-options {
    margin: 15px 0;
}

.form-group {
    margin-bottom: 20px;
}

.form-group h4 {
    margin-bottom: 10px;
    color: #8B4513;
    font-weight: 600;
}

/* Writing Exercise Options */
.writing-selection {
    margin: 20px 0;
}

.writing-selection h4 {
    margin-bottom: 15px;
    font-weight: bold;
    color: #8B4513;
}

.writing-option {
    margin-bottom: 25px;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 8px;
    border-left: 4px solid #e0e0e0;
    transition: all 0.3s ease;
}

.writing-option:hover {
    background-color: #f0f0f0;
    border-left-color: #4CAF50;
}

.writing-option input[type="radio"] {
    float: left;
    margin-right: 15px;
    margin-top: 5px;
    transform: scale(1.2);
}

.writing-option label {
    display: block;
    margin-left: 30px;
    cursor: pointer;
}

.writing-option strong {
    display: block;
    margin-bottom: 8px;
    color: #8B4513;
}

.writing-option:has(input[type="radio"]:checked) {
    background-color: #e8f5e9;
    border-left-color: #2E7D32;
}

/* Enhanced option selection states */
.selected-option {
    position: relative;
    transition: all 0.3s ease;
}

.best-option {
    background-color: #e8f5e9 !important;
    border-left-color: #2E7D32 !important;
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.15);
}

.good-option {
    background-color: #e3f2fd !important;
    border-left-color: #1565c0 !important;
    box-shadow: 0 2px 8px rgba(21, 101, 192, 0.15);
}

.selected-option::before {
    content: "🔍";
    position: absolute;
    left: -25px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
}

.best-option::before {
    content: "✓";
    color: #2E7D32;
    font-weight: bold;
}

/* Animation for option highlighting */
@keyframes highlightOption {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

.selected-option {
    animation: highlightOption 0.5s ease;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    .writing-option input[type="radio"],
    .reflection-option input[type="radio"],
    .choice-option input[type="radio"] {
        transform: scale(1);
    }
    
    .writing-option label {
        margin-left: 25px;
    }
    
    .choice-option label,
    .reflection-option label {
        width: calc(100% - 25px);
    }
}
