/* Fixed display families: keep the largest eligible creative's reservation.
   No selector clips, transforms or resizes a Google creative or its iframe. */
html.od-stack-gam body .od-ad:not(.od-ad--native),
html.od-stack-gam body #primary .od-ad:not(.od-ad--native) {
  box-sizing: border-box;
  min-inline-size: 0;
  --od-ad-height: 280px;
  min-block-size: calc(var(--od-ad-height) + 24px);
}
html.od-stack-gam body .od-ad:not(.od-ad--native) > .od-ad__unit,
html.od-stack-gam body #primary .od-ad:not(.od-ad--native) > .od-ad__unit {
  block-size: var(--od-ad-height);
  min-block-size: var(--od-ad-height);
  display: block;
  margin-inline: auto;
}
html.od-stack-gam body .od-ad.od-ad--side,
html.od-stack-gam body .od-ad.od-ad--rail,
html.od-stack-gam body #primary .od-ad.od-ad--side,
html.od-stack-gam body #primary .od-ad.od-ad--rail { --od-ad-height: 600px; }
@media (min-width:1101px) {
  html.od-stack-gam body .od-ad.od-ad--mh,
  html.od-stack-gam body #primary .od-ad.od-ad--mh { --od-ad-height:250px; }
}
@media (max-width:767px) {
  html.od-stack-gam body .od-ad.od-ad--compact,
  html.od-stack-gam body #primary .od-ad.od-ad--compact { --od-ad-height:100px; }
}
/* 300px inventory needs the editorial gutter on narrow phones. Apply to
   publisher-owned wrappers before any request, never to Google ad elements. */
@media (max-width:367px) {
  html.od-stack-gam body #primary .od-ad:is(.od-ad--mh,.od-ad--hero,.od-ad--texto,.od-ad--fim,.od-ad--feed) {
    inline-size: calc(100% + 40px);
    max-inline-size: 100vw;
    margin-inline: 50%;
    translate: -50% 0;
    --od-ad-height:280px;
  }
  html.od-stack-gam body #primary .od-ad.od-ad--compact { --od-ad-height:100px; }
}
@media (max-width:335px) {
  html.od-stack-gam body #primary .od-ad:is(.od-ad--mh,.od-ad--hero,.od-ad--texto,.od-ad--fim,.od-ad--feed) { --od-ad-height:250px; }
  html.od-stack-gam body #primary .od-ad.od-ad--compact { --od-ad-height:100px; }
}
.od-ad[data-od-cut],.od-ad[data-od-disabled] { display:none!important; }
@media (max-width:767px) { .od-ad[data-od-devices]:not([data-od-devices*="m"]) { display:none!important; } }
@media (min-width:768px) and (max-width:1100px) { .od-ad[data-od-devices]:not([data-od-devices*="t"]) { display:none!important; } }
@media (min-width:1101px) { .od-ad[data-od-devices]:not([data-od-devices*="d"]) { display:none!important; } }
/* State panel exists only in authenticated diagnostic/preview requests. */
.od-ads-diagnostics { position:fixed; inset:auto 12px 12px auto; z-index:100000;
  max-inline-size:min(560px,calc(100vw - 24px)); max-block-size:60vh; overflow:auto;
  padding:12px 16px; border:1px solid #666; border-radius:8px;
  background:#17191d; color:#f7f8fa; font:12px/1.5 system-ui,sans-serif;
  box-shadow:0 4px 24px #0005; }
.od-ads-diagnostics summary { cursor:pointer; font-weight:700; }
.od-ads-diagnostics pre { color:inherit; background:transparent; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.od-ads-diagnostics button { padding:6px 10px; color:#17191d; background:#fff; border:1px solid #888; border-radius:4px; cursor:pointer; }
