/**
 * Mahalo Code Selection (CS) styling
 */

#mahalo-cs-container-global {
    margin: 30px 0 15px 0;
    background-color: #f9f9f9;
}

.mahalo-cs-container, .mahalo-cs-container-checkbox {
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 5px;
    border: 1px solid #e0e0e0;
}

.mahalo-cs-container h3 {
    margin-top: 0;
    margin-bottom: 15px;
    text-align: center;
}

.lire-main-container .h4 {
    font-family: var(--main-text-family), sans-serif;
    color: #000;
    font-weight: bold;
    font-size: 14px;
    margin-left: 15px;
}

/* Category styling */
.mahalo-cs-category {
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 15px;
    background-color: #f0f0f0;
    border-radius: 5px;
    border: 1px solid #e0e0e0;
    grid-column: 1 / -1;
}

.mahalo-cs-category h4 {
    margin-top: 0;
    margin-bottom: 10px;
    text-align: center;
    font-size: 1.1em;
}

.lire-main-container form #mahalo-cs-container-checkbox .checkbox-label + .checkbox-label,
.lire-main-container form #mahalo-cs-container-checkbox .radio-label + .checkbox-label,
.lire-main-container form #mahalo-cs-container-checkbox .checkbox-label + .radio-label,
.lire-main-container form #mahalo-cs-container-checkbox .radio-label + .radio-label {
  margin-top: 0px;
}

/* Responsive grid for CS fields */
@media (min-width: 768px) {
    .mahalo-cs-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 15px;
        padding: 15px !important;
    }

    .mahalo-cs-container-checkbox {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 15px;
        padding: 15px !important;
    }

    .mahalo-cs-container h3 {
        grid-column: 1 / -1;
    }

    /* Category grid */
    .mahalo-cs-category {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 15px;
    }

    .mahalo-cs-category h4 {
        grid-column: 1 / -1;
    }

    /* Make boolean fields in categories span full width */
    .mahalo-cs-category .checkbox-label {
        grid-column: 1 / -1;
    }
}

/* Date input styling */
.mahalo-cs-container input[type="date"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* Select styling */
.mahalo-cs-container select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
}

/* Checkbox styling */
.mahalo-cs-container .checkbox-label {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.mahalo-cs-container .checkbox-label input[type="checkbox"] {
    margin-right: 10px;
}

/* Error message styling */
.mahalo-cs-container .error {
    color: #d9534f;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

/* Required field indicator */
.mahalo-cs-container .label.required:after {
    content: "*";
    color: #d9534f;
    margin-left: 3px;
}
