/* Estilos exclusivos desta página. */

.nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 14px 22px;
    border: 2px solid #eee;
    background: #fff;
    color: #1b2431;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, border-color .2s, color .2s;
}
.nav-cta:hover, .nav-cta:focus {
    background: #276f99;
    border-color: #276f99;
    color: #fff;
    text-decoration: none;
}
.nav-cta:focus-visible { outline: 3px solid #276f99; outline-offset: 3px; }

.nav-page-banner { padding-bottom: 90px; }
.nav-page-banner .page-title-padding { padding-top: 65px; }
.page-breadcrumbs { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.page-breadcrumbs li + li::before { content: '/'; margin-right: 10px; }
.page-breadcrumbs a { color: #fff; }
.page-related-links { padding: 42px 0; background: #f9f9f9; }
.page-related-links h2 { margin: 0 0 20px; font-family: 'Raleway', sans-serif; font-size: 22px; font-weight: 700; }
.page-related-links-list { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 767px) {
    .nav-page-banner { padding-top: 170px; padding-bottom: 55px; background-attachment: scroll; }
    .nav-page-banner .page-title-padding { padding-top: 25px; }
    .nav-page-banner .page-title-content .seo-title { font-size: 28px; line-height: 1.3; overflow-wrap: anywhere; }
    .page-related-links-list .nav-cta { flex: 1 1 200px; }
}

.areas-de-atuacao-page .practice-area { padding-bottom: 65px; }
.areas-de-atuacao-page .Title-area { padding-top: 55px; padding-bottom: 35px; }
.areas-de-atuacao-page .practice-content a:focus { outline: 3px solid #276f99; outline-offset: 4px; }
@media (max-width: 767px) {
    .areas-de-atuacao-page .Title-area { padding-left: 0; padding-right: 0; }
    .areas-de-atuacao-page .p-c-details { margin-bottom: 20px; }
}

/* Banner contextual: arquivos próprios para computador e celular. */
.page-title-area {
    background-color: #1b2431;
    background-image: url('../images/banners/areas-de-atuacao-desktop.webp');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
    isolation: isolate;
}
.page-title-area::before {
    z-index: 1;
    background: linear-gradient(90deg, rgba(12, 22, 36, .76), rgba(12, 22, 36, .64), rgba(12, 22, 36, .70));
}
.page-title-area > .container { position: relative; z-index: 2; }
.page-title-content .seo-title { line-height: 1.25; overflow-wrap: break-word; text-shadow: 0 2px 10px rgba(0, 0, 0, .3); }
.page-title-content p { color: #fff; }
@media (max-width: 767px) {
    .page-title-area { background-image: url('../images/banners/areas-de-atuacao-mobile.webp'); }
    .page-title-area .page-title-content .seo-title { font-size: 26px; line-height: 1.35; }
    .page-title-area .page-title-content p { line-height: 1.6; margin-bottom: 12px; }
}

/* Conteúdos relacionados aos servidores municipais de São Paulo. */
.fa-municipais-links { padding: 45px 0; background: #f1f5f7; }
.fa-municipais-container { width: 1170px; max-width: calc(100% - 30px); margin: 0 auto; }
.fa-municipais-heading h2 { margin: 0 0 12px; font-family: 'Raleway', sans-serif; font-size: 26px; font-weight: 700; line-height: 1.4; }
.fa-municipais-heading p { margin-bottom: 24px; color: #536170; font-size: 14px; }
.fa-municipais-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fa-municipais-link { display: flex; flex-direction: column; align-items: flex-start; min-height: 165px; gap: 12px; padding: 24px; color: #1b2431; background: #fff; border: 1px solid #d7e0e6; text-decoration: none; }
.fa-municipais-link:hover, .fa-municipais-link:focus { color: #1b2431; border-color: #276f99; text-decoration: none; }
.fa-municipais-link:focus-visible { outline: 3px solid #276f99; outline-offset: 4px; }
.fa-municipais-link strong { font-family: 'Raleway', sans-serif; font-size: 22px; line-height: 1.4; }
.fa-municipais-link > span:last-child { margin-top: auto; color: #276f99; font-size: 13px; }
.fa-municipais-link i { margin-left: 9px; }
.fa-municipais-period { color: #536170; font-size: 12px; }
.inner-single-practice .fa-municipais-links { padding: 28px 0 0; margin-top: 28px; background: transparent; border-top: 1px solid #d7e0e6; }
.inner-single-practice .fa-municipais-container { width: 100%; max-width: 100%; }
.inner-single-practice .fa-municipais-heading h2 { font-size: 24px; }
@media (max-width: 1199px) { .fa-municipais-container { width: 970px; } }
@media (max-width: 991px) { .fa-municipais-container { width: 750px; } }
@media (max-width: 767px) {
    .fa-municipais-links { padding: 34px 0; }
    .fa-municipais-container { width: auto; }
    .fa-municipais-heading h2 { font-size: 24px; }
    .fa-municipais-grid { grid-template-columns: 1fr; gap: 16px; }
    .fa-municipais-link { min-height: 0; padding: 22px; }
    .fa-municipais-link strong { font-size: 21px; }
}
