/**
 * 7mnew Banner – frontend styles
 * Render logic lives in 7mnew-banner.js.
 */

/* ── Banner containers ───────────────────────────────────────── */
.s7n-slot {
    display: block;
    text-align: center;
}

.s7n-slot a {
    display: inline-block;
    line-height: 0;
}

.s7n-slot img {
    width: 100%;
    height: auto;
    display: block;
}

.s7n-slot-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* ── Top Banner ──────────────────────────────────────────────── */
.s7n-top-banner-wrap {
    margin: 0 -15px 10px;
}

.s7n-dual-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;

    .s7n-slot {
        width: 100%;

        ins, a {
            display: block;
            width: 100%;
        }
    }

    img {
        height: 65px;
    }

    .s7n-slot--single img {
        height: 65px;
    }
}

/* ── Sidebar banners ─────────────────────────────────────────── */
.s7n-sidebar-banner {
    margin-bottom: 8px;
}

/* ── Floating gutters ────────────────────────────────────────── */
.s7n-floating-banner {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.s7n-floating-left  { left: 0; }
.s7n-floating-right { right: 0; }

/* ── Catfish (fixed bottom bar) ──────────────────────────────── */
.s7n-catfish {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    display: flex;
    justify-content: center;
    background: transparent;
    pointer-events: none;
}

.s7n-catfish > * {
    pointer-events: auto;
}

@media (min-width: 960px) {
    .s7n-catfish-pc {
        bottom: 20px;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: 730px;
        margin: auto;
        gap: 4px;

        .s7n-slot, ins, ins a {
            width: 100%;
            display: block;
        }

        img {
            max-height: 60px;
            width: auto;
            margin: auto;
        }
    }

    .s7n-catfish-mb, #s7n_mobile_top_slot {
        display: none !important;
    }
}

@media (max-width: 1230px) {
    .s7n-top-banner-wrap {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 959px) {
    .s7n-catfish-pc, .s7n-dual-wrapper, .s7n-top-pc,
    .s7n-floating-left, .s7n-floating-right, .s7n-sidebar-banner {
        display: none !important;
    }

    .s7n-catfish-mb {
        bottom: 0;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        width: 100%;

        .s7n-slot {
            width: calc(100% - 20px);
            margin: 0 10px 4px;
        }

        ins, ins a {
            width: 100%;
            display: block;
        }

        img {
            max-height: 55px;
            width: 100%;
        }
    }

    #s7n_mobile_top_slot {
        margin: 10px 10px 0;
        display: flex;
        flex-direction: column;
        gap: 4px;

        ins, ins a {
            width: 100%;
            display: block;
        }

        img {
            height: 55px;
        }
    }
}
