
header.topo {
    padding-top: 16px;
}
/* MENU NUTRITIONAL */
nav ul.nav {
  list-style: none;
  display: flex;
  gap: 32px;
  margin: 0;
  padding: 0;
}
nav ul.nav li {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.25em;
}
nav ul.nav li .nav-link {
  color: #395144;
  background: none;
  border: none;
  padding: 0;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: color 0.2s;
}
nav ul.nav li.active .nav-link,
nav ul.nav li:first-child .nav-link {
  color: #e1c15f;
  font-weight: 700;
}
nav ul.nav li .nav-link:hover,
nav ul.nav li.active .nav-link {
  color: #e1c15f;
  text-decoration: none;
}
nav ul.nav li:not(:first-child) .nav-link {
  color: #395144;
}
nav ul.nav li .nav-link:focus {
  outline: none;
  color: #e1c15f;
}

/* TOPO ICONES - REDES SOCIAIS */
.topo-icons {
  display: flex;
  align-items: center;
  gap: 16px;
}
.topo-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: #F0F4F0;
  border-radius: 50%;
  border: 1.5px solid #BFC9C2;
  color: #395144;
  font-size: 1.6em;
  transition: background .2s, color .2s, border-color .2s;
  box-shadow: 0 1px 6px #0000000a;
  text-align: center;
  text-decoration: none;
}
.topo-icons a i {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.topo-icons a:hover {
  background: #395144;
  color: #fff;
  border-color: #395144;
}

.banner {
  padding: 0;
  background: #f8f8f8;
  width: 100%;
}
.banner-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;   /* Mantém o recorte central se a imagem for "esticada" */
}
.banner .carousel-inner {
  aspect-ratio: 1500/647; /* ou 2.32/1 (proporção da sua imagem) */
  width: 100%;
}


/* INSTAGRAM SECTION - FIEL À IMAGEM */
.insta-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2em;
  color: #222;
  margin-bottom: 0.3em;
  letter-spacing: 0.01em;
}
.insta-underline {
  width: 70px;
  height: 4px;
  background: #395144;
  border-radius: 2px;
  margin: 0 auto 0.7em auto;
}
.insta-subtitle {
  font-family: 'Montserrat', sans-serif;
  color: #595959;
  font-size: 1.15em;
  font-weight: 400;
  margin-bottom: 2.2em;
}
.insta-feed-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.1em;
  font-weight: 700;
  color: #395144;
  text-transform: none;
  letter-spacing: 0.01em;
  margin-bottom: 1.2em !important;
  margin-top: 1.2em;
}
.insta-ultimas {
  font-weight: 700;
  color: #395144;
}
.insta-postagens {
  font-weight: 900;
  color: #395144;
  letter-spacing: 0.01em;
}
#instagram-feed .lightwidget-widget {
  width: 100% !important;
  min-width: 200px;
  border: none;
  min-height: 340px;
  max-width: 900px;
  margin: 0 auto;
  display: block;
}

ul.timeline-list.ps-1 {
    padding-left: 3.1px !important;
}
.timeline-list {
  position: relative;
  padding-left: 32px; /* espaço para a linha e os dots */
  margin: 0;
  list-style: none;
}

.timeline-list::before {
  content: '';
  position: absolute;
  left: 15px; /* centraliza a linha nos dots */
  top: 0;
  bottom: 0;
  width: 2px;
  background: #FFCC80; /* cor da sua linha, troque se quiser */
  z-index: 0;
}

.timeline-list li {
  position: relative;
  margin-bottom: 24px;
  min-height: 32px;
}

.timeline-dot {
  position: absolute;
  left: 8px;
  top: 6px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #FFCC80; /* cor do dot, igual ou diferente da linha */
  z-index: 1;
  border: 2px solid #fff;
  box-sizing: border-box;
}

.timeline-year {
  display: inline-block;
  font-weight: 700;
  margin-left: 24px;
}

.timeline-text {
  display: inline-block;
  margin-left: 12px;
}

/* DIFERENCIAIS */
.diferenciais-bg {
  background: #F7F9F8;
}
.diferenciais-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.3em;
  font-weight: 700;
  color: #222;
  margin-bottom: 0.2em;
}
.diferenciais-underline {
  width: 120px;
  height: 4px;
  background: #395144;
  border-radius: 2px;
  margin: 0 auto 2em auto;
}
.diferencial-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 1px 12px #00000010;
  padding: 30px 16px 30px 16px;
  margin: 10px;
  min-height: 233px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.icon-dif {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 18px;
}
.dif-icon-bg {
  background: #BFC9C2;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 56px;
  height: 56px;
}
.dif-icon-bg i {
  font-size: 2em;
  color: #395144;
}
.diferencial-card h4 {
  color: #222;
  font-size: 1.13em;
  margin-bottom: 13px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
}
.diferencial-card p {
  color: #595959;
  font-size: 1.05em;
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 0;
}


