/* Stable theme-owned reserves; providers never define the page geometry. */
.kol-ad-slot,
.kol-ad-slot * {
    box-sizing: border-box;
}

.kol-ad-slot {
    --kol-ad-min-height: 100px;
    display: grid;
    width: min(970px, calc(100% - 40px));
    min-height: var(--kol-ad-min-height);
    align-content: center;
    justify-items: center;
    gap: 6px;
    margin: 18px auto 0;
    padding: 10px 14px;
    overflow: clip;
    border: 1px dashed var(--border, #c8c8c8);
    background: var(--muted, #f4f4f4);
    color: var(--muted-foreground, #555);
    direction: rtl;
    text-align: center;
    contain: layout paint;
}

.kol-ad-slot--leaderboard { --kol-ad-min-height: 90px; }
.kol-ad-slot--rectangle { --kol-ad-min-height: 100px; }
.kol-ad-slot--reader {
    --kol-ad-min-height: 100px;
    width: min(728px, calc(100% - 28px));
}

.kol-ad-slot__label {
    display: block;
    max-inline-size: 100%;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.kol-ad-slot__content {
    display: grid;
    width: 100%;
    min-height: calc(var(--kol-ad-min-height) - 34px);
    place-items: center;
    max-inline-size: 100%;
    overflow: clip;
}

.kol-ad-slot__content > * { max-inline-size: 100%; }
.kol-ad-slot__content iframe,
.kol-ad-slot__content img {
    display: block;
    max-inline-size: 100%;
    border: 0;
}
.kol-ad-slot__content iframe {
    inline-size: min(100%, 970px);
    min-block-size: 50px;
}
.kol-ad-slot__no-fill { color: inherit; font-size: 0.75rem; }
.kol-ad-slot.is-no-fill { background: color-mix(in srgb, var(--muted, #f4f4f4) 82%, transparent); }

body.darkmode .kol-ad-slot,
.dark .kol-ad-slot {
    border-color: color-mix(in srgb, var(--border, #555) 75%, white 25%);
    background: var(--muted, #222);
}

@media (max-width: 800px) {
    .kol-ad-slot {
        --kol-ad-min-height: 100px;
        width: min(100% - 28px, 620px);
        margin-top: 14px;
    }
    .kol-ad-slot--leaderboard,
    .kol-ad-slot--rectangle,
    .kol-ad-slot--reader { --kol-ad-min-height: 100px; }
}

@media (max-width: 420px) {
    .kol-ad-slot { width: calc(100% - 24px); padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .kol-ad-slot,
    .kol-ad-slot * {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }
}
