/**
 * Moon Phase Print Stylesheet
 * Estilos otimizados para impressão de páginas de fases da lua
 */

@media print {
    /* ============================================
       GENERAL PRINT STYLES
       ============================================ */

    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    body {
        font-size: 11pt;
        line-height: 1.4;
        font-family: Georgia, "Times New Roman", serif;
    }

    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
        font-weight: bold;
    }

    h1 {
        font-size: 24pt;
        margin-bottom: 12pt;
    }

    h2 {
        font-size: 18pt;
        margin-top: 12pt;
        margin-bottom: 8pt;
    }

    h3 {
        font-size: 14pt;
        margin-top: 10pt;
        margin-bottom: 6pt;
    }

    p {
        orphans: 3;
        widows: 3;
    }

    /* ============================================
       HIDE NAVIGATION AND UI ELEMENTS
       ============================================ */

    nav,
    .breadcrumb,
    .btn,
    .btn-group,
    .navbar,
    footer,
    .list-group,
    .alert,
    hr,
    .glyphicon,
    .calendar-nav,
    .calendar-nav-btn,
    [data-cal-nav],
    a[href^="#"] {
        display: none !important;
    }

    /* ============================================
       LINKS
       ============================================ */

    a {
        text-decoration: none;
        color: #000 !important;
    }

    a[href]:after {
        content: none !important;
    }

    /* ============================================
       TABLES
       ============================================ */

    table {
        border-collapse: collapse;
        width: 100%;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr {
        page-break-inside: avoid;
    }

    th, td {
        border: 1pt solid #000;
        padding: 4pt 8pt;
    }

    th {
        background: #f0f0f0 !important;
        font-weight: bold;
    }

    /* ============================================
       PANELS AND WIDGETS
       ============================================ */

    .panel,
    .moon-phase-widget,
    .upcoming-phases-widget {
        border: 1pt solid #000 !important;
        margin-bottom: 12pt;
        page-break-inside: avoid;
    }

    .panel-heading,
    .panel-title {
        background: #f0f0f0 !important;
        border-bottom: 1pt solid #000 !important;
        padding: 6pt !important;
        font-weight: bold;
    }

    .panel-body {
        padding: 8pt !important;
    }

    /* ============================================
       MOON PHASE WIDGET
       ============================================ */

    .moon-phase-widget {
        max-width: 400pt;
    }

    .moon-emoji {
        font-size: 36pt !important;
        display: block;
        margin: 8pt auto;
        text-align: center;
    }

    .moon-phase-name {
        font-size: 18pt !important;
        text-align: center;
        margin: 8pt 0;
    }

    .moon-phase-details {
        border-top: 1pt solid #ccc;
        padding-top: 8pt;
        margin-top: 8pt;
    }

    .moon-detail-item {
        padding: 4pt 0;
        border-bottom: none !important;
    }

    .detail-label,
    .detail-value {
        display: inline-block;
    }

    .detail-label {
        font-weight: normal;
        min-width: 120pt;
    }

    .detail-value {
        font-weight: bold;
    }

    .moon-phase-description {
        background: #fff !important;
        border: 1pt solid #ccc;
        padding: 8pt;
        margin-top: 8pt;
    }

    .moon-phase-progress {
        display: none !important;
    }

    /* ============================================
       UPCOMING PHASES WIDGET
       ============================================ */

    .upcoming-phases-widget {
        page-break-inside: avoid;
    }

    .upcoming-phases-table {
        width: 100%;
    }

    .upcoming-phases-table .emoji {
        font-size: 18pt;
    }

    .badge,
    .label {
        border: 1pt solid #000;
        padding: 2pt 6pt;
        background: #fff !important;
        color: #000 !important;
    }

    /* ============================================
       CALENDAR WIDGET
       ============================================ */

    .calendar-widget {
        border: 1pt solid #000 !important;
        page-break-inside: avoid;
        margin-bottom: 12pt;
    }

    .calendar-header {
        background: #f0f0f0 !important;
        border-bottom: 1pt solid #000;
        padding: 6pt;
    }

    .calendar-title {
        text-align: center;
        font-size: 14pt;
        font-weight: bold;
        margin: 0;
    }

    .calendar-weekdays {
        background: #f5f5f5 !important;
        border-bottom: 1pt solid #000;
    }

    .calendar-weekday {
        border-right: 1pt solid #ccc;
        padding: 4pt 2pt;
        text-align: center;
        font-weight: bold;
        font-size: 9pt;
    }

    .calendar-day {
        border: 1pt solid #ccc !important;
        padding: 4pt !important;
        min-height: 40pt;
        background: #fff !important;
    }

    .calendar-day-number {
        font-weight: bold;
        font-size: 11pt;
    }

    .calendar-moon-phase {
        display: none !important;
    }

    .event-today {
        background: #f0f0f0 !important;
        font-weight: bold;
    }

    .event-holiday,
    .event-commemorative {
        background: #f9f9f9 !important;
    }

    .event-out-month {
        color: #999 !important;
        background: #fafafa !important;
    }

    /* ============================================
       PAGE BREAKS
       ============================================ */

    .row {
        page-break-inside: avoid;
    }

    .page-title {
        page-break-after: avoid;
        margin-bottom: 12pt;
    }

    h2.h3,
    h3.h4 {
        page-break-after: avoid;
        margin-top: 12pt;
    }

    /* Force new page for annual calendar months */
    .calendar-year-row {
        page-break-inside: avoid;
        page-break-after: auto;
    }

    .month-panel {
        page-break-inside: avoid;
        margin-bottom: 12pt;
    }

    /* ============================================
       LEAD TEXT
       ============================================ */

    .lead {
        font-size: 12pt;
        margin-bottom: 12pt;
        font-style: italic;
    }

    .text-muted {
        color: #666 !important;
        font-size: 10pt;
    }

    /* ============================================
       HEADERS AND FOOTERS
       ============================================ */

    @page {
        margin: 2cm;

        @top-right {
            content: counter(page);
        }
    }

    /* ============================================
       EDUCATIONAL CONTENT
       ============================================ */

    .panel-info,
    .panel-success,
    .panel-default {
        border: 1pt solid #000 !important;
    }

    /* ============================================
       RESPONSIVE PRINT LAYOUT
       ============================================ */

    .col-xs-12,
    .col-sm-6,
    .col-md-4,
    .col-md-6,
    .col-md-7,
    .col-md-5,
    .col-lg-3 {
        width: 100% !important;
        float: none !important;
        page-break-inside: avoid;
    }

    /* For annual calendar: 2 columns */
    @media print and (min-width: 21cm) {
        .calendar-year-row .col-md-4,
        .calendar-year-row .col-lg-3 {
            width: 48% !important;
            float: left !important;
            margin-right: 2% !important;
        }

        .calendar-year-row .col-md-4:nth-child(2n),
        .calendar-year-row .col-lg-3:nth-child(2n) {
            margin-right: 0 !important;
        }
    }

    /* ============================================
       UTILITY CLASSES
       ============================================ */

    .text-center {
        text-align: center !important;
    }

    .text-right {
        text-align: right !important;
    }

    .text-left {
        text-align: left !important;
    }

    .hidden-print {
        display: none !important;
    }

    .visible-print {
        display: block !important;
    }

    /* ============================================
       IMAGES AND EMOJIS
       ============================================ */

    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

    /* Keep emojis visible */
    .emoji,
    .moon-emoji,
    .phase-emoji {
        font-size: 16pt !important;
    }
}