.num-icon img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}

/* RODAPÉ */
footer {
  background: #395144 !important;
  color: #fff;
}
footer .text-md-right a {
  font-size: 1.5em;
  margin-left: 10px;
  transition: color .2s;
}
footer .text-md-right a:hover {
  color: #e1c15f;
}

/* RESPONSIVO */
@media (max-width: 991px) {
  nav ul.nav {
    gap: 16px;
    font-size: 1em;
  }
  .topo-icons {
    gap: 0;
  }
  .banner-conteudo, .banner-img {
    padding: 10px !important;
  }
  .diferenciais .row {
    flex-direction: column;
    gap: 12px;
  }
}
@media (max-width: 600px) {
  nav ul.nav {
    gap: 8px;
    font-size: 0.95em;
  }
  .insta-title,
  .insta-feed-title,
  .diferenciais-title {
    font-size: 1.12em;
  }
  .diferenciais-underline {
    width: 60px;
    margin-bottom: 1em;
  }
  .diferencial-card {
    min-width: 98vw;
    padding: 20px 8px 18px 8px;
  }
}
/* INSTITUCIONAL */
.institucional-section {
  background: #fff;
}
.institucional-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2.3em;
  color: #222;
  text-align: center;
  margin-bottom: 0.2em;
}
.institucional-underline {
  width: 120px;
  height: 4px;
  background: #395144;
  border-radius: 2px;
  margin: 0 auto 2em auto;
}
.institucional-desc {
  color: #595959;
  font-size: 1.1em;
  font-family: 'Montserrat', sans-serif;
}

#historiaCarousel .carousel-inner {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 16px #00000012;
}
#historiaCarousel .carousel-item img {
  object-fit: cover;
  width: 100%;
  max-height: 425px;
}
#historiaCarousel .carousel-indicators li {
  background: #bfc9c2;
  border-radius: 50%;
  width: 13px;
  height: 13px;
}
#historiaCarousel .carousel-indicators .active {
  background: #395144;
}

.institucional-timeline {
  background: #395144;
  border-radius: 16px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  height: 100%;
  display: flex;
  align-items: center;
}
.timeline-list {
  list-style: none;
  margin: 0;
}
.timeline-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 22px;
  position: relative;
  min-height: 42px;
}
.timeline-dot {
  width: 11px;
  height: 11px;
  background: #e1c15f;
  border-radius: 50%;
  margin-top: 7px;
  margin-right: 14px;
  flex-shrink: 0;
}
.timeline-year {
  font-weight: 700;
  margin-right: 8px;
  min-width: 120px;
  display: inline-block;
}
.timeline-text {
  font-size: 1em;
  color: #e9e9e9;
  line-height: 1.4;
  font-weight: 400;
}
.timeline-list li:last-child {
  margin-bottom: 0;
}

