/* Fixed box per breakpoint: Google's responsive sizing (360 px tall on phones) cannot shift the page.
   shortcut: an ad taller than the configured height is clipped, raise the slot height when needed. */
.soutra-ad { height: var(--ad-h-m); contain: layout; overflow: hidden; margin: 1rem 0; }
@media (min-width: 992px) { .soutra-ad { height: var(--ad-h-d); } }
.soutra-ad { display: none; }
/* Device choice in CSS (same cached HTML for everyone): the space is reserved from first paint, before any JS runs. */
@media (max-width: 767px) { .soutra-ad[data-devices~="m"] { display: block; } }
@media (min-width: 768px) and (max-width: 991px) { .soutra-ad[data-devices~="t"] { display: block; } }
@media (min-width: 992px) { .soutra-ad[data-devices~="d"] { display: block; } }
.soutra-ad-ph { height: 100%; display: flex; align-items: center; justify-content: center; border: 2px dashed #c00; background: #fee; color: #c00; font: 14px sans-serif; }
/* In-feed boxes sit between gallery items: take a full row. */
.koowa_media--gallery > .soutra-ad { width: 100%; flex: 0 0 100%; grid-column: 1 / -1; }
.soutra-ad[hidden] { display: none !important; }
