/* Container Principal (Fundo escuro inspirado na imagem) */
.scst-jornada-container {
  overflow: hidden;
}

/* A linha central da trilha */
.scst-timeline {
  position: relative;
  padding-top: 80px;
  padding-bottom: 64px;
}

.scst-timeline::after {
  content: "";
  position: absolute;
  width: 2px;
  background-color: transparent;
  border-left: 2px dashed #4da3ff; /* Linha tracejada azul clara */
  top: 0;
  bottom: 0;
  left: 50%;
  margin-left: -1px;
  z-index: 1;
}

.timeline-item {
  position: relative;
  width: 50%;
  z-index: 2;
  padding: 0; /* Removido o padding lateral para o limite do item ser o centro exato da tela */
  margin-bottom: 60px; /* Espaçamento entre as programações */
}

.timeline-left {
  left: 0;
}
.timeline-right {
  left: 50%;
}

.timeline-content {
  position: static; /* Importante: permite que a foto e o marker usem o .timeline-item como guia */
}

/* espaço para o texto não encostar na foto que estará no centro */
.timeline-left .timeline-content {
  padding-right: 90px;
  text-align: right;
}
.timeline-right .timeline-content {
  padding-left: 90px;
  text-align: left;
}

.timeline-left .timeline-content-nothumb {
  padding-right: 24px;
  text-align: right;
}
.timeline-right .timeline-content-nothumb {
  padding-left: 24px;
  text-align: left;
}

.timeline-marker {
  position: absolute;
  width: 16px;
  height: 16px;
  background-color: #ffc107; /* Amarelo/Laranja */
  border-radius: 50%;
  top: 0; /* Alinhado com a data */
  z-index: 3;
  box-shadow: 0 0 0 4px #17183b;
}

/* Metade de 16px = 8px. Crava no centro! */
.timeline-left .timeline-marker {
  right: -8px;
}
.timeline-right .timeline-marker {
  left: -8px;
}

.timeline-image-wrapper {
  position: absolute;
  top: 30px; /* Altura onde a foto vai ficar */
  width: 130px;
  height: 130px;
  z-index: 10;
}

/* Metade de 130px = 65px. Desloca a foto exatamente para cima da linha! */
.timeline-left .timeline-image-wrapper {
  right: -65px;
}
.timeline-right .timeline-image-wrapper {
  left: -65px;
}

/* O container do corpo agora é bloco simples, pois a imagem flutua no centro */
.timeline-body {
  display: block;
}

/* Demais estilos de tipografia e imagem permanecem os mesmos */
.timeline-date {
  color: #4da3ff;
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 10px;
}
.timeline-title {
  color: #ffb800;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.2;
}
.timeline-subtitle {
  color: #4da3ff; /* Azul claro para contrastar com o título */
  font-size: 0.9rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: -4px; /* Aproxima do título */
  margin-bottom: 10px; /* Espaço antes do resumo */
}
.timeline-excerpt {
  color: #e0e0e0;
  font-size: 0.9rem;
  line-height: 1.5;
}
.timeline-excerpt p {
  margin-bottom: 0;
}
.timeline-img {
  width: 130px;
  height: 130px;
  object-fit: cover;
  border: 3px solid #ffb800;
  padding: 3px;
  background-color: #17183b;
}

.timeline-svg-start,
.timeline-svg-end {
  position: absolute;
  left: 50%;
  margin-left: -25px; /* metade do width */
  padding: 4px;
  width: 50px;
  height: 50px;
  z-index: 5;
  background-color: #17183b;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%; /* Ajuda a esconder as pontas da linha pontilhada */
}

.timeline-svg-start {
  top: 0;
}

.timeline-svg-end {
  bottom: 0;
}

.agenda-button {
  background-color: #85c0ff;
}

/* =========================================
   Mobile
   ========================================= */
@media screen and (max-width: 768px) {
  .scst-timeline::after {
    left: 31px;
  }

  .timeline-body {
    display: flex;
    flex-direction: column-reverse;
  }

  .timeline-item {
    width: 100%;
    padding-left: 60px; /* Afasta o texto da nova linha lateral */
    padding-right: 15px;
  }

  .timeline-left,
  .timeline-right {
    left: 0;
  }

  .timeline-left .timeline-content,
  .timeline-right .timeline-content,
  .timeline-left .timeline-content-nothumb,
  .timeline-right .timeline-content-nothumb {
    padding-left: 0;
    padding-right: 0;
    text-align: left;
  }

  /* A bolinha acompanha a linha que foi para a esquerda (31px - 8px) */
  .timeline-left .timeline-marker,
  .timeline-right .timeline-marker {
    left: 23px;
    right: auto;
  }

  /* A foto volta para o fluxo de texto para não sobrepor o conteúdo no mobile */
  .timeline-image-wrapper {
    position: relative;
    top: auto;
    left: auto !important;
    right: auto !important;
    margin-bottom: 15px;
    width: 100px;
    height: 100px;
  }

  .timeline-img {
    width: 100px;
    height: 100px;
  }

  /* Alinha os SVGs com a linha que agora está no lado esquerdo */
  .timeline-svg-start,
  .timeline-svg-end {
    left: 31px; /* Mesma medida do .scst-timeline::after no mobile */
    margin-left: -25px;
  }
}
