@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

:root {
    /* Cores unificadas a partir dos simuladores internos */
    --primary-blue: #003366;
    --accent-orange: #FF6600;
    --accent-hover-orange: #E65C00;
    --neutral-light: #F5F5F5;
    --neutral-white: #FFFFFF;
    --text-dark: #003366;
    --text-muted: #003366;
    --border-radius: 15px;
    --shadow: 0 10px 30px rgba(0, 0, 0, 0.1);

    /* Mapeamento para compatibilidade com o CSS antigo */
    --primary-color: var(--primary-blue); 
    --secondary-color: var(--accent-orange);
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--dark-text);
}

/* Header e Navegação */
.main-header .navbar {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.navbar-brand {
    color: var(--primary-color) !important;
}
.nav-link {
    font-weight: 600;
    color: #003366 !important;
    transition: color 0.3s ease;
}
.nav-link:hover {
    color: var(--secondary-color) !important;
}

/* Secção Principal (Hero) */
.hero-section {
    background: linear-gradient(rgba(13, 35, 68, 0.85), rgba(13, 35, 68, 0.85)), url('/credito-pessoal/images/img_pessoal.jpg') no-repeat center center;
    background-size: cover;
    padding: 80px 0;
    animation: fadeIn 1.5s ease-in-out;
}
.hero-section h1 {
    font-weight: 700;
}
/* 1. Esconde a coluna da esquerda (que está vazia) */
    .hero-section .row > .col-lg-6.text-lg-start {
        display: none;
    }

    /* 2. Centra a coluna da direita (que sobrou) dentro da linha */
    .hero-section .row.align-items-center {
        justify-content: center;
    }

/* INÍCIO ESTILOS SIMULADOR RÁPIDO */
.quick-simulator {
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: none;
    border-radius: var(--border-radius);
    padding: 2rem;
    color: var(--text-dark);
    text-align: left;
    width: 100%; /* Garante que ocupa a coluna toda */
    max-width: 550px; /* Altere este valor para a largura máxima que desejar */
    margin: 0 auto; /* Centra o simulador */
}
.quick-simulator .form-label {
    font-weight: 500; /* Ajuste para consistência */
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* SLIDERS (FORM-RANGE) MODERNIZADOS */
.form-range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--primary-blue);
  border: 3px solid white;
  box-shadow: 0 0 5px rgba(0,0,0,0.2);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.form-range:active::-webkit-slider-thumb {
  background-color: var(--accent-orange);
  transform: scale(1.2);
  box-shadow: 0 0 0 10px rgba(255, 102, 0, 0.2);
}

.prestacao-estimada {
    text-align: center;
    font-size: 1.1rem;
    color: var(--dark-text);
    background-color: #e9f5f4;
    padding: 1rem;
    border-radius: 10px;
}
.prestacao-estimada strong {
    font-size: 1.5rem;
    color: var(--primary-blue);
}

/* =======================================================
   NOVOS ESTILOS: Seletor Vertical com Efeito Shimmer
   ======================================================= */

.credit-options-container {
    display: flex;
    flex-direction: column;
    gap: 8px; /* Espaçamento entre os botões */
    max-height: 190px; /* Altura máxima para ativar a barra de scroll */
    overflow-y: auto; /* Scroll vertical quando os itens excedem a altura */
    padding: 4px;
}

/* Estilização da barra de scroll (opcional, mas melhora o design) */
.credit-options-container::-webkit-scrollbar {
  width: 6px;
}
.credit-options-container::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}
.credit-options-container::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}
.credit-options-container::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

/* Animação do brilho (shimmer) */
@keyframes shimmer {
    0% {
        background-position: -200% center;
    }
    100% {
        background-position: 200% center;
    }
}

.credit-option-btn {
    width: 100%;
    padding: 12px 15px;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid;
    background-color: #f8f9fa;
    color: var(--text-dark);
    border-radius: 10px; /* Formato "Pill" */
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center; /* Nome no centro */
}

.credit-option-btn:hover {
    border-color: #adb5bd;
    background-color: #e9ecef;
}

