/* Extra ad spaces */
.ads-slot{display:block;text-align:center;margin:18px auto;max-width:100%;overflow:hidden;clear:both}
.ads-inner{display:block;width:100%;max-width:100%;overflow:hidden;text-align:center}
.ads-inner > *{max-width:100%;margin-left:auto;margin-right:auto}
/* Responsive AdSense units (style="display:block") need the full width: with 0 px Google sends no ad.
   Fixed-size units keep the width written in their own style attribute. */
.ads-inner > ins.adsbygoogle{display:block;width:100%}
.ads-inner > ins.adsbygoogle[style*="inline-block"]{display:inline-block}
.ads-label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:4px;line-height:1}
.ads-in-article{margin:26px auto}
.ads-between{margin:0 0 1rem}
.ads-zone-top .ads-slot{margin:20px auto 0}
.ads-zone-footer .ads-slot{margin:8px auto 18px}
.below-tool-gap,.ads-below-tool{margin:24px auto}

/* Sidebar: follows while scrolling */
.ads-sticky{position:sticky;top:84px;margin-top:0}

/* Side rails: only visible on screens wide enough (rule added inline) */
.ads-rail{display:none;position:fixed;top:96px;z-index:5;margin:0}
.ads-rail-left{left:calc(50% - 660px - 14px);transform:translateX(-100%)}
.ads-rail-right{right:calc(50% - 660px - 14px);transform:translateX(100%)}

/* Phones: sticky bar at the bottom */
.ads-anchor{display:none;position:fixed;left:0;right:0;bottom:0;z-index:1029;margin:0;
  padding:6px 0 calc(6px + env(safe-area-inset-bottom));max-height:30vh;overflow:hidden;
  background:#fff;box-shadow:0 -6px 18px rgba(15,23,42,.14)}
.ads-anchor .ads-label{margin-bottom:2px}
.ads-anchor .ads-inner{max-height:100px}
.ads-anchor-close{position:absolute;top:-30px;right:10px;width:30px;height:30px;border:0;border-radius:8px 8px 0 0;
  background:#fff;color:#334155;font-size:22px;line-height:30px;padding:0;cursor:pointer;
  box-shadow:0 -4px 10px rgba(15,23,42,.12)}
[dir="rtl"] .ads-anchor-close{right:auto;left:10px}
.ads-anchor{overflow:visible}
@media (max-width:991.98px){
  .ads-anchor.is-on{display:block}
  body.has-ads-anchor{padding-bottom:130px}
}
.theme-dark .ads-anchor,.theme-dark .ads-anchor-close{background:#1d273b;color:#e2e8f0}

/* Device targeting */
@media (max-width:991.98px){.ads-d-desktop{display:none!important}}
@media (min-width:992px){.ads-d-mobile{display:none!important}}

/* Preview mode (admins only) */
.ads-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:90px;padding:12px;
  border:2px dashed #f59e0b;border-radius:12px;background:repeating-linear-gradient(45deg,rgba(245,158,11,.08) 0 10px,transparent 10px 20px);
  color:#b45309;font-weight:600;font-size:13px}
.ads-preview small{font-weight:500;opacity:.85}
.ads-rail.ads-preview{min-height:600px;display:none}
.ads-anchor.ads-preview{min-height:60px;border-radius:0}
.ads-sticky.ads-preview{min-height:250px}
