/*
 * CB Panel - Frontend Category Styles
 * Clean image-only cards on dark background. Minimal hover lift.
 */

/* ─── Frontend Wrapper ────────────────────────────────────── */
.cbpanel-fe-wrapper {
    font-family: var(--cbpanel-font);
    -webkit-font-smoothing: antialiased;
}

/* ─── Grid ────────────────────────────────────────────────── */
.cbpanel-fe-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 1.4rem;
    width: 100%;
    box-sizing: border-box;
}

@media (width <= 425px) {
    .cbpanel-fe-grid { gap: 2rem 1rem; }
}


/* ─── Card — Image Only ───────────────────────────────────── */
.cbpanel-fe-card {
    display: block;
    aspect-ratio: 3/4;
    overflow: hidden;
    border-radius: 3rem;
    transition: transform 0.3s ease;
    cursor: pointer;
    box-shadow: 0 0px 0 0.6px rgb(45 48 57 / 58%) !important;
}

.cbpanel-fe-card:hover {
    transform: translateY(-6px);
}

/* Image fills the card */
.cbpanel-fe-card-img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

/* Placeholder when no image */
.cbpanel-fe-card-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #2a2a2a, #1a1a1a);
    border-radius: 16px;
}

/* ─── Loader (infinite scroll) ────────────────────────────── */
.cbpanel-fe-loader {
    display: flex;
    justify-content: center;
    padding: 40px 0;
}

.cbpanel-fe-loader.hidden { display: none; }

.cbpanel-fe-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(255, 255, 255, 0.15);
    border-top-color: #1fb1f9;
    border-radius: 50%;
    animation: cbpanel-fe-spin 0.6s linear infinite;
}

@keyframes cbpanel-fe-spin { to { transform: rotate(360deg); } }

/* ─── Empty State ─────────────────────────────────────────── */
.cbpanel-fe-empty {
    grid-column: 1 / -1;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 1.5rem;
    padding: 60px 20px;
}


/* ─── responsiveness ─────────────────────────────────────────── */
@media (width <= 660px){
/* Image fills the card */
.cbpanel-fe-card {
    border-radius: 1.4rem !important
}
}