.site-ad-zone {
    position: relative;
    display: block;
    margin: 1.25rem auto;
    max-width: 100%;
    min-height: 90px;
    overflow: clip;
    color: inherit;
    background: transparent;
    text-align: center;
    contain: layout style;
}

.site-ad-zone[hidden] {
    display: none !important;
}

/*
 * Provider markup reserves a small height while the remote request is
 * pending. Once AdSense itself marks a unit as unfilled, the runtime adds
 * data-site-ad-empty to the managed zone and optional theme placement, or
 * to a Google-inserted Auto ads wrapper. A confirmed filled managed unit gets
 * data-site-ad-size-settled so only the site's reservation is released and
 * the provider element supplies the natural height.
 */
.site-ad-zone[data-site-ad-empty="1"],
[data-ad-placement][data-site-ad-empty="1"],
.google-auto-placed[data-site-ad-empty="1"],
ins.adsbygoogle-noablate[data-site-ad-empty="1"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/*
 * Do not keep the configured loading reservation after an official filled
 * signal. This adjusts only the outer site wrapper; it never crops, resizes,
 * or inspects the provider iframe.
 */
.site-ad-zone[data-site-ad-size-settled="1"],
[data-ad-placement][data-site-ad-size-settled="1"] {
    min-height: 0 !important;
}

/*
 * Page-level zones can become direct children of a theme grid. Spanning the
 * complete grid keeps the existing main/sidebar columns on their intended row.
 */
.site-ad-zone[data-site-ad-zone="site.main.top"],
.site-ad-zone[data-site-ad-zone="site.main.bottom"],
.site-ad-zone[data-site-ad-zone="home.main.top"],
.site-ad-zone[data-site-ad-zone="home.section.between"],
.site-ad-zone[data-site-ad-zone="home.main.bottom"] {
    grid-column: 1 / -1;
    min-width: 0;
}

.site-ad-zone[data-site-ad-zone="home.humor.cta"] {
    width: 100%;
    min-width: 0;
    min-height: 120px;
    margin: 0;
}

.site-ad-zone[data-site-ad-zone="home.welcome.categories.between"] {
    width: min(970px, 100%);
    min-width: 0;
    min-height: 90px;
    margin: 0 auto;
}

.site-ad-zone[data-site-ad-zone="home.reading.latest"] {
    width: 100%;
    min-width: 0;
    min-height: 100px;
    margin: 0;
}

.site-ad-zone[data-site-ad-zone="home.sidebar.hot.after"] {
    width: min(250px, 100%);
    min-width: 0;
    min-height: 250px;
    margin: 0 auto;
}

.site-ad-zone[data-site-ad-zone="recipe.viewer.content.bottom"] {
    width: 100%;
    min-width: 0;
    min-height: 100px;
    margin: 0;
}

.site-ad-zone[data-site-ad-zone="board.view.after_prev_next"] {
    width: min(950px, 100%);
    min-width: 0;
    min-height: 250px;
    margin: 1rem auto;
}

.site-ad-zone[data-site-ad-zone="board.list.header_title.between"] {
    width: min(970px, 100%);
    min-width: 0;
    min-height: 90px;
    margin: 0 auto;
}

.site-ad-zone[data-site-ad-zone="board.list.actions_footer.between"] {
    width: min(970px, 100%);
    min-width: 0;
    min-height: 250px;
    margin: 0 auto;
}

.neo-board-list-ad {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.neo-board-list-ad-top {
    margin: 24px auto 0;
}

.neo-board-list-ad-bottom {
    margin: 16px auto 8px;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .site-ad-zone[data-site-ad-zone="home.welcome.categories.between"] {
        display: none !important;
    }

    .site-ad-zone[data-site-ad-zone="board.list.header_title.between"],
    .site-ad-zone[data-site-ad-zone="board.list.actions_footer.between"] {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .site-ad-zone[data-site-ad-zone="home.welcome.categories.between"] {
        display: block;
        width: 100%;
        min-height: 100px;
    }

    .site-ad-zone[data-site-ad-zone="board.list.header_title.between"] {
        display: block;
        width: min(320px, 100%);
        min-height: 100px;
    }

    .site-ad-zone[data-site-ad-zone="board.list.actions_footer.between"] {
        display: block;
        width: min(300px, 100%);
        min-height: 250px;
    }

    .neo-board-list-ad-top {
        margin-top: 14px;
    }

    .neo-board-list-ad-bottom {
        margin-top: 14px;
    }
}

.site-ad-zone .site-ad__disclosure {
    display: none;
}

.site-ad-content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.site-ad-content > .site-ad--adsense {
    display: block;
    width: 100%;
    min-width: 0;
}

.site-ad-content > .site-ad--adsense > ins.adsbygoogle {
    margin-inline: auto;
}

.site-ad-content > *,
.site-ad-content iframe,
.site-ad-content img,
.site-ad-content video,
.site-ad-content ins {
    max-width: 100% !important;
}

.site-ad-content img,
.site-ad-content video {
    height: auto;
}

.site-ad-fluid .site-ad--adsense > ins.adsbygoogle {
    width: 100%;
}

.site-ad-disclosure {
    display: block;
    margin: 0 0 .35rem;
    color: #667085;
    font: 600 11px/1.2 system-ui, sans-serif;
    letter-spacing: .08em;
}

.site-ad-close {
    position: absolute;
    z-index: 3;
    top: .25rem;
    right: .25rem;
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(17, 24, 39, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #111827;
    font: 700 20px/1 system-ui, sans-serif;
    cursor: pointer;
}

.site-ad-close:focus-visible {
    outline: 3px solid #2563eb;
    outline-offset: 2px;
}

.site-ad-zone[data-site-ad-zone="site.fixed.top"],
.site-ad-zone[data-site-ad-zone="site.fixed.bottom"] {
    position: fixed;
    z-index: 900;
    right: max(12px, env(safe-area-inset-right));
    left: max(12px, env(safe-area-inset-left));
    margin: 0 auto;
    padding: .35rem;
    max-width: min(970px, calc(100vw - 24px));
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(17, 24, 39, .18);
}

.site-ad-zone[data-site-ad-zone="site.fixed.top"] {
    top: max(8px, env(safe-area-inset-top));
}

.site-ad-zone[data-site-ad-zone="site.fixed.bottom"] {
    bottom: max(8px, env(safe-area-inset-bottom));
}

.site-ad-zone[data-site-ad-zone="site.floating.left"],
.site-ad-zone[data-site-ad-zone="site.floating.right"] {
    position: fixed;
    z-index: 850;
    top: 50%;
    width: min(180px, calc(100vw - 24px)) !important;
    margin: 0;
    transform: translateY(-50%);
}

.site-ad-zone[data-site-ad-zone="site.floating.left"] {
    left: 12px;
}

.site-ad-zone[data-site-ad-zone="site.floating.right"] {
    right: 12px;
}

.site-ad-zone[data-site-ad-zone="site.popup"],
.site-ad-zone[data-site-ad-zone="site.interstitial.navigation"] {
    position: fixed;
    z-index: 950;
    top: 50%;
    left: 50%;
    width: min(640px, calc(100vw - 32px)) !important;
    max-height: calc(100dvh - 32px);
    margin: 0;
    padding: 1rem;
    overflow: auto;
    transform: translate(-50%, -50%);
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .25);
    box-shadow: 0 20px 60px rgba(17, 24, 39, .28);
}

.site-ad-board-list-item,
.site-ad-board-gallery-item,
tr.site-ad-board-table-row {
    max-width: 100%;
    overflow: hidden;
}

.site-ad-preview-placeholder {
    display: grid;
    place-content: center;
    gap: .45rem;
    min-height: 132px;
    padding: 1.25rem;
    border: 2px dashed #596579;
    background: repeating-linear-gradient(
        -45deg,
        #f8fafc,
        #f8fafc 12px,
        #eef2f7 12px,
        #eef2f7 24px
    );
    color: #172033;
    text-align: center;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.site-ad-preview-placeholder strong {
    letter-spacing: .14em;
}

.site-ad-preview-placeholder small,
.site-ad-preview-placeholder em {
    color: #596579;
    font-size: 12px;
}

.site-ad-preview-placeholder em {
    font-style: normal;
}

@media (max-width: 767px) {
    .site-ad-zone {
        width: 100% !important;
        margin-block: 1rem;
    }

    .site-ad-zone[data-site-ad-zone="board.view.after_prev_next"] {
        width: min(360px, 100%) !important;
        min-height: 200px;
        margin-inline: auto;
    }

    .site-ad-zone[data-site-ad-zone^="site.floating."] {
        display: none;
    }

    .site-ad-content iframe {
        width: 100% !important;
    }
}

@media (max-width: 1180px) {
    .site-ad-zone[data-site-ad-zone="home.sidebar.hot.after"] {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
    }
}

@media (min-width: 769px) {
    .site-ad-zone[data-site-ad-zone="recipe.viewer.content.bottom"] {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
    }
}

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