/* Shared sidebar geometry and non-resizing creative overlay. */
/* Standard sidebar slot geometry belongs to the shared ad component.
   These are the existing article sidebar values, missing from category CSS.
   Hooks limit this to the connected pilot; homepage creatives use other classes. */
.k24-ad-square[data-k24-ad] {
  box-sizing: border-box; width: 100%; aspect-ratio: 1 / 1; min-height: 270px;
  display: flex; align-items: center; justify-content: center;
  border: 1px dashed #cbd3db; background: #f7f9fb; color: #8592a0;
  font-size: 13px; border-radius: 9px;
}
.k24-ad-300x600[data-k24-ad] {
  box-sizing: border-box; width: 300px; max-width: 100%; height: 600px;
  display: flex; align-items: center; justify-content: center;
  border: 1px dashed #cbd3db; background: #f7f9fb; color: #8592a0;
  font-size: 13px; border-radius: 9px;
}
.k24-article-sidebar .k24-ad-tall {
  width: 100%; max-width: 300px; margin-left: auto; margin-right: auto;
}
.k24-ad-widget .k24-ad-heading {
  font-size: 12px; font-weight: 700; margin-bottom: 10px;
}
@media (max-width: 850px) {
  .k24-ad-square[data-k24-ad] { max-width: 300px; margin: auto; }
  .k24-article-sidebar .k24-ad-widget { max-width: 320px; margin: auto; width: 100%; }
}


[data-k24-ad] { position: relative; }
[data-k24-ad] > .k24-ad-link {
  position: absolute; inset: 0; display: block; overflow: hidden;
  border-radius: inherit; visibility: hidden;
}
[data-k24-ad] > .k24-ad-link picture,
[data-k24-ad] > .k24-ad-link img {
  display: block; width: 100%; height: 100%; max-width: none;
  object-fit: contain; margin: 0;
}
/* Hide raw fallback text too, without removing its layout reservation. */
[data-k24-ad].k24-ad-ready { color: transparent; }
[data-k24-ad].k24-ad-ready > :not(.k24-ad-link) { visibility: hidden; }
[data-k24-ad].k24-ad-ready > .k24-ad-link { visibility: visible; }
[data-k24-ad] > .k24-ad-link:focus-visible {
  outline: 3px solid #12345a; outline-offset: -4px;
}
