article,aside{box-sizing:border-box}

article {float: left;width: 67.5%;}
aside{float:left;width:27.5%;margin-left:5%}

@media only screen and (max-width: 576px) {
	article { float: none; width: 100%; }
  aside { float: none; width: 100%; margin: 24px 0; }
}

:is(h1, h2, h3, h4, h5)::first-letter { text-transform: uppercase } 
.content{overflow:hidden}

/* GALLERY */
ul.mpi-gallery,
.content article ul.mpi-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(110px, 140px)) !important;
  gap: 0.75rem !important;
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  padding-left: 0 !important;
  margin: 1rem 0 !important;
}
ul.mpi-gallery li,
.content article ul.mpi-gallery li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  max-width: 140px !important;
}
.mpi-gallery li a{position:relative;display:block;width:100%;height:100%;aspect-ratio:1/1;border-radius:.5rem;overflow:hidden}
.mpi-gallery li a::before{content:"\f002";position:absolute;left:0;top:0;width:100%;height:100%;padding-top:20px;opacity:0;transition:opacity .3s,padding .3s;color:#fff;font-family:FontAwesome;font-size:1.5rem;display:flex;justify-content:center;align-items:center;background-color:#000000bf}
.mpi-gallery li a:focus-visible::before,.mpi-gallery li a:hover::before{padding-top:0;opacity:1}
.mpi-gallery li img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.mpi-gallery+p.alerta{font-size:.875rem;font-weight:700}

@media screen and (min-width: 576px) {
  .mpi-gallery{grid-template-columns:repeat(auto-fill,minmax(110px,140px)) !important;}
}

/* ASIDE */
.mpi-aside .aside-title a{display:block;padding-bottom:.5rem;color:var(--bs-body-color);border-bottom:2px solid var(--primary-color);transition:color var(--transition)}
.mpi-aside .aside-title a:focus,.mpi-aside .aside-title a:hover{color:var(--primary-color)}
.mpi-aside .nav .nav-item a{display:block;margin:unset;width:100%;padding:.5rem .75rem;color:var(--bs-body-color);font-size:.875rem;background-color:rgba(0,0,0,.05);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:var(--transition)}
.mpi-aside .nav .nav-item a:hover{color:var(--primary-color);border-color:currentColor}
.mpi-aside .nav .nav-item a.active,.mpi-aside .nav .nav-item a:focus{color:#fff;border-color:rgba(0,0,0,.5);background-color:var(--primary-color)}
.mpi-aside .aside-contato a.aside-contato-link{color:#fff;border-bottom:1px solid transparent;transition:var(--transition)}
.mpi-aside .aside-contato a.aside-contato-link:focus,.mpi-aside .aside-contato a.aside-contato-link:hover{border-color:currentColor}

/* TABS REGIOES */
.regioes-tabs{display:flex;flex-flow:row wrap;justify-content:space-between;width:100%;padding:.25rem;gap:.125rem}
.regioes-tabs .nav-link{min-height:38px;min-width:38px;display:inline-flex;align-items:center;justify-content:center; flex-grow: 1; padding:.5rem .625rem;font-size:.75rem;font-weight:700;color:var(--bs-body-color)}
.regioes-tabs .nav-link:hover{color:#fff;background-color:var(--grey)}
.regioes-tabs .nav-link.active,.regioes-tabs .nav-link:focus-visible{color:#fff;background-color:var(--dark)}
.regioes-content ul{padding:unset;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin: unset;max-height: 30rem;overflow-y: scroll;}
.regioes-content ul li{display:flex;align-items:center;justify-content:flex-start;font-size:.75rem;font-weight: bold;padding:.25rem 0;border-bottom:1px solid rgba(0,0,0,.25)}

/* COPYRIGHT */
.copyright { font-size: .75rem; color: var(--bs-body-color); margin-bottom: 1rem; }

/* ==================== CTA MPI FULL WIDTH ==================== */
.cta-mpi{position:relative;z-index:2}
.cta__content{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;width:100%;min-height:256px;padding:2.5rem 0;gap:.75rem}
.cta-mpi::after{content:"";bottom:0;left:50%;transform:translateX(-50%);background-color:var(--primary-color,#791f2c);position:absolute;width:300%;height:100%;z-index:-1}
@media only screen and (min-width:768.05px) {
  .cta-mpi{transform:translateX(25%)}
}

/* 1. Banner CTA :: Texto em Negrito e Branco */
.cta__content, .cta__content h2, .cta__content p, article .cta__content h2, article .cta__content p {
  color: #ffffff !important;
}
.cta__content h2, article .cta__content h2 {
  font-weight: 800 !important;
  font-size: 2rem !important;
  letter-spacing: -0.025em !important;
}
.cta__content p, article .cta__content p {
  font-weight: 400 !important;
  font-size: 1.1rem !important;
  opacity: 0.95 !important;
}
.cta__content .btn, .cta__content a.btn {
  background-color: #ffffff !important;
  color: #791f2c !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  padding: 0.75rem 2rem !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.cta__content .btn:hover, .cta__content a.btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.3) !important;
}

/* 2. Título :: Páginas relacionadas */
.related-posting h2,
article .related-posting h2,
.content article .related-posting h2 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  text-align: center !important;
  margin-top: 2.5rem !important;
  margin-bottom: 2rem !important;
  position: relative !important;
  padding-bottom: 0.75rem !important;
}
.related-posting h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #791f2c;
  border-radius: 9999px;
}

/* 3. Título :: Regiões de Atendimento */
.regioes-title,
h2.regioes-title,
article h2.regioes-title,
.content article h2.regioes-title {
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  text-align: center !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1.5rem !important;
  line-height: 1.4 !important;
}

/* 4. Tipografia de Texto dos Artigos (MPI Content) */
article > h2:not(.regioes-title):not(.m-0),
.content article > h2:not(.regioes-title):not(.m-0) {
  font-size: 1.65rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
}

article > h3,
.content article > h3 {
  font-size: 1.35rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #334155 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.75rem !important;
}

article > p:not(.m-0):not(.alerta),
.content article > p:not(.m-0):not(.alerta) {
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: #475569 !important;
  margin-bottom: 1.25rem !important;
}

article > ul:not(.mpi-gallery):not(.regioes-tabs):not(.sitemap):not(.nav),
article > ul.list,
.content article > ul:not(.mpi-gallery):not(.regioes-tabs):not(.sitemap):not(.nav) {
  list-style-type: disc !important;
  padding-left: 1.5rem !important;
  margin-top: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

article > ul:not(.mpi-gallery):not(.regioes-tabs):not(.sitemap):not(.nav) > li,
article > ul.list > li,
.content article > ul:not(.mpi-gallery):not(.regioes-tabs):not(.sitemap):not(.nav) > li {
  margin-bottom: 0.5rem !important;
  color: #475569 !important;
  line-height: 1.6 !important;
}

article > ol,
.content article > ol {
  list-style-type: decimal !important;
  padding-left: 1.5rem !important;
  margin-top: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

article > ol > li,
.content article > ol > li {
  margin-bottom: 0.5rem !important;
  color: #475569 !important;
  line-height: 1.6 !important;
}