/**
 * TurboJet - Estilos para Card Foto e Texto
 * v3 - Ajustes para garantir alinhamento estável da imagem.
 */

.tj-card-foto-texto {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Garante que os itens comecem do topo */
    align-items: stretch; /* Padrão, mas explícito para que os filhos ocupem a largura */
    overflow: hidden; 
    /* background-color, padding, margin, max-width, border-radius são definidos inline via shortcode */
}

.tj-card-foto-texto.tj-card-sombra {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1), 0 6px 20px rgba(0,0,0,0.1);
}

.tj-card-imagem-container {
    width: 100%; 
    /* height (retangular) ou width/height (circular) são definidos inline via shortcode */
    overflow: hidden; 
    position: relative; 
    line-height: 0; 
    flex-shrink: 0; /* Impede que o container da imagem encolha se o conteúdo abaixo for grande */
}

.tj-card-imagem-container.tj-imagem-formato-circular {
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%; 
}

.tj-card-imagem {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block; 
}

.tj-imagem-formato-circular .tj-card-imagem {
    border-radius: 50%; 
}

.tj-imagem-formato-retangular .tj-card-imagem {
    border-radius: 0; 
}

/* Arredondamento da imagem retangular quando o card tem bordas arredondadas e não há padding no card */
.tj-card-foto-texto[style*="border-top-left-radius"]:is([style*="padding:0"], [style*="padding: 0px"], [style*="padding-left:0"], [style*="padding-left: 0px"], [style*="padding-top:0"], [style*="padding-top: 0px"]) .tj-card-imagem-container.tj-imagem-formato-retangular:first-child {
    border-top-left-radius: inherit; 
}
.tj-card-foto-texto[style*="border-top-right-radius"]:is([style*="padding:0"], [style*="padding: 0px"], [style*="padding-right:0"], [style*="padding-right: 0px"], [style*="padding-top:0"], [style*="padding-top: 0px"]) .tj-card-imagem-container.tj-imagem-formato-retangular:first-child {
    border-top-right-radius: inherit; 
}


.tj-card-conteudo-texto {
    /* padding é definido inline, padrão 5% via PHP */
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Garante que título e texto comecem do topo desta caixa */
    flex-grow: 1; 
}

.tj-card-titulo {
    /* color, font-size, text-align são definidos inline */
    margin-top: 0; 
    margin-bottom: 0.5em; 
    font-weight: 600; 
    line-height: 1.3;
}

.tj-card-texto-principal {
    /* color, font-size, text-align são definidos inline */
    line-height: 1.6;
    /* flex-grow: 1; Removido daqui, pois o .tj-card-conteudo-texto já tem flex-grow */
}

.tj-card-texto-principal > *:last-child {
    margin-bottom: 0; 
}

/* Responsividade básica */
@media (max-width: 480px) {
    .tj-card-imagem-container.tj-imagem-formato-circular {
        /* Exemplo: se imagem_tamanho_circular for em px, pode precisar de ajuste */
        /* width: 100px !important; */
        /* height: 100px !important; */
    }
    /* .tj-card-conteudo-texto {
        padding: 3% !important; Exemplo se o padding padrão for muito grande
    } */
}
