/* =============================================================================
   Páginas de conteúdo — capa, texto longo, documentos legais
   Meio Norte Express
   ============================================================================= */

/* --- Capa ----------------------------------------------------------------- */
/* A capa mora em base.css: `/rastreamento` usa `.capa` e não carrega este
   arquivo — a capa daquela página ficava sem regra nenhuma. */

/* --- Serviço em detalhe --------------------------------------------------- */

.servico-detalhe {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: var(--space-6);
    padding: var(--gap-bloco) 0;
    border-bottom: 1px solid var(--gray-200);
    scroll-margin-top: 100px;
}
.servico-detalhe:last-child { border-bottom: none; }

.servico-detalhe__icone {
    display: flex; align-items: center; justify-content: center;
    width: 72px; height: 72px;
    border-radius: var(--radius-lg);
    background: var(--info-light);
    color: var(--primary-color);
    font-size: 1.7rem;
}

.servico-detalhe h2 { font-size: var(--font-size-2xl); margin-bottom: var(--space-3); }
.servico-detalhe__resumo { font-size: var(--font-size-lg); color: var(--gray-700); }
.servico-detalhe__link { font-weight: var(--peso-enfase); }
.servico-detalhe__link i { font-size: .78rem; }

@media (max-width: 640px) {
    .servico-detalhe { grid-template-columns: 1fr; gap: var(--space-4); }
    .servico-detalhe__icone { width: 56px; height: 56px; font-size: 1.35rem; }
}

/* --- Documento legal ------------------------------------------------------ */

.documento {
    max-width: 76ch;
    margin: 0 auto;
}

.documento h2 {
    font-size: var(--font-size-xl);
    margin-top: var(--gap-bloco);
    padding-top: var(--space-5);
    border-top: 1px solid var(--gray-200);
    scroll-margin-top: 100px;
}
.documento h2:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }

.documento h3 { font-size: var(--font-size-lg); margin-top: var(--space-6); }
.documento p, .documento li { color: var(--gray-700); }
.documento ul { padding-left: var(--space-5); }

.documento__meta {
    display: flex; gap: var(--space-5); flex-wrap: wrap;
    padding: var(--space-4) var(--space-5);
    background: var(--gray-50);
    border-left: 3px solid var(--primary-color);
    border-radius: var(--radius-sm);
    margin-bottom: var(--gap-bloco);
    font-size: var(--font-size-sm);
    color: var(--gray-600);
}
.documento__meta strong { color: var(--gray-900); }

/* Índice do documento */
.indice {
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    padding: var(--space-5);
    margin-bottom: var(--gap-bloco);
}
.indice h2 {
    font-size: var(--font-size-sm) !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 var(--space-3) !important;
    color: var(--gray-600);
}
.indice ol { margin: 0; padding-left: var(--space-5); }
.indice li { font-size: var(--font-size-sm); margin-bottom: 6px; }

/* Bloco de contato do encarregado de dados */
.encarregado {
    background: var(--info-light);
    border-radius: var(--radius-md);
    padding: var(--space-5);
    margin-top: var(--gap-bloco);
}
.encarregado h3 { margin-top: 0; }
.encarregado p:last-child { margin-bottom: 0; }

/* --- 404 ------------------------------------------------------------------ */

.erro__codigo {
    font-family: var(--font-mono);
    font-size: clamp(4rem, 12vw, 7rem);
    font-weight: var(--peso-titulo);
    line-height: var(--lh-rotulo);
    color: var(--gray-200);
    margin: 0 0 var(--space-3);
}

.lista-caminhos { list-style: none; padding: 0; margin: 0 0 var(--space-6); }
.lista-caminhos li { margin: 0; border-bottom: 1px solid var(--gray-200); }
.lista-caminhos li:last-child { border-bottom: none; }
.lista-caminhos a {
    display: flex; align-items: center; gap: var(--space-3);
    padding: var(--space-4) 0;
    font-weight: var(--peso-enfase);
}
.lista-caminhos i { color: var(--gray-500); width: 20px; text-align: center; }
