/* Warventure self-hosted ad embeds.
   Each creative is a fixed-size iframe (cloned from warventure.com/ads).
   .wv-ad-embed reserves the correct (aspect-ratio) box up front so there is no
   layout shift, then js/warventure_ads.js scales the fixed-size iframe down to
   fit narrow containers (never up). The wrapper carries an inline
   aspect-ratio + max-width (= native size) so the height is right before JS runs. */

.wv-ad-embed{
    position: relative;
    width: 100%;
    /* max-width + aspect-ratio are set inline per creative (= native w / h) */
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    line-height: 0;
}

/* The iframe is taken out of flow and scaled by transform; the wrapper's
   aspect-ratio owns the reserved height, so scaling never causes reflow. */
.wv-ad-embed > iframe{
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    display: block;
    transform-origin: top left;
    background: #0c150b; /* matches the creative's dark backdrop, no flash while scaling */
}

/* Spacing helpers for the sidebar / article-aside placements */
.wv-sidebar-ad{ margin-top: 14px; }
.wv-aside-ad{ /* sits between aside cards; aside gap handles vertical rhythm */ }
