:root {
    --app-base-padding: 0.5rem;
}

/* --- Estilização do Modal Escritório de Carreira --- */
/* 1. Ajuste geral do diálogo */
.modal-escritorio-carreira .modal-lg {
    max-width: 60rem;
}

.modal-escritorio-carreira .modal-content {
    border-radius: 1rem;
    border: none;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}

/* 2. Ajuste do Corpo do Modal */
.modal-escritorio-carreira .modal-body {
    padding: 3.25rem 4.25rem;
}

/* 3. Título e Linha Divisória */
.modal-escritorio-carreira .modal-title-custom {
    color: #1A2144;
    font-weight: 800; /* Título bem grosso */
    margin-bottom: 0.5rem;
}

.modal-escritorio-carreira .hr-custom {
    border-color: #1A2144;
    opacity: 0.2;
    margin-top: 0;
    margin-bottom: 1.5rem;
}

/* 4. Textos - AQUI ESTÁ A CORREÇÃO DA ESPESSURA */
.modal-escritorio-carreira .text-content {
    color: #495057;
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    font-weight: 400; /* Define a espessura do texto como normal */
}

/* Garante que o texto dentro de <p> não herde negrito indesejado */
.modal-escritorio-carreira .text-content p {
    font-weight: 400;
}

/* Define o estilo para as tags <strong> dentro do modal */
.modal-escritorio-carreira .text-content strong {
    font-weight: 700; /* Negrito padrão para destaque */
    color: #1A2144; /* Opcional: coloca a cor do título no negrito */
}

/* 5. Ajuste do Botão de Fechar Nativo */
.modal-escritorio-carreira .btn-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 10;
}

/* 6. Botão de Fechar Inferior */
.modal-escritorio-carreira .btn-action-close {
    padding: 0.5rem 2rem;
    border-radius: 0.5rem;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

/* Ajustes responsivos */
@media (max-width: 768px) {
    .modal-escritorio-carreira .modal-body {
        padding: 2rem !important;
    }
}

/* --- Estilização dos Produtos no Modal --- */
.modal-escritorio-carreira .product-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #E9ECEF;
}

.modal-escritorio-carreira .product-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.modal-escritorio-carreira .product-icon {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    background-color: #F1F1F1;
    color: #1A2144;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    margin-top: 0.25rem;
}

.modal-escritorio-carreira .product-text {
    flex-grow: 1;
}

/* Ajustes de cor usando classes que parecem existir no seu tema */
.modal-escritorio-carreira .text-app-capri-blue-500 {
    color: #0C2973; /* Ou sua variável de cor */
}

.modal-escritorio-carreira .bg-app-bright-purple-100 {
    background-color: #6f42c1; /* Ou sua variável de cor */
}

/* --- Estilização da caixa de contato --- */
.modal-escritorio-carreira .contact-box {
    display: flex;
    align-items: center;
    background-color: #F8F9FA;
    border: 1px solid #E9ECEF;
    border-radius: 0.5rem;
    padding: 1.5rem;
}

.modal-escritorio-carreira .contact-icon {
    flex-shrink: 0;
    width: 3.5rem;
    height: 3.5rem;
    background-color: #E9ECEF;
    color: #0C2973;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.5rem;
}

.modal-escritorio-carreira .contact-info a {
    text-decoration: none;
    font-weight: 600;
}

.modal-escritorio-carreira .contact-info a:hover {
    text-decoration: underline;
}

a {
    text-decoration: none;
}

strong {
    font-weight: 900;
}

.form-group {
    position: relative;
}

.area-char-count {
    position: absolute;
    right: 0;
    bottom: -0.25rem;
    transform: translateY(100%);
    color: var(--app-mid-gray);
    font-size: 1.125rem;
    font-weight: 400;
}

.form-group.has-error .area-char-count {
    transform: unset;
    bottom: 0;
}

.char-count-max::before {
    content: "/";
    display: inline-block;
    margin: 0 0.25rem;
}

.text-xxs {
    font-size: 0.75rem !important;
}

.text-xs {
    font-size: 0.875rem !important;
}

.text-2xs {
    font-size: 0.8125rem !important;
}

.text-3xs {
    font-size: 0.75rem !important;
}

.text-4xs {
    font-size: 0.625rem !important;
}

.text-sm {
    font-size: 0.9375rem !important;
}
.text-md {
    font-size: 1.0625rem !important;
}
.text-base {
    font-size: 1rem !important;
}

.text-lg {
    font-size: 1.125rem !important;
}

.text-2lg {
    font-size: 1.25rem !important;
}

.text-xl {
    font-size: 1.375rem !important;
}

.text-2xl {
    font-size: 1.5rem !important;
}

.text-2\.5xl {
    font-size: 1.625rem !important;
}
.text-2\.65xl {
    font-size: 1.6875rem;
}
.text-2\.75xl {
    font-size: 1.825rem !important;
}

.text-3xl {
    font-size: 2rem !important;
}
.text-3\.25xl {
    font-size: 2.25rem;
}
.text-3\.5xl {
    font-size: 2.375rem;
  }
