/* Composição visual da referência aprovada; sem reproduzir dados ou imagens ilustrativas. */
:root {
    --blue:#073e70;
    --green:#087343;
    --ink:#152f46;
    --muted:#526779;
    --line:#dce6ee;
    --paper:#f3f7fa;
    --shadow:0 5px 20px #1438510b;
    color-scheme:light
}
* {
    box-sizing:border-box
}
html {
    font-size:100%;
    scroll-padding-top:1rem
}
body {
    margin:0;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:var(--paper);
    color:var(--ink);
    font:1rem/1.65 system-ui,-apple-system,"Segoe UI",sans-serif
}
a {
    color:var(--blue);
    text-underline-offset:.2em
}
a:hover {
    text-decoration-thickness:2px
}
a,button,input,select,summary {
    touch-action:manipulation
}
:focus-visible {
    outline:3px solid #b36b00;
    outline-offset:4px
}
button,input,select,textarea {
    font:inherit
}
button {
    cursor:pointer;
    border:0;
    background:var(--blue);
    color:#fff;
    border-radius:6px;
    padding:.75rem 1.4rem;
    min-height:44px
}
input,select,textarea {
    border:1px solid #9eafbf;
    border-radius:6px;
    padding:.7rem .8rem;
    max-width:100%;
    min-width:0;
    background:#fff;
    color:var(--ink)
}
input {
    width:100%
}
button:hover {
    filter:brightness(1.08)
}
[hidden] {
    display:none!important
}
.container {
    width:min(1240px,calc(100% - 48px));
    margin-inline:auto
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
.ui-icon {
    display:inline-block;
    width:1.4rem;
    height:1.4rem;
    flex-shrink:0;
    vertical-align:middle
}
.skip {
    position:fixed;
    top:-100px;
    left:16px;
    background:#fff;
    color:#062d4b;
    padding:12px;
    z-index:1000
}
.skip:focus {
    top:12px
}
.utility-bar {
    background:#eaf1f6;
    color:var(--ink);
    font-size:.75rem
}
.utility-inner,.utility-actions {
    display:flex;
    align-items:center;
    gap:1.25rem;
    flex-wrap:wrap
}
.utility-inner {
    justify-content:space-between;
    min-height:36px
}
.utility-actions {
    gap:.8rem
}
.utility-actions a {
    text-decoration:none
}
.utility-actions button {
    background:none;
    color:var(--blue);
    padding:.25rem .35rem;
    min-height:32px;
    font-size:.75rem
}
.accessibility-help {
    position:relative
}
.accessibility-help summary {
    cursor:pointer
}
.accessibility-help>div {
    position:absolute;
    top:100%;
    right:0;
    width:280px;
    max-width:85vw;
    padding:16px;
    background:#fff;
    border:1px solid var(--line);
    z-index:60;
    box-shadow:var(--shadow)
}
.masthead {
    background:#fff
}
.masthead-inner {
    display:flex;
    align-items:center;
    gap:1.5rem;
    min-height:90px;
    padding-block:12px
}
.brand {
    display:flex;
    align-items:center;
    gap:1rem;
    text-decoration:none;
    line-height:1.08;
    color:var(--blue);
    flex-shrink:0
}
.brand-crest {
    display:block;
    width:60px;
    height:auto;
    flex:0 0 auto;
    object-fit:contain
}
.brand-prefix {
    display:block;
    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:.3rem
}
.brand strong {
    display:block;
    font-size:1.95rem;
    font-weight:850;
    letter-spacing:-.035em;
    text-transform:uppercase
}
.brand small {
    max-width:140px;
    font-size:.8rem;
    color:var(--muted)
}
.masthead-caption {
    font-size:.8rem;
    line-height:1.4;
    padding-left:1.5rem;
    border-left:1px solid var(--line);
    margin:0
}
.header-search {
    display:flex;
    align-items:stretch;
    margin-left:auto;
    width:380px;
    max-width:100%;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:8px;
    overflow:hidden
}
.header-search input {
    background:transparent;
    border:0;
    border-radius:0;
    font-size:.85rem;
    padding:1rem
}
.header-search button {
    border-radius:6px;
    padding:.7rem 1rem;
    margin:3px;
    min-width:48px
}
.nav-band {
    background:var(--blue);
    color:#fff;
    box-shadow:0 3px 10px #052c4014;
    position:relative;
    z-index:30
}
.primary-nav {
    display:flex;
    align-items:stretch;
    flex-wrap:wrap;
    gap:0;
    min-height:52px
}
.primary-nav>a,.nav-group>summary {
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:1rem .85rem;
    color:#fff;
    text-decoration:none;
    font-size:.73rem;
    font-weight:700;
    text-transform:uppercase;
    min-height:52px;
    cursor:pointer
}
.primary-nav>a:hover,.nav-group>summary:hover,.primary-nav [aria-current] {
    background:#ffffff12
}
.primary-nav a[aria-current] {
    box-shadow:inset 0 -3px #23b876
}
.nav-group {
    position:relative
}
.nav-group>summary {
    list-style:none
}
.nav-group>summary::-webkit-details-marker {
    display:none
}
.nav-group summary .ui-icon {
    width:.8rem;
    height:.8rem
}
.submenu {
    position:absolute;
    left:0;
    top:100%;
    min-width:250px;
    max-width:min(330px,calc(100vw - 48px));
    background:#fff;
    color:var(--ink);
    border:1px solid var(--line);
    box-shadow:0 12px 28px #00294122;
    border-radius:0 0 8px 8px;
    padding:.5rem;
    z-index:50
}
.submenu a {
    display:block;
    padding:.6rem .75rem;
    text-decoration:none;
    font-size:.9rem;
    border-radius:4px
}
.submenu a:hover {
    background:var(--paper)
}
.citizen-access {
    background:var(--green);
    margin-left:auto;
    justify-content:center
}
.nav-toggle {
    display:none;
    gap:.6rem;
    align-items:center;
    background:none;
    border:1px solid #ffffff66;
    margin-block:.55rem
}
.is-inner main {
    padding-top:28px;
    padding-bottom:64px;
    min-height:0;
    flex:1
}
.is-home main {
    flex:1;
    width:100%;
    margin:0;
    padding:0;
    max-width:none
}
.hero {
    position:relative;
    overflow:hidden;
    background-color:#04354b;
    background-image:linear-gradient(90deg,#03283fe6 0%,#03283fb3 48%,#03283f26 100%),url(../images/foto-ipatinga.jpg);
    background-size:cover;
    background-position:center 68%;
    color:#fff
}
.hero-inner {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:4rem;
    padding-block:32px
}
.hero-kicker {
    display:block;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.8rem;
    font-weight:650
}
.hero-kicker:before {
    content:"";
    display:block;
    width:58px;
    height:6px;
    border-radius:4px;
    background:#16b47a;
    margin-bottom:18px
}
.hero h1 {
    font-size:clamp(2.4rem,3.8vw,3.4rem);
    text-transform:uppercase;
    font-weight:850;
    line-height:1.03;
    margin:.65rem 0 1rem;
    max-width:620px
}
.hero-copy>p {
    font-size:1.2rem;
    margin:0 0 1.75rem;
    color:#e6f2fa
}
.search {
    display:flex;
    align-items:stretch;
    gap:8px;
    max-width:660px;
    margin-top:8px
}
.hero-search {
    background:#fff;
    color:var(--ink);
    border-radius:9px;
    padding:6px;
    align-items:center;
    box-shadow:0 4px 24px #001e4e22
}
.hero-search>.ui-icon {
    margin-left:12px
}
.hero-search input {
    border:0;
    min-height:48px;
    flex:1
}
.hero-search button {
    flex-shrink:0;
    min-width:115px
}
.hero-aside {
    align-self:start;
    margin-top:8px;
    background:#fff;
    color:var(--ink);
    padding:22px;
    border-radius:10px;
    box-shadow:var(--shadow)
}
.hero-aside>a {
    display:flex;
    align-items:center;
    gap:.6rem;
    border-top:1px solid var(--line);
    padding-top:12px;
    margin-top:12px;
    text-decoration:none;
    font-size:.85rem;
    font-weight:600
}
.home-content {
    padding-top:28px;
    padding-bottom:48px
}
.home-content>section+section {
    margin-top:28px
}
h1,h2,h3 {
    line-height:1.2;
    letter-spacing:-.025em;
    overflow-wrap:anywhere
}
h1 {
    font-size:clamp(2rem,3.5vw,3rem)
}
h2 {
    font-size:1.55rem
}
h3 {
    font-size:1.15rem
}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:18px
}
.section-heading h2 {
    margin:0;
    font-weight:850
}
.section-heading p {
    margin:.3rem 0 0;
    font-size:.9rem;
    color:var(--muted)
}
.section-heading>a {
    font-size:.8rem;
    font-weight:650;
    flex-shrink:0;
    text-decoration:none
}
.home-content .section-heading h2 {
    text-transform:uppercase
}
.quick-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px
}
.quick-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:126px;
    padding:16px 12px;
    background:#fff;
    border:1px solid #e6edf3;
    border-radius:10px;
    box-shadow:var(--shadow);
    text-decoration:none;
    text-align:center;
    color:var(--ink)
}
.quick-card>.ui-icon {
    width:32px;
    height:32px;
    color:#0757a1;
    margin-bottom:3px
}
.quick-card:nth-child(3n)>.ui-icon {
    color:#e27c12
}
.quick-card:nth-child(4n)>.ui-icon {
    color:var(--green)
}
.quick-card strong {
    font-size:.85rem;
    line-height:1.3
}
.quick-card span {
    font-size:.75rem;
    line-height:1.4;
    color:var(--muted)
}
.quick-card:hover {
    border-color:#6a9fc7;
    transform:translateY(-2px)
}
.information-access {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px
}
.information-card {
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px 22px;
    border-radius:8px;
    background:var(--green);
    color:#fff;
    text-decoration:none
}
.information-card>.ui-icon {
    width:32px;
    height:32px
}
.information-card>.ui-icon:last-child {
    width:20px;
    height:20px;
    margin-left:auto
}
.information-1 {
    background:#075ca0
}
.information-2 {
    background:#f3bb28;
    color:#172c40
}
.home-news-grid {
    display:grid;
    align-items:start;
    grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
    gap:20px
}
.home-news-grid.with-agenda {
    grid-template-columns:minmax(0,1.4fr) minmax(0,.95fr) minmax(0,.9fr)
}
.lead-news {
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:10px;
    background:#fff;
    box-shadow:var(--shadow);
    min-width:0
}
.lead-news-media {
    background:#eaf0f4;
    height:210px;
    overflow:hidden
}
.lead-news-media>img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain
}
.lead-news-copy {
    padding:20px;
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center
}
.lead-news h3 {
    font-size:1.45rem;
    margin:.4rem 0
}
.lead-news h3 a {
    color:inherit;
    text-decoration:none
}
.lead-news p {
    font-size:1rem;
    line-height:1.55;
    color:var(--ink);
    margin:.4rem 0 .8rem
}
.lead-news .category {
    font-size:.7rem;
    text-transform:uppercase
}
.news-stack {
    display:grid;
    gap:14px;
    align-content:start;
    background:#fff;
    border-radius:12px;
    padding:18px;
    box-shadow:var(--shadow)
}
.compact-news {
    display:flex;
    gap:14px;
    align-items:flex-start
}
.compact-news>img {
    width:100px;
    height:85px;
    object-fit:contain;
    background:#eaf0f4;
    flex-shrink:0;
    border-radius:7px
}
.compact-news>div {
    min-width:0
}
.compact-news h3 {
    font-size:.9rem;
    margin:.25rem 0
}
.compact-news a {
    text-decoration:none
}
.compact-news .category {
    font-size:.65rem;
    text-transform:uppercase
}
.compact-news time {
    font-size:.7rem
}
.agenda-panel {
    background:#fff;
    border-radius:12px;
    padding:18px;
    box-shadow:var(--shadow)
}
.agenda-panel .section-heading {
    gap:8px
}
.agenda-panel h2 {
    font-size:1rem
}
.agenda-event {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding-block:14px;
    border-top:1px solid var(--line)
}
.agenda-date {
    flex:0 0 58px;
    background:var(--paper);
    text-align:center;
    padding:8px;
    border-radius:5px;
    line-height:1.2
}
.agenda-date strong {
    display:block;
    font-size:1.5rem
}
.agenda-date span {
    font-size:.65rem
}
.agenda-event h3 {
    font-size:.85rem;
    margin:0
}
.agenda-event h3 a {
    text-decoration:none
}
.agenda-event p,.agenda-event time {
    font-size:.75rem;
    margin:.3rem 0
}
.grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px
}
.card {
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
    background:#fff;
    box-shadow:var(--shadow);
    min-width:0
}
.card img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:contain;
    background:#eaf0f4
}
.card-body {
    padding:22px
}
.card h3 a {
    text-decoration:none
}
.card p,time,.byline,figcaption {
    color:var(--muted)
}
time {
    font-size:.85rem
}
.eyebrow,.category {
    color:var(--green);
    font-weight:700;
    font-size:.85rem
}
.breadcrumb {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.5rem;
    font-size:.8rem;
    margin-bottom:22px
}
.categories {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:24px 0;
    padding:14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px
}
.categories a {
    padding:5px 10px;
    border-radius:5px
}
.categories [aria-current] {
    background:var(--blue);
    color:white
}
.article {
    width:100%;
    max-width:900px;
    min-width:0;
    margin:32px auto;
    overflow-wrap:anywhere;
    padding:32px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px
}
.article h1 {
    margin-top:.2em
}
.subtitle {
    font-size:1.2rem;
    color:var(--muted)
}
figure {
    margin:28px 0
}
.cover {
    width:100%;
    height:auto;
    border-radius:8px
}
figcaption {
    font-size:.85rem
}
.notice,.empty {
    padding:22px;
    background:#edf4f6;
    border-left:4px solid var(--green);
    border-radius:6px
}
.empty {
    grid-column:1/-1
}
.pagination {
    margin-top:28px
}
.pagination nav {
    display:flex;
    justify-content:space-between;
    gap:12px
}
.pagination svg {
    width:20px
}
main {
    min-width:0;
    overflow-wrap:anywhere
}
main>section+section {
    margin-top:32px
}
.tourism-strip {
    background-color:#04354b;
    background-image:linear-gradient(90deg,#03283ff5,#03283f99),url(../images/foto-ipatinga.jpg);
    background-size:cover;
    background-position:center 72%;
    padding:32px 0;
    color:#fff
}
.tourism-strip h2 {
    font-size:1.8rem;
    text-transform:uppercase;
    margin:0 0 10px
}
.tourism-strip p {
    max-width:650px
}
.green-button {
    display:inline-flex;
    background:var(--green);
    padding:10px 22px;
    color:white;
    border-radius:5px;
    text-decoration:none
}
.site-footer {
    background:#052c45;
    color:#e4eef5;
    padding:32px 0 0
}
.footer-grid {
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.1fr);
    gap:28px
}
.site-footer a {
    color:inherit
}
.footer-grid.has-departments {
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.3fr)
}
.footer-grid>* {
    min-width:0
}
.footer-identity {
    display:inline-block;
    max-width:100%
}
.footer-municipal-logo {
    display:block;
    width:260px;
    max-width:100%;
    height:auto
}
.footer-identity-text {
    font-size:1.4rem;
    font-weight:750;
    text-transform:uppercase
}
.footer-institution-name {
    font-weight:650;
    margin-top:1.3rem
}
.site-footer address {
    font-style:normal;
    font-size:.85rem;
    line-height:1.65;
    max-width:340px
}
.site-footer p {
    line-height:1.65
}
.site-footer h2 {
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin:0 0 14px;
    color:#fff
}
.site-footer ul {
    list-style:none;
    padding:0;
    margin:0
}
.site-footer li {
    margin-block:.35rem
}
.site-footer li a,.site-footer p {
    font-size:.8rem
}
.site-footer li a {
    text-decoration:none
}
.site-footer li a:hover {
    text-decoration:underline
}
.footer-button {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid #a8c5d6;
    border-radius:5px;
    padding:14px;
    text-decoration:none;
    font-size:.8rem;
    margin-top:20px
}
.footer-access {
    border-left:1px solid #ffffff30;
    padding-left:28px
}
.footer-bottom {
    border-top:1px solid #ffffff20;
    background:#04162b;
    margin-top:30px;
    padding-block:18px;
    font-size:.75rem
}
.footer-bottom-inner {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:24px
}
.semit-credit {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    align-self:center;
    gap:3px;
    flex:0 1 28rem;
    max-width:100%;
    text-align:right;
    overflow-wrap:anywhere
}
.semit-credit-prefix {
    font-size:.625rem;
    color:#d3e1ec
}
.semit-credit-name {
    color:#fff;
    font-size:.75rem;
    line-height:1.4
}
.semit-credit-name strong {
    font-weight:750;
    color:#d8e9f6
}
.site-footer #atendimento {
    scroll-margin-top:20px
}
.whatsapp-access {
    position:fixed;
    bottom:20px;
    right:20px;
    z-index:40;
    display:flex;
    align-items:center;
    gap:10px;
    background:#087343;
    color:white;
    border-radius:28px;
    padding:12px 18px;
    text-decoration:none;
    box-shadow:0 4px 20px #0002;
    font-size:.85rem
}
@media(min-width:1001px) {
    .nav-toggle {
        display:none!important
    }
}
@media(max-width:1100px) {
    .primary-nav>a,.nav-group>summary {
        font-size:.7rem;
        padding:.8rem .6rem
    }
    .hero-inner {
        gap:3rem
    }
    .home-news-grid.with-agenda {
        grid-template-columns:1.2fr 1fr
    }
    .agenda-panel {
        grid-column:1/-1
    }
    .quick-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}
