@media print {
    * {
        font-size: 0.8rem !important;
    }

    h3 {
        font-size: 1.2rem !important;
    }

    /* Hide unnecessary stuff */
    header, footer, nav, .centered-buttons, .location-button, .map-container, .main-header-bar, .elementor-20911 {
        display: none !important;
    }

    /* Body + general cleanup */
    body, .location-page-content, .location-columns, .two-column {
        margin: 0;
        padding: 0;
        width: 100%;
        background: white !important;
        color: black !important;
        font-family: "Georgia", serif;
        #font-size: 0.8rem;
        line-height: 1.5;
    }

    /* --- Banner --- */
    .banner {
        display: block !important;
        text-align: center;
        padding: 40px 20px;
        color: black;
        background: none !important; /* removes background image if you prefer black & white printing */
        border: none !important;
        height: auto !important;
    }

    .banner:before {
        display: none !important;
    }

    /* Keep background image if you prefer color printing: uncomment next line */
    /* .banner { -webkit-print-color-adjust: exact; background-size: cover !important; background-position: center !important; color: white; } */
    .banner h1 {
        font-size: 24pt !important;
        margin-bottom: 0.3em !important;
        text-transform: uppercase !important;
        font-weight: bold !important;
        color: black !important;
    }

    .banner h2 {
        font-size: 14pt !important;
        font-weight: normal !important;
        margin-top: 0 !important;
        color: black !important;
    }

    /* Stack all columns vertically */
    .location-columns, .two-column {
        display: block !important;
    }

    .location-columns > div,
    .two-column > div {
        width: 100% !important;
        margin-bottom: 3rem;
    }

    /* Table style */
    table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 10px;
    }

    th, td {
        border: 1px solid #000;
        padding: 6px 8px;
        text-align: left;
    }

    /* Avoid breaking important content */
    h1, h2, h3, table, tr, td {
        page-break-inside: avoid;
    }

    /* Add page margins */
    @page {
        margin: 1in;
    }

    a, .do-not-show-notice {
        color: black !important;
    }

    .info-items {
        font-size: 0.8rem;
    }

    .location-page__extra-content {
        display: none !important;
    }
}