/* =========================================================
   A Mira - ajustes de 10/11/2026
   Carregar DEPOIS de estilo.css
   ========================================================= */

/* --- Corrige a página mais larga que a tela --- */
body { overflow-x: clip; }
img, iframe, video { max-width: 100%; }
img { height: auto; }
#cta-pericias img, .servico img { width: 100%; }

/* --- H1 do banner com o mesmo visual do antigo H2 --- */
.capt h1 {
    color: #fff;
    font-size: 40px;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0;
    font-weight: normal;
    text-shadow: 1px 1px #333;
    margin: 0 0 8px 0;
}
.capt h1 .sub-h1 {
    display: block;
    font-size: 18px;
    margin-top: 6px;
    color: var(--corPrimaria);
    font-weight: bold;
}
@media only screen and (max-width: 900px) {
    .capt h1 { font-size: 20px; }
    .capt h1 .sub-h1 { font-size: 13px; }
}

/* --- Rótulos do formulário (visíveis para leitores de tela) --- */
.rotulo {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}
.consentimento {
    display: block;
    font-size: 12px;
    line-height: 16px;
    margin: 6px 0 10px;
    font-weight: normal;
    cursor: pointer;
}
.consentimento input { margin-right: 6px; vertical-align: middle; }
.consentimento a { text-decoration: underline; }
.retorno-formulario { font-weight: bold; }
.retorno-formulario.erro { color: #b00020; }
.retorno-formulario.sucesso { color: #1e7e34; }
.btn-enviar[disabled] { opacity: .6; cursor: wait; }
.campo-erro { border-color: #b00020 !important; }

/* --- Foco visível para navegação por teclado --- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline: 3px solid var(--corPrimaria);
    outline-offset: 2px;
}

/* --- Lista dentro do card de trânsito --- */
.lista-servico { padding-left: 20px; margin: 0 0 15px 0; }
.lista-servico li { margin-bottom: 4px; }

/* --- Título da seção de perícias --- */
.portfolio-pericias { padding-top: 20px; }
.titulo-pericias {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 500;
    margin: 13px 0 20px;
}
.titulo-pericias strong { color: var(--corSecundaria); font-size: 29px; }

/* --- Rodapé: razão social e aviso legal --- */
.aviso-legal {
    border-top: 1px solid rgba(255,255,255,.15);
    margin-top: 25px;
    padding-top: 18px;
    color: #cfcfcf;
    font-size: 13px;
    line-height: 19px;
    text-align: center;
}
.aviso-legal p { color: #cfcfcf; margin: 0 0 8px; }
.aviso-legal a { color: var(--corPrimaria); text-decoration: underline; }

/* --- Aviso de cookies --- */
#aviso-cookies {
    display: none;
    position: fixed;
    left: 20px; right: 110px; bottom: 20px;
    z-index: 9998;
    background: #111;
    color: #fff;
    border: 1px solid var(--corSecundaria);
    border-radius: 10px;
    padding: 16px 20px;
    box-shadow: 0 6px 24px rgba(0,0,0,.35);
    font-size: 14px;
    line-height: 20px;
}
#aviso-cookies p { margin: 0 0 10px; color: #fff; }
#aviso-cookies a { color: var(--corPrimaria); text-decoration: underline; }
#aviso-cookies .botoes { text-align: right; }
#aviso-cookies button {
    border-radius: 8px;
    border: 2px solid var(--corPrimaria);
    font-weight: bold;
    font-size: 13px;
    padding: 6px 16px;
    margin-left: 8px;
    cursor: pointer;
}
#aviso-cookies .cookies-aceitar { background: var(--corPrimaria); color: #000; }
#aviso-cookies .cookies-recusar { background: transparent; color: #fff; }
@media only screen and (max-width: 670px) {
    #aviso-cookies { left: 10px; right: 10px; bottom: 90px; }
}

/* --- Páginas internas de serviço --- */
.pagina-hero {
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 190px 0 70px;
}
.pagina-hero-curta { padding: 170px 0 50px; }
.pagina-hero h1 {
    color: #fff;
    font-size: 38px;
    line-height: 1.2;
    text-transform: uppercase;
    font-weight: bold;
    margin: 10px 0 12px;
    max-width: 800px;
}
.pagina-hero .subtitulo { color: #eee; font-size: 18px; max-width: 700px; }
.pagina-hero .btn-hero {
    display: inline-block;
    margin-top: 25px;
    border-radius: 8px;
    border: 2px solid var(--corPrimaria);
    background-color: var(--corPrimaria);
    color: var(--corTexto);
    font-size: 15px;
    font-weight: bold;
    padding: 10px 22px;
}
.pagina-hero .btn-hero:hover { background-color: var(--corSecundaria); border-color: var(--corSecundaria); color: #fff; }
.migalhas { font-size: 13px; color: #ccc; }
.migalhas a { color: var(--corPrimaria); }
.migalhas span { color: #fff; }

.pagina-servico { padding: 60px 0; }
.conteudo-pagina h2 {
    font-size: 24px;
    text-transform: uppercase;
    margin: 35px 0 14px;
    padding-left: 12px;
    border-left: 4px solid var(--corPrimaria);
}
.conteudo-pagina h2:first-child { margin-top: 0; }
.conteudo-pagina p, .conteudo-pagina li { font-size: 16px; line-height: 26px; }
.conteudo-pagina ul, .conteudo-pagina ol { padding-left: 22px; margin-bottom: 15px; }
.conteudo-pagina a { color: var(--corSecundaria); text-decoration: underline; }
.etapas li { margin-bottom: 10px; }

.faq-item {
    border: 1px solid #e3dcc9;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 10px;
    background: #fbf9f3;
}
.faq-item summary { font-weight: bold; cursor: pointer; }
.faq-item p { margin: 10px 0 0; }

.caixa-contato, .caixa-outros {
    background: #111;
    color: #fff;
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 25px;
}
.caixa-contato h3, .caixa-outros h3 { color: #fff; text-transform: uppercase; font-size: 20px; margin-top: 0; }
.caixa-contato h3 strong, .caixa-outros h3 strong { color: var(--corPrimaria); }
.caixa-contato p { color: #ddd; font-size: 14px; line-height: 21px; }
.caixa-contato .btn-atendimento-especializado,
.caixa-contato .btn-mais-info {
    display: block;
    text-align: center;
    margin: 10px 0 0;
    background: var(--corPrimaria);
    color: #000;
    border: 2px solid var(--corPrimaria);
    border-radius: 8px;
    padding: 9px 12px;
    font-weight: bold;
}
.caixa-contato .btn-mais-info { background: transparent; color: #fff; }
.caixa-contato .aviso-pequeno { font-size: 12px; color: #aaa; margin-top: 15px; }
.caixa-outros ul { list-style: none; padding: 0; margin: 0; }
.caixa-outros li { border-bottom: 1px solid rgba(255,255,255,.1); padding: 8px 0; }
.caixa-outros a { color: #fff; }
.caixa-outros a:hover { color: var(--corPrimaria); }

.contato-interno { background: #f6f2e7; padding: 60px 0; }
.contato-interno h2 { text-transform: uppercase; font-size: 26px; }
.contato-interno h2 strong { color: var(--corSecundaria); }
.contato-interno p { font-size: 17px; margin: 15px auto 25px; max-width: 700px; }
.contato-interno .btn-atendimento {
    display: inline-block;
    background: var(--corPrimaria);
    color: #000;
    border-radius: 8px;
    padding: 12px 25px;
    font-weight: bold;
    margin: 0;
}

@media only screen and (max-width: 900px) {
    .pagina-hero { padding: 140px 0 50px; }
    .pagina-hero h1 { font-size: 24px; }
    .pagina-hero .subtitulo { font-size: 15px; }
}

/* --- Campo anti-robô do formulário --- */
.campo-oculto { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* --- Foto da equipe na seção Sobre a Mira --- */
.intro-equipe { display: flex; align-items: center; gap: 35px; max-width: calc(100% - 200px); margin-bottom: 10px; }
.intro-texto { flex: 1 1 auto; min-width: 0; }
#quem-somos .intro-texto p { padding-right: 0; }
.foto-equipe { flex: 0 0 240px; margin: 0; }
.foto-equipe img { display: block; width: 100%; height: auto; border-radius: 12px; border: 3px solid var(--corPrimaria); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
@media only screen and (max-width: 900px) {
    .intro-equipe { flex-direction: column; max-width: 100%; gap: 20px; }
    .foto-equipe { flex-basis: auto; width: 70%; max-width: 280px; margin: 0 auto 10px; }
}

/* --- Segunda foto da equipe na faixa de destaque --- */
.destaque-equipe { display: flex; align-items: center; justify-content: center; gap: 45px; }
.foto-destaque { flex: 0 0 230px; margin: 0; }
.foto-destaque img { display: block; width: 100%; height: auto; border-radius: 12px; border: 3px solid var(--corPrimaria); box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.destaque-texto { max-width: 560px; }
#destaque .destaque-texto h2 { text-align: left; margin: 0 0 15px 0; }
.destaque-texto p { color: #eee; font-size: 17px; line-height: 26px; margin: 0 0 22px 0; }
.btn-destaque { display: inline-block; background: var(--corPrimaria); color: #000; border-radius: 8px; padding: 12px 24px; font-weight: bold; font-size: 15px; }
.btn-destaque:hover { background: var(--corSecundaria); color: #fff; text-decoration: none; }
@media only screen and (max-width: 900px) {
    .destaque-equipe { flex-direction: column; gap: 22px; text-align: center; }
    .foto-destaque { flex-basis: auto; width: 60%; max-width: 240px; }
    #destaque .destaque-texto h2 { text-align: center; font-size: 22px; }
    #destaque .destaque-texto h2 strong { font-size: 26px; }
}

/* --- Faixa de destaque sem sobrepor os cartões de perícias --- */
.portfolio-pericias { background-color: #f1f1f1; padding-bottom: 50px; }
#destaque { margin-top: 0; padding: 70px 0; }
