/* assets/css/print.css */

@media print {
    /* --- 1. Reset e Estilos Básicos para o Corpo da Página --- */
    body {
        margin: 0;
        padding: 0;
        font-family: Arial, sans-serif; /* Fonte mais comum para impressão */
        font-size: 12pt; /* Tamanho de fonte padrão para impressão */
        line-height: 1.4;
        color: #000; /* Garante texto preto */
        background-color: #fff; /* Garante fundo branco */
        -webkit-print-color-adjust: exact; /* Para imprimir cores de fundo e bordas (se houver) */
        print-color-adjust: exact;
    }

    /* --- 2. Esconder Elementos Não Essenciais para Impressão --- */
    /* Esconde cabeçalho, rodapé, navegação e o botão de impressão */
    header,
    footer,
    nav,
    .navbar,
    .d-print-none, /* Classe do Bootstrap para esconder na impressão */
    .section-title p, /* Descrição abaixo do título principal do calendário */
    .alert { /* Mensagens de alerta (sucesso/erro) */
        display: none !important;
        visibility: hidden !important; /* Garante que não ocupem espaço */
        height: 0 !important;
        overflow: hidden !important;
    }

    /* Esconde tudo que não está dentro do <main> ou que não é o calendário dentro do <main> */
    /* Esta é uma regra muito agressiva, ajuste conforme sua estrutura HTML */
    body > *:not(main) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    main > *:not(#event-calendar) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }


    /* --- 3. Garantir Visibilidade e Estilizar o Conteúdo do Calendário --- */
    #event-calendar,
    #printable-calendar-content {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        float: none !important; /* Remove flutuações */
        margin: 0 auto !important; /* Centraliza o calendário */
        padding: 20px 0 !important;
        box-shadow: none !important; /* Remove sombras */
        border: none !important; /* Remove bordas */
        background-color: transparent !important; /* Remove fundo */
    }

    /* Garante que todos os filhos do conteúdo imprimível sejam visíveis */
    #printable-calendar-content * {
        visibility: visible !important;
        color: #000 !important; /* Força texto preto */
        background-color: transparent !important; /* Remove fundos de elementos internos */
        box-shadow: none !important; /* Remove sombras de elementos internos */
    }

    /* --- 4. Ajustes de Layout e Tipografia para Impressão --- */
    #event-calendar h1 {
        font-size: 20pt !important; /* Tamanho de título para impressão */
        text-align: center !important;
        margin-bottom: 20px !important;
        color: #000 !important;
    }

    .year-group h2 {
        font-size: 16pt !important;
        text-align: center !important;
        margin-top: 25px !important;
        margin-bottom: 10px !important;
        border-bottom: 1px solid #ccc !important; /* Borda sutil para separação */
        padding-bottom: 8px !important;
        color: #000 !important;
    }

    .month-group h3 {
        font-size: 14pt !important;
        margin-top: 15px !important;
        margin-bottom: 8px !important;
        color: #000 !important;
    }

    .event-item {
        border: 1px solid #ddd !important; /* Borda leve para cada evento */
        margin-bottom: 8px !important;
        padding: 10px !important;
        page-break-inside: avoid; /* Evita quebra de página dentro de um item */
        display: flex !important;
        flex-direction: row !important; /* Mantém a data e detalhes lado a lado */
        align-items: flex-start !important;
        background-color: #fff !important; /* Fundo branco para cada item */
        box-shadow: none !important;
    }

    .event-date-box {
        background-color: #f8f8f8 !important; /* Fundo cinza claro para a caixa de data */
        color: #000 !important;
        border: 1px solid #ccc !important;
        padding: 6px !important;
        min-width: 70px !important; /* Largura menor para impressão */
        max-width: 70px !important;
        margin-right: 10px !important;
        border-radius: 3px !important;
    }
    .event-date-box .display-4 {
        font-size: 18pt !important;
        line-height: 1 !important;
    }
    .event-date-box .text-uppercase {
        font-size: 9pt !important;
    }

    .event-details h4 {
        font-size: 12pt !important;
        margin-bottom: 3px !important;
        color: #000 !important;
    }
    .event-details p {
        font-size: 9pt !important;
        color: #333 !important;
        margin-bottom: 3px !important;
    }
    .event-details p i {
        color: #555 !important; /* Cor mais escura para ícones */
    }

    /* --- 5. Tratamento de Links e Imagens --- */
    a {
        text-decoration: none !important; /* Remove sublinhado */
        color: inherit !important; /* Mantém a cor do texto pai */
    }
    a[href]:after {
        content: ""; /* Remove a URL que o navegador adiciona por padrão */
    }

    img {
        max-width: 100% !important;
        height: auto !important;
        display: none; /* Esconde imagens por padrão no calendário para economizar tinta */
    }
}