.credit-option-btn.active {
    color: white;
    border-color: transparent;
    /* Gradiente que será animado */
    background-image: linear-gradient(to right, var(--primary-blue) 0%, #2980b9 50%, var(--primary-blue) 100%);
    background-size: 200% auto;
    animation: shimmer 4s linear infinite;
    box-shadow: 0 4px 12px rgba(0, 51, 102, 0.3);
    transform: scale(1.02); /* Leve destaque ao ser selecionado */
}
/* FIM DOS NOVOS ESTILOS */


/* Botões */
.btn-primary {
    background-image: linear-gradient(to right, #FF6600 0%, #E65C00 50%, #FF6600 100%);
    background-size: 200% auto;
    color: white !important;
    border: none;
    transition: all 0.4s ease;
    box-shadow: 0 4px 15px 0 rgba(255, 102, 0, 0.4);
    font-weight: 600;
    padding: 12px 30px;
    border-radius: 10px;
    /* ADICIONAR ESTA LINHA para o efeito contínuo */
    animation: shimmer 4s linear infinite; 
}

.btn-primary:hover {
    background-position: right center; /* O efeito ao passar o rato continuará a funcionar */
    transform: translateY(-3px);
    box-shadow: 0 6px 20px 0 rgba(211, 84, 0, 0.5);
}
.btn-secondary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    padding: 10px 25px;
    border-radius: 10px;
    font-weight: 600;
    color: #fff;
    transition: all 0.3s ease;
}
.btn-secondary:hover {
    background-color: #091a33;
    border-color: #091a33;
    transform: translateY(-2px);
}

/* INÍCIO SECÇÃO CONFIANÇA E SEGURANÇA */
.trust-section {
    border-bottom: 1px solid #dee2e6;
}
.trust-item {
    padding: 1.5rem 0;
}
/*
 * ESTILOS PERSONALIZADOS PARA A SECÇÃO DE CONFIANÇA
 * Objetivo: Forçar a cor #003366 (var(--primary-blue)) nos ícones e textos
 * para dar mais destaque.
 */
.trust-section .trust-item h5 {
    /* Altera a cor dos títulos (Ligação Segura, etc.) para o azul primário */
    color: var(--primary-blue);
    font-weight: 600; /* Pode adicionar mais peso para destaque */
}

.trust-section .trust-item p {
    /* Altera a cor do texto de descrição para o azul primário */
    color: var(--primary-blue) !important; /* Uso do !important para forçar a substituição do .text-muted */
    font-weight: 400;
}

.trust-section .trust-item .fas {
    /* Garante que os ícones (Lock, University, Shield) são o azul primário */
    color: var(--primary-blue) !important; 
}

/* OTMIZAÇÃO PARA MOBILE: garante que a cor é mantida mesmo com estilos móveis */
@media (max-width: 576px) {
    .trust-item h5 {
        color: var(--primary-blue);
    }
}
/* FIM SECÇÃO CONFIANÇA E SEGURANÇA */


/* Secção de Serviços */
.services-section {
    background-color: #fff;
}
.service-card {
    border: none;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    opacity: 0;
}
.service-card .card-img-top {
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
    height: 200px;
    object-fit: cover;
}
.service-card .custom-icon {
    padding: 30px;
    height: 200px;
    object-fit: contain;
    background-color: #e9f5f4;
}
.service-card .card-body {
    padding: 2rem;
}
.service-card .card-title {
    color: var(--primary-color);
    font-weight: 700;
    margin-bottom: 1rem;
}

/* Secção de Parceiros */
.partners-section {
    background-color: var(--light-bg);
}
.partner-logos-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}
.partner-logo {
    flex-basis: 150px;
    text-align: center;
    transition: transform 0.3s ease;
}
.partner-logo:hover {
    transform: scale(1.1);
}
.partner-logo img {
    max-width: 120px;
    height: auto;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.3s ease;
}
.partner-logo img:hover {
    filter: grayscale(0%);
    opacity: 1;
}
/* Estilos para o título da Secção de Parceiros */
.partners-section h2 {
    /* Altera o título "Os Nossos Parceiros" para o azul */
    color: var(--primary-blue);
    font-weight: 700;
}
/* ESTILOS SECÇÃO DE REVIEWS */
.reviews-section {
    background-color: #fff;
    overflow: hidden;
}

.reviews-ticker-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 2rem 0;
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.reviews-ticker {
    display: flex;
    width: fit-content;
    animation: scroll-ticker 40s linear infinite;
}

