.ad-slot { width:min(100%,72rem); min-height:var(--ad-reserved-height,7.5rem); margin:1.25rem auto; padding:.55rem; overflow:hidden; border:1px solid var(--color-border); background:#f4f4f0; }
.ad-slot[hidden] { display:none; }
.ad-label { display:block; margin-block-end:.3rem; color:#777; font-size:.58rem; letter-spacing:.06em; text-align:center; }
.house-ad { display:grid; place-items:center; min-height:calc(var(--ad-reserved-height,7.5rem) - 1.7rem); }
.house-ad img { width:100%; max-height:calc(var(--ad-reserved-height,7.5rem) - 1.7rem); object-fit:contain; }
.adsbygoogle { min-height:calc(var(--ad-reserved-height,7.5rem) - 1.7rem); }
.article-ad { margin-block:2rem; }
.article-aside .ad-slot { width:100%; margin-block:1.5rem 0; }
.mobile-ad { display:none; }
.floating-promo-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:1rem; background:rgba(0,0,0,.72); }
.floating-promo { position:relative; width:min(36rem,100%); overflow:hidden; border-radius:1rem; background:#111; box-shadow:0 2rem 7rem rgba(0,0,0,.55); }
.floating-promo img { width:100%; max-height:75vh; object-fit:contain; }
.floating-promo-close { position:absolute; inset:.75rem .75rem auto auto; z-index:1; width:2.6rem; height:2.6rem; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(0,0,0,.75); color:#fff; font-size:1.35rem; }
@media(max-width:48rem){.desktop-ad{display:none}.mobile-ad{display:block}.ad-slot{width:calc(100% - 1.5rem)}}
@media(prefers-reduced-motion:reduce){.floating-promo-backdrop{scroll-behavior:auto}}
