header img {
    transition: transform 0.3s ease-in-out;
    border: 1px solid rgb(255 255 255 / .1);
    box-shadow: 0 15px 35px rgb(0 0 0 / .4)
}

header img:hover {
    transform: translateY(-5px)
}

.text-primary {
    color: #0d6efd !important
}

.bg-dark {
    background-color: #0f1114 !important
}

.feature {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 3.5rem;
    width: 3.5rem;
    font-size: 1.5rem;
    margin-bottom: 1.5rem
}

.card:hover {
    box-shadow: 0 5px 15px rgb(0 0 0 / .1);
    transition: 0.3s
}

#languageSelector {
    border-radius: 8px;
    padding: .25rem .5rem;
    cursor: pointer;
    font-size: .85rem
}

@media (max-width:991.98px) {
    header .my-5 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

    header img {
        max-width: 90%;
        margin-bottom: 2rem
    }
}

html {
    overflow-y: scroll
}

.navbar {
    min-height: 72px
}

.tech-strip {
    background-color: #f8f9fa;
    overflow: hidden;
    white-space: nowrap;
}

.tech-icon {
    font-size: 2.5rem;
    color: #adb5bd;
    margin: 0 30px;
    transition: color 0.3s;
}

.tech-icon:hover {
    color: #0d6efd;
}

.feature-img {
    border-radius: 1rem;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.feature-img:hover {
    transform: scale(1.02);
}

#email.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25) !important;
}

#email.is-valid {
    border-color: #198754 !important;
}

/* Isso garante que todas as imagens de destaque tenham o mesmo 'shape' */
.img-feature-fixed {
    width: 100%; /* Ocupa toda a largura da coluna */
    aspect-ratio: 16 / 9; /* Força o formato retangular de cinema/TV */
    object-fit: cover; /* Corta as sobras sem distorcer a imagem */
    object-position: center; 
    border-radius: 0.5rem; 
    display: block;
}
/* Alinhamento vertical do texto */
.row-align-center {
    display: flex;
    align-items: center;
}

.img-standard {
    width: 100%;
    /* Altura fixa para garantir que ambas sejam IDÊNTICAS */
    height: 400px !important; 
    object-fit: cover; /* Corta as bordas sem esticar a imagem */
    object-position: center;
    display: block;
}

/* Ajuste para telas menores (celulares) não ficarem com a imagem esticada */
@media (max-width: 991.98px) {
    .img-standard {
        height: 250px !important;
    }
}

/* Estilo Moderno Fernandes AI */
.chat-widget-container {
    position: fixed; bottom: 90px; right: 20px;
    width: 350px; height: 500px;
    background: #fff; border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    display: flex; flex-direction: column;
    z-index: 10000; overflow: hidden;
    border: 1px solid #e0e0e0; font-family: 'Segoe UI', sans-serif;
}
.chat-header {
    background: #212529; color: #fff; padding: 15px;
    display: flex; justify-content: space-between; align-items: center;
}
.chat-messages {
    flex: 1; overflow-y: auto; padding: 15px; background: #f8f9fa;
}
.message { margin-bottom: 12px; padding: 10px 15px; border-radius: 15px; max-width: 85%; font-size: 0.95rem; }
.message.bot { background: #fff; color: #333; align-self: flex-start; border: 1px solid #dee2e6; }
.message.user { background: #0d6efd; color: #fff; align-self: flex-end; margin-left: auto; }
.chat-input-area { padding: 15px; background: #fff; border-top: 1px solid #dee2e6; display: flex; gap: 8px; }
.chat-toggle-btn {
    position: fixed; bottom: 20px; right: 20px;
    width: 60px; height: 60px; border-radius: 50%;
    background: #0d6efd; color: white; border: none;
    box-shadow: 0 4px 15px rgba(13, 110, 253, 0.4);
    cursor: pointer; z-index: 10000; font-size: 24px;
}