/* ==========================================================================
   COMPONENT: client-grid
   --------------------------------------------------------------------------
   Logo wall for "our customers". Displays a flexbox grid of customer cards,
   each rendering either a logo image or a fallback name. Supports an
   optional live-counter eyebrow + scorecard.

   Markup contract:
     <div class="e-client-grid">
         <a class="e-client-grid__item">
             <img class="e-client-grid__logo" />
             <!-- or -->
             <span class="e-client-grid__name">Acme Corp</span>
         </a>
     </div>
   ========================================================================== */

.e-client-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--e-space-xs);
    justify-content: center;
}

.e-client-grid__item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 calc(50% - var(--e-space-xs) / 2);
    min-height: 80px;
    padding: var(--e-space-sm);
    background: var(--e-color-surface);
    border: var(--e-border-light);
    border-radius: var(--e-radius-lg);
    transition: transform var(--e-transition-base), border-color var(--e-transition-base), box-shadow var(--e-transition-base);
    text-decoration: none;
}

.e-client-grid__item:hover {
    transform: translateY(-2px);
    border-color: rgba(28, 145, 228, 0.20);
    box-shadow: var(--e-shadow-soft);
}

.e-client-grid__logo {
    max-width: 100%;
    max-height: 50px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.75;
    transition: filter var(--e-transition-base), opacity var(--e-transition-base);
}

.e-client-grid__item:hover .e-client-grid__logo {
    filter: grayscale(0%);
    opacity: 1;
}

.e-client-grid__name {
    font-size: var(--e-font-size-sm);
    font-weight: var(--e-font-weight-semibold);
    color: var(--e-color-muted);
    text-align: center;
    line-height: var(--e-leading-tight);
}


/* SCORECARD HEADER — count of paying customers + live indicator. */

.e-client-grid-scorecard {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--e-space-xs);
    margin-bottom: var(--e-space-md);
    text-align: center;
}

.e-client-grid-scorecard__count {
    font-size: var(--e-font-size-3xl);
    font-weight: var(--e-font-weight-bold);
    background: linear-gradient(135deg, var(--e-color-primary) 0%, var(--e-color-secondary) 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
}

.e-client-grid-scorecard__label {
    color: var(--e-color-muted);
    letter-spacing: var(--e-tracking-wider);
    text-transform: lowercase;
    font-size: var(--e-font-size-sm);
}

.e-client-grid-scorecard__meta {
    color: var(--e-color-muted-soft);
    font-size: var(--e-font-size-xs);
    opacity: 0.7;
}


/* RESPONSIVE — wider columns on tablet+. */

@media (min-width: 768px) {
    .e-client-grid__item { flex-basis: calc(33.333% - var(--e-space-xs) * 2 / 3); }
}

@media (min-width: 1024px) {
    .e-client-grid__item { flex-basis: calc(20% - var(--e-space-xs) * 4 / 5); }
}