.text-4xl {
    font-size: 2.5rem !important;
}

.text-5xl {
    font-size: 2.75rem !important;
}

.text-6xl {
    font-size: 3rem !important;
}

.text-7xl {
    font-size: 3.25rem !important;
}

.text-8xl {
    font-size: 3.5rem !important;
}
.text-9xl {
    font-size: 3.75rem !important;
}

@media (min-width: 768px) {
    .border-md-start {
        border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    }
    .text-md-xxs {
        font-size: 0.75rem !important;
    }
    .text-md-xs {
        font-size: 0.875rem !important;
    }
    .text-md-2xs {
        font-size: 0.8125rem !important;
    }
    .text-md-3xs {
        font-size: 0.75rem !important;
    }
    .text-md-4xs {
        font-size: 0.625rem !important;
    }
    .text-md-sm {
        font-size: 0.9375rem !important;
    }
    .text-md-md {
        font-size: 1.0625rem !important;
    }
    .text-md-base {
        font-size: 1rem !important;
    }
    .text-md-lg {
        font-size: 1.125rem !important;
    }
    .text-md-1lg {
        font-size: 1.1875rem !important;
    }
    .text-md-2lg {
        font-size: 1.25rem !important;
    }
    .text-md-xl {
        font-size: 1.375rem !important;
    }
    .text-md-2xl {
        font-size: 1.5rem !important;
    }
    .text-md-2\.5xl {
        font-size: 1.625rem !important;
    }
    .text-md-2\.75xl {
        font-size: 1.825rem !important;
    }
    .text-md-3xl {
        font-size: 2rem !important;
    }
    .text-md-3\.25xl {
        font-size: 2.25rem !important;
    }
    .text-md-3\.5xl {
        font-size: 2.375rem !important;
    }
    .text-md-4xl {
        font-size: 2.5rem !important;
    }
    .text-md-5xl {
        font-size: 2.75rem !important;
    }
    .text-md-6xl {
        font-size: 3rem !important;
    }
    .text-md-6\.5xl {
        font-size: 3.125rem !important;
    }
    .text-md-7xl {
        font-size: 3.25rem !important;
    }
    .text-md-8xl {
        font-size: 3.5rem !important;
    }
    .text-md-9xl {
        font-size: 3.75rem !important;
    }
    .lh-md-1 {
        line-height: 1 !important
    }
    .lh-md-sm {
        line-height: 1.25 !important
    }
    .lh-md-base {
        line-height: 1.5 !important
    }
    .lh-md-md {
        line-height: 1.75 !important;
    }
    .lh-md-lg {
        line-height: 2 !important
    }
}
.mb-n1 {
    margin-bottom: -0.25rem;
}

.mb-n2 {
    margin-bottom: -0.5rem;
}

.mb-n3 {
    margin-bottom: -1rem;
}

.mb-n4 {
    margin-bottom: -1.5rem;
}

.mb-n5 {
    margin-bottom: -3rem;
}

.mt-n1 {
    margin-top: -0.25rem;
}

.mt-n2 {
    margin-top: -0.5rem;
}

.mt-n3 {
    margin-top: -1rem;
}

.mt-n4 {
    margin-top: -1.5rem;
}
.me-n5 {
    margin-right: -3rem;
}
.ms-n5 {
    margin-left: -3rem;
}
.mt-n5 {
    margin-top: -3rem;
}

.me-6 {
    margin-right: 3.5rem;
}

.me-7 {
    margin-right: 4rem;
}

.me-8 {
    margin-right: 4.5rem;
}

.me-9 {
    margin-right: 5rem;
}

.ms-6 {
    margin-left: 3.5rem;
}

.ms-7 {
    margin-left: 4rem;
}

.ms-8 {
    margin-left: 4.5rem;
}

.ms-9 {
    margin-left: 5rem;
}

.mt-6 {
    margin-top: 3.5rem;
}

.mt-7 {
    margin-top: 4rem;
}

.mt-8 {
    margin-top: 4.5rem;
}

.mt-9 {
    margin-top: 5rem;
}

.mb-6 {
    margin-bottom: 3.5rem;
}

.mb-7 {
    margin-bottom: 4rem;
}

.mb-8 {
    margin-bottom: 4.5rem;
}

.mb-9 {
    margin-bottom: 5rem;
}

.px-6 {
    padding-right: 3.5rem;
    padding-left: 3.5rem;
}

.px-7 {
    padding-right: 4rem;
    padding-left: 4rem;
}

.px-8 {
    padding-right: 4.5rem;
    padding-left: 4.5rem;
}

.px-9 {
    padding-right: 5rem;
    padding-left: 5rem;
}

.mx-6 {
    margin-right: 3.5rem;
    margin-left: 3.5rem;
}

.mx-7 {
    margin-right: 4rem;
    margin-left: 4rem;
}

.mx-8 {
    margin-right: 4.5rem;
    margin-left: 4.5rem;
}

.mx-9 {
    margin-right: 5rem;
    margin-left: 5rem;
}

