
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%;
}



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; }
}




/* --- FEED INSTAGRAM PERSONALIZADO (NOVO - CHIQUE) --- */

/* Estilos gerais da seção */
#instagram-feed {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; 
  justify-content: center;
}

.insta-card-wrapper { 
  max-width: 380px; 
  width: 100%; 
}

/* Estilo do card individual (Design mais chique) */
.insta-card {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  /* Borda mais suave e arredondamento maior */
  border: 1px solid #eee; 
  border-radius: 12px; 
  overflow: hidden; 
  /* Sombra mais elegante */
  box-shadow: 0 4px 15px rgba(0,0,0,0.05); 
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  height: 100%;
}

.insta-card:hover {
  transform: translateY(-4px); /* Levantamento sutil */
  box-shadow: 0 8px 20px rgba(0,0,0,0.1); 
}

/* Header (Cabeçalho) do post - Minimalista */
.insta-card-header {
  padding: 10px 15px;
  border-bottom: 1px solid #f9f9f9; /* Linha sutil */
}

.insta-card-header a {
    display: flex; /* Para alinhar imagem e texto */
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.insta-profile-pic {
  width: 36px; 
  height: 36px;
  border-radius: 50%;
  margin-right: 12px;
  object-fit: cover;
  border: 2px solid #395144; /* Borda da cor da marca */
}

.insta-username {
  font-weight: 700;
  color: #395144; 
  font-size: 1em;
  font-family: 'Montserrat', sans-serif;
}

/* Link da Mídia */
.insta-link-media {
    display: block;
}

/* Container de Mídia */
.insta-media-container {
    position: relative;
    overflow: hidden;
}
.insta-media {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1; 
  object-fit: cover; 
  display: block;
  transition: transform 0.3s ease;
}

.insta-link-media:hover .insta-media {
  transform: scale(1.05); /* Zoom mais notável */
}

/* Ícone de Mídia (Play para vídeo/reels) */
.media-type-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.4); 
    border-radius: 50%;
    width: 50px; 
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background 0.2s;
}

.media-type-icon i {
    color: #fff;
    font-size: 1.8em; 
    margin-left: 3px; 
}
.insta-card:hover .media-type-icon {
    background: rgba(0, 0, 0, 0.6);
}

/* O BLOCO .insta-content-overlay FOI REMOVIDO */

/* RODAPÉ: Ações, Legenda e Tempo */
.insta-content-footer {
    padding: 10px 0 15px 0;
}

/* Barra de Ações (ícones) */
.insta-actions {
  display: flex;
  align-items: center;
  padding: 0 15px; 
  color: #8e8e8e;
  margin-bottom: 5px;
}

.insta-action-icon {
    color: #8e8e8e;
    font-size: 1.4em;
    margin-right: 18px;
    transition: color 0.1s;
    text-decoration: none; 
}

.insta-action-icon:hover {
  color: #395144; 
}

.insta-actions .bookmark {
  margin-left: auto;
  margin-right: 0;
}

/* Legenda do Post (Snippet) */
.insta-caption {
    padding: 0 15px;
    margin-top: 5px;
    font-size: 0.9em;
    line-height: 1.4;
    color: #444; 
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}
.insta-username-caption {
    font-weight: 700;
    color: #262626;
    margin-right: 5px;
    text-decoration: none;
    transition: color 0.1s;
}
.insta-username-caption:hover {
    color: #395144; 
}

/* Tempo desde a postagem */
.insta-time-ago {
    padding: 0 15px;
    margin-top: 8px;
    font-size: 0.7em; 
    color: #aaa; 
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.05em;
}

/* FIM DOS ESTILOS DO INSTAGRAM */


