.s2e-ad-placement{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--s2e-ad-gap,18px);width:100%;max-width:var(--s2e-ad-width,320px);margin-inline:auto}
.s2e-ad-placement *{box-sizing:border-box}
.s2e-ad-placement .s2e-ad-item{width:100%;min-width:0}
.s2e-ad-placement .s2e-ad-item a{display:block;text-decoration:none!important;line-height:0}
.s2e-ad-placement img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.s2e-layout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:start}
.s2e-layout-grid .s2e-ad-item{width:100%}
.s2e-layout-single .s2e-ad-item:not(:first-child){display:none}
.s2e-ad-hidden{display:none!important}
.s2e-hide-mobile{display:flex}
.s2e-ad-rails{pointer-events:none}
.s2e-ad-rail{position:fixed;top:var(--s2e-rail-top,110px);bottom:18px;max-height:calc(100vh - 128px);overflow-y:auto;overflow-x:hidden;z-index:20;pointer-events:auto;scrollbar-width:thin}
.s2e-ad-rail-left{width:var(--s2e-w-left);left:var(--s2e-x-left);right:auto}
.s2e-ad-rail-right{width:var(--s2e-w-right);right:var(--s2e-x-right);left:auto}
.s2e-ad-rail .s2e-ad-placement{max-width:100%;margin:0;gap:var(--s2e-ad-gap,14px)}
.s2e-ad-rail .s2e-ad-item{margin:0}
.s2e-ad-rail .s2e-ad-item img{width:100%;height:auto}
.s2e-ad-rail .s2e-ad-item a:focus-visible{outline:2px solid #245b91;outline-offset:3px}
@media(max-width:767px){.s2e-hide-mobile{display:none!important}.s2e-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}}

/* Section side (v1.5.1): pinned to the page beside the section above the shortcode; fixed width, exact gap, may extend past the screen edge. */
.s2e-ad-anchored-side{box-sizing:border-box;margin:0;width:var(--s2e-ad-width,160px);max-width:none;position:absolute;z-index:10;top:calc(var(--s2e-anchor-top,0px) + var(--s2e-side-offset,0px));left:var(--s2e-anchor-left,0px);pointer-events:auto}
.s2e-ad-anchored-side:not([data-s2e-anchor-ready]){visibility:hidden}
.s2e-ad-anchored-side .s2e-ad-item,.s2e-ad-anchored-side .s2e-ad-item a{max-width:100%}
.s2e-ad-anchored-side .s2e-ad-item img{max-width:100%;height:auto}
.s2e-ad-anchor-placeholder{display:none!important}
.s2e-ad-anchored-side.s2e-anchor-fallback{position:static!important;visibility:visible!important;margin-inline:auto!important;width:100%;max-width:var(--s2e-ad-width,320px)}

/* ==========================================================================
   Side gutters (v1.5.0)
   Ads keep their own fixed width (the placement's Max banner width) and sit an
   exact distance (--s2e-main-gap) from the main content on either side, for any
   content width. On narrow screens they simply extend past the screen edge,
   where they are clipped; they are never resized or hidden.
   frontend.js measures the real main-content edges and writes
   --s2e-space-left / --s2e-space-right (free space beside the content, in px).
   Fallback when JavaScript is unavailable: --s2e-main-width (default 1170px).
   ========================================================================== */
:root{
    --s2e-main-width:1170px;
    --s2e-main-gap:10px;
    --s2e-vw:100vw;
    --s2e-space-left:max(0px,calc((var(--s2e-vw) - var(--s2e-main-width)) / 2));
    --s2e-space-right:var(--s2e-space-left);
    --s2e-main-content-left:var(--s2e-space-left);
    --s2e-main-content-right:var(--s2e-space-right);
}
.s2e-ad-placement,.s2e-ad-rail{
    --s2e-ad-max:var(--s2e-ad-width,250px);
    --s2e-w-left:var(--s2e-ad-max);
    --s2e-w-right:var(--s2e-ad-max);
    --s2e-x-left:calc(var(--s2e-space-left) - var(--s2e-main-gap) - var(--s2e-w-left));
    --s2e-x-right:calc(var(--s2e-space-right) - var(--s2e-main-gap) - var(--s2e-w-right));
}
/* One shared layer holds every side ad: it spans the page width and clips only sideways. */
.s2e-side-layer{position:absolute;top:0;left:0;width:100%;height:0;overflow-x:clip;overflow-y:visible;pointer-events:none;z-index:50}
.s2e-gap-anchor{display:block;width:0;height:0;overflow:hidden;pointer-events:none}
.s2e-ad-gap-side{--s2e-gap-w:var(--s2e-side-width,var(--s2e-ad-width,250px));position:var(--s2e-side-position,absolute);top:var(--s2e-side-top,calc(var(--s2e-anchor-top,0px) + var(--s2e-side-offset,0px)));z-index:50;margin:0;max-width:none;transform:none;box-sizing:border-box;width:var(--s2e-gap-w);pointer-events:auto}
/* Override points (optional): --s2e-side-width, --s2e-side-x, --s2e-side-position (absolute | fixed), --s2e-side-top, --s2e-side-offset, --s2e-main-gap */
.s2e-ad-gap-side[data-s2e-side="left"]{left:var(--s2e-side-x,calc(var(--s2e-space-left) - var(--s2e-main-gap) - var(--s2e-gap-w)));right:auto}
.s2e-ad-gap-side[data-s2e-side="right"]{right:var(--s2e-side-x,calc(var(--s2e-space-right) - var(--s2e-main-gap) - var(--s2e-gap-w)));left:auto}
.s2e-ad-gap-side .s2e-ad-item,.s2e-ad-gap-side .s2e-ad-item a{max-width:100%}
.s2e-ad-gap-side img{width:100%!important;height:auto}

/* Video ads (v1.4.0) */
.s2e-ad-placement .s2e-ad-item video{display:block;width:100%;height:auto;max-width:100%;border:0;border-radius:0;box-shadow:none;background:#000}
.s2e-ad-video-embed{position:relative;width:100%;aspect-ratio:var(--s2e-video-ratio,16/9);background:#000;overflow:hidden;line-height:0}
.s2e-ad-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.s2e-ad-placement .s2e-ad-video-embed a.s2e-video-link{position:absolute;inset:0;z-index:2;display:block}
.s2e-ad-gap-side video{width:100%!important;height:auto}
