@media print {
    /* Set up the base flex properties for the custom print columns */
    [class*="d-print-col-"] {
        box-sizing: border-box !important;
        flex: 0 0 auto !important;
        padding-right: var(--bs-gutter-x, .75rem) !important; /* Matches Bootstrap 5 gutters */
        padding-left: var(--bs-gutter-x, .75rem) !important;
    }

    /* Define the specific 12-column widths */
    .d-print-col-1 {
        width: 8.33333333% !important;
    }

    .d-print-col-2 {
        width: 16.66666667% !important;
    }

    .d-print-col-3 {
        width: 25% !important;
    }

    .d-print-col-4 {
        width: 33.33333333% !important;
    }

    .d-print-col-5 {
        width: 41.66666667% !important;
    }

    .d-print-col-6 {
        width: 50% !important;
    }

    .d-print-col-7 {
        width: 58.33333333% !important;
    }

    .d-print-col-8 {
        width: 66.66666667% !important;
    }

    .d-print-col-9 {
        width: 75% !important;
    }

    .d-print-col-10 {
        width: 83.33333333% !important;
    }

    .d-print-col-11 {
        width: 91.66666667% !important;
    }

    .d-print-col-12 {
        width: 100% !important;
    }

    /* Optional: Auto-sizing layout */
    .d-print-col-auto {
        flex: 0 0 auto !important;
        width: auto !important;
    }


    /* Reclaim header spacing by resetting body padding and container padding */
    body {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin: 0 !important;
    }

    /* Prevent cards from breaking awkwardly in half across pages */
    .card {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
}
