/* Ajustes finais do layout restaurado, carregados depois dos estilos originais. */

/* Cabeçalho: preserva o desenho oficial em uma única linha no desktop. */
#navbar-top {
  padding: 18px 0;
}

#navbar-top .row {
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}

#navbar-top .col-nav-logo {
  display: flex;
  flex: 0 0 auto;
  width: auto;
  align-items: center;
}

#navbar-top .navbar-brand {
  margin: 0;
  padding: 0;
}

#navbar-top .navbar-brand img {
  display: block;
  width: 261px;
  height: 67px;
  object-fit: contain;
}

#navbar-top .header-spacer {
  flex: 1 1 auto;
  width: auto;
}

#navbar-top .header-actions {
  display: flex !important;
  flex: 0 0 auto;
  width: auto;
  align-items: center;
  justify-content: flex-end;
}

#navbar-top .block-contato-header-item {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
}

#navbar-top .btn-header-atendimento {
  white-space: nowrap;
}

/* Menu lateral funcional para celular e tablet. */
.sidebar-nav {
  display: grid;
  margin-bottom: 30px;
  border-top: 1px solid #e4e8ee;
  text-align: left;
}

.sidebar-nav a {
  padding: 15px 4px;
  border-bottom: 1px solid #e4e8ee;
  color: #031d40;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.sidebar-nav a:hover,
.sidebar-nav a:focus-visible {
  color: #9b783b;
}

/* Áreas de atuação: grade regular, cartões equilibrados e identidade visual. */
.especialidades {
  padding: 104px 0 82px;
}

.especialidades .especialds {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  padding: 42px 12px 0;
}

.especialidades .especialds > .col-md-6 {
  width: 100%;
  margin: 0;
  padding: 0;
}

.especialidades .especialds > .col-md-6:last-child {
  grid-column: 1 / -1;
  width: 100%;
  max-width: calc(50% - 12px);
  justify-self: center;
}

.especialidades .especialds-item {
  display: flex;
  height: 100%;
  margin: 0;
  padding: 32px;
  flex-direction: column;
  border-top: 3px solid #d9b26a;
  border-radius: 0 0 4px 4px;
}

.especialidades .titlecontent {
  display: flex;
  width: 100%;
  gap: 14px;
  align-items: center;
}

.especialidades .titlecontent .icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #9b783b;
  background: rgba(217, 178, 106, 0.18);
}

.especialidades .titlecontent .icon i {
  font-size: 18px;
}

.especialidades .especialds-item .titlecontent .title {
  margin: 0;
  color: #031d40;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
}

.especialidades .especialds-item-content,
.especialidades .especialds-item-content > .row,
.especialidades .especialds-item-content .informacoes {
  height: 100%;
}

.especialidades .especialds-item-content .informacoes {
  display: flex;
  flex-direction: column;
}

.especialidades .btn-moderno {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding: 11px 18px;
  align-items: center;
  justify-content: center;
  border: 1px solid #022859;
  border-radius: 4px;
  color: #fff;
  background: #022859;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.especialidades .btn-moderno:hover,
.especialidades .btn-moderno:focus-visible {
  color: #022859;
  background: #fff;
}

/* O fundo original tinha uma imagem à esquerda; sem ela, o conteúdo fica central. */
.contact-us2 {
  padding: 72px 24px;
  background: linear-gradient(110deg, #4d4d4d 0%, #606060 100%) !important;
}

.contact-us2 .row {
  justify-content: center;
}

.contact-us2-spacer {
  display: none;
}

.contact-us2-content {
  width: 100%;
  max-width: 860px;
}

.block-contact-us2 {
  align-items: center;
  text-align: center;
}

.block-contact-us2 h3 {
  max-width: 760px;
  margin-inline: auto;
}

@media (max-width: 991px) {
  #navbar-top {
    padding: 13px 0;
  }

  #navbar-top .col-nav-logo {
    flex: 1 1 auto;
    gap: 12px;
  }

  #navbar-top .header-spacer,
  #navbar-top .header-actions {
    display: none !important;
  }

  #navbar-top .openbtn {
    display: inline-flex;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    color: #031d40;
    line-height: 1;
  }

  #navbar-top .navbar-brand img {
    width: 190px;
    height: auto;
    margin: 0;
  }

  .sidebar {
    width: min(86vw, 360px);
  }

  .especialidades {
    padding: 72px 0 58px;
  }

  .especialidades .especialds {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 32px 12px 0;
  }

  .especialidades .especialds > .col-md-6:last-child {
    grid-column: auto;
    max-width: none;
  }

  .especialidades .especialds-item {
    padding: 26px 22px;
  }

  .especialidades .especialds-item .titlecontent .title {
    margin: 0;
    font-size: 16px;
  }

  .especialidades .btn-moderno {
    width: 100%;
    margin-top: 22px;
  }

  .contact-us2 {
    padding: 52px 20px;
  }

  .block-contact-us2 .btn {
    width: min(100%, 300px);
  }
}

@media (max-width: 479px) {
  #navbar-top .navbar-brand img {
    width: 158px;
  }

  .especialidades .titlecontent .icon {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }
}