.reviews-ticker-wrapper:hover .reviews-ticker {
    animation-play-state: paused;
}


@keyframes scroll-ticker {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}

.review-card {
    flex-shrink: 0;
    width: 380px;
    background-color: var(--light-bg);
    border: 1px solid #e9ecef;
    border-radius: var(--border-radius);
    padding: 2rem;
    margin: 0 1rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.review-stars {
    color: #fdcc0d;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.review-text {
    font-style: italic;
    color: #555;
    flex-grow: 1;
    margin-bottom: 1.5rem;
}

.review-author {
    font-weight: 600;
    color: var(--primary-color);
    text-align: right;
    border-top: 1px solid #eee;
    padding-top: 1rem;
    margin-top: auto;
}

/* FIM ESTILOS SECÇÃO DE REVIEWS */

/* --- Botões Flutuantes --- */

/* Botão Flutuante WhatsApp */
.whatsapp-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    /* ALTERAÇÃO 1: Aplica o gradiente e a animação do shimmer */
    background-image: linear-gradient(to right, var(--accent-orange) 0%, var(--accent-hover-orange) 50%, var(--accent-orange) 100%);
    background-size: 200% auto;
    animation: shimmer 4s linear infinite; /* Reutiliza a animação 'shimmer' */
    
    color: white;
    border-radius: 50%;
    font-size: 28px;
    box-shadow: 0 4px 15px 0 rgba(255, 102, 0, 0.6); /* Aumenta a sombra para destaque */
    transition: all 0.4s ease; /* Ajusta a transição */
}

.whatsapp-float:hover {
    /* Efeito de hover mantém a cor e acelera ligeiramente o brilho */
    background-position: right center; 
    transform: scale(1.1);
}
/* Botão Flutuante Banco de Portugal (CORRIGIDO) */
.banco-portugal-float {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 1000;
    width: 130px;
    height: 60px;
    border-radius: 15px; /* Arredonda todos os cantos */
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    overflow: hidden;
    transition: transform 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    padding: 10px; /* Espaçamento geral do botão */
    box-sizing: border-box;
    border: 2px solid #9a7d34; /* Borda Adicionada */
}

.banco-portugal-float:hover {
     transform: scale(1.05); /* Ajustado para um efeito mais subtil */
}

/* AQUI ESTÁ O CONTROLO DO LOGO */
.banco-portugal-float img {
    height: 140%; /* <-- PODE DIMINUIR ESTE VALOR (ex: 70%) PARA ENCOLHER O LOGO */
    max-width: 100%;
    object-fit: contain;
}

/* Animação Shimmer para o botão do Banco de Portugal */
@keyframes shimmer-float {
/* ... o resto do código da animação mantém-se igual ... */
    0% {
        transform: translateX(-150%) skewX(-30deg);
    }
    100% {
        transform: translateX(150%) skewX(-30deg);
    }
}

.banco-portugal-float::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-30deg);
    animation: shimmer-float 2.5s infinite linear;
}


/* Footer */
.main-footer {
    background-color: var(--primary-color);
    color: white;
}

/* 1. Controlo do Espaçamento Vertical do Rodapé */
.main-footer {
    padding-top: 2rem;    /* Diminua este valor para mover o conteúdo PARA CIMA */
    padding-bottom: 2rem; /* Ajuste o espaçamento inferior conforme desejado */
}

/* Animações */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.service-card.visible {
    animation: slideUp 0.5s ease-in-out forwards;
       
}
/* ==============================================
   SECÇÃO DO BLOG
   ============================================== */
