/* Shared institutional palette, derived from #04765a. */
:root {
    --brand-primary: #04765a;
    --brand-hover: #035841;
    --brand-accent: #04765a;
    --brand-tint: #d5eee4;
    --brand-soft: #e6f3ed;
    --brand-surface: #f3f8f5;
    --brand-primary-rgb: 4 118 90;
    --bs-primary: var(--brand-primary);
    --bs-primary-rgb: 4, 118, 90;
    --bs-link-color: var(--brand-primary);
    --bs-link-hover-color: var(--brand-hover);
}

.form-check-input:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.swal2-popup .swal2-styled.swal2-confirm {
    background-color: var(--brand-primary);
}
.swal2-popup .swal2-styled.swal2-confirm:hover {
    background-color: var(--brand-hover);
}

/* One institutional signature shared by every branded page header. */
.institutional-logo {
    display: block;
    flex: 0 1 auto;
    width: 480px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.institutional-logo--light {
    display: none;
}

:is(.form-hero__brand, .query-hero__brand, .details-hero__brand) {
    flex-wrap: wrap;
    width: 100%;
}

:is(.form-hero__brand, .query-hero__brand, .details-hero__brand) > .institutional-logo {
    flex: 0 1 auto;
}

@media (max-width: 1100px) {
    :is(.form-hero__brand, .query-hero__brand, .details-hero__brand) {
        flex-direction: column;
        align-items: flex-start;
    }

    :is(.form-hero__brand, .query-hero__brand, .details-hero__brand) > .institutional-logo {
        flex-basis: auto;
    }

    :is(.form-hero__separator, .query-hero__separator, .details-hero__separator) {
        display: none;
    }
}

/* Habitat: translucent green is decorative; solid green preserves text contrast. */
:root { --brand-overlay: rgb(4 118 90 / 70%); }
.institutional-logo { width: 310px; padding: .5rem; background: transparent; border-radius: 0; }
.form-hero { border-bottom-color: var(--brand-overlay); }
.pqr-form-page { background: var(--brand-surface); }
#pqrForm { max-width: 1120px; margin: 1rem auto; }
#pqrForm .form-control, #pqrForm .form-select { min-height: 44px; }
#pqrForm .row > .col { min-width: 0; }
#pqrForm .bte-logo { max-width: 100%; }
#pqrForm fieldset { min-width: 0; }
#pqrForm .form-check-input { min-width: 20px; min-height: 20px; }
#pqrForm .form-check-inline { padding: .5rem 0; }
#pqrForm .header-container { font-size: .875rem; }
#pqrForm .header-container a { color: white; text-decoration: underline; }
#pqrForm .header-container .p-1 { padding: 1rem !important; }
:focus-visible { outline: 3px solid var(--brand-hover); outline-offset: 3px; }
@media(max-width: 767px) { #pqrForm .row > .col { flex: 0 0 100%; margin-top: .5rem; } }