@media(max-width:1000px) {
    .js .nav-toggle {
        display:flex
    }
    .js .primary-nav:not(.is-open) {
        display:none
    }
    .primary-nav {
        flex-direction:column;
        padding-bottom:10px
    }
    .primary-nav>a,.nav-group>summary {
        font-size:.9rem;
        min-height:44px;
        padding:.7rem
    }
    .submenu {
        position:static;
        min-width:0;
        max-width:none;
        box-shadow:none;
        margin:0 0 8px 12px;
        border-left:3px solid #1bb77b
    }
    .citizen-access {
        margin-left:0
    }
    .masthead-inner {
        gap:1.3rem
    }
    .masthead-caption {
        display:none
    }
    .header-search {
        width:340px
    }
    .footer-grid,.footer-grid.has-departments {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .footer-access {
        border-left:0;
        padding-left:0
    }
}
@media(max-width:768px) {
    .container {
        width:calc(100% - 32px)
    }
    .utility-caption {
        display:none
    }
    .utility-inner {
        justify-content:flex-end
    }
    .utility-actions {
        gap:.5rem;
        padding-block:5px
    }
    .masthead-inner {
        flex-wrap:wrap;
        padding-block:20px;
        gap:18px
    }
    .brand strong {
        font-size:1.9rem
    }
    .header-search {
        margin-left:0;
        width:100%
    }
    .hero-inner {
        grid-template-columns:1fr;
        padding-block:34px;
        gap:24px
    }
    .hero-aside {
        display:none
    }
    .hero h1 {
        font-size:2.6rem;
        max-width:550px
    }
    .hero-copy>p {
        font-size:1rem
    }
    .hero-search {
        gap:4px
    }
    .hero-search>.ui-icon {
        display:none
    }
    .hero-search input {
        padding:.7rem;
        min-width:0
    }
    .hero-search button {
        min-width:0;
        padding:.7rem 1rem
    }
    .section-heading {
        align-items:flex-start;
        gap:12px
    }
    .section-heading h2 {
        font-size:1.3rem
    }
    .information-access {
        grid-template-columns:1fr;
        gap:10px
    }
    .information-card {
        padding:18px
    }
    .home-news-grid,.home-news-grid.with-agenda {
        grid-template-columns:1fr
    }
    .agenda-panel {
        grid-column:auto
    }
    .lead-news-copy {
        padding:22px
    }
    .quick-grid {
        gap:10px
    }
    .quick-card {
        min-height:125px;
        padding:16px 10px
    }
    .grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .article {
        padding:22px;
        margin-block:24px
    }
    .footer-grid {
        gap:28px
    }
    .is-inner main {
        padding-top:20px
    }
}
@media(max-width:480px) {
    .quick-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .grid {
        grid-template-columns:1fr
    }
    .hero h1 {
        font-size:2.2rem
    }
    .section-heading {
        flex-wrap:wrap
    }
    .section-heading>a {
        font-size:.8rem
    }
    .quick-card strong {
        font-size:.8rem
    }
    .footer-grid,.footer-grid.has-departments {
        grid-template-columns:1fr
    }
    .footer-grid>section+section {
        margin-top:0
    }
    .utility-actions {
        font-size:.7rem;
        gap:.35rem
    }
    .utility-actions button {
        padding:.2rem;
        min-width:30px
    }
    .brand {
        max-width:100%;
        flex-shrink:1
    }
    .brand strong {
        font-size:1.8rem
    }
    .compact-news>img {
        width:85px;
        height:78px
    }
    .whatsapp-access span {
        max-width:140px;
        font-size:.75rem
    }
}
html[data-contrast=high] {
    --blue:#fff;
    --green:#ffed00;
    --ink:#fff;
    --muted:#eee;
    --line:#fff;
    --paper:#000;
    --shadow:none;
    color-scheme:dark
}
html[data-contrast=high] body,html[data-contrast=high] :is(.utility-bar,.masthead,.nav-band,.hero,.hero-aside,.card,.quick-card,.news-stack,.agenda-panel,.article,.site-footer,.submenu,.notice,.empty,.lead-news,.information-card,.tourism-strip) {
    background:#000!important;
    color:#fff!important
}
html[data-contrast=high] :is(button,.green-button,.citizen-access,.whatsapp-access) {
    background:#000;
    color:#fff;
    border:1px solid #fff
}
html[data-contrast=high] :is(input,select,textarea,.hero-search,.header-search) {
    background:#000;
    color:#fff;
    border:1px solid #fff
}
html[data-contrast=high] a {
    color:#ffed00
}
html[data-contrast=high] .hero-copy>p {
    color:#fff
}
html[data-contrast=high] :focus-visible {
    outline-color:#ffed00
}
@media(prefers-reduced-motion:reduce) {
    * {
        scroll-behavior:auto!important;
        transition:none!important
    }
}
@media print {
    .utility-bar,.header-search,.nav-band,.site-footer,.whatsapp-access,.hero-aside {
        display:none!important
    }
    body {
        background:white;
        color:black
    }
    .container {
        width:100%
    }
    .article {
        border:0;
        padding:0
    }
    .hero {
        background:white;
        color:black
    }
}
/* Corpo editorial: tipografia do portal; código tem uma área de rolagem própria. */
.rich-content  {
    min-width: 0;
    max-width: 100%;
    font-family: inherit;
    font-size: 1.1rem;
    line-height: 1.8;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.rich-content p  {
    margin: 0 0 1.2em;
}
.rich-content > p  {
    text-align: justify;
}
@media (max-width: 768px)  {
    .rich-content > p  {
        text-align: left;
    }
}
.rich-content > :first-child  {
    margin-top: 0;
}
.rich-content > :last-child  {
    margin-bottom: 0;
}
.rich-content :is(h1, h2, h3, h4, h5, h6)  {
    margin: 1.5em 0 .65em;
    font-family: inherit;
    font-weight: 700;
    line-height: 1.3;
}
.rich-content h1  {
    font-size: 1.9em;
}
.rich-content h2  {
    font-size: 1.6em;
}
.rich-content h3  {
    font-size: 1.3em;
}
.rich-content :is(h4, h5, h6)  {
    font-size: 1.1em;
}
.rich-content :is(ul, ol)  {
    margin: 0 0 1.2em;
    padding-inline-start: 1.6em;
}
.rich-content ul  {
    list-style-type: disc;
}
.rich-content ol  {
    list-style-type: decimal;
}
.rich-content li  {
    margin-block: .35em;
}
.rich-content li > :is(ul, ol)  {
    margin-block: .4em 0;
}
.rich-content li > p  {
    margin-bottom: .4em;
}
.rich-content :is(strong, b)  {
    font-weight: 700;
}
.rich-content :is(em, i)  {
    font-style: italic;
}
.rich-content a  {
    text-decoration: underline;
    overflow-wrap: anywhere;
}
.rich-content blockquote  {
    margin: 1.2em 0;
    padding-inline-start: 1em;
    border-inline-start: 4px solid var(--green);
}
.rich-content img  {
    max-width: 100%;
    height: auto;
}
.rich-content table  {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}
.rich-content :is(pre, code)  {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}
.rich-content code  {
    padding: .1em .3em;
    background: var(--paper);
    border-radius: 4px;
    white-space: break-spaces;
}
.rich-content pre  {
    min-width: 0;
    max-width: 100%;
    margin: 1.2em 0;
    padding: 1rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--paper);
    font-size: .9rem;
    line-height: 1.6;
    white-space: pre;
    overflow-wrap: normal;
    word-break: normal;
    tab-size: 4;
}
.rich-content pre code  {
    display: block;
    padding: 0;
    border-radius: 0;
    background: none;
    font: inherit;
    white-space: inherit;
    overflow-wrap: normal;
    word-break: normal;
}
@media print  {
    .rich-content pre, .rich-content pre code  {
        white-space: pre-wrap;
        overflow-wrap: anywhere;
    }
}
/* Componentes institucionais integrados à composição visual. */
.header > nav  {
    min-width: 0;
}
.header > nav a  {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.institutional-layout  {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    margin-block: 32px;
}
.institutional-sidebar  {
    flex: 0 0 230px;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    overflow-wrap: anywhere;
}
.institutional-sidebar nav  {
    display: block;
}
.institutional-sidebar ul  {
    padding-inline-start: 1.2em;
    margin-block: .6em;
}
.institutional-sidebar li  {
    margin-block: .5em;
}
.institutional-article  {
    flex: 1;
    margin-block: 0;
}
.attachment-list  {
    padding-inline-start: 1.3em;
}
.attachment-list li  {
    margin-block: .8em;
}
.download-label  {
    font-size: .9em;
}
.responsible-profile  {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}
.responsible-profile > div  {
    min-width: 0;
}
.responsible-photo  {
    max-width: 200px;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
}
.institutional-contacts  {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.institutional-contacts dt  {
    font-weight: 700;
}
.institutional-contacts dd  {
    margin: .3em 0 0;
    overflow-wrap: anywhere;
}
.multiline  {
    white-space: pre-line;
}
@media (max-width: 768px)  {
    .institutional-layout, .responsible-profile  {
        flex-direction: column;
    }
    .institutional-sidebar  {
        flex-basis: auto;
        width: 100%;
    }
    .institutional-article  {
        width: 100%;
    }
    .institutional-contacts  {
        grid-template-columns: 1fr;
    }
}
.module-filters {
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    gap:1rem;
    margin:1.5rem 0
}
.module-filters label {
    display:flex;
    flex-direction:column;
    gap:.4rem;
    max-width:100%
}
.module-filters input,.module-filters select {
    font:inherit;
    padding:.6rem;
    max-width:100%;
    min-width:0
}
nav,dd,.card {
    overflow-wrap:anywhere
}
dd {
    margin-bottom:1rem
}
.brand-mark {
    max-width:5rem;
    overflow-wrap:anywhere
}
main {
    min-width:0
}
@media(max-width:768px) {
    .module-filters label {
        width:100%
    }
    .module-filters input,.module-filters select {
        width:100%
    }
}
.entry-image,.portal-banners img {
    display:block;
    max-width:100%;
    height:auto
}
.portal-banners {
    display:grid;
    gap:1rem;
    margin-block:1.5rem
}
.poll-option {
    display:block;
    margin:.8rem 0
}
.calendar-scroll {
    max-width:100%;
    overflow-x:auto;
    margin-block:1rem
}
.portal-calendar {
    width:100%;
    min-width:650px;
    border-collapse:collapse;
    table-layout:fixed
}
.portal-calendar td,.portal-calendar th {
    border:1px solid #bacbd3;
    padding:.5rem;
    vertical-align:top;
    overflow-wrap:anywhere
}
.portal-calendar ul {
    padding-left:1rem
}
.portal-calendar td {
    height:6rem
}
.portal-calendar caption {
    font-weight:700;
    padding:.7rem
}
.whatsapp-access {
    padding-block:1rem
}
fieldset {
    min-width:0
}
.poll-option {
    display:flex;
    align-items:center;
    gap:.6rem;
    min-height:44px;
    padding:.4rem;
    cursor:pointer
}
.poll-option input[type=radio] {
    width:auto;
    flex:0 0 auto;
    padding:0;
    margin:0
}
main {
    overflow-wrap:anywhere
}
.home-news-grid.without-stack:not(.with-agenda) {
    grid-template-columns:1fr
}
.home-news-grid.with-agenda.without-stack {
    grid-template-columns:2fr 1fr
}
@media(max-width:768px) {
    .home-news-grid.with-agenda.without-stack {
        grid-template-columns:1fr
    }
    .accessibility-help>div {
        position:fixed;
        top:44px;
        right:16px;
        width:min(320px,calc(100vw - 32px));
        max-width:none;
        z-index:70
    }
}
.primary-nav>a:focus-visible,.nav-group>summary:focus-visible,.nav-toggle:focus-visible,.site-footer :focus-visible {
    outline-color:#ffdf59
}
.agenda-date {
    flex:0 0 auto;
    min-width:62px
}
.agenda-date span {
    white-space:nowrap
}
/* Uma única notícia mantém imagem e texto lado a lado, sem ampliar a capa
   até a largura do portal. Os demais arranjos acomodam lista e agenda. */
@media(min-width:769px) {
    .home-news-grid.without-stack:not(.with-agenda) .lead-news.has-image {
        display:grid;
        grid-template-columns:minmax(220px,.85fr) minmax(0,1.5fr)
    }
    .home-news-grid.without-stack:not(.with-agenda) .lead-news-media {
        height:250px;
        align-self:center
    }
}
@media(max-width:768px) {
    .brand-crest {
        width:52px
    }
    .masthead-inner {
        padding-block:14px;
        gap:14px
    }
    .hero {
        background-image:linear-gradient(90deg,#03283feb,#03283fbf),url(../images/foto-ipatinga.jpg);
        background-position:58% 65%
    }
    .hero-inner {
        padding-block:30px
    }
}
@media(max-width:480px) {
    .brand-crest {
        width:48px
    }
    .brand {
        gap:12px
    }
    .masthead .brand strong {
        font-size:1.65rem
    }
    .masthead .brand-prefix {
        font-size:.7rem
    }
    .brand small {
        max-width:90px
    }
}

@media(max-width:768px) {
    .footer-bottom-inner {
        flex-direction:column;
        align-items:flex-start
    }
    .semit-credit {
        align-self:flex-start;
        text-align:left;
        flex-basis:auto
    }
}

/* Estados de navegação: a seção pode estar ativa sem ser a página atual. */
.primary-nav>a.is-active,.nav-group.is-active>summary {
    background:#ffffff12;
    box-shadow:inset 0 -3px #23b876
}
.submenu a.is-active {
    background:#e9f2f9;
    color:#073e70;
    border-left:3px solid #087343;
    font-weight:750
}
.contact-value,.place-name {
    white-space:nowrap;
    overflow-wrap:normal
}
.footer-brand p,.site-footer address {
    margin-block:.7rem;
    line-height:1.65
}
.search>input {
    flex:1 1 12rem;
    width:0;
    min-width:0
}
.search>button,.module-filters>button {
    flex:0 0 auto;
    white-space:nowrap;
    overflow-wrap:normal
}
.search>button {
    min-width:6rem
}
.module-filters label {
    flex:1 1 12rem;
    min-width:0
}
.module-filters>button,.module-filters>a {
    align-self:flex-end
}
.module-filters>a {
    padding-block:.7rem
}
.module-filters input,.module-filters select {
    min-height:3rem
}
.month-navigation {
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin-block:1.5rem
}
.grid>.empty {
    grid-column:1/-1
}
.results-list {
    margin-block:1.5rem
}
.result-card {
    padding:1rem 0;
    border-bottom:1px solid var(--line)
}
.result-card h2 {
    margin-top:.25rem
}
.result-card>p {
    color:var(--muted);
    font-size:.85rem;
    margin:0
}
.unit-cards {
    margin-block:1.5rem
}
html[data-contrast=high] .submenu a.is-active {
    background:#000;
    color:#ffed00;
    border-color:#ffed00
}
@media(max-width:768px) {
    .module-filters label {
        flex-basis:100%
    }
}

.card h2 {
    font-size:1.15rem
}
.card h2 a {
    text-decoration:none
}

/* Consulta integrada do Diário Oficial. */
.official-page-title {
    color:var(--blue);
    font-size:clamp(1.8rem,3vw,2.35rem);
    line-height:1.2;
    margin-block:.35rem 1rem
}
.official-information {
    margin:0 0 1.25rem;
    padding:.9rem 1rem;
    border-left:4px solid var(--blue);
    border-radius:6px;
    background:#e7f1f8;
    color:#173d5b
}
.official-filter-panel {
    margin-block:1rem 1.4rem;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff
}
.official-filter-toggle {
    display:flex;
    align-items:center;
    gap:.65rem;
    min-height:48px;
    padding:.6rem .9rem;
    color:var(--blue);
    font-weight:700;
    cursor:pointer;
    list-style:none
}
.official-filter-toggle::-webkit-details-marker {display:none}
.official-filter-toggle::after {content:'+';margin-left:auto;font-size:1.25rem}
.official-filter-panel[open]>.official-filter-toggle::after {content:'−'}
.official-filter-toggle .ui-icon {width:1.15rem;height:1.15rem}
.official-filter-count {margin-left:.25rem;color:var(--muted);font-size:.85rem;font-weight:500}
.official-filter-error {margin:0 .9rem .75rem;padding:.55rem .7rem;border-left:3px solid #a51d27;background:#fff0f0;color:#76161d}
.official-filters {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.85rem;
    padding:.2rem .9rem 1rem
}
.official-filters label {display:flex;min-width:0;flex-direction:column;gap:.3rem;font-weight:650}
.official-filters input,.official-filters select {width:100%;min-width:0;min-height:44px;padding:.55rem}
.official-filter-actions {display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;grid-column:1/-1}
.official-filter-actions a {display:inline-flex;align-items:center;min-height:44px;padding:.4rem .6rem}
.official-editions-layout {
    display:grid;
    grid-template-columns:minmax(15rem,1fr) minmax(0,2fr);
    align-items:start;
    gap:1.25rem;
    margin-block:1.25rem 2rem
}
.official-calendar-section,.official-results {
    min-width:0;
    padding:.85rem;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    box-shadow:var(--shadow)
}
.official-calendar-section h2,.official-results h2 {margin:.1rem 0 .6rem;color:var(--blue);font-size:1.35rem}
.official-calendar-toolbar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:.2rem;
    margin:.25rem 0 .55rem
}
.official-calendar-toolbar a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:.1rem .25rem;
    border-radius:5px;
    font-size:.78rem;
    text-decoration:none
}
.official-calendar-toolbar a:hover {background:var(--paper);text-decoration:underline}
.official-calendar-toolbar strong {color:var(--ink);text-transform:capitalize}
.official-calendar-grid {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:2px;
    width:100%
}
.official-weekday {
    display:grid;
    min-width:0;
    min-height:26px;
    place-items:center;
    color:var(--muted);
    font-size:.75rem;
    font-weight:700
}
.official-calendar-day {
    position:relative;
    display:flex;
    min-width:0;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:2px;
    border:1px solid transparent;
    border-radius:6px;
    color:var(--ink);
    font-size:.9rem;
    line-height:1;
    text-decoration:none
}
a.official-calendar-day:hover {background:#eaf2f8;text-decoration:underline}
.official-calendar-day.has-editions {background:#e2eef7;border-color:#9ebbd0;color:#073e70;font-weight:750}
.official-day-indicator {font-size:.8rem;line-height:1;color:var(--green)}
.official-calendar-day.is-selected {outline:3px solid var(--green);outline-offset:-3px;background:var(--blue);color:#fff}
.official-calendar-day.is-selected .official-day-indicator {color:#fff}
.official-calendar-day.outside-month {pointer-events:none}
.official-calendar-legend {display:flex;align-items:center;gap:.45rem;margin:.7rem 0 0;color:var(--muted);font-size:.78rem}
.official-calendar-legend span {color:var(--green);font-size:.9rem}
.official-selected-date {margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid var(--line);font-size:.87rem}
.official-selected-date a {display:inline-block;margin-left:.2rem}
.official-results-count {margin:.1rem 0 .75rem;color:var(--muted);font-size:.9rem}
.official-applied-filters {display:flex;flex-wrap:wrap;gap:.45rem;margin:.5rem 0 .9rem;padding:0;list-style:none}
.official-applied-filters li {padding:.2rem .55rem;border-radius:99px;background:#e7f1f8;color:#173d5b;font-size:.8rem}
.official-edition-list {display:grid;gap:.7rem}
.official-edition-card {
    display:flex;
    min-width:0;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.65rem .75rem;
    border:1px solid #d6e1e9;
    border-radius:8px;
    background:#f7fafc
}
.official-edition-meta {min-width:0}
.official-edition-number {display:inline-block;margin:0 0 .25rem;padding:.12rem .5rem;border-radius:4px;background:#e4eef6;color:#073e70;font-size:.8rem;font-weight:750}
.official-edition-card h3 {margin:.08rem 0 .25rem;color:var(--ink);font-size:.96rem;line-height:1.35;overflow-wrap:anywhere}
.official-edition-card dl {display:flex;flex-wrap:wrap;gap:.2rem .7rem;margin:0;font-size:.8rem}
.official-edition-card dl div {display:flex;gap:.25rem;min-width:0}
.official-edition-card dt {color:var(--muted)}
.official-edition-card dd {margin:0;color:var(--ink);font-weight:600}
.official-view-file {
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    min-height:44px;
    padding:.4rem .65rem;
    border-radius:6px;
    background:var(--blue);
    color:#fff;
    font-weight:700;
    text-align:center;
    text-decoration:none
}
.official-view-file:hover {background:#052f55;color:#fff;text-decoration:underline}
.official-view-file .ui-icon {width:1rem;height:1rem}
.official-file-unavailable {margin:0;color:var(--muted);font-size:.85rem}
.official-results .pagination {margin-top:1rem}
.official-pagination {margin-top:.65rem}
.official-pagination ul {display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;padding:0;list-style:none}
.official-pagination a,.official-pagination .is-disabled,.official-pagination .pagination-ellipsis {
    display:inline-flex;min-width:40px;min-height:44px;align-items:center;justify-content:center;padding:.3rem .55rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--blue);font-weight:650;text-decoration:none
}
.official-pagination a[aria-current="page"] {border:2px solid var(--blue);background:#e7f1f8;font-weight:800;text-decoration:underline}
.official-pagination a:hover {background:#e7f1f8;text-decoration:underline}
.official-pagination .is-disabled,.official-pagination .pagination-ellipsis {color:var(--muted);background:var(--paper)}
.official-pagination-error {margin:0 0 .5rem;color:#76161d;font-weight:650}
.official-pagination-error+ a {display:inline-flex;min-height:44px;align-items:center}
.official-pagination-loading {margin:0;padding:.8rem 0;color:var(--muted)}
html[data-contrast=high] .official-pagination a,
html[data-contrast=high] .official-pagination .is-disabled,
html[data-contrast=high] .official-pagination .pagination-ellipsis {background:#000;color:#fff;border-color:#fff}
html[data-contrast=high] .official-pagination a[aria-current="page"] {color:#ffed00;border-color:#ffed00}
html[data-contrast=high] .official-information,
html[data-contrast=high] .official-filter-panel,
html[data-contrast=high] .official-calendar-section,
html[data-contrast=high] .official-results,
html[data-contrast=high] .official-edition-card {background:#000;color:#fff;border-color:#fff}
html[data-contrast=high] .official-applied-filters li,
html[data-contrast=high] .official-edition-number,
html[data-contrast=high] .official-calendar-day.has-editions {background:#000;color:#ffed00;border-color:#ffed00}
html[data-contrast=high] .official-edition-card h3,
html[data-contrast=high] .official-edition-card dd,
html[data-contrast=high] .official-calendar-toolbar strong {color:#fff}
html[data-contrast=high] .official-view-file {background:#000;color:#fff;border:1px solid #fff}
@media(max-width:1000px) {
    .official-editions-layout {grid-template-columns:minmax(0,1fr)}
    .official-calendar-section {order:0}
    .official-results {order:1}
}
@media(max-width:768px) {
    .official-filters {grid-template-columns:minmax(0,1fr)}
    .official-filter-actions {grid-column:auto}
    .official-calendar-section,.official-results {padding:.8rem}
    .official-calendar-grid {gap:1px}
    .official-calendar-day {min-height:44px;font-size:.85rem}
    .official-weekday {font-size:.68rem}
    .official-edition-card {align-items:stretch;flex-direction:column;gap:.5rem;padding:.65rem}
    .official-view-file {align-self:stretch;width:100%}
    .official-calendar-toolbar {justify-content:center}
    .official-calendar-toolbar strong {flex:1 0 100%;order:-1;text-align:center}
}

/* Identificação institucional: logo, nome em destaque e dados agrupados. */
.footer-brand .footer-institution-name {
    font-size:1.05rem;
    font-weight:750;
    line-height:1.4;
    margin:1.1rem 0 1.35rem
}
.footer-registration {
    font-size:.8rem;
    line-height:1.65
}
.footer-registration .footer-cnpj {
    margin:0 0 .55rem
}
.footer-registration address {
    font-size:inherit;
    margin:0
}
.footer-address-line {
    display:block
}
.footer-registration>p:last-child {
    margin:.25rem 0 0
}

/* Na inicial, somente a busca do banner permanece visível em qualquer largura. */
.is-home .header-search {
    display:none
}

/* O contorno externo mantém o foco visível mesmo com o recorte interno. */
.header-search:focus-within {
    outline:3px solid #b36b00;
    outline-offset:3px
}
html[data-contrast=high] .header-search:focus-within {
    outline-color:#ffed00
}

.information-card>span {
    min-width:0
}
.information-card strong,.information-card small {
    display:block;
    line-height:1.35
}
.information-card small {
    margin-top:.2rem;
    font-size:.8rem
}
.information-esic {
    background:#075ca0
}
.information-ombudsman {
    background:#f3bb28;
    color:#172c40
}
.news-carousel,.carousel-slides {
    min-width:0
}
.carousel-slides {
    display:grid;
    gap:20px
}
.carousel-controls {
    margin-top:12px
}
.carousel-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px
}
.carousel-actions button {
    min-width:44px;
    min-height:44px;
    padding:.5rem .75rem
}
.carousel-actions [data-carousel-prev] .ui-icon {
    transform:rotate(180deg)
}
.carousel-status {
    font-size:.85rem;
    margin:0;
    text-align:center
}
.carousel-pagination {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px
}
.carousel-page {
    min-width:44px;
    min-height:44px;
    padding:0;
    border:1px solid var(--blue);
    background:#fff;
    color:var(--blue)
}
.carousel-page[aria-current] {
    background:var(--blue);
    color:#fff
}
.footer-copyright {
    margin:0;
    font-size:.75rem;
    line-height:1.45
}
.footer-brand>.footer-copyright {margin:.75rem 0 .15rem;font-size:.8rem}
.footer-social-links {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px;
    margin:0
}
.footer-social-links>a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:0;
    border:0;
    border-radius:50%;
    color:#fff;
    text-decoration:none
}
.footer-social-links .ui-icon {width:22px;height:22px}
.footer-social-links>a:hover {
    opacity:.78
}
.footer-social-links>a[data-network="whatsapp"] {color:#74dda1}
.footer-social-links>a:focus-visible,.utility-actions a:focus-visible {
    outline:3px solid #f4c152;
    outline-offset:3px;
    border-radius:50%
}

.section-heading>a {
    max-width:100%;
    overflow-wrap:anywhere
}

/* Textos da área principal fornecidos pelo usuário, sem gerar cadastros. */
.hero-title-prefix,.hero-title-city {
    display:block
}
.hero-title-prefix {
    font-size:clamp(1.5rem,3.1vw,2.5rem);
    line-height:1.1
}
.hero-title-city {
    font-size:clamp(2.4rem,5.8vw,4.5rem);
    line-height:1.03
}
.hero-copy .hero-tagline {
    font-size:clamp(1.1rem,1.6vw,1.45rem);
    font-weight:750;
    color:#fff;
    margin:.5rem 0 .4rem
}
.hero-copy .hero-description {
    max-width:580px;
    font-size:1rem;
    line-height:1.55;
    color:#f0f6fa;
    margin:0 0 1.4rem
}
.hero-copy .hero-search-examples {
    max-width:660px;
    font-size:.75rem;
    line-height:1.55;
    color:#edf5fa;
    margin:.55rem 0 0
}
.hero-aside {
    align-self:center;
    margin-top:0
}
@media(max-width:768px) {
    .hero-title-prefix {
        font-size:clamp(1.4rem,7vw,1.8rem)
    }
    .hero-title-city {
        font-size:clamp(2.4rem,11vw,3.7rem)
    }
}

/* Banner institucional e previsão por modelo, sem dados ilustrativos. */
.hero {
    background-image:linear-gradient(90deg,rgba(3,40,63,.94) 0%,rgba(3,40,63,.78) 43%,rgba(3,40,63,.18) 100%),url('../images/ipatinga-home.webp');
    background-position:center 62%;
}
.hero-inner {grid-template-columns:minmax(0,1fr) 240px;gap:3rem;padding-top:26px;padding-bottom:26px}
.hero-kicker:before {margin-bottom:12px}
.hero h1 {margin:.45rem 0 .7rem}
.hero-title-prefix {font-size:clamp(1.5rem,2.8vw,2.2rem)}
.hero-title-city {font-size:clamp(2.4rem,5.4vw,4.2rem)}
.hero-copy .hero-tagline {font-size:clamp(1.1rem,1.5vw,1.3rem)}
.hero-copy .hero-description {max-width:540px;margin-bottom:1rem}
.hero-copy form {max-width:620px}
.weather-card {align-self:start;min-width:0;padding:18px;background:rgba(255,255,255,.97);color:#173b50;border-radius:10px;box-shadow:0 4px 18px #001c3626}
.hero .weather-card p {color:inherit;margin:0}
.hero .weather-place {font-size:1rem;font-weight:800}
.weather-current {display:flex;gap:12px;align-items:center;margin:12px 0 8px}
.weather-current>.ui-icon {width:42px;height:42px;flex:none;color:#296582}
.hero .weather-temperature {font-size:2rem;font-weight:800;line-height:1.2}
.weather-temperature span {font-size:1.1rem;margin-left:3px}
.hero .weather-condition {font-size:.85rem;line-height:1.4}
.hero .weather-reference {font-size:.72rem;line-height:1.5}
.hero .weather-date {font-size:.75rem;line-height:1.6;margin-top:9px;padding-top:9px;border-top:1px solid #d9e3e9}
.hero .weather-source {font-size:.65rem;line-height:1.7;margin-top:6px}
.weather-source a {text-decoration:underline;text-underline-offset:2px}
.hero .weather-unavailable {font-size:.85rem;line-height:1.5;margin-top:12px}
html[data-contrast=high] .weather-card {background:#000;color:#fff;border:1px solid #fff}
html[data-contrast=high] .weather-current>.ui-icon {color:#fff}
@media(max-width:768px) {
    .hero {background-image:linear-gradient(90deg,rgba(3,40,63,.94),rgba(3,40,63,.72)),url('../images/ipatinga-home.webp');background-position:58% 62%}
    .hero-inner {grid-template-columns:minmax(0,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
    .hero-title-prefix {font-size:clamp(1.4rem,7vw,1.8rem)}
    .hero-title-city {font-size:clamp(2.4rem,11vw,3.7rem)}
    .weather-card {width:100%;max-width:360px;padding:14px}
    .weather-current {margin:8px 0 4px}
}
@media print {.weather-card {display:none}}

/* Cabeçalho compacto somente no celular; os controles continuam únicos. */
.utility-toggle {display:none}
@media(max-width:768px) {
    .utility-inner {justify-content:flex-start;min-height:40px;gap:0}
    .js .utility-toggle {display:inline-flex;align-items:center;min-height:40px;padding:6px 0;background:transparent;color:var(--blue);font-size:.75rem;text-align:left;border-radius:0}
    .utility-toggle::after {content:'⌄';margin-left:8px}
    .utility-toggle[aria-expanded=true]::after {content:'⌃'}
    .js .utility-actions:not(.is-open) {display:none}
    .utility-actions {width:100%;gap:6px 12px;padding:4px 0 10px;align-items:center}
    .utility-actions :is(a,button),.accessibility-help>summary {min-height:44px;display:inline-flex;align-items:center}
    .utility-actions button {min-width:44px;padding:6px;font-size:.8rem}
    .masthead-inner {display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px 12px;min-height:64px;padding-block:10px}
    .masthead .brand {min-width:0;max-width:100%;gap:8px;grid-column:1;grid-row:1}
    .masthead .brand-crest {width:40px}
    .masthead .brand strong {font-size:clamp(1.1rem,5.4vw,1.65rem);overflow-wrap:anywhere}
    .masthead .brand-prefix {font-size:.6rem;letter-spacing:.08em;margin-bottom:.2rem}
    .masthead .brand small {display:none}
    .masthead .nav-toggle {grid-column:2;grid-row:1;justify-content:center;width:44px;height:44px;min-width:44px;padding:9px;margin:0;border:1px solid var(--line);background:var(--blue);color:#fff;border-radius:6px}
    .masthead .nav-toggle span {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .masthead .header-search {grid-column:1/-1;grid-row:2;margin:0;width:100%}
    .masthead .header-search input {min-width:0;padding:.7rem}
    .masthead .header-search button {padding:.55rem .75rem;min-width:44px}
    .masthead .nav-toggle:focus-visible {outline-color:var(--blue);outline-offset:3px}
    html[data-contrast=high] .utility-toggle {color:#fff}
    html[data-contrast=high] .masthead .nav-toggle {background:#000;border-color:#fff}
    html[data-contrast=high] .masthead .nav-toggle:focus-visible {outline-color:#ffdf59}
}

/* Eight primary destinations; secondary managed shortcuts remain available. */
.home-quick-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:10px}
.home-quick-grid .quick-card {justify-content:flex-start;min-height:150px;padding:16px 10px;gap:7px}
.home-quick-grid .quick-card strong {font-size:.8rem;line-height:1.35;overflow-wrap:normal}
.home-quick-grid .quick-card span {font-size:.72rem}
.home-quick-grid .quick-card>.ui-icon {width:28px;height:28px;margin-bottom:2px}
.quick-card-unavailable {background:#f5f7f9;box-shadow:none}
.quick-card-unavailable small {font-size:.65rem;color:#526476;line-height:1.4}
.additional-quick-grid {margin-top:12px}
@media(min-width:1200px){.home-quick-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}}
@media(max-width:700px){.home-quick-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(8rem,45%)),1fr))}}
@media(max-width:359px){.home-quick-grid .quick-card{padding-inline:8px}.home-quick-grid .quick-card strong{font-size:.78rem}}

/* Opening placement is independent of the existing inline banners. */
.opening-banner {position:fixed;inset:0;margin:auto;min-width:64px;min-height:64px;padding:0;border:0;border-radius:12px;background:#fff;color:#12334b;width:max-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 12px 64px #001c3680}
.opening-banner[open] {display:flex;align-items:center;justify-content:center}
.opening-banner[hidden] {display:none}
.opening-banner::backdrop {background:#001c36bd}
.opening-banner img {display:block;width:auto;height:auto;max-width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 32px);object-fit:contain}
.opening-banner-close {position:absolute;top:8px;right:8px;margin:0;z-index:1;width:44px;height:44px;min-width:44px;padding:0;border:2px solid #fff;border-radius:50%;background:#073e70;color:#fff;font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 1px 6px #0008}
.opening-banner-close:focus-visible {outline:3px solid #ffce45;outline-offset:2px}
@media print {.opening-banner {display:none}}

/* Institutional directory reuses quick-access cards without changing the home grid. */
.department-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:16px;margin:24px 0}
.department-card {justify-content:flex-start;min-width:0;min-height:150px;padding:24px 18px}
.department-card h2 {margin:0;font-size:1rem;line-height:1.5;text-transform:none;color:inherit;overflow-wrap:anywhere}
.department-card>.ui-icon {flex:none}
.organization-links {display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:16px 0 24px}
.organization-links a {padding-block:6px;overflow-wrap:anywhere}
.department-structure-list {list-style:none;padding-left:0;margin:12px 0}
.department-structure-list .department-structure-list {margin:8px 0 4px 12px;padding-left:16px;border-left:2px solid #c7dce9}
.department-structure-list li {margin-block:10px;overflow-wrap:anywhere}
.department-structure-list a {display:inline-block;padding-block:6px;font-weight:600}
.department-unit-acronym {display:inline-block;margin-left:8px;color:var(--muted);font-size:.85em}
@media(max-width:480px){.department-structure-list .department-structure-list{margin-left:4px;padding-left:12px}}
html[data-contrast=high] .department-structure-list .department-structure-list {border-color:#fff}

/* Navegação institucional: estrutura dedicada, sem alterar os demais módulos. */
.department-layout {display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;margin-block:24px 40px}
.department-local-menu {min-width:0;padding:12px;border:1px solid #cfdee8;border-radius:10px;background:#fff;position:sticky;top:16px}
.department-menu-context {margin:4px 8px 12px;font-weight:700;color:#123e60;overflow-wrap:anywhere}
.department-local-menu a {display:block;padding:12px;border-radius:6px;line-height:1.45;overflow-wrap:anywhere;color:#16496b;text-decoration:none}
.department-local-menu a:hover {background:#eef5fa;text-decoration:underline}
.department-local-menu a[aria-current="page"] {background:#e4f1f7;box-shadow:inset 3px 0 #147352;font-weight:700;color:#103d5e}
.department-content.article {min-width:0;max-width:none;width:auto;margin:0;padding:28px}
.department-content.article h1 {font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;overflow-wrap:anywhere}
.department-content h2 {font-size:1.35rem;line-height:1.35;overflow-wrap:anywhere}
.department-back {margin-block:12px 24px;overflow-wrap:anywhere}
.department-tree-empty {padding:16px;background:#f0f5f8;border-radius:6px}
.department-content .department-tree {list-style:none;margin:12px 0;padding:0;min-width:0;border:0}
.department-content .department-tree .department-tree {margin:8px 0;padding:0;border:0}
.department-tree-node {min-width:0;margin:10px 0;scroll-margin-block:24px}
.department-unit-heading {margin-left:var(--unit-indent);padding:12px 14px;border-left:3px solid #bed5e3;background:#f2f7fa;border-radius:0 6px 6px 0;min-width:0}
.department-unit-heading a {display:block;line-height:1.45;padding-block:4px;overflow-wrap:anywhere}
.department-unit-level {display:block;font-size:.78rem;color:#49647a}
.department-unit-children {min-width:0}
.department-unit-children > summary {margin-left:var(--unit-indent);padding:10px 12px;cursor:pointer;color:#16496b;min-height:44px;overflow-wrap:anywhere}
.department-unit-children > summary:hover {background:#edf5f8}
.department-unit-children[open] > summary .tree-show,.department-unit-children:not([open]) > summary .tree-hide {display:none}
.department-local-menu a:focus-visible,.department-tree a:focus-visible,.department-unit-children summary:focus-visible,.department-tree-node:focus-visible {outline:3px solid #127253;outline-offset:3px}
@media(max-width:900px){.department-layout{grid-template-columns:minmax(0,1fr);gap:16px}.department-local-menu{position:static;display:flex;flex-wrap:wrap;gap:4px}.department-menu-context{flex-basis:100%}.department-local-menu a{flex:1 1 180px}.department-content.article{padding:20px}}
@media(max-width:480px){.department-content.article{padding:16px}.department-local-menu a{flex-basis:100%;padding:10px}.department-unit-heading{padding:10px}}
html[data-contrast=high] :is(.department-local-menu,.department-unit-heading,.department-tree-empty){background:#000;color:#fff;border-color:#fff}
html[data-contrast=high] .department-local-menu a[aria-current="page"]{background:#222;color:#fff;box-shadow:inset 3px 0 #ff0}
html[data-contrast=high] :is(.department-local-menu a,.department-menu-context,.department-unit-level,.department-unit-children > summary){color:#fff}

/* Four latest news: one lead and distinct compact links; no summary dependency. */
.news-feature,.news-feature-layout,.news-feature-main,.news-feature-side {min-width:0}
.news-feature-layout {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;align-items:stretch}
.news-feature-single {max-width:780px}
.news-feature-single .news-feature-layout {grid-template-columns:minmax(0,1fr)}
.news-feature-card {min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.news-feature-link {color:var(--blue);text-decoration:none;min-width:0;overflow-wrap:anywhere}
.news-feature-link:hover h3 {text-decoration:underline}
.news-feature-link:focus-visible {outline:3px solid #168451;outline-offset:-4px}
.news-feature-media {background:#e7eef3;min-width:0;overflow:hidden}
.news-feature-media img {display:block;width:100%;height:100%;object-fit:contain}
.news-feature-copy h3 {margin:.45rem 0 .65rem;line-height:1.35;font-size:1rem;overflow-wrap:anywhere}
.news-feature-category {font-size:.78rem;font-weight:700;color:#09633e}
.news-feature-main .news-feature-card {height:100%;background:#09384e}
.news-feature-main .news-feature-link {display:flex;flex-direction:column;justify-content:flex-end;min-height:25rem;height:100%;position:relative;color:#fff}
.news-feature-main .news-feature-media {position:absolute;inset:0;background:#09384e}
.news-feature-main .news-feature-link::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(0,17,31,.45) 45%,rgba(0,17,31,.96) 100%);pointer-events:none}
.news-feature-main .news-feature-copy {position:relative;z-index:1;padding:24px}
.news-feature-main .news-feature-copy h3 {font-size:clamp(1.3rem,2vw,1.8rem);color:#fff}
.news-feature-main .news-feature-category {display:inline-block;padding:.3rem .6rem;border-radius:5px;background:#076d43;color:#fff}
.news-feature-main time {color:#fff;font-size:.85rem}
.news-feature-side {display:grid;gap:14px;align-content:start}
.news-feature-side .news-feature-link {display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;padding:12px;align-items:center}
.news-feature-side .news-feature-media {aspect-ratio:4/3;border-radius:7px}
.news-feature-side .news-feature-copy h3 {font-size:.95rem;margin:.35rem 0 .5rem}
.news-feature-side time {font-size:.78rem;color:#455e70}
.news-feature-controls {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.news-feature-selectors {display:flex;flex-wrap:wrap;gap:6px}
.news-feature-controls button {min-width:44px;min-height:44px;border:1px solid var(--blue);border-radius:6px;background:#fff;color:var(--blue);padding:.55rem .75rem;white-space:normal}
.news-feature-controls [data-news-index][aria-pressed=true] {color:#fff;background:var(--blue)}
.news-feature-controls button:focus-visible {outline:3px solid #087343;outline-offset:3px}
.news-feature-controls button:disabled {color:#445969;border-color:#8b9eaa;cursor:default}
.news-feature-status {font-size:.8rem;color:#455e70}
.news-main-figure {margin:0 0 1.5rem}
.news-main-figure figcaption {margin-top:.6rem;text-align:left;color:#435766;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}
.news-main-figure figcaption p {margin:.25rem 0}
.news-main-figure .news-image-credit {font-size:.82rem;color:#526575}
@media(max-width:1100px){.home-news-grid.with-agenda.without-stack{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){
 .news-feature-layout{grid-template-columns:minmax(0,1fr);gap:14px}
 .news-feature-main .news-feature-link{min-height:21rem}
 .news-feature-main .news-feature-copy{padding:18px}
 .news-feature-main .news-feature-copy h3{font-size:1.3rem}
 .news-feature-side .news-feature-link{grid-template-columns:80px minmax(0,1fr);gap:12px}
 .news-feature-controls{gap:10px}
}
html[data-contrast=high] .news-feature-card{background:#000;border-color:#fff}
html[data-contrast=high] .news-feature-link,html[data-contrast=high] .news-feature-category,html[data-contrast=high] .news-feature-status,html[data-contrast=high] .news-main-figure figcaption,html[data-contrast=high] .news-main-figure .news-image-credit{color:#fff}
html[data-contrast=high] .news-feature-controls button{background:#000;color:#fff;border-color:#fff}
html[data-contrast=high] .news-feature-controls [aria-pressed=true]{background:#fff;color:#000}

/* Diário Oficial: compactação local, sem reduzir escala ou áreas de toque. */
.official-calendar-section {padding:.7rem}
.official-calendar-section h2 {margin:.05rem 0 .45rem}
.official-calendar-toolbar {gap:0;margin:.1rem 0 .35rem}
.official-calendar-toolbar a {padding:0 .15rem}
.official-calendar-toolbar strong {font-size:.92rem}
.official-calendar-grid {gap:1px}
.official-weekday {min-height:23px}
.official-calendar-legend {margin:.45rem 0 0}
.official-selected-date {margin:.5rem 0 0;padding-top:.45rem}
.official-edition-list {gap:.5rem}
.official-edition-card {gap:.55rem;padding:.5rem .6rem}
.official-edition-number {margin-bottom:.12rem;padding:.1rem .42rem}
.official-edition-card h3 {margin:.02rem 0 .16rem}
.official-edition-card dl {gap:.12rem .6rem}
.official-view-file {padding:.2rem .55rem}
.official-results-range {margin:-.55rem 0 .65rem;color:var(--muted);font-size:.82rem}
@media(max-width:768px) {
    .official-calendar-section,.official-results {padding:.7rem}
    .official-calendar-grid {gap:1px}
    .official-edition-card {gap:.4rem;padding:.55rem}
    .official-view-file {min-height:44px;padding:.15rem .5rem}
}

/* Controles do calendário em faixas independentes para mês e ano. */
.official-calendar-toolbar {display:block;margin:.1rem 0 .35rem}
.official-calendar-month-controls {
    display:grid;
    grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);
    align-items:center;
    gap:.35rem
}
.official-calendar-month-controls a {
    min-width:0;
    padding:.1rem .2rem;
    line-height:1.2;
    text-align:center;
    overflow-wrap:anywhere
}
.official-calendar-month-controls a:first-child {justify-self:stretch}
.official-calendar-month-controls a:last-child {justify-self:stretch}
.official-calendar-month-controls strong {flex:none;order:0;text-align:center;white-space:nowrap}
.official-calendar-year-controls {
    display:flex;
    justify-content:space-between;
    gap:.5rem;
    margin-top:.1rem
}
.official-calendar-year-controls a {min-height:44px;padding:.1rem .25rem;text-align:center}
@media(max-width:768px) {
    .official-calendar-toolbar strong {flex:none;order:0;text-align:center}
    .official-calendar-month-controls {gap:.25rem}
    .official-calendar-month-controls a {font-size:.75rem}
}

/* Redução adicional de altura limitada ao calendário do Diário Oficial. */
.official-calendar-section {padding:.55rem}
.official-calendar-section h2 {margin:0 0 .25rem;line-height:1.2}
.official-calendar-toolbar {margin:0 0 .15rem}
.official-calendar-year-controls {margin-top:0}
.official-calendar-grid {gap:0}
.official-weekday {min-height:20px}
.official-calendar-day {min-height:37px}
.official-calendar-legend {margin:.25rem 0 0}
@media(max-width:768px) {
    .official-calendar-section {padding:.55rem}
    .official-calendar-grid {gap:0}
    .official-calendar-day {min-height:37px}
}

/* Licitações: formulários e consulta pública com regras isoladas do restante do portal. */
.procurement-page-title {font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.2;margin:0 0 1rem;color:var(--brand-blue,#174f86)}
.procurement-information {background:#eaf3fb;border-left:4px solid var(--brand-blue,#174f86);border-radius:.4rem;padding:.9rem 1rem;margin:0 0 1rem;color:#173c5c}
.procurement-filter-panel,.procurement-results,.procurement-detail-section {background:var(--surface,#fff);border:1px solid var(--border,#d8e0e7);border-radius:.65rem;margin:0 0 1rem;padding:1rem}
.procurement-filter-toggle {display:flex;align-items:center;gap:.55rem;cursor:pointer;font-weight:700;color:var(--brand-blue,#174f86);list-style:none;min-height:44px}
.procurement-filter-toggle::-webkit-details-marker {display:none}
.procurement-filter-toggle::after {content:"⌄";margin-left:auto;font-size:1.15rem}
.procurement-filter-panel[open]>.procurement-filter-toggle::after {content:"⌃"}
.procurement-filter-count {font-size:.84rem;font-weight:500;color:var(--muted,#52616e)}
.procurement-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:.8rem}
.procurement-filters label {display:grid;gap:.32rem;min-width:0;font-weight:600}
.procurement-filters input,.procurement-filters select {box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:.55rem .65rem;border:1px solid var(--border,#aebbc7);border-radius:.4rem;background:var(--surface,#fff);color:inherit;font:inherit}
.procurement-filter-actions {grid-column:1/-1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding-top:.15rem}
.procurement-filter-actions button,.procurement-view,.procurement-document-actions a {display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .9rem;border:0;border-radius:.4rem;background:var(--brand-blue,#174f86);color:#fff;font-weight:700;text-decoration:none;white-space:normal;text-align:center}
.procurement-filter-actions a {display:inline-flex;align-items:center;min-height:42px;padding:.45rem .25rem}
.procurement-results h2,.procurement-detail-section h2 {font-size:1.3rem;line-height:1.3;margin:0 0 .8rem;color:var(--brand-blue,#174f86)}
.procurement-results-count {font-weight:700;margin:.1rem 0 .25rem}
.procurement-results-range {font-size:.9rem;color:var(--muted,#52616e);margin:0 0 .6rem}
.procurement-applied-filters {display:flex;gap:.4rem;flex-wrap:wrap;padding:0;margin:.5rem 0 .8rem;list-style:none}
.procurement-applied-filters li {padding:.2rem .55rem;border-radius:99px;background:#edf3f7;font-size:.85rem}
.procurement-card-list {display:grid;gap:.7rem}
.procurement-card {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--border,#d8e0e7);border-radius:.55rem;background:var(--soft-surface,#f7f9fb);min-width:0}
.procurement-card-content {min-width:0;flex:1}
.procurement-card-content p {margin:.15rem 0;overflow-wrap:anywhere}
.procurement-identification,.procurement-detail-identification {display:inline-block;margin:0 0 .25rem;padding:.2rem .55rem;border-radius:.28rem;background:#e8f1f9;color:#164d7a;font-size:.95rem;font-weight:800}
.procurement-modality-name {font-weight:700;font-size:1.05rem}
.procurement-object {overflow-wrap:anywhere}
.procurement-situation span,.procurement-detail-situation {display:inline-block;padding:.12rem .45rem;border-radius:99px;background:#e9f4ea;color:#245b30;font-weight:700}
.procurement-view {flex:0 0 auto}
.procurement-empty {padding:1rem;background:var(--soft-surface,#f7f9fb);border-radius:.45rem}
.procurement-pagination {margin:1rem 0 0}
.procurement-pagination ul {display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.procurement-pagination a,.procurement-pagination .is-disabled {display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:.35rem .6rem;border:1px solid var(--border,#d8e0e7);border-radius:.35rem;text-decoration:none}
.procurement-pagination a[aria-current="page"] {background:var(--brand-blue,#174f86);color:#fff;font-weight:700}
.procurement-pagination .is-disabled {color:var(--muted,#66727c);background:var(--soft-surface,#f7f9fb)}
.procurement-pagination .pagination-ellipsis {padding:.4rem}
.procurement-results [aria-busy="true"] {min-height:8rem}
.procurement-pagination-loading,.procurement-pagination-error {padding:.8rem;border-radius:.4rem;background:#fff4dc;color:#573d0a}
.procurement-detail {max-width:70rem;margin:0 auto}
.procurement-detail h1 {font-size:clamp(1.6rem,3vw,2.2rem);color:var(--brand-blue,#174f86);line-height:1.2;overflow-wrap:anywhere;margin:.35rem 0 1rem}
.procurement-detail-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;margin:0}
.procurement-detail-grid>div {min-width:0;padding:.65rem .75rem;border:1px solid var(--border,#d8e0e7);border-radius:.45rem;background:var(--soft-surface,#f7f9fb);overflow-wrap:anywhere}
.procurement-detail-grid dt {font-size:.86rem;color:var(--muted,#52616e);font-weight:700;margin-bottom:.2rem}
.procurement-detail-grid dd {margin:0;line-height:1.5}
.procurement-detail-wide {grid-column:1/-1}
.procurement-detail-grid ul {margin:.2rem 0;padding-left:1.2rem}
.procurement-extra-description {margin-top:1rem;overflow-wrap:anywhere}
.procurement-document-group {border:1px solid var(--border,#d8e0e7);border-radius:.45rem;margin:.45rem 0;overflow:hidden}
.procurement-document-group>summary {padding:.65rem .8rem;cursor:pointer;font-weight:700;background:var(--soft-surface,#f7f9fb)}
.procurement-document-group>ul {list-style:none;margin:0;padding:.3rem .7rem}
.procurement-document-item {display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.65rem .2rem;border-bottom:1px solid var(--border,#e1e6eb)}
.procurement-document-item:last-child {border-bottom:0}
.procurement-document-item>div:first-child {min-width:0;overflow-wrap:anywhere}
.procurement-document-meta {display:block;color:var(--muted,#52616e);font-size:.88rem;margin-top:.15rem}
.procurement-document-actions {display:flex;gap:.45rem;flex-wrap:wrap}
.procurement-document-actions a {min-height:38px;padding:.35rem .65rem;font-size:.9rem}
.procurement-document-actions a:last-child {background:#e8f1f9;color:#164d7a;border:1px solid #b8cddd}
.procurement-document-tabs {display:flex;gap:.3rem;overflow-x:auto;border-bottom:1px solid var(--border,#d8e0e7);margin-bottom:.6rem}
.procurement-document-tabs button {flex:0 0 auto;min-height:44px;padding:.45rem .7rem;background:transparent;border:0;border-bottom:3px solid transparent;color:inherit;font:inherit;cursor:pointer}
.procurement-document-tabs button[aria-selected="true"] {border-bottom-color:var(--brand-blue,#174f86);font-weight:700;color:var(--brand-blue,#174f86)}
.procurement-documents.tabs-enabled .procurement-document-group {border:0;margin:0}
.procurement-documents.tabs-enabled .procurement-document-group>summary {display:none}
.procurement-documents.tabs-enabled .procurement-document-group:not([open]) {display:none}
.procurement-back {display:inline-flex;align-items:center;min-height:44px;margin-top:.4rem}
@media(max-width:900px) {
    .procurement-filters {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px) {
    .procurement-information {padding:.75rem}
    .procurement-filter-panel,.procurement-results,.procurement-detail-section {padding:.7rem}
    .procurement-filters {grid-template-columns:minmax(0,1fr);gap:.65rem}
    .procurement-filter-actions {display:grid;grid-template-columns:1fr}
    .procurement-filter-actions>* {width:100%;box-sizing:border-box}
    .procurement-card {display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;padding:.7rem}
    .procurement-view {width:100%;box-sizing:border-box}
    .procurement-detail-grid {grid-template-columns:minmax(0,1fr)}
    .procurement-detail-wide {grid-column:auto}
    .procurement-document-item {align-items:flex-start;flex-direction:column}
    .procurement-document-actions {width:100%}
    .procurement-document-actions a {flex:1}
    .procurement-pagination ul {gap:.25rem}
    .procurement-pagination a,.procurement-pagination .is-disabled {min-width:40px;min-height:44px}
}
@media(max-width:350px) {
    .procurement-filter-count {font-size:.74rem}
    .procurement-pagination ul {gap:.15rem}
    .procurement-pagination a,.procurement-pagination .is-disabled {min-width:36px;padding:.25rem .4rem}
}
@media(prefers-reduced-motion:reduce) {
    .procurement-card,.procurement-filter-panel,.procurement-view {scroll-behavior:auto;transition:none}
}
/* Consentimento de vídeo permanece junto ao vídeo que usa o provedor externo. */
.video-privacy button,.video-consent-review {min-height:44px;margin:.25rem .35rem .25rem 0;padding:.4rem .65rem;border:1px solid #315d82;border-radius:.35rem;background:#fff;color:#123c60;font:inherit;cursor:pointer}
.video-privacy button:hover,.video-consent-review:hover {background:#f0f5f9}
.video-privacy button:focus-visible,.video-consent-review:focus-visible {outline:3px solid #df9b17;outline-offset:2px}
[data-external-media-status] {display:inline-block;margin:.25rem .5rem;line-height:1.5}
.video-privacy{padding:.75rem;border-radius:.4rem;background:#f0f5f9}
