/**
 * TurboJet - Estilos para Timeline de Posts
 * Shortcode: [tj_timeline]
 * v4.1 - Removida regra de CSS defeituosa que causava conflitos de cor no botão.
 */

/* --- Wrapper Principal --- */
.tj-timeline-wrapper {
    position: relative;
    margin: 30px auto; /* Centraliza o wrapper se tiver largura definida */
    /* width e height são aplicados inline por atributos do shortcode */
}
/* Variáveis CSS globais para estilização */
.tj-timeline-wrapper {
    --tj-timeline-line-color: #e0e0e0;
    --tj-timeline-line-thickness: 2px;
    --tj-timeline-marker-color-default: #0073aa;
    --tj-timeline-marker-border-width: 2px;
    --tj-timeline-marker-icon-color: #ffffff;
    --tj-timeline-marker-icon-size: 60%;
    --tj-timeline-marker-margin: 0;
    --tj-timeline-marker-padding: 0;
    --tj-timeline-item-spacing: 40px; /* Espaçamento entre colunas/itens e a linha */
    --tj-timeline-item-v-gap: 30px; /* Espaço vertical entre itens na timeline vertical */
    --tj-timeline-item-title-color-global: inherit;
    --tj-timeline-item-title-size-global: 1.4em;
    --tj-timeline-item-text-color-global: inherit;
    --tj-timeline-item-text-size-global: 0.95em;
    --tj-timeline-item-date-color-global: #777;
    --tj-timeline-item-date-size-global: 0.85em;
    --tj-timeline-item-meta-size-global: 0.8em;
}

/* --- Track da Timeline --- */
.tj-timeline-track {
    position: relative; 
    width: 100%;
    margin: 0 auto;
}
.tj-timeline-wrapper[class*="horizontal"] .tj-timeline-track {
    display: flex;
    /* align-items foi movido para regras específicas de layout horizontal */
    min-width: 100%; 
    width: fit-content; 
}

/* --- Linha da Timeline Visual (Geral) --- */
.tj-timeline-track::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
}