.latest-blog-section {
    background-color: #fff;
}
.latest-blog-section .card-title {
    font-family: 'Poppins', sans-serif; /* Usar Poppins para os títulos dos cards do blog */
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.latest-blog-section .card-text {
    font-size: 0.95rem;
    color: var(--text-muted);
}
.latest-blog-section .service-card {
    opacity: 1; /* Remover a animação de fade-in para esta secção específica */
}
/* Estilo para o título "Mantenha-se Informado" */
.latest-blog-section h2 {
    /* Altera o título para o azul primário */
    color: var(--primary-blue);
    font-weight: 700;
}
/* Estilos Específicos para o botão "Ler Artigo" na Secção do Blog */
.latest-blog-section .btn-outline-primary {
    /* 1. Altera a cor do texto do botão para o azul primário */
    color: var(--primary-blue);
    /* 2. Altera a cor da borda do botão para o azul primário */
    border-color: var(--accent-orange);
    
    font-weight: 600; /* Mantém o peso do texto */
    transition: all 0.3s ease; /* Mantém a transição suave */
}

/* Estado Hover/Foco: para garantir que o botão tem um bom feedback visual */
.latest-blog-section .btn-outline-primary:hover,
.latest-blog-section .btn-outline-primary:focus {
    /* No hover, usa o laranja de destaque para o fundo */
    background-color: var(--accent-orange);
    border-color: var(--accent-orange);
    /* A cor do texto muda para branco */
    color: var(--neutral-white);
}
/*
 * BORDAS DOS CARDS DO BLOG
 * Define a borda como accent-orange para todos os cards na secção do blog.
 */
.latest-blog-section .service-card {
    /* Define a borda base para o Laranja de Destaque */
    border: 1px solid var(--accent-orange);
    /* Garante que a sombra é mantida */
    box-shadow: var(--shadow); 
    /* Adiciona a transição para suavizar as mudanças de borda */
    transition: all 0.3s ease;
}

.latest-blog-section .service-card:hover {
    /* No hover, torna a borda mais espessa e usa a cor de hover */
    border: 2px solid var(--accent-hover-orange); 
    /* Garante que o hover de elevação (transform) funciona */
    transform: translateY(-10px);
}

/* OTMIZAÇÃO PARA MOBILE: garante que a cor é mantida mesmo com estilos móveis */
@media (max-width: 576px) {
    .latest-blog-section .service-card .btn {
        /* Garante que o texto se mantém azul na cor primária para dispositivos móveis */
        color: var(--primary-blue); 
    }
}
/* Estilos para o botão principal "Visitar o Nosso Blog" */
.blog-main-btn {
    /* Cor do texto e borda no estado normal: Azul Primário */
    color: var(--primary-blue) !important;
    border-color: var(--primary-blue);
    
    /* Remove o arredondamento de 50px do .btn-lg */
    border-radius: var(--border-radius); /* Usa o border-radius de 15px */
    
    /* Garante que o fundo é transparente/branco */
    background-color: transparent;
    
    /* Remove a sombra se for aplicada pelo .btn-lg */
    box-shadow: none !important; 
    
    /* Mantém o tamanho grande */
    padding: 12px 15px; 
}

/* Efeito Hover/Foco: Fundo Laranja com borda Laranja */
/* Estilos para o botão principal "Visitar o Nosso Blog" */
.blog-main-btn {
    /* Cor do texto e borda no estado normal: Azul Primário */
    color: var(--primary-blue) !important;
    border-color: var(--primary-blue);
    
    /* Remove o arredondamento de 50px do .btn-lg */
    border-radius: var(--border-radius); /* Usa o border-radius de 15px */
    
    /* Garante que o fundo é transparente/branco */
    background-color: transparent;
    
    /* Remove a sombra se for aplicada pelo .btn-lg */
    box-shadow: none !important; 
    
    /* REMOVIDO: O padding é agora definido pelo estilo padrão do Bootstrap (.btn) */
}

/* Efeito Hover/Foco: Fundo Laranja com borda Laranja */
.blog-main-btn:hover,
.blog-main-btn:focus {
    /* Fundo Laranja de destaque */
    background-color: var(--accent-orange);
    border-color: var(--accent-orange);
    /* Texto Branco */
    color: var(--neutral-white) !important;
    
    /* Remove transformações de hover/shimmer do .btn-primary */
    transform: none; 
    animation: none;
}

/*
 * MUDANÇA DE COR DOS LINKS DO RODAPÉ
 * Altera a cor dos links (Sobre Nós, Blog, FAQs) para o Laranja de Destaque
 */
.main-footer a {
    /* Define a cor do texto dos links para Laranja */
    color: var(--accent-orange) !important; 
    
    /* Adiciona transição para um hover suave */
    transition: color 0.3s ease;
}

.main-footer a:hover {
    /* No hover, usa o laranja mais escuro (hover-orange) para feedback visual */
    color: var(--accent-hover-orange) !important;
    text-decoration: none; /* Remove sublinhado no hover, se existir */
}
/* ===================================================================
   ANIMAÇÃO E ESTILOS PARA O SCROLL AUTOMÁTICO DOS PARCEIROS
   =================================================================== */
@keyframes scroll-partners {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%); /* Move o contentor para a esquerda pelo seu tamanho total */
    }
}
/* Estilos para a Secção de FAQs */
.faq-section .section-title {
    /* Altera o título principal "Ainda tem dúvidas?" para o azul */
    color: var(--primary-blue);
    font-weight: 700;
    margin-bottom: 2rem;
}

