body {
    font-family: 'Roboto', sans-serif; /* Fonte base mais legível e moderna */
}

/* Estilos para o cabeçalho e nome da clínica */
.clinic-header {
    font-family: 'Playfair Display', serif; /* Fonte elegante e autoritária */
    font-size: 1.3rem; /* Tamanho ligeiramente maior */
    color: #2c3e50; /* Cor mais escura para contraste */
    line-height: 1.4;
}

h1 { 
    font-family: 'Playfair Display', serif; /* Títulos principais mais impactantes */
    font-size: 18pt; 
    text-align: center; 
    margin-bottom: 1.5rem; 
    color: #2c3e50;
}
h2 { 
    font-family: 'Merriweather', serif; /* Subtítulos com seriedade */
    font-size: 14pt; 
    margin-top: 1.5rem; 
    margin-bottom: 0.8rem; 
    border-bottom: 2px solid #ddd; /* Linha mais definida */
    padding-bottom: 8px; /* Mais espaço abaixo da linha */
    color: #34495e; /* Cor para subtítulos */
}

/* Estilo para a assinatura (imagem) */
.signature-img {
    height: 80px; /* Ajuste conforme o tamanho da sua imagem de assinatura */
    width: auto;
    display: block; /* Garante que ela esteja em sua própria linha */
    margin-left: auto; /* Alinha à direita no rodapé */
    margin-right: 0;
    margin-bottom: 5px;
}

/* Estilos padrão das páginas */
.page {
    background: white;
    width: 21cm;
    height: 29.7cm;
    display: flex;
    flex-direction: column;
    margin: 1rem auto;
    box-shadow: 0 0 0.8cm rgba(0,0,0,0.3); /* Sombra mais pronunciada */
    padding: 2.5cm; /* Um pouco mais de padding */
    box-sizing: border-box;
    border-radius: 5px; /* Bordas levemente arredondadas */
    position: relative; /* <<<--- CORREÇÃO ADICIONADA AQUI */
}

.page-content {
    flex-grow: 1;
}

.page-header {
    flex-shrink: 0;
}

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #a0a0a0; /* Linha mais sólida e escura */
    padding-bottom: 15px;
    margin-bottom: 25px;
}

.page-header img { /* Estilo para a imagem da logo no cabeçalho */
    height: 80px; /* Tamanho da sua logo */
    width: auto;
}

.page-footer {
    position: absolute; /* Posição absoluta relativa à .page */
    bottom: 30mm; /* Distância da assinatura até a borda inferior da página */
    left: 2.5cm; /* Alinha com o padding da página */
    right: 2.5cm; /* Alinha com o padding da página */
    display: flex;
    justify-content: flex-end; /* Alinha a assinatura à direita */
    border-top: 2px solid #a0a0a0;
    padding-top: 15px;
}

.disclaimer {
    font-size: 10pt;
    font-style: italic;
    margin-top: 2.5rem;
    text-align: justify;
    color: #555; /* Cor mais suave para o disclaimer */
}

/* Estilos para o rodapé de contato */
.clinic-contact-footer {
    position: absolute;
    bottom: -20mm; /* Mantendo o mais baixo possível */
    left: 10mm;   /* Reduzido de 2.5cm (25mm) para 10mm */
    right: 10mm;  /* Reduzido de 2.5cm (25mm) para 10mm */
    font-size: 0.55rem; /* Ajustado para um pouco menor: 0.55rem */
    color: #6b7280; /* Cor de texto cinza para ser discreto */
    text-align: center; /* Centraliza o texto */
    line-height: 1.2;
    white-space: nowrap; /* Força o texto a ficar em uma única linha */
    overflow: hidden;    /* Esconde qualquer texto que transborde */
    text-overflow: ellipsis; /* Adiciona "..." se o texto for cortado */
}


.clinic-contact-footer a {
    color: #4a5568; /* Cor do link para ficar discreta, mas clicável */
    text-decoration: none; /* Remove sublinhado padrão */
}

.clinic-contact-footer a:hover {
    text-decoration: underline; /* Adiciona sublinhado ao passar o mouse */
}


/* Estilos para impressão */
@media print {
    body {
        margin: 0;
        background: none;
    }
    .no-print {
        display: none;
    }
    .page {
        margin: 0;
        box-shadow: none;
        page-break-after: always;
        height: 29.7cm; /* Altura fixa para impressão */
        padding: 2.5cm;
        border-radius: 0;
    }
     .page:last-child {
        page-break-after: auto;
    }
}