/* Linha Vertical */
.tj-timeline-wrapper[class*="vertical"] .tj-timeline-track::before {
    width: var(--tj-timeline-line-thickness); top: 0; bottom: 0; 
}
.tj-timeline-wrapper.tj-timeline-line-style-solid[class*="vertical"] .tj-timeline-track::before { background-color: var(--tj-timeline-line-color, #cccccc); }
.tj-timeline-wrapper.tj-timeline-line-style-dotted[class*="vertical"] .tj-timeline-track::before { background: none !important; border-left: var(--tj-timeline-line-thickness) dotted var(--tj-timeline-line-color, #cccccc); }
.tj-timeline-wrapper.tj-timeline-line-style-dashed[class*="vertical"] .tj-timeline-track::before { background: none !important; border-left: var(--tj-timeline-line-thickness) dashed var(--tj-timeline-line-color, #cccccc); }
.tj-timeline-layout-vertical_padrao .tj-timeline-track::before,
.tj-timeline-layout-vertical_alternado .tj-timeline-track::before { left: 50%; transform: translateX(-50%); }
.tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-track::before { left: calc(var(--tj-timeline-marker-size-default) / 2 + var(--tj-timeline-marker-border-width)); transform: translateX(-50%); }
.tj-timeline-layout-vertical_empilhado_direita .tj-timeline-track::before { right: calc(var(--tj-timeline-marker-size-default) / 2 + var(--tj-timeline-marker-border-width)); left: auto; transform: translateX(50%); }

/* Linha Horizontal */
.tj-timeline-wrapper[class*="horizontal"] .tj-timeline-track::before {
    height: var(--tj-timeline-line-thickness); 
    left: 0; 
    width: 100%; 
}
.tj-timeline-wrapper.tj-timeline-line-style-solid[class*="horizontal"] .tj-timeline-track::before { background-color: var(--tj-timeline-line-color, #cccccc); }
.tj-timeline-wrapper.tj-timeline-line-style-dotted[class*="horizontal"] .tj-timeline-track::before { background: none !important; border-top: var(--tj-timeline-line-thickness) dotted var(--tj-timeline-line-color, #cccccc); }
.tj-timeline-wrapper.tj-timeline-line-style-dashed[class*="horizontal"] .tj-timeline-track::before { background: none !important; border-top: var(--tj-timeline-line-thickness) dashed var(--tj-timeline-line-color, #cccccc); }
/* Posicionamento vertical da linha horizontal */
.tj-timeline-layout-horizontal_padrao .tj-timeline-track::before,
.tj-timeline-layout-horizontal_alternado .tj-timeline-track::before { top: 50%; transform: translateY(-50%); }
.tj-timeline-layout-horizontal_empilhado_cima .tj-timeline-track::before { top: auto; bottom: 0; transform: translateY(50%); }
.tj-timeline-layout-horizontal_empilhado_baixo .tj-timeline-track::before { top: 0; bottom: auto; transform: translateY(-50%); }


/* --- Item Individual da Timeline --- */
.tj-timeline-item { position: relative; margin-bottom: var(--tj-timeline-item-v-gap); z-index: 2; box-sizing: border-box; }
.tj-timeline-item:last-child { margin-bottom: 0; }
.tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-item,
.tj-timeline-layout-vertical_empilhado_direita .tj-timeline-item,
.tj-timeline-layout-horizontal_empilhado_cima .tj-timeline-item,
.tj-timeline-layout-horizontal_empilhado_baixo .tj-timeline-item { background-color: #fff; border: 1px solid #ddd; border-radius: 5px; }

/* Marcador da Timeline */
.tj-timeline-marker-container { position: absolute; z-index: 3; margin: var(--tj-timeline-marker-margin); display: flex; align-items: center; justify-content: center; }
.tj-timeline-marker { width: var(--tj-timeline-marker-size-default); height: var(--tj-timeline-marker-size-default); background-color: var(--tj-timeline-marker-color-default); border-radius: 50%; border: var(--tj-timeline-marker-border-width) solid #fff; box-shadow: 0 0 0 var(--tj-timeline-marker-border-width) var(--tj-timeline-marker-color-default); display: flex; align-items: center; justify-content: center; overflow: hidden; padding: var(--tj-timeline-marker-padding); box-sizing: border-box; }
.tj-timeline-marker img, .tj-timeline-marker svg { width: var(--tj-timeline-marker-icon-size, 60%); height: var(--tj-timeline-marker-icon-size, 60%); object-fit: contain; }
.tj-timeline-marker svg { fill: var(--tj-timeline-marker-icon-color, #fff); }


/* Conteúdo do Item (Data, Título, etc.) */
.tj-timeline-item-date { font-size: var(--tj-timeline-item-date-size-global, 0.85em); color: var(--tj-timeline-item-date-color-global, #777); margin-bottom: 8px; display: block; }
.tj-timeline-item-image-wrapper { line-height: 0; border-radius: 4px; overflow: hidden; margin: var(--margem_imagem_item); padding: var(--padding_imagem_item); }
.tj-timeline-item-image-wrapper img { display: block; width: 100%; height: auto; object-fit: cover; }
.tj-timeline-item-title { font-size: var(--tj-timeline-item-title-size-global, 1.4em); margin-top: 0; margin-bottom: 0.5em; line-height: 1.3; }
.tj-timeline-item-title a { text-decoration: none; color: var(--tj-timeline-item-title-color-global, #333); transition: color 0.2s ease; }
.tj-timeline-item-title a:hover { color: var(--tj-timeline-marker-color-default); }
.tj-timeline-item-meta { font-size: var(--tj-timeline-item-meta-size-global, 0.8em); color: var(--tj-timeline-item-text-color-global, #888); margin-bottom: 10px; }
.tj-timeline-item-meta .tj-timeline-meta-separator { margin: 0 0.4em; }
.tj-timeline-item-excerpt { font-size: var(--tj-timeline-item-text-size-global, 0.95em); color: var(--tj-timeline-item-text-color-global, #555); margin-bottom: 15px; line-height: 1.6; }
.tj-timeline-item-excerpt p:last-child { margin-bottom: 0; }
.tj-timeline-item-readmore { margin-top: 10px; }


/* --- LAYOUTS VERTICAIS --- */
.tj-timeline-layout-vertical_padrao .tj-timeline-item-columns,
.tj-timeline-layout-vertical_alternado .tj-timeline-item-columns { display: flex; position: relative; width: 100%; justify-content: space-between; align-items: flex-start; }
.tj-timeline-layout-vertical_padrao .tj-timeline-item-media-column,
.tj-timeline-layout-vertical_alternado .tj-timeline-item-media-column { width: calc(50% - (var(--tj-timeline-item-spacing) / 2) - (var(--tj-timeline-line-thickness) / 2)); display: flex; align-items: flex-start; }
.tj-timeline-layout-vertical_padrao .tj-timeline-item-text-column,
.tj-timeline-layout-vertical_alternado .tj-timeline-item-text-column { width: calc(50% - (var(--tj-timeline-item-spacing) / 2) - (var(--tj-timeline-line-thickness) / 2)); background-color: #fff; border: 1px solid #ddd; border-radius: 5px; }
.tj-timeline-layout-vertical_padrao .tj-timeline-item-media-column { order: 1; justify-content: flex-end; }
.tj-timeline-layout-vertical_padrao .tj-timeline-item-text-column { order: 2; }
.tj-timeline-layout-vertical_alternado .tj-timeline-item-odd .tj-timeline-item-media-column { order: 1; justify-content: flex-end; }
.tj-timeline-layout-vertical_alternado .tj-timeline-item-odd .tj-timeline-item-text-column { order: 2; }
.tj-timeline-layout-vertical_alternado .tj-timeline-item-even .tj-timeline-item-text-column { order: 1; text-align: right; }
.tj-timeline-layout-vertical_alternado .tj-timeline-item-even .tj-timeline-item-media-column { order: 2; justify-content: flex-start; }
.tj-timeline-layout-vertical_padrao .tj-timeline-marker-container,
.tj-timeline-layout-vertical_alternado .tj-timeline-marker-container { left: 50%; transform: translateX(-50%); top: var(--tj-timeline-item-padding-top, 15px); }
.tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-item { margin-left: calc(var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + 20px); max-width: calc(100% - (var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + 40px)); }
.tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-marker-container { left: calc( ( (var(--tj-timeline-marker-size-default) / 2 + var(--tj-timeline-marker-border-width) ) * -1 ) - 20px + (var(--tj-timeline-line-thickness) / 2) ); top: var(--tj-timeline-item-padding-top, 15px); }
.tj-timeline-layout-vertical_empilhado_direita .tj-timeline-item { margin-right: calc(var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + 20px); max-width: calc(100% - (var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + 40px)); margin-left: auto; text-align: right; }
.tj-timeline-layout-vertical_empilhado_direita .tj-timeline-marker-container { right: calc( ( (var(--tj-timeline-marker-size-default) / 2 + var(--tj-timeline-marker-border-width) ) * -1 ) - 20px + (var(--tj-timeline-line-thickness) / 2) ); left: auto; top: var(--tj-timeline-item-padding-top, 15px); }


/* --- LAYOUTS HORIZONTAIS --- */
.tj-timeline-horizontal-scroll-container { display: flex; overflow-x: auto; overflow-y: hidden; padding-bottom: 20px; width: 100%; -webkit-overflow-scrolling: touch; }
.tj-timeline-wrapper[class*="horizontal"] .tj-timeline-item { flex-shrink: 0; width: 300px; margin: 0 calc(var(--tj-timeline-item-spacing) / 2); }
.tj-timeline-wrapper[class*="horizontal"] .tj-timeline-marker-container { left: 50%; transform: translateX(-50%); }

/* Horizontal Padrão e Alternado (com conteúdo dividido) */
.tj-timeline-layout-horizontal_padrao .tj-timeline-track,
.tj-timeline-layout-horizontal_alternado .tj-timeline-track { align-items: center; }
.tj-timeline-layout-horizontal_padrao .tj-timeline-item,
.tj-timeline-layout-horizontal_alternado .tj-timeline-item { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.tj-timeline-item-top-content { padding-bottom: calc(var(--tj-timeline-item-spacing)/2); width: 100%; text-align: center; margin-bottom: auto; }
.tj-timeline-item-bottom-content { padding-top: calc(var(--tj-timeline-item-spacing)/2); width: 100%; text-align: center; margin-top: auto; }
.tj-timeline-layout-horizontal_padrao .tj-timeline-item-text-column,
.tj-timeline-layout-horizontal_alternado .tj-timeline-item-text-column { background-color: #fff; border: 1px solid #ddd; border-radius: 5px; text-align: left; }
.tj-timeline-layout-horizontal_padrao .tj-timeline-marker-container,
.tj-timeline-layout-horizontal_alternado .tj-timeline-marker-container { top: 50%; transform: translate(-50%, -50%); }

/* Horizontal Empilhado */
.tj-timeline-layout-horizontal_empilhado_cima .tj-timeline-track { align-items: flex-end; padding-bottom: var(--tj-timeline-item-spacing); }
.tj-timeline-layout-horizontal_empilhado_baixo .tj-timeline-track { align-items: flex-start; padding-top: var(--tj-timeline-item-spacing); }
.tj-timeline-layout-horizontal_empilhado_cima .tj-timeline-item { margin-bottom: 0; }
.tj-timeline-layout-horizontal_empilhado_baixo .tj-timeline-item { margin-top: 0; }
.tj-timeline-layout-horizontal_empilhado_cima .tj-timeline-marker-container { top: 100%; transform: translate(-50%, -50%); }
.tj-timeline-layout-horizontal_empilhado_baixo .tj-timeline-marker-container { top: 0; transform: translate(-50%, -50%); }


/* --- RESPONSIVIDADE (mantida) --- */
@media (max-width: 768px) {
    .tj-timeline-wrapper { --tj-timeline-item-spacing: 20px; }
    .tj-timeline-layout-vertical_padrao .tj-timeline-track::before, .tj-timeline-layout-vertical_alternado .tj-timeline-track::before, .tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-track::before, .tj-timeline-layout-vertical_empilhado_direita .tj-timeline-track::before { left: calc(var(--tj-timeline-marker-size-default) / 2 + var(--tj-timeline-marker-border-width) + 10px); transform: translateX(-50%); }
    .tj-timeline-layout-vertical_padrao .tj-timeline-item-columns, .tj-timeline-layout-vertical_alternado .tj-timeline-item-columns { flex-direction: column; align-items: flex-start; }
    .tj-timeline-layout-vertical_padrao .tj-timeline-item-media-column, .tj-timeline-layout-vertical_alternado .tj-timeline-item-media-column, .tj-timeline-layout-vertical_padrao .tj-timeline-item-text-column, .tj-timeline-layout-vertical_alternado .tj-timeline-item-text-column { width: 100% !important; order: initial !important; text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; display: block; }
    .tj-timeline-layout-vertical_padrao .tj-timeline-item-media-column, .tj-timeline-layout-vertical_alternado .tj-timeline-item .tj-timeline-item-media-column { margin-bottom: 15px; }
    .tj-timeline-layout-vertical_padrao .tj-timeline-item-media-column .tj-timeline-item-image-wrapper, .tj-timeline-layout-vertical_alternado .tj-timeline-item-odd .tj-timeline-item-media-column .tj-timeline-item-image-wrapper { margin-left: auto; }
    .tj-timeline-layout-vertical_alternado .tj-timeline-item-even .tj-timeline-item-media-column .tj-timeline-item-image-wrapper { margin-right: auto; }
    .tj-timeline-layout-vertical_padrao .tj-timeline-item-text-column, .tj-timeline-layout-vertical_alternado .tj-timeline-item-text-column, .tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-item, .tj-timeline-layout-vertical_empilhado_direita .tj-timeline-item { margin-left: calc(var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + var(--tj-timeline-item-spacing)) !important; max-width: calc(100% - (var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + var(--tj-timeline-item-spacing) + 10px) ); margin-right: 10px !important; text-align: left !important; }
    .tj-timeline-layout-vertical_padrao .tj-timeline-marker-container, .tj-timeline-layout-vertical_alternado .tj-timeline-item .tj-timeline-marker-container, .tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-marker-container, .tj-timeline-layout-vertical_empilhado_direita .tj-timeline-item .tj-timeline-marker-container { left: calc( (var(--tj-timeline-marker-size-default) / 2 + var(--tj-timeline-marker-border-width)) * -1 - (var(--tj-timeline-item-spacing) / 2 - 10px) ); transform: translateX(0); }
    .tj-timeline-wrapper[class*="horizontal"] .tj-timeline-item { width: clamp(220px, 70vw, 280px); margin: 0 10px; }
    .tj-timeline-wrapper[class*="horizontal"] { --tj-timeline-item-spacing: 20px; }
}

@media (max-width: 480px) {
    .tj-timeline-wrapper[class*="horizontal"] .tj-timeline-item { width: clamp(200px, 80vw, 240px); }
    .tj-timeline-wrapper { --tj-timeline-item-spacing: 15px; }
    .tj-timeline-layout-vertical_padrao .tj-timeline-item-text-column, .tj-timeline-layout-vertical_alternado .tj-timeline-item-text-column, .tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-item, .tj-timeline-layout-vertical_empilhado_direita .tj-timeline-item { margin-left: calc(var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + var(--tj-timeline-item-spacing)) !important; max-width: calc(100% - (var(--tj-timeline-marker-size-default) + var(--tj-timeline-marker-border-width) * 2 + var(--tj-timeline-item-spacing) + 5px) ); }
    .tj-timeline-layout-vertical_padrao .tj-timeline-marker-container, .tj-timeline-layout-vertical_alternado .tj-timeline-item .tj-timeline-marker-container, .tj-timeline-layout-vertical_empilhado_esquerda .tj-timeline-marker-container, .tj-timeline-layout-vertical_empilhado_direita .tj-timeline-item .tj-timeline-marker-container { left: calc( (var(--tj-timeline-marker-size-default) / 2 + var(--tj-timeline-marker-border-width)) * -1 - (var(--tj-timeline-item-spacing) / 2 - 5px) ); }
}
