/* LOGO BANNER */

.main,
.inner,
.page {
    overflow: visible !important;
}

.logo-banner-section {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
    background: #f0f0f0;
    border-top: 1px solid #bbbbbb;
    border-bottom: 1px solid #bbbbbb;
    padding: 3.5rem 0;
    overflow: hidden;
}
.logo-banner-section .banner-label {
    text-align: center;
    font-size: 0.7rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 2rem;
}
.logo-banner-section::before,
.logo-banner-section::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
}
.logo-banner-section::before { left: 0;  background: linear-gradient(to right, #f0f0f0, transparent); }
.logo-banner-section::after  { right: 0; background: linear-gradient(to left,  #f0f0f0, transparent); }
.banner-track-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    overflow: hidden;
    margin-left: -9999px;
    margin-right: -9999px;
    padding-left: 9999px;
    padding-right: 9999px;
}
.banner-row { display: flex; gap: 2rem; width: max-content; }
.banner-row.row-1 { animation: scroll-left  40s linear infinite; }
.banner-row.row-2 { animation: scroll-right 45s linear infinite; }
@keyframes scroll-left  { from { transform: translateX(0); }    to { transform: translateX(-50%); } }
@keyframes scroll-right { from { transform: translateX(-50%); } to { transform: translateX(0); }    }
.banner-track-wrapper:hover .banner-row { animation-play-state: paused; }
.buzz-logo-card {
    display: flex; align-items: center; justify-content: center;
    background: #fff; border: 1px solid #e5e5e5; border-radius: 10px;
    padding: 14px 28px; height: 68px; min-width: 140px; max-width: 220px;
    flex-shrink: 0; transition: border-color 0.25s, box-shadow 0.25s;
}
.buzz-logo-card:hover { border-color: #bbb; box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.buzz-logo-card img { max-height: 38px; max-width: 160px; object-fit: contain; opacity: 0.8; transition: opacity 0.25s; }
.buzz-logo-card:hover img { opacity: 1; }
.buzz-logo-card img.failed { display: none; }
.buzz-logo-card img.failed + .buzz-fallback { display: block; }
.buzz-fallback { display: none; font-size: 0.8rem; font-weight: 700; color: #666; text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; }
