/* Counters Block */
.nexa-counters-block {
    text-align: center;
    background: var(--nx-surface, #f4f7f6);
}
.nexa-counters-block__title {
    font-size: clamp(1.625rem, 3.5vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -.025em;
    color: var(--nx-heading, #10243d);
    margin: 0 0 2.5rem;
}

/* Background schemes */
.nexa-counters-block--light  { background: var(--nx-surface, #f4f7f6); }
.nexa-counters-block--dark   { background: var(--nx-dark-bg, #112946); }
.nexa-counters-block--accent { background: var(--nx-accent, #0d9488); }
.nexa-counters-block--dark  .nexa-counters-block__title { color: #fff; }
.nexa-counters-block--accent .nexa-counters-block__title { color: #fff; }

/* Grid */
.nexa-counters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.25rem;
}
.nexa-counters-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.nexa-counters-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.nexa-counters-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.nexa-counters-grid--cols-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 767px) {
    .nexa-counters-grid--cols-3,
    .nexa-counters-grid--cols-4,
    .nexa-counters-grid--cols-5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 479px) {
    .nexa-counters-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Counter card */
.nexa-counter {
    padding: 2.5rem 1.5rem;
    background: #fff;
    border: 1px solid var(--nx-border, #e5e7eb);
    border-radius: var(--nx-radius, 10px);
    box-shadow: var(--nx-shadow-sm, 0 1px 3px rgba(0,0,0,.06));
    transition: box-shadow .2s ease, transform .2s ease;
}
.nexa-counter:hover {
    box-shadow: var(--nx-shadow, 0 4px 16px rgba(0,0,0,.08));
    transform: translateY(-2px);
}
.nexa-counters-block--dark   .nexa-counter { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.12); }
.nexa-counters-block--dark   .nexa-counter:hover { background: rgba(255,255,255,.12); }
.nexa-counters-block--accent .nexa-counter { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.2); }
.nexa-counters-block--accent .nexa-counter:hover { background: rgba(255,255,255,.22); }

/* Icon */
.nexa-counter__icon {
    font-size: 1.75rem;
    color: var(--nx-accent, #0d9488);
    margin-bottom: .625rem;
}
.nexa-counters-block--dark   .nexa-counter__icon,
.nexa-counters-block--accent .nexa-counter__icon { color: rgba(255,255,255,.75); }

/* Number */
.nexa-counter__number {
    font-size: clamp(2.25rem, 5vw, 3.25rem);
    font-weight: 900;
    letter-spacing: -.04em;
    color: var(--nx-heading, #10243d);
    line-height: 1;
    margin-bottom: .5rem;
}
.nexa-counter__value { color: var(--nx-accent, #0d9488); }
.nexa-counters-block--dark   .nexa-counter__number,
.nexa-counters-block--dark   .nexa-counter__value { color: #fff; }
.nexa-counters-block--accent .nexa-counter__number,
.nexa-counters-block--accent .nexa-counter__value { color: #fff; }

/* Caption */
.nexa-counter__caption {
    font-size: .8125rem;
    color: var(--nx-muted, #6b7280);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.nexa-counters-block--dark   .nexa-counter__caption,
.nexa-counters-block--accent .nexa-counter__caption { color: rgba(255,255,255,.7); }
