.a4-page {
    width: 210mm;
    min-height: 297mm;
    background: var(--preview-bg, #ffffff);
    color: var(--preview-text, #1a1a1a);
    padding: 20mm;
    margin: 0 auto 20mm auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    transform-origin: top center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    position: relative;
}

.a4-page:last-child {
    margin-bottom: 0;
}

.a4-page:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

.page-number {
    position: absolute;
    bottom: 15mm;
    right: 20mm;
    font-size: 9pt;
    color: var(--preview-muted, #6b6b6b);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.a4-page > *:first-child {
    margin-top: 0;
}

.a4-page > *:last-child {
    margin-bottom: 0;
}

.a4-page h1 {
    margin-top: 0;
}

/* Horizontal rules */
.a4-page hr {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 1em 0;
}

/* Ensure content doesn't overflow pages */
.a4-page img {
    max-width: 100%;
}

.a4-page table {
    width: 100%;
}

@media print {
    @page {
        size: A4;
        margin: 0;
    }
    
    /* Reset everything for printing */
    * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    html, body {
        background: white;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    
    /* Preview container for print */
    .preview-container {
        display: block;
        padding: 0;
        margin: 0;
        background: white;
    }
    
    /* Each A4 page */
    .a4-page {
        width: 210mm;
        min-height: 297mm;
        height: 297mm;
        padding: 20mm;
        margin: 0 auto;
        box-shadow: none;
        transform: none;
        background: white;
        position: relative;
        display: block;
        page-break-after: always;
        break-after: page;
        overflow: hidden;
    }
    
    /* Last page - no page break after */
    .a4-page:last-of-type {
        page-break-after: avoid;
        break-after: avoid;
    }
    
    /* Page numbers */
    .page-number {
        display: block;
        position: absolute;
        bottom: 15mm;
        right: 20mm;
    }
}