.npb-ad { display: flex; flex-direction: column; align-items: center; clear: both; width: 300px; min-height: 250px; margin: 24px calc((100% - 300px) / 2); text-align: center; grid-column: 1 / -1; }
.npb-ad--banner { width: 728px; min-height: 90px; margin-inline: calc((100% - 728px) / 2); }
.npb-ad-flow { min-width: 0; }
@media (max-width: 767px) { .npb-ad--banner { width: 320px; min-height: 50px; margin-inline: calc((100% - 320px) / 2); } }
@media print { .npb-ad { display: none !important; } }

/* Keep the loaded creative intact when a desktop window becomes narrow.
   New page loads still select the exact mobile/desktop unit; resizing does not request another impression. */
.npb-ad--banner > [data-ad-creative] { flex: none; }
@media (max-width: 767px) { .npb-ad--banner > [data-ad-width="728"] { transform: scale(calc(320 / 728)); transform-origin: top center; margin-bottom: -40px; } }
