/* =========================================================
   Intercon - Ajustes de Design (camada adicional)
   Nova identidade visual:
   Turquesa/menta: #8FEBAC | Azul escuro: #062D49
   Magenta: #C23C3E | Azul claro: #5B8FD2
   Estilo flat: sem sombras, degradês ou traços
   ========================================================= */

:root {
    --brand-mint: #8FEBAC;
    --brand-navy: #062D49;
    --brand-magenta: #C23C3E;
    --brand-blue: #5B8FD2;
}

/* ---------- Base / contraste ---------- */
body { color: #333; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--brand-navy); }

.texto-white h1, .texto-white h2, .texto-white h3, .texto-white h4, .texto-white h5, .texto-white h6 { color: #fff !important; } a { color: var(--brand-blue); }
a:hover { color: var(--brand-navy); }

.titulo span { color: #6b7c8a; }
.titulo:before { background: var(--brand-mint) !important; }

/* Sobrescreve a paleta antiga (vermelho) do template pela nova identidade */
.texto-cor { color: var(--brand-navy) !important; }
.texto-cor2 { color: var(--brand-magenta) !important; }
.background-cor { background-color: var(--brand-navy) !important; }
.background-cor2 { background-color: var(--brand-magenta) !important; }

.btn-cor { background-color: var(--brand-magenta) !important; color: #fff !important; font-weight: 700; letter-spacing: .02em; box-shadow: none !important; }
.btn-cor:hover { background-color: var(--brand-blue) !important; color: #fff !important; box-shadow: none !important; }
.btn { transition: background-color 200ms ease, color 200ms ease; box-shadow: none !important; }

.btn-dark:hover { background-color: var(--brand-blue) !important; color: #fff !important; }

/* Remove contorno visível dos botões claros */
.btn-light { border: none !important; }

/* Logo do cabeçalho e do rodapé com o mesmo tamanho (vence a regra .logo img do tema) */
.logo-marca { width: 150px !important; max-width: 100% !important; height: auto !important; display: block; }

.menu a { font-size: 14px; color: var(--brand-mint) !important; }
.menu a:hover { color: #fff !important; }
.menu a.btn:hover { background-color: var(--brand-blue) !important; color: #fff !important; }

/* Linha de contato no topo (endereço/e-mail) sempre em branco */
.texto-light a { color: inherit !important; }
.texto-light a:hover { color: var(--brand-mint) !important; }

/* ---------- Seções com fundo alternado (contraste visual) ---------- */
.bg-secao-clara { background-color: #f3f7fa !important; }
.bg-secao-marca { background-color: var(--brand-navy) !important; color: #fff; }
.bg-secao-marca h1, .bg-secao-marca h2, .bg-secao-marca h3, .bg-secao-marca .titulo:before { color: #fff; }
.bg-secao-marca .titulo:before { background: var(--brand-mint) !important; }
.bg-secao-marca .titulo span { color: rgba(255,255,255,.75); }
.bg-secao-escura { background-color: #051f33 !important; color: #eee; }
.bg-secao-escura .titulo span { color: rgba(255,255,255,.6); }

/* ---------- HERO (slide) ---------- */
/* overlay sólido (sem degradê) com a cor da marca sobre a foto fixa de fundo */
/* Duas camadas de foto empilhadas para o crossfade do hero (sem flash branco) */
.banner .fotos.hero-fade {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 400ms ease;
}
.banner .fotos.hero-fade.is-visible { opacity: 1; }

.banner .fotos:before {
    background: rgba(6,35,58,.93) !important;
}

.hero-conteudo { color: #fff; padding: 40px 0; }
.hero-conteudo .tag {
    display: inline-block;
    background: var(--brand-mint);
    color: var(--brand-navy);
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 30px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 18px;
}
.hero-conteudo h2 { font-size: 44px; line-height: 1.15; margin: 0 0 16px; font-weight: 700; color: #fff; }
.hero-conteudo p { font-size: 18px; opacity: .92; margin-bottom: 26px; max-width: 560px; margin-left: auto; margin-right: auto; }
.hero-conteudo .btn { margin: 0 6px 10px; }

@media (min-width: 992px) {
    .hero-conteudo p { margin-left: 0; margin-right: 0; }
    .hero-conteudo .btn { margin: 0 10px 10px 0; }
}

.slogan.owl-theme .owl-dots { margin-top: 10px; }
.slogan.owl-theme .owl-dots .owl-dot span { background: rgba(255,255,255,.4); }
.slogan.owl-theme .owl-dots .owl-dot.active span { background: #fff; }

@media (max-width: 767px) {
    .hero-conteudo h2 { font-size: 30px; }
    .hero-conteudo p { font-size: 16px; }
}

/* ---------- Ícones de destaque no topo (confiança) ---------- */
.destaque-item {
    background: #fff;
    border-radius: 10px;
    padding: 26px 20px;
    text-align: center;
    height: 100%;
}
.destaque-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: rgba(143,235,172,.35);
    color: var(--brand-navy);
    font-size: 24px;
    margin-bottom: 14px;
}
.destaque-item h3 { font-size: 17px; margin: 0 0 6px; }
.destaque-item p { font-size: 14px; color: #777; margin: 0; }

/* ---------- Cards de serviço com ícone ---------- */
.servico-card {
    display: block;
    height: 100%;
    background: #fff;
    border-radius: 10px;
    padding: 30px 24px;
    text-align: center;
    transition: background-color 250ms ease;
    color: #333;
}
.servico-card:hover {
    background: #f3f7fa;
    color: #333;
}
.servico-card .servico-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px; height: 68px;
    border-radius: 50%;
    background: var(--brand-navy);
    color: #fff;
    font-size: 28px;
    margin-bottom: 18px;
}
.servico-card:hover .servico-icone { background: var(--brand-blue); }
.servico-card h3 { font-size: 18px; margin: 0 0 8px; }
.servico-card p { font-size: 14px; color: #777; margin: 0; }

/* ---------- Utilitários (agenda, tabelas, etc.) com ícones mais vivos ---------- */
.utilitarios { border-radius: 10px; text-align: center; padding: 26px 16px; }
.utilitarios i { opacity: 1 !important; color: var(--brand-navy); }
.utilitarios:hover { background: #f3f7fa; }
.utilitarios:hover i { color: var(--brand-blue); }
.utilitarios h3 { margin-top: 10px; }

/* ---------- CTA humanizado ---------- */
.cta-humano {
    background: var(--brand-navy);
    border-radius: 14px;
    color: #fff;
    padding: 50px 30px;
    text-align: center;
}
.cta-humano h2 { color: #fff; }
.cta-humano p { color: #fff !important; opacity: .9; font-size: 15px !important; }
.cta-humano .btn-light { background: var(--brand-mint); color: var(--brand-navy); font-weight: 700; }
.cta-humano .btn-light:hover { background: #78d99b; }

/* ---------- Botão flutuante do WhatsApp (sem sombra) ---------- */
.fale a { box-shadow: none !important; }
.fale a:hover { box-shadow: none !important; }

/* ---------- Aviso de cookies (menor e com a cor da marca, sem sombra) ---------- */
.sclgpd {
    padding: 18px 20px !important;
    max-width: 340px !important;
    margin: 14px !important;
    border-radius: 12px !important;
    border: none !important;
    box-shadow: none !important;
}
.sclgpd .sclgpd-title h4 { font-size: 14px !important; }
.sclgpd .sclgpd-content { margin: 6px 0 !important; }
.sclgpd .sclgpd-content p:last-child { font-size: 12.5px !important; line-height: 1.4 !important; }
.sclgpd .sclgpd-footer { display: flex !important; flex-wrap: wrap; gap: 6px; }
.sclgpd .sclgpd-button {
    padding: 6px 12px !important;
    font-size: 11px !important;
    border-radius: 20px !important;
}
.sclgpd .sclgpd-button-open {
    height: 30px !important;
    top: -30px !important;
    font-size: 12px !important;
    padding: 0 12px !important;
    display: flex;
    align-items: center;
    box-shadow: none !important;
}

/* ---------- Utilitárias de imagem ---------- */
.img-fluid { max-width: 100%; height: auto; display: block; }
.rounded { border-radius: 10px; }
.imagem-substituivel { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }

/* ---------- Imagens de apoio (quebram blocos longos de texto) ---------- */
.servico-detalhe-img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: none;
    display: block;
}

/* ---------- Redes sociais no rodapé ---------- */
.redes_sociais { display: flex; gap: 10px; margin-top: 12px; }
.redes_sociais a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: var(--brand-mint) !important;
    border: none;
}
.redes_sociais a:hover {
    background: var(--brand-mint);
    color: var(--brand-navy) !important;
}

/* ---------- Rodapé ---------- */
.rodape { background-color: var(--brand-navy) !important; color: #cddbe6; }
.rodape p { color: #cddbe6; }
.rodape h2, .rodape h2 span, .rodape h3 { color: var(--brand-mint) !important; }
.rodape .links_importantes { columns: 1 !important; }
.rodape .links_importantes a { color: #cddbe6; }
.rodape .links_importantes a:hover { color: var(--brand-mint); }
.copyright { background-color: #041a2b !important; border-top: none !important; color: #9fb3c4; }
.copyright p { font-size: 11px !important; }
.copyright a { color: var(--brand-mint) !important; }
