.page-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px; /* space between main content and banner */
}

.main-content {
    flex: 1; /* takes remaining width */
}

.banner-right {
    width: 300px; /* fixed width for standard vertical banner */
}

@media screen and (max-width: 768px) {
    .page-wrapper {
        flex-direction: column;
    }

    .banner-right {
        width: 100%;
        max-width: 300px; /* optional */
        margin: 0 auto;
    }
}