.faq-section .accordion-button {
    /* Altera o texto da pergunta para o azul primário */
    color: var(--primary-blue);
    font-weight: 600;
}

.faq-section .btn-outline-primary {
    /* Altera a cor do botão "Ver mais perguntas frequentes" */
    color: var(--primary-blue) !important;
    border-color: var(--accent-orange);
    font-weight: 600;
    transition: all 0.3s ease;
}

.faq-section .btn-outline-primary:hover {
    /* Altera a cor no hover para o laranja de destaque */
    background-color: var(--accent-orange);
    border-color: var(--accent-orange);
    color: var(--neutral-white) !important;
}
/* Garante que o texto da pergunta ativa não muda de cor ao ser clicada */
.faq-section .accordion-button:not(.collapsed) {
    color: var(--accent-orange); /* Mantém o texto azul */
        background-color: var(--neutral-light); /* <--- ESTE É O TRECHO DA COR DE FUNDO */
    
    

}
/*
 * Ajuste dos Itens do Acordeão (FAQ)
 * Cor da borda alterada para Laranja de Destaque.
 */
.faq-section .accordion-item {
    /* Borda Laranja de Destaque */
    border: 1px solid var(--accent-orange); /* <--- ESTE É O TRECHO DA COR DA BORDA */
    
  
}
.faq-section .accordion-button:focus,
.faq-section .accordion-button:hover {
    
    
    /* Remove a borda padrão do Bootstrap ao focar, mantendo apenas a nossa sombra laranja */
    box-shadow: none; 
}

/* ==============================================
   INÍCIO DAS OTIMIZAÇÕES PARA SMARTPHONES
   ============================================== */
