/* ═══════════════════════════════════════════════════════════════════
   AMIT Banners & Sponsors — Front-end CSS  v1.3.5
   Author: Abdulaziz Almarshad
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Banner wrap ──────────────────────────────────────────────────────────── */
.ab-banner-wrap {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.ab-banner-item {
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    line-height: 0;
    overflow: hidden;
}

.ab-banner-link {
    display: block;
    width: 100%;
    line-height: 0;
}

.ab-banner-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
    object-fit: cover;
    transition: opacity .25s ease;
}

.ab-banner-actual {
    width: fit-content;
    max-width: 100%;
}

.ab-banner-actual .ab-banner-link {
    display: block;
    width: auto;
    max-width: 100%;
}

.ab-banner-actual .ab-banner-img {
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.ab-banner-link:hover .ab-banner-img {
    opacity: .92;
}


/* ─── v1.3.5 Banner group breathing space and stacked banner spacing ───────── */
@media (min-width: 768px) {
    .ab-banner-wrap {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .ab-banner-item + .ab-banner-item {
        margin-top: 12px;
    }
}

/* ─── Sponsors logo slider — far-right marquee start with hover pause ─────── */
.ab-sponsors-wrap {
    margin: 0 0 40px 0;
    direction: ltr;
    --ab-sponsor-gap: 24px;
    --ab-sponsor-logo-w: 300px;
    --ab-sponsor-logo-h: 100px;
    --ab-sponsor-step-time: 4000ms;
    width: 100%;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    padding: 10px;
    -webkit-user-select: none;
    user-select: none;
}

.ab-logo-track {
    display: flex;
    align-items: center;
    gap: var(--ab-sponsor-gap);
    width: max-content;
    will-change: transform;
    transform: translateX(100%);
    transition: none;
    animation: none !important;
}

.ab-sponsors-paused .ab-logo-track {
    will-change: auto;
    animation-play-state: paused !important;
}

.ab-sponsors-wrap[dir="rtl"] .ab-logo-track,
[dir="rtl"] .ab-sponsors-wrap .ab-logo-track {
    flex-direction: row-reverse;
}

.ab-sponsor-slide {
    flex: 0 0 auto;
    width: var(--ab-sponsor-logo-w);
    height: var(--ab-sponsor-logo-h);
    display: grid;
    place-items: center;
    line-height: 0;
}

.ab-sponsor-link {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    line-height: 0;
}

.ab-sponsor-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(20%);
    transition: filter .25s ease, transform .25s ease, opacity .25s ease;
}

.ab-sponsor-link:hover .ab-sponsor-img,
.ab-sponsor-slide > .ab-sponsor-img:hover {
    filter: grayscale(0%);
    transform: scale(1.04);
    opacity: .9;
}

/* ─── Sponsor responsive logo widths — v1.3.5 enlarged mobile scale ───────── */
@media (max-width: 768px) {
    .ab-sponsors-wrap {
        --ab-sponsor-logo-w: 238px;
        --ab-sponsor-logo-h: calc(var(--ab-sponsor-logo-w) / 3);
        --ab-sponsor-gap: 20px;
    }
}

@media (max-width: 576px) {
    .ab-sponsors-wrap {
        --ab-sponsor-logo-w: 220px;
        --ab-sponsor-logo-h: calc(var(--ab-sponsor-logo-w) / 3);
        --ab-sponsor-gap: 14px;
        padding-left: 8px;
        padding-right: 8px;
    }
}

@media (max-width: 425px) {
    .ab-sponsors-wrap {
        --ab-sponsor-logo-w: 200px;
        --ab-sponsor-logo-h: calc(var(--ab-sponsor-logo-w) / 3);
        --ab-sponsor-gap: 12px;
    }
}

@media (max-width: 375px) {
    .ab-sponsors-wrap {
        --ab-sponsor-logo-w: 190px;
        --ab-sponsor-logo-h: calc(var(--ab-sponsor-logo-w) / 3);
        --ab-sponsor-gap: 10px;
    }
}

@media (max-width: 320px) {
    .ab-sponsors-wrap {
        --ab-sponsor-logo-w: 175px;
        --ab-sponsor-logo-h: calc(var(--ab-sponsor-logo-w) / 3);
        --ab-sponsor-gap: 8px;
        padding-left: 6px;
        padding-right: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ab-logo-track {
        transition: none !important;
        transform: none !important;
    }
}

/* ─── Small-screen banner containment ──────────────────────────────────────── */
@media (max-width: 767px) {
    .ab-banner-wrap {
        width: 100%;
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        overflow-x: hidden;
    }

    [dir="rtl"] .ab-banner-wrap,
    .ab-banner-wrap[dir="rtl"] {
        padding-left: 15px;
        padding-right: 15px;
    }

    .ab-banner-item,
    .ab-banner-link,
    .ab-banner-img {
        max-width: 100%;
    }
}
