.kp-ad-section { margin-block:28px 54px; }
.kp-ad-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;align-items:stretch}
.kp-ad-tile {min-width:0;position:relative;padding:10px;border:1px solid #263955;border-radius:20px;background:#101827;display:grid;align-content:start;gap:9px;}
.kp-ad-creative {min-height:120px;display:grid;align-items:center;justify-items:center;overflow:hidden;border-radius:12px;color:#f8fafc!important;text-decoration:none!important;background:#0a1221;}
.kp-ad-creative img {display:block;max-width:100%;width:100%;height:auto;max-height:460px;object-fit:contain;}
.kp-ad-creative:hover {outline:2px solid #60a5fa;outline-offset:2px;}
.kp-ad-text {padding:25px;font-size:clamp(18px,2vw,26px);font-weight:800;text-align:center;line-height:1.35;overflow-wrap:anywhere;}
.kp-ad-caption {color:#a9bdd6;font-size:12px;font-weight:650;padding-left:4px;}
@media(max-width:600px){.kp-ad-grid{grid-template-columns:1fr}.kp-ad-tile{padding:8px}.kp-ad-section{margin-block:18px 34px}}

/* BannerFlow slot rendered by the server, not a user-injected <script>. */
.kp-ad-creative--bannerflow { padding:12px; min-height:86px; }
.kp-ad-creative--bannerflow .bannerflow-slot { max-width:100%; min-width:0; margin-inline:auto; }
.kp-ad-creative--bannerflow iframe { max-width:100%; border:0; }

@media (min-width: 701px) {
  .kp-ad-grid .kp-ad-tile--bf-wide {grid-column:span 2}
  .kp-ad-grid .kp-ad-tile--bf-full {grid-column:1 / -1}
}
@media (max-width: 700px) {
  .kp-ad-grid .kp-ad-tile--bf-wide,.kp-ad-grid .kp-ad-tile--bf-full {grid-column:auto}
  .kp-ad-creative--bannerflow {overflow-x:auto;justify-items:start}
}

/* Provider-neutral embeds: may contain scripts, frames, media and arbitrary sizes.
   Use the whole row so a 728px/970px creative is not clipped by a 280px tile. */
.kp-ad-grid .kp-ad-tile--html { grid-column: 1 / -1; }
.kp-ad-creative--html {
    display:block;
    width:100%;
    max-width:100%;
    min-height:0;
    overflow-x:auto;
    overflow-y:auto;
    text-align:center;
    padding:12px;
}
.kp-ad-creative--html iframe,
.kp-ad-creative--html img,
.kp-ad-creative--html video { max-width:100%; }

.kp-ad-creative--html img { width:auto; height:auto; max-height:none; display:inline-block; }
