.fos-grupo {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;        /* ← fuerza que el grupo tome el ancho completo */
}

.fos-grupo .fos-field {
    flex: 1 1 0%;
    min-width: 0;
    width: auto;
}

.fos-grupo--2col .fos-field,
.fos-grupo--3col .fos-field,
.fos-grupo--full .fos-field {
    max-width: none;
}

.fos-field label {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #252525;
}

.fos-field input,
.fos-field select,
.fos-field textarea {
    width: 100%;        /* ← esto es lo que falta */
    background: #fff;
    border: 1px solid #EFEFEF;
    border-radius: 3px;
    padding: 10px 14px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 1rem;
    color: #000;
    box-shadow: none;
}

.fos-field input:focus,
.fos-field select:focus,
.fos-field textarea:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

.fos-field .fos-checkbox-text {
    color: #252525;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 1rem;
}

.fos-field input::placeholder,
.fos-field textarea::placeholder {
    color: #B2B4B6;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 14px;
}

.fos-field--error input,
.fos-field--error select,
.fos-field--error textarea {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.fos-field--error .fos-checkbox-visual {
    border-color: #dc2626;
}

.fos-form-error {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 14px;
    color: #dc2626;
    margin-top: 8px;
}

@media (max-width: 768px) {
    .fos-grupo .fos-field {
        flex: 1 1 100%;
        width: 100%;
    }
}
