html { scroll-behavior: smooth; } /* Faz o scroll ser suave */

:root {
    --vermelho: #e30613;
    --preto: #222;
    --cinza: #f4f4f4;
}
body {
    font-family: 'Montserrat', sans-serif;
}
body body {   font-family: 'Montserrat', sans-serif !important;
}

/* HEADER ESTILO A. GRAÇA */
header {
    background: white;
    border-bottom: 5px solid var(--vermelho); /* Linha vermelha na base */
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 5%;
}

.logo-img { height: 100px; width: auto; } /* Logo grande como pediste */

nav a {
    text-decoration: none;
    color: var(--preto);
    margin-left: 12px;
    font-weight: bold;
    font-size: 12px;
    text-transform: uppercase;
}

.btn-proposta { background: var(--vermelho) !important; color: white !important; padding: 8px 12px; border-radius: 4px; }
.btn-privado { background: black !important; color: white !important; padding: 8px 12px; border-radius: 4px; }

/* BANNER PRINCIPAL (HERO) */
.hero {
    height: 40vh;
    background: url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=2070') no-repeat center center/cover;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
}

.hero-overlay {
    background: rgba(0, 0, 0, 0.4); /* Escurece a imagem para o texto ler-se bem */
    padding: 40px;
    border-radius: 10px;
}

.hero h1 { font-size: 45px; text-transform: uppercase; margin: 0; }
.btn-hero { 
    display: inline-block;
    margin-top: 20px;
    background: var(--vermelho);
    color: white;
    padding: 15px 30px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
}

/* SECÇÕES */
.section-container { padding: 80px 10%; text-align: center; }
.grey-bg { background: var(--cinza); }
.titulo-vermelho { color: var(--vermelho); font-size: 32px; text-transform: uppercase; }

/* 1. O Contentor que obriga a ficar lado a lado */
.apresentacao-wrapper {
    display: flex !important;
    flex-direction: row !important; /* Força linha */
    align-items: center !important;
    justify-content: space-between !important;
    gap: 50px !important; /* AQUI CONTROLAS O ESPAÇO: aumenta para afastar mais */
    max-width: 1200px;
    margin: 50px auto;
}

/* 2. A Foto da Mulher (Garante que ela não foge para trás) */
.apresentacao-foto {
    flex: 1 !important; 
    max-width: 45% !important; /* Ocupa quase metade */
}

.apresentacao-foto img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* 3. A Caixa de Texto (Já não sobreposta) */
.caixa-destaque-vermelha {
    flex: 1 !important;
    max-width: 45% !important; /* Ocupa a outra metade */
    background: #fff !important;
    padding: 30px !important;
    border-left: 8px solid #c41212 !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
    margin-left: 0 !important; /* Removemos o erro de ir para trás */
    transform: none !important; /* Removemos o empurrão que a punha por cima */
}
/* --- RESOLUÇÃO DEFINITIVA SERVIÇOS --- */

/* --- RESOLUÇÃO FINAL PARA SERVIÇOS (ESTILO GRAÇA) --- */

.servicos-grid {
    display: grid !important;
    /* Isto obriga a ter 3 colunas de tamanho igual, SEMPRE */
    grid-template-columns: repeat(3, 1fr) !important; 
    gap: 20px !important;
    width: 90% !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
}

.servico-caixa {
    width: 100% !important;
    min-width: 0 !important; /* Permite que a caixa encolha no zoom */
    text-align: center;
    overflow: hidden;
}