@media (max-width: 767px) {

    /* --- Secção de Confiança --- */
    .trust-section .row {
        flex-wrap: nowrap; /* Impede que os itens quebrem para a linha de baixo */
        gap: 0.5rem;
    }
    .trust-item {
        flex: 1; /* Faz com que cada item ocupe o mesmo espaço */
        padding: 1rem 0.25rem; /* Reduz o espaçamento interno */
    }
    .trust-item .fas {
        font-size: 1.5rem; /* Reduz o tamanho do ícone */
        margin-bottom: 0.25rem !important;
    }
    .trust-item h5 {
        font-size: 0.7rem; /* Reduz drasticamente o tamanho do título */
        margin-bottom: 0.25rem;
    }
    .trust-item p {
        font-size: 0.6rem; /* Reduz drasticamente o tamanho do texto */
        line-height: 1.2;
        display: none; /* Esconde o parágrafo para poupar espaço, conforme solicitado */
    }

    /* --- Secção do Blog "Mantenha-se Informado" --- */
    .latest-blog-section .row.g-4 {
        flex-wrap: nowrap;
        gap: 0.75rem !important; /* Reduz o espaçamento entre os cartões */
        justify-content: center; /* Centraliza os dois cartões */
    }
    .latest-blog-section .col-lg-4 {
        flex: 0 0 48%; /* Cada cartão ocupa quase metade do espaço */
        max-width: 48%;
    }
    .latest-blog-section .service-card .card-img-top {
        height: 60px; /* Reduz ainda mais a altura da imagem */
    }
    .latest-blog-section .service-card .card-body {
        padding: 0.5rem; /* Reduz ainda mais o padding */
    }
    .latest-blog-section .service-card .card-title {
        font-size: 0.7rem; /* Reduz o tamanho do título */
        line-height: 1.2;
        margin-bottom: 0.25rem;
    }
    .latest-blog-section .service-card .card-text {
        display: none; /* Oculta completamente o resumo para encolher o retângulo */
    }
    .latest-blog-section .service-card .btn {
        font-size: 0.6rem; 
        padding: 0.25rem 0.5rem;
    }
    .latest-blog-section .text-muted.small {
        font-size: 0.6rem; 
    }

    /* --- Secção dos Parceiros (SCROLL AUTOMÁTICO CORRIGIDO) --- */
    .partner-scroll-wrapper {
        width: 100%;
        overflow: hidden;
        -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
        mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    }
    
    .partners-section .partner-logos-container {
        display: flex;
        flex-wrap: nowrap;
        width: max-content; /* Garante que o contentor tem largura suficiente para todos os logos */
        animation: scroll-partners 40s linear infinite;
    }
    
    .partners-section .partner-logos-container:hover {
        animation-play-state: paused;
    }
    
    .partners-section .partner-logo {
        flex: 0 0 auto;
        width: calc(100vw / 3.5); /* Cerca de 3.5 logos visíveis */
        padding: 0 15px;
        box-sizing: content-box;
    }
    
    .partners-section .partner-logo img {
        max-width: 100%;
        height: 40px;
        object-fit: contain;
    }
        /* Adicione esta regra dentro do @media (max-width: 576px) */

.hero-section .row > .col-lg-6.text-lg-start {
    display: none;
}
        .hero-section .row > .col-lg-6.mt-4.mt-lg-0 {
    margin-top: 0 !important; 
}
        /* Adicione estas regras dentro do @media (max-width: 576px) */

.hero-section {
    padding-top: 1.5rem;  /* Reduz o espaço no topo da secção */
    padding-bottom: 1.5rem; /* Reduz o espaço no fundo da secção */
}

/* Oculta a coluna de texto vazia (da correção anterior) */
.hero-section .row > .col-lg-6.text-lg-start {
    display: none;
}

/* Remove a margem de topo da coluna do simulador */
.hero-section .row > .col-lg-6.mt-4.mt-lg-0 {
    margin-top: 0 !important; 
}
        /* 2. Ajuste do Rodapé para Smartphones */
@media (max-width: 576px) {
    .main-footer {
        padding-top: 0.1rem;    /* Ajuste o espaçamento superior para telemóveis */
        padding-bottom: 7rem; /* Ajuste o espaçamento inferior para telemóveis */
        text-align: center;   /* Centra todo o texto do rodapé em ecrãs pequenos */
    }

    .main-footer .text-md-end {
        margin-top: 1rem; /* Adiciona um espaço entre a linha de copyright e os links */
    }

}
/* --- FORÇAR REDUÇÃO DE ZOOM NA PÁGINA INICIAL (PC) --- */
@media screen and (min-width: 1024px) {
    body {
        /* Esta propriedade funciona como o zoom do navegador (-20%) */
        zoom: 0.8 !important; 
        
        /* Compatibilidade para Firefox (caso use Firefox) */
        -moz-transform: scale(0.8);
        -moz-transform-origin: top center;
        width: 100% !important;
    }

    /* Forçar a altura da imagem de topo a encolher */
    .hero {
        height: auto !important;        /* Desliga a altura de ecrã inteiro */
        min-height: 550px !important;   /* Altura fixa mais pequena */
        padding-top: 120px !important;
        padding-bottom: 80px !important;
    }

    /* Ajustar o tamanho do texto principal */
    .hero h1 {
        font-size: 3rem !important; /* Reduz o tamanho da letra */
        margin-top: 0 !important;
    }
}

/* --- Cookie Banner --- */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 51, 102, 0.95);
    color: white;
    padding: 15px 0;
    z-index: 9999;
    box-shadow: 0 -4px 15px rgba(0,0,0,0.2);
    transform: translateY(100%);
    transition: transform 0.3s ease-in-out;
}

.cookie-banner.show {
    transform: translateY(0);
}

.cookie-text {
    font-size: 0.9rem;
    line-height: 1.4;
    max-width: 800px;
}

.cookie-buttons {
    display: flex;
    gap: 10px;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .cookie-buttons {
        width: 100%;
        flex-direction: column;
    }
    .cookie-buttons .btn {
        width: 100%;
    }
}




