/* v2.1.0 — native, manual discovery rails. Grid is retained where it fits. */
.ia-card-rail {
    position: relative;
    min-width: 0;
}

.ia-card-rail__controls {
    display: none;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    margin: 0 0 14px;
}

.ia-card-rail__button {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(37, 99, 235, .20);
    border-radius: 14px;
    background: rgba(255,255,255,.92);
    color: var(--ia-color-primary-dark, #1d4ed8);
    box-shadow: 0 8px 20px rgba(15,23,42,.06);
    cursor: pointer;
    font: inherit;
    font-size: 20px;
    font-weight: 900;
    transition: transform var(--ia-transition-fast), background var(--ia-transition-fast), color var(--ia-transition-fast), border-color var(--ia-transition-fast), opacity var(--ia-transition-fast);
}

.ia-card-rail__button:not(:disabled):hover,
.ia-card-rail__button:not(:disabled):focus-visible {
    border-color: var(--ia-color-primary, #2563eb);
    background: var(--ia-color-primary, #2563eb);
    color: #fff;
    transform: translateY(-2px);
}

.ia-card-rail__button:disabled {
    cursor: default;
    opacity: .42;
}

@media (max-width: 1180px) {
    .ia-card-rail.is-enhanced .ia-card-rail__controls {
        display: flex;
    }

    .ia-card-rail__track.popular-grid,
    .ia-card-rail__track.latest-grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(272px, calc((100% - 20px) / 2));
        grid-template-columns: none;
        gap: 18px;
        align-items: stretch;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scroll-padding-inline: 2px;
        scrollbar-width: thin;
        scrollbar-color: rgba(37,99,235,.34) transparent;
        padding: 3px 2px 14px;
        margin: -3px -2px -14px;
    }

    .ia-card-rail__track.popular-grid > *,
    .ia-card-rail__track.latest-grid > * {
        min-width: 0;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .ia-card-rail__track::-webkit-scrollbar {
        height: 8px;
    }

    .ia-card-rail__track::-webkit-scrollbar-thumb {
        border: 2px solid transparent;
        border-radius: 999px;
        background: rgba(37,99,235,.32);
        background-clip: padding-box;
    }
}

@media (max-width: 640px) {
    .ia-card-rail__track.popular-grid,
    .ia-card-rail__track.latest-grid {
        grid-auto-columns: minmax(min(86vw, 330px), 1fr);
        gap: 14px;
    }

    .ia-card-rail__controls {
        margin-bottom: 12px;
    }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
    .ia-card-rail__button:not(:disabled):hover,
    .ia-card-rail__button:not(:disabled):focus-visible {
        transform: none;
    }
}