.px-2rem {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.py-2rem {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.my-2rem {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.ml-2rem {
    margin-left: 2rem;
}

.mr-2rem {
    margin-right: 2rem;
}

.me-2rem {
    margin-right: 2rem;
    margin-left: 2rem;
}

.mb-2rem {
    margin-bottom: 2rem !important;
}

.mt-2rem {
    margin-top: 2rem;
}

.p-2rem {
    padding: 2rem !important;
}

.pb-2rem {
    padding-bottom: 2rem !important;
}

.mb-4x {
    margin-bottom: calc(var(--app-base-padding) * 4) !important;
}

.mb-5x {
    margin-bottom: calc(var(--app-base-padding) * 5) !important;
}

.mb-6x {
    margin-bottom: calc(var(--app-base-padding) * 6);
}

.mb-7x {
    margin-bottom: calc(var(--app-base-padding) * 7);
}

.mb-8x {
    margin-bottom: calc(var(--app-base-padding) * 8);
}

.mb-9x {
    margin-bottom: calc(var(--app-base-padding) * 9);
}

.mb-10x {
    margin-bottom: calc(var(--app-base-padding) * 10);
}

.pb-4x {
    padding-bottom: calc(var(--app-base-padding) * 4) !important;
}

.pb-5x {
    padding-bottom: calc(var(--app-base-padding) * 5) !important;
}

.pb-6x {
    padding-bottom: calc(var(--app-base-padding) * 6);
}

.pb-7x {
    padding-bottom: calc(var(--app-base-padding) * 7);
}

.pb-8x {
    padding-bottom: calc(var(--app-base-padding) * 8);
}

.pb-9x {
    padding-bottom: calc(var(--app-base-padding) * 9);
}

.pb-10x {
    padding-bottom: calc(var(--app-base-padding) * 10);
}

.px-4x {
    padding-left: calc(var(--app-base-padding) * 4);
    padding-right: calc(var(--app-base-padding) * 4);
}

.px-5x {
    padding-left: calc(var(--app-base-padding) * 5) !important;
    padding-right: calc(var(--app-base-padding) * 5) !important;
}

.px-6x {
    padding-left: calc(var(--app-base-padding) * 6);
    padding-right: calc(var(--app-base-padding) * 6);
}

.px-7x {
    padding-left: calc(var(--app-base-padding) * 7);
    padding-right: calc(var(--app-base-padding) * 7);
}

.px-8x {
    padding-left: calc(var(--app-base-padding) * 8);
    padding-right: calc(var(--app-base-padding) * 8);
}

.px-9x {
    padding-left: calc(var(--app-base-padding) * 9);
    padding-right: calc(var(--app-base-padding) * 9);
}

.px-10x {
    padding-left: calc(var(--app-base-padding) * 10);
    padding-right: calc(var(--app-base-padding) * 10);
}

.flex-1 {
    flex: 1;
}

.cursor-pointer {
    cursor: pointer;
}

@media (min-width: 576px) {
    .pt-sm-2rem {
        padding-top: 2rem !important;
    }
}

@media (min-width: 992px) {
    .w-lg-auto {
        width: auto !important;
    }

    .w-lg-50 {
        width: 50% !important;
    }

    .mt-lg-2rem {
        margin-top: 2rem;
    }

    .me-lg-2rem {
        margin-right: 2rem;
    }

    .px-lg-6 {
        padding-left: 3.5rem;
        padding-right: 3.5rem;
    }

    .me-lg-6 {
        margin-right: 3.5rem;
    }

    .me-lg-7 {
        margin-right: 4rem;
    }

    .me-lg-8 {
        margin-right: 4.5rem;
    }

    .me-lg-9 {
        margin-right: 5rem;
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap;
    }
}

@media (min-width: 1200px) {
    .w-xl-50 {
        width: 50% !important;
    }
}

@media (min-width: 1400px) {
    .w-xxl-50 {
        width: 50% !important;
    }

    .w-xxl-auto {
        width: auto !important;
    }
}

@media (min-width: 1600px) {
    .order-xxxl-last {
        order: 13;
    }
}

@media (min-width: 1800px) {
    .d-hdp-block {
        display: block !important;
    }
}

@media (min-width: 768px) {
    .whitespace-md-nowrap {
        white-space: nowrap;

    }
}

.icon-wrapper {
    --base-length: 3.75rem;
    --base-font-size: 1.25rem;
    width: var(--base-length);
    height: var(--base-length);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--app-lighter-gray);
}

.icon-wrapper i {
    font-size: var(--base-font-size);
    color: var(--app-mid-gray);
    line-height: 1;
}

.icon-wrapper.sm {
    --base-length: 2.8125rem;
    --base-font-size: 1rem;
}

.icon-wrapper.lg {
    --base-length: 4.6875rem;
    --base-font-size: 1.5rem;
}

.form-group-inline {
    display: flex;
    align-items: center;
    margin-bottom: 0 !important;
}

.form-group-inline .form-label {
    margin-right: 1rem;
    margin-bottom: 0 !important;
}

.form-group-inline>div,
.form-group-inline>input,
.form-group-inline>select,
.form-group-inline>textarea {
    flex-grow: 1;
}