/* Missão, Visão, Valores cards */
.mv-card {
  background: #f6f9fa;
  border-radius: 14px;
  box-shadow: 0 2px 8px #00000006;
  padding: 22px 22px 17px 22px;
  font-family: 'Montserrat', sans-serif;
  text-align: left;
  border-left: 5px solid #e1c15f;
}
.mv-card strong {
  font-weight: 700;
  font-size: 1.12em;
  color: #395144;
  display: block;
  margin-bottom: 8px;
}
.mv-card.mis { border-left: 5px solid #e1c15f; }
.mv-card.vis { border-left: 5px solid #395144; }
.mv-card.val { border-left: 5px solid #bfc9c2; }
.mv-card p {
  margin: 0;
  font-size: 1.04em;
  color: #595959;
  font-weight: 400;
}

/* Responsivo */
@media (max-width: 991px) {
  .institucional-title { font-size: 1.5em; }
  .institucional-underline { width: 70px; }
  .mv-card { padding: 16px 10px 14px 12px; font-size: 0.99em;}
  .timeline-year { min-width: 80px;}
}
@media (max-width: 767px) {
  .institucional-timeline { margin-bottom: 25px; }
}
@media (max-width: 575px) {
  .institucional-title { font-size: 1em; }
  .mv-card { font-size: 0.93em;}
  #historiaCarousel .carousel-item img { max-height: 140px; }
}

/* NUTRICIONAL EM NÚMEROS */
.numeros-section {
  background: #fff;
}
.num-card {
  background: #f6f9fa;
  border-radius: 40px;
  padding: 22px 28px 22px 22px;
  box-shadow: 0 2px 8px #00000008;
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 110px;
}
.num-icon {
  width: 64px;
  height: 64px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2em;
  color: #395144;
  border: 1.2px solid #bfc9c2;
  margin-right: 8px;
}
.num-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.48em;
  color: #222;
  line-height: 1;
}
.num-desc {
  font-family: 'Montserrat', sans-serif;
  color: #595959;
  font-size: 1.03em;
  margin-top: 2px;
  line-height: 1.19;
  font-weight: 400;
}

/* Responsividade para cards dos números */
@media (max-width: 991px) {
  .num-card { padding: 16px; gap: 14px; }
  .num-icon { width: 48px; height: 48px; font-size: 1.35em; }
  .num-title { font-size: 1.04em; }
  .num-desc { font-size: 0.95em; }
}
@media (max-width: 575px) {
  .num-card { flex-direction: column; align-items: flex-start; min-height: 92px; }
  .num-icon { margin-bottom: 7px; }
}

/* Espaçamento entre seções */
section, .section, .py-5, .institucional-section, .numeros-section, .diferenciais-bg, .instagram, .contato-section {
  margin-bottom: 64px;
  margin-top: 30px;
}
section:last-child, .section:last-child,
.numeros-section:last-child,
.contato-section:last-child {
  margin-bottom: 0;
}

/* CONTATO */
.contato-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2.3em;
  color: #222;
  text-align: center;
  margin-bottom: 0.5em;
}
.contato-desc {
  text-align: center;
  color: #595959;
  font-size: 1.12em;
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 3em;
}
.contato-cards {
  justify-content: center;
  gap: 0;
}
.contato-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 2px 18px #00000010;
  padding: 32px 20px 23px 20px;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.contato-ico {
  background: #F0F4F0;
  color: #395144;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2em;
  margin-bottom: 16px;
}
.contato-card strong {
  font-weight: 700;
  font-size: 1.12em;
  color: #395144;
  margin-bottom: 6px;
}
.contato-card span {
  color: #595959;
  font-size: 1.02em;
  margin-bottom: 8px;
  display: block;
}
.contato-info {
  color: #222;
  font-weight: 700;
  font-size: 1.07em;
  margin-top: 7px;
  word-break: break-all;
}

.contato-form label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  color: #222;
  font-size: 1em;
}
.contato-form input,
.contato-form select,
.contato-form textarea {
  font-family: 'Montserrat', sans-serif;
  font-size: 1em;
}
.contato-form .btn-success {
  background: #395144;
  border: none;
  font-weight: 700;
  font-size: 1.15em;
  border-radius: 8px;
  padding: 11px 0;
  margin-top: 6px;
}
.contato-form .btn-success:hover {
  background: #e1c15f !important;
  color: #395144;
}
.contato-form .form-check-label {
  font-size: .99em;
  color: #555;
}

.modal-priv {
  display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100vw; height: 100vh;
  background: rgba(0,0,0,0.45); align-items: center; justify-content: center;
}
.modal-priv .modal-content {
  background: #fff; border-radius: 8px; max-width: 600px; width: 92vw; margin: auto; padding: 32px 20px 20px 20px; position: relative;
  box-shadow: 0 2px 24px rgba(0,0,0,0.10); font-size: 1rem;
}
.modal-priv .close-modal:hover { color: #222; }

.modal-priv .close-modal {
  position: absolute; top: 10px; right: 18px; font-size: 2rem; color: #888; cursor: pointer;
}
.modal-priv .close-modal:hover { color: #222; }
.form-error { color: #c00; font-size: .95em; margin-top: 2px; }


.whatsapp-fixo {
  position: fixed;
  bottom: 32px;
  right: 28px;
  z-index: 9999;
  background: #25d366;
  color: #fff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5em;
  box-shadow: 0 4px 20px #0002;
  transition: background 0.2s, color 0.2s, transform 0.2s;
  text-decoration: none;
}
.whatsapp-fixo:hover {
  background: #128c7e;
  color: #fff;
  transform: scale(1.08);
}

/* Responsivo contato */
@media (max-width: 991px) {
  .contato-section { margin-bottom: 42px; }
  .contato-card { min-height: 180px; padding: 20px 10px 17px 10px; }
}
@media (max-width: 767px) {
  .contato-title { font-size: 1.5em; }
  .contato-card { min-height: 1px; }
}
@media (max-width: 575px) {
  .contato-title { font-size: 1em; }
  .contato-mapa iframe { height: 180px; }
}
