.queixa-form-wrapper {
    font-family: system-ui, sans-serif;
    color: #1a1a1a; /* contrast >= 4.5:1 sobre blanc */
}

.queixa-camp {
    margin-bottom: 1.25rem;
    display: flex;
    flex-direction: column;
}

    .queixa-camp label {
        font-weight: 600;
        margin-bottom: 0.35rem;
    }

    .queixa-camp input,
    .queixa-camp textarea {
        padding: 0.6rem;
        border: 1px solid #595959; /* contrast suficient del border */
        border-radius: 4px;
        font-size: 1rem;
    }

        .queixa-camp input:focus,
        .queixa-camp textarea:focus,
        .queixa-boto-enviar:focus {
            outline: 3px solid #0b5fff;
            outline-offset: 2px;
        }

.queixa-ajuda {
    font-weight: 400;
    font-size: 0.875rem;
    color: #4a4a4a;
    display: block;
}

.queixa-error {
    color: #b3261e; /* contrast AA sobre blanc */
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.queixa-error-summary {
    border: 2px solid #b3261e;
    background: #fdecea;
    padding: 1rem;
    margin-bottom: 1.5rem;
    border-radius: 4px;
}

    .queixa-error-summary a {
        color: #b3261e;
        text-decoration: underline;
    }

.queixa-alert {
    padding: 1rem;
    border-radius: 4px;
    margin-top: 1rem;
}

.queixa-alert--exit {
    background: #e6f4ea;
    border: 2px solid #1e7d34;
    color: #14401f;
}

.queixa-alert--error {
    background: #fdecea;
    border: 2px solid #b3261e;
    color: #7a1a14;
}

.queixa-boto-enviar {
    background: #0b5fff;
    color: #ffffff;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
}

    .queixa-boto-enviar:hover,
    .queixa-boto-enviar:disabled {
        opacity: 0.85;
        cursor: not-allowed;
    }

.queixa-llista-adjunts {
    margin-top: 0.5rem;
    padding-left: 1.25rem;
}

/* Ocult visualment perň llegible per lectors de pantalla (NivellAA.docx: text "(obligatori)") */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mt-5{margin-top:48px;}
.mb-5{margin-bottom:48px;}

.queixa-form-wrapper .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.queixa-form-wrapper .queixa-camp.col-lg-6 {
    float: none !important;
    width: 50%;
    box-sizing: border-box;
}

@media (max-width: 991px) {
    .queixa-form-wrapper .queixa-camp.col-lg-6 {
        width: 100%;
    }
}

/* El botón, para que no quede flotando a la derecha */
.queixa-form-wrapper .enviarbtn {
    float: none !important;
    clear: both;
    flex: 1 0 100%;
    width: 100%;
    box-sizing: border-box;
    padding-right: 15px;
    padding-left: 15px;
}