:root {
    --card-line-height: 1.2em;
    --card-radius: 0.5em;
    --color-primary: #3c94ba;
    --color-gray: #e2ebf6;
    --color-dark-gray: #c4d1e1;
    --radio-border-width: 2px;
    --radio-size: 20px;
}

.course-extra-option {
    background-color: #fff;
    border-radius: var(--card-radius);
    position: relative;
}

.course-extra-option .radio {
    font-size: inherit;
    margin: 0;
    position: absolute;
    top: -6px;
    right: -8px
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
    .course-extra-option .radio {
        -webkit-appearance: none;
        -moz-appearance: none;
        background: #fff;
        border: var(--radio-border-width) solid var(--color-gray);
        border-radius: 50%;
        cursor: pointer;
        height: var(--radio-size);
        outline: none;
        transition: background 0.2s ease-out, border-color 0.2s ease-out;
        width: var(--radio-size);
    }

    .course-extra-option .radio::after {
        border: var(--radio-border-width) solid #fff;
        border-top: 0;
        border-left: 0;
        content: "";
        display: block;
        height: 10px;
        left: 25%;
        position: absolute;
        top: 50%;
        transform: rotate(45deg) translate(-50%, -50%);
        width: 5px;
    }

    .course-extra-option .radio:checked {
        background: var(--color-primary);
        border-color: var(--color-primary);
    }

    .course-extra-option:hover .radio {
        border-color: var(--color-dark-gray);
    }

    .course-extra-option:hover .radio:checked {
        border-color: var(--color-primary);
    }
}

.course-extra-option-details {
    border: var(--radio-border-width) solid var(--color-gray);
    border-radius: var(--card-radius);
    cursor: pointer;
    display: flex;
    gap: 5px;
    padding: 8px 12px;
    transition: border-color 0.2s ease-out;
}

.course-extra-option:hover .course-extra-option-details {
    border-color: var(--color-dark-gray);
}

.course-extra-option .radio:checked~.course-extra-option-details {
    border-color: var(--color-primary);
}

.course-extra-option .radio:disabled~.course-extra-option-details {
    color: var(--color-dark-gray);
    cursor: default;
}

.course-extra-option:hover .radio:disabled~.course-extra-option-details {
    border-color: var(--color-gray);
    box-shadow: none;
}

.course-extra-option:hover .radio:disabled {
    border-color: var(--color-gray);
}

.course-extra-option-label {
    font-size: 15px;
    color: #7a7a7a;
    font-weight: 600;
}

.course-extra-option-price {
    color: var(--color-primary);
    font-size: 15px;
    font-weight: bold;
}

dt {
    display: none !important;
}