.servico-caixa img {
    /* A imagem ocupa a largura da coluna. Se a coluna encolhe, a imagem encolhe. */
    width: 100% !important;
    height: auto !important;
    display: block;
    border-radius: 5px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

/* Garante que o texto não "empurra" a caixa para fora */
.servico-caixa h3 {
    font-size: clamp(14px, 1.5vw, 18px) !important;
    margin-top: 15px;
    text-transform: uppercase;
}

/* APENAS para telemóveis pequenos é que permitimos baixar */
@media (max-width: 600px) {
    .servicos-grid {
        grid-template-columns: 1fr !important;
    }
}

.servico-caixa img {
    width: 100% !important;    /* A imagem é obrigada a encolher com a caixa */
    height: auto !important;   /* Mantém a proporção */
    display: block;
    border-radius: 5px;
    object-fit: cover;
}

/* Ajuste do botão dentro da caixa para não esticar a caixa */
.servico-caixa .botao-saiba-mais {
    width: auto;
    max-width: 100%;
    padding: 10px 20px;
    display: inline-block;
}
/* Responsividade: Apenas em telemóveis (ecrãs muito pequenos) é que deixamos baixar */
@media (max-width: 768px) {
    .servicos-grid {
        flex-wrap: wrap; /* No telemóvel, as caixas ficam uma por baixo da outra */
    }
    .servico-caixa {
        flex: none;
        width: 100%; /* Ocupam a largura total no telemóvel */
    }
}

.card {
    background: white;
    padding: 25px;
    border-radius: 5px;
    width: 300px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
/* Efeito de entrada suave da página */
.fade-in {
    animation: fadeInAnimation ease 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

html { scroll-behavior: smooth; }
/* Título com linha por baixo estilo A.Graça */
.titulo-separador {
    text-align: center;
    font-size: 28px;
    letter-spacing: 2px;
    margin-bottom: 50px;
}
.titulo-separador::after {
    content: '';
    display: block;
    width: 80px;
    height: 3px; 
    background: #e30613; /* O teu vermelho CDL */
    margin: 10px auto;
}

/* Contentor dos cartões */
.servicos-flex {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    padding: 0 5%;
}

/* O Cartão Individual */
.card-servico {
    width: 320px;
    height: 480px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    transition: transform 0.3s;
}

.card-servico:hover {
    transform: translateY(-10px);
}

.card-overlay {
    background: rgba(0, 0, 0, 0.3); /* Escurece a foto para o texto ser lido */
    width: 100%;
    padding: 30px 10px;
    text-align: center;
    color: white;
}

.card-overlay h3 {
    font-size: 18px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 300;
}

/* Botão Saiba Mais dentro do cartão */
.btn-saiba-mais {
    display: inline-block;
    padding: 10px 25px;
    border: 1px solid white;
    color: white;
    text-decoration: none;
    font-size: 12px;
    background: rgba(0,0,0,0.4);
    transition: 0.3s;
}

.btn-saiba-mais:hover {
    background: white;
    color: black;
}
/* ESTILO APRESENTAÇÃO SOBREPOSTA */
.apresentacao-container {
    padding: 100px 10%;
    background-color: #fff;
}

.apresentacao-flex {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}

.apresentacao-imagem {
    width: 60%;
    z-index: 1;
}

.apresentacao-imagem img {
    width: 100%;
    display: block;
    box-shadow: 10px 10px 30px rgba(0,0,0,0.1);
}

.apresentacao-caixa {
    width: 50%;
    background: white;
    padding: 50px;
    border: 5px solid #e30613; /* Moldura Vermelha CDL */
    position: absolute;
    right: 0;
    z-index: 2;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.apresentacao-caixa h2 {
    font-size: 32px;
    color: #555;
    font-weight: 300;
    margin-bottom: 25px;
    line-height: 1.2;
}

.apresentacao-caixa p {
    color: #777;
    font-size: 15px;
    margin-bottom: 15px;
    line-height: 1.6;
}

.btn-saiba-mais-verde {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 30px;
    background: #e30613; /* Botão Vermelho CDL */
    color: white !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    transition: 0.3s;
}

.btn-saiba-mais-verde:hover {
    background: #000;
}

/* Responsividade para telemóveis */
@media (max-width: 900px) {
    .apresentacao-flex { flex-direction: column; }
    .apresentacao-imagem, .apresentacao-caixa { width: 100%; position: static; padding: 20px; }
}
/* DESIGN DE APRESENTAÇÃO SOBREPOSTA (ESTILO PREMIUM) */
.apresentacao-sobreposta {
    padding: 80px 0;
    background-color: #ffffff;
    overflow: hidden;
}

.apresentacao-wrapper {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 0 5%;
}

.apresentacao-foto {
    width: 65%;
    z-index: 1;
}

.apresentacao-foto img {
    width: 100%;
    display: block;
    box-shadow: 15px 15px 40px rgba(0,0,0,0.1);
}

.caixa-destaque-vermelha {
    width: 45%;
    background: #ffffff;
    padding: 60px 45px;
    border: 6px solid #e30613; /* Moldura no vermelho oficial da CDL */
    position: absolute;
    right: 5%;
    z-index: 2;
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
}

.caixa-destaque-vermelha h2 {
    font-size: 30px;
    color: #222;
    margin-bottom: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.caixa-destaque-vermelha p {
    color: #555;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 20px;
}

.btn-apresentacao {
    display: inline-block;
    padding: 14px 28px;
    background-color: #e30613;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    letter-spacing: 1px;
    transition: 0.3s;
}

.btn-apresentacao:hover {
    background-color: #000;
    transform: translateY(-2px);
}

/* AJUSTE PARA DISPOSITIVOS MÓVEIS */
@media (max-width: 992px) {
    .apresentacao-wrapper { flex-direction: column; }
    .apresentacao-foto, .caixa-destaque-vermelha { 
        width: 100%; 
        position: static; 
        padding: 20px; 
    }
}
.btn-apresentacao {
    display: inline-block;
    padding: 12px 30px;
    background-color: #e30613; /* Vermelho CDL */
    color: white !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    border-radius: 2px;
    transition: 0.3s ease;
    border: none;
    cursor: pointer;
}

.btn-apresentacao:hover {
    background-color: #000; /* Fica preto ao passar o rato, como no site da Graça */
    transform: scale(1.05);
}
/* CONTENTOR DOS SERVIÇOS */
.servicos-flex-vertical {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 40px 5%;
    max-width: 1200px;
    margin: 0 auto;
}

/* CAIXA VERTICAL */
.card-vertical {
    width: 350px; /* Largura da caixa */
    height: 500px; /* Altura vertical como na imagem de referência */
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end; /* Coloca o texto na parte de baixo */
    transition: transform 0.3s ease;
    border: 1px solid #ddd;
}

.card-vertical:hover {
    transform: translateY(-5px); /* Pequeno salto ao passar o rato */
}

/* CAMADA ESCURA POR CIMA DA FOTO PARA LER O TEXTO */
.card-overlay-vertical {
    background: rgba(0, 0, 0, 0.4); /* Sombra preta transparente */
    width: 100%;
    padding: 40px 20px;
    text-align: center;
    color: white;
}

.card-overlay-vertical h3 {
    font-size: 18px;
    margin-bottom: 25px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* BOTÃO DENTRO DA CAIXA */
.btn-card {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid white;
    color: white;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.2);
    transition: 0.3s;
}

.btn-card:hover {
    background: white;
    color: black;
}
/* --- ESTILO DAS VANTAGENS (Igual ao site da Graça) --- */

/* Forçar a fonte Montserrat em todo o site */
body {
    font-family: 'Montserrat', sans-serif !important;
}

.seccao-vantagens-premium {
    /* Certifica-te que a imagem fundo-vantagens.jpg está na pasta img */
    background: url('../img/foto7.jpg') no-repeat center center;
    background-size: cover;
    background-attachment: fixed; /* A imagem fica fixa enquanto o texto sobe */
    width: 100%;
}

.vantagens-overlay-dark {
    background: rgba(0, 0, 0, 0.7); /* Película escura para ler o texto branco */
    padding: 80px 10%;
    color: #ffffff;
}

.titulo-vantagens {
    text-align: center;
    font-size: 28px;
    margin-bottom: 60px;
    font-weight: 600;
    text-transform: uppercase;
}

.vantagens-container-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Duas colunas lado a lado */
    gap: 40px 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.item-vantagem {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.item-vantagem i {
    font-size: 32px;
    color: #e30613; /* Vermelho CDL */
    margin-top: 5px;
}

.texto-vantagem h3 {
    font-size: 19px;
    margin-bottom: 10px;
    font-weight: 600;
}

.texto-vantagem p {
    font-size: 16px; /* Letra maior como pediste */
    line-height: 1.6;
    color: #dddddd;
}

.faixa-valores {
    margin-top: 60px;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.2);
    padding-top: 30px;
    font-size: 18px;
    letter-spacing: 4px;
    font-weight: 300;
}

/* Para telemóvel: as colunas passam a ser uma só */
@media (max-width: 800px) {
    .vantagens-container-grid {
        grid-template-columns: 1fr;
    }
}
/* --- SECÇÃO VANTAGENS ESTILO GRAÇA --- */

.vantagens-graca {
    /* ADICIONA ESTA LINHA ABAIXO */
    background-image: url('../img/foto7.jpg'); 
    
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    position: relative;
}

.overlay-escuro {
    /* Esta cor rgba(0,0,0,0.7) é que faz o efeito "esbatido" escuro */
    background-color: rgba(0, 0, 0, 0.75); 
    padding: 80px 0;
    width: 100%;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.titulo-branco {
    color: #ffffff;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 30px;
    margin-bottom: 50px;
    text-transform: uppercase;
    font-weight: 600;
}

.vantagens-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 colunas */
    gap: 40px;
}

.v-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.v-item i {
    color: #e30613; /* Vermelho CDL */
    font-size: 30px;
    margin-top: 5px;
}

.v-texto h3 {
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    margin-bottom: 10px;
}

.v-texto p {
    color: #cccccc;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

.valores-rodape {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,0.2);
    color: #ffffff;
    text-align: center;
    letter-spacing: 3px;
    font-size: 16px;
    font-weight: 300;
}

/* Responsivo para telemóveis */
@media (max-width: 768px) {
    .vantagens-grid {
        grid-template-columns: 1fr;
    }
}

/* --- SECÇÃO SOLICITAR ORÇAMENTO --- */

.seccao-orcamento {
    padding: 80px 0;
    background-color: #f9f9f9; /* Um fundo cinza muito leve para destacar */
}

.container-orcamento {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center; /* Centra verticalmente o texto com a imagem */
    gap: 50px; /* Espaço entre o texto e a imagem */
    padding: 0 20px;
}

.orcamento-texto {
    flex: 1; /* Ocupa metade do espaço */
}

.titulo-destaque {
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    color: #333;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.2;
}

.subtitulo-destaque {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    color: #666;
    margin-bottom: 35px;
    line-height: 1.6;
}

.subtitulo-destaque strong {
    color: #e30613; /* Vermelho CDL para destaque */
    font-weight: 600;
}

/* --- ESTILO DO BOTÃO --- */
.botao-orcamento {
    display: inline-block;
    padding: 15px 35px;
    background-color: #e30613; /* Vermelho CDL */
    color: #ffffff;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.botao-orcamento:hover {
    background-color: #b2050f; /* Vermelho mais escuro ao passar o rato */
    transform: translateY(-3px); /* Pequeno salto para cima */
    box-shadow: 0 5px 15px rgba(227, 6, 19, 0.3);
}

/* --- ESTILO DA IMAGEM --- */
.orcamento-imagem {
    flex: 1; /* Ocupa a outra metade */
}

.orcamento-imagem img {
    width: 100%;
    height: auto;
    border-radius: 8px; /* Cantos ligeiramente arredondados */
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); /* Sombra suave para dar profundidade */
}

/* Ajuste para Telemóvel */
@media (max-width: 850px) {
    .container-orcamento {
        flex-direction: column; /* No telemóvel, o texto fica em cima da imagem */
        text-align: center;
    }
    
    .orcamento-imagem {
        order: 2; /* Garante que a imagem fica por baixo do texto no mobile */
    }
}
/* --- SECÇÃO CONTACTOS --- */

.seccao-contactos {
    padding: 80px 0 0 0; /* 0 em baixo para o mapa colar no fim */
    background-color: #ffffff;
}

.container-contactos {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.titulo-contactos {
    text-align: center;
    font-size: 32px;
    color: #2c4c3b; /* Tom verde escuro da Graça ou usa o teu Vermelho CDL */
    letter-spacing: 2px;
}

.divisor-linha {
    width: 150px;
    height: 2px;
    background-color: #2c4c3b;
    margin: 10px auto 50px auto;
}

.grid-contactos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
}

.info-lado h3 {
    font-size: 22px;
    margin-bottom: 15px;
    color: #333;
}

.info-lado p {
    margin-bottom: 10px;
    color: #666;
    line-height: 1.6;
}

.info-lado i {
    color: #e30613; /* Vermelho CDL */
    margin-right: 10px;
}

/* --- ESTILO FORMULÁRIO --- */

.campo-grupo {
    margin-bottom: 15px;
}

.formulario-lado input, 
.formulario-lado textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: inherit;
}

.privacidade-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0;
    font-size: 14px;
    color: #666;
}

.botao-enviar {
    background-color: #0056b3; /* Azul do botão da Graça */
    color: white;
    padding: 12px 40px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    transition: 0.3s;
}

.botao-enviar:hover {
    background-color: #004494;
}

.mapa-container {
    line-height: 0; /* Remove espaço extra abaixo do iframe */
}

/* Responsivo */
@media (max-width: 768px) {
    .grid-contactos { grid-template-columns: 1fr; }
}
.link-privacidade {
    color: #e30613; /* Usa o vermelho da CDL */
    text-decoration: none; /* Tira o sublinhado fixo */
    font-weight: bold;
    border-bottom: 1px solid transparent;
    transition: 0.3s;
}

.link-privacidade:hover {
    border-bottom: 1px solid #e30613; /* Aparece uma linha fina quando passa o rato */
    color: #b2050f; /* Escurece um pouco ao passar o rato */
}
/* --- RODAPÉ FINAL --- */

.rodape-final {
    background-color: #262a2e; /* Cinza escuro igual ao da Graça */
    color: #ffffff;
    padding: 60px 0 20px 0;
    font-family: 'Montserrat', sans-serif;
}

.container-footer {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    gap: 40px;
}

.footer-col {
    flex: 1;
}

/* Selo de Anos (Estilo Coroa de Louros) */
.selo-anos {
    border: 2px solid #c59d5f; /* Tom dourado */
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 20px;
}

.numero-anos { font-size: 24px; font-weight: bold; color: #c59d5f; }
.texto-anos { font-size: 10px; line-height: 1; color: #c59d5f; }

.footer-marca { font-size: 14px; color: #999; margin-bottom: 20px; }

.redes-sociais span { display: block; margin-bottom: 10px; font-size: 14px; }
.redes-sociais a {
    color: #ffffff;
    background: #444;
    width: 35px;
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 10px;
    transition: 0.3s;
}

.redes-sociais a:hover { background: #e30613; }

/* Links */
.footer-col h3 { font-size: 18px; margin-bottom: 20px; text-transform: none; }
.links-lista { list-style: none; padding: 0; }
.links-lista li { margin-bottom: 10px; }
.links-lista a {
    color: #999;
    text-decoration: none;
    font-size: 13px;
    transition: 0.3s;
}
.links-lista a:hover { color: #ffffff; }

/* Copyright */
.footer-copyright {
    text-align: center;
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 12px;
    color: #777;
}

/* Responsivo */
@media (max-width: 768px) {
    .container-footer { flex-direction: column; text-align: center; }
    .selo-anos { margin: 0 auto 20px auto; }
}

.footer-col li {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.footer-col i {
    font-size: 14px;
    width: 20px; /* Mantém os ícones alinhados verticalmente */
}
iframe {
    width: 100%; /* O mapa ocupa toda a largura disponível */
    height: 400px; /* Altura do mapa */
    border: none;
    border-radius: 8px; /* Cantos arredondados para um aspeto moderno */
    filter: grayscale(10%); /* Opcional: deixa o mapa com cores mais suaves */
}
/* --- ADAPTAÇÃO TOTAL PARA TELEMÓVEL --- */
@media (max-width: 768px) {
    /* 1. Ajuste do Topo e Menu */
    .header-container {
        flex-direction: column !important;
        padding: 10px !important;
    }
    .logo-img {
        height: 60px !important;
        margin-bottom: 10px;
    }
    nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 5px !important;
    }
    nav a {
        font-size: 10px !important;
        padding: 6px 8px !important;
        margin: 2px !important;
        border: 1px solid #ddd;
    }

    /* 2. Banner e Títulos */
    .hero { height: 40vh !important; }
    .hero h1 { font-size: 22px !important; }

    /* 3. Secção Apresentação (Caixa Vermelha) */
    .apresentacao-wrapper {
        flex-direction: column !important;
    }
    .apresentacao-foto, .caixa-destaque-vermelha {
        width: 100% !important;
        position: static !important; /* Remove a sobreposição para não cortar texto */
        padding: 20px !important;
    }

    /* 4. Serviços (Cards Verticais) */
    .servicos-flex-vertical {
        grid-template-columns: 1fr !important; /* Força uma coluna */
        padding: 20px 5% !important;
    }
    .card-vertical {
        width: 100% !important; /* Ocupa a largura total do ecrã */
        max-width: 100% !important;
        height: 400px !important;
        margin: 0 auto 20px auto;
    }

    /* 5. Vantagens e Rodapé */
    .vantagens-grid, .container-footer {
        grid-template-columns: 1fr !important;
        flex-direction: column !important;
        text-align: center;
    }
}
/* --- SECÇÃO EQUIPA TRANSPARENTE COM HIERARQUIA --- */
.equipa-parallax-final {
    background: url('../img/foto2.jpg') no-repeat center center fixed;
    background-size: cover;
    width: 100%;
}

.vidro-overlay {
    background: rgba(255, 255, 255, 0.10); /* Controla a transparência da imagem de fundo */
    padding: 100px 0;
    backdrop-filter: blur(8px); /* Efeito de vidro fosco */
}

.titulo-moderno {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    color: #333;
    margin-bottom: 80px;
    text-transform: uppercase;
}

.fluxo-equipa {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

/* Cartão Base */
.card-membro {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 20px;
    display: flex;
    align-items: center;
    padding: 20px;
    transition: 0.3s;
}

/* FOTOS CIRCULARES */
.moldura-foto {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}
.moldura-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.detalhes { padding-left: 25px; }
.detalhes h3 { font-size: 22px; color: #333; margin: 5px 0; }
.tag-cargo {
    font-size: 12px;
    font-weight: 800;
    color: #e30613; /* Vermelho CDL */
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* DESTAQUE GERENTE */
.gerente-destaque {
    width: 600px;
    background: rgba(227, 6, 19, 0.08); /* Fundo levemente avermelhado */
    border: 1px solid rgba(227, 6, 19, 0.2);
    transform: scale(1.1);
}

/* DESTAQUE ADMINISTRATIVA */
.administrativa-destaque {
    width: 550px;
    background: rgba(255, 255, 255, 0.9);
    border-left: 6px solid #e30613; /* Barra lateral para destacar dos gestores */
}

/* GRELHA DOS GESTORES/TÉCNICOS (Mais Pequenos) */
.grelha-colaboradores {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
    margin-top: 40px;
}

.card-membro.pequeno {
    flex-direction: column;
    text-align: center;
    padding: 30px 15px;
}

.card-membro.pequeno .detalhes { padding-left: 0; padding-top: 15px; }
.card-membro.pequeno .moldura-foto { width: 90px; height: 90px; }
.card-membro.pequeno h3 { font-size: 16px; }

/* Mobile */
@media (max-width: 768px) {
    .gerente-destaque, .administrativa-destaque { width: 95%; transform: scale(1); }
    .grelha-colaboradores { grid-template-columns: 1fr 1fr; }
}
/* --- NOVA VERSÃO: ÍCONES SUAVES E MODERNOS --- */

/* 1. CONTENTOR QUE CENTRA TUDO NO MEIO DA PÁGINA */
/* CONFIGURAÇÃO DE RENDERIZAÇÃO E CENTRALIZAÇÃO */
.container-servicos {
    max-width: 1000px;
    margin: 60px auto;
    padding: 0 20px;
    /* Força a nitidez da letra em todos os navegadores */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.servico-bloco {
    display: flex;
    align-items: flex-start;
    margin-bottom: 50px;
    padding: 40px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #eee;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.servico-bloco:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* ÍCONES UNIFORMES */
.servico-icon {
    background-color: #f8f8f8;
    min-width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #eee;
    flex-shrink: 0;
}

.servico-icon i {
    color: #c41212;
    font-size: 40px;
}

/* TEXTO COM NITIDEZ IGUAL (MONTSERRAT) */
.servico-info {
    margin-left: 40px;
    font-family: 'Montserrat', sans-serif !important;
}

.servico-info h2 {
    font-family: 'Montserrat', sans-serif !important;
    color: #222;
    font-size: 26px;
    font-weight: 700; /* Peso forte e nítido para títulos */
    margin-top: 0;
    margin-bottom: 15px;
    text-align: left;
}

.servico-info p {
    font-family: 'Montserrat', sans-serif !important;
    color: #444;
    font-size: 16px;
    font-weight: 400; /* Peso normal e nítido para parágrafos */
    line-height: 1.7;
    text-align: justify;
    margin-bottom: 20px;
}

.servico-info ul li {
    font-family: 'Montserrat', sans-serif !important;
    color: #555;
    font-size: 15px;
    font-weight: 400; /* Peso igual ao parágrafo para uniformidade */
    line-height: 1.6;
    margin-bottom: 10px;
    list-style: none;
    position: relative;
    padding-left: 25px;
    text-align: justify;
}

/* Ponto da lista */
.servico-info ul li::before {
    content: "•";
    color: #c41212;
    font-weight: bold;
    position: absolute;
    left: 0;
    font-size: 18px;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
    .servico-bloco { flex-direction: column; align-items: center; text-align: center; }
    .servico-info { margin-left: 0; margin-top: 25px; }
    .servico-info p, .servico-info ul li { text-align: center; }
    .servico-info ul li::before { display: none; }
}
.card-acesso {
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    border-radius: 15px;
    padding: 40px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 1px solid #eee;
}

.card-icon {
    font-size: 60px;
    color: #c41212;
    margin-bottom: 20px;
}

.lista-acesso {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    text-align: left;
    display: inline-block;
}

.lista-acesso li {
    margin-bottom: 10px;
    color: #555;
}

.lista-acesso i {
    color: #27ae60;
    margin-right: 10px;
}

.btn-entrar-portal {
    display: inline-block;
    background-color: #c41212;
    color: white;
    padding: 18px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    transition: background 0.3s;
    margin-top: 20px;
    box-shadow: 0 4px 15px rgba(196, 18, 18, 0.3);
}

.btn-entrar-portal:hover {
    background-color: #a00e0e;
}
.seccao-contactos {
    padding: 60px 0;
    background-color: #fdfdfd;
    text-align: center; /* Centra os títulos principais */
}

.info-centrada {
    max-width: 800px;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
    font-family: 'Montserrat', sans-serif;
}

.contacto-item h3 {
    color: #c41212;
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: 700;
}

.contacto-item p {
    font-size: 17px;
    color: #444;
    line-height: 1.6;
}

/* Organiza os horários lado a lado em ecrãs grandes */
.contacto-item-horarios {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.horario-bloco h3 {
    font-size: 16px;
    color: #333;
    margin-bottom: 8px;
}

/* Ajuste para Telemóveis */
@media (max-width: 768px) {
    .contacto-item-horarios {
        flex-direction: column;
        gap: 30px;
    }
}
.marca-parceira {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.marca-parceira span {
    font-size: 12px;
    opacity: 0.7;
}

.marca-parceira img {
    max-width: 120px;
    height: auto;
    transition: opacity 0.3s ease;
}

.marca-parceira img:hover {
    opacity: 0.8;
}
/* Organizar melhor as colunas do rodapé */
.container-footer {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* 3 colunas iguais */
    max-width: 1100px;
    margin: 0 auto;
}

/* Layout do rodapé com 4 colunas */
.container-footer {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Coluna do LIZ+ */
.footer-liz {
    justify-self: start;   /* cola à esquerda da coluna */
    text-align: left;     /* não força o centro */
}

/* Texto "Marca associada" */
.footer-liz .titulo-parceiro {
    font-size: 12px;
    opacity: 0.7;
    display: block;
    margin-bottom: 10px;
}

/* Logo LIZ+ */
.footer-liz img {
    max-width: 130px;
    height: auto;
}
/* Garante que o texto não transborde e se ajuste ao ecrã */
body, html {
    overflow-x: hidden; /* Evita que o site deslize para os lados */
    width: 100%;
    margin: 0;
    padding: 0;
}
/* Correção para ecrãs pequenos (Telemóvel) */
@media (max-width: 600px) {
    .form-container {
        padding: 15px;
        margin: 10px;
    }
    
    .input-row {
        flex-direction: column; /* Coloca um campo por baixo do outro no telemóvel */
        gap: 10px;
    }
    
    h2 {
        font-size: 22px !important;
        line-height: 1.2;
    }
    
    .number-grid {
        grid-template-columns: 1fr 1fr; /* Mantém 2 colunas nos números */
        gap: 10px;
    }
    
    input, textarea, button {
        font-size: 16px !important; /* Evita que o iPhone faça zoom automático */
    }
}
