/* === Afitt Bistro Theme — Category Card === */
/* Aspect ratio: 3:2, bottom band ~30% */

.category-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--card-category-radius);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition-base), transform var(--transition-base);
    aspect-ratio: var(--card-category-ratio);
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

.category-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.14);
    transform: scale(var(--scale-hover));
}

.category-card:focus-visible {
    outline: var(--focus-ring-width) solid var(--color-brand-orange);
    outline-offset: 1px;
}

.category-card--active {
    box-shadow: 0 0 0 var(--active-border-width) var(--color-brand-orange), var(--shadow-card-hover);
}

/* Image / visual area — top ~70% */
.category-card__visual {
    flex: 7;
    position: relative;
    overflow: hidden;
}

.category-card__visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform var(--transition-slow);
    position: relative;
    z-index: 2;
    padding: var(--space-sm);
    box-sizing: border-box;
}

.category-card:hover .category-card__visual img {
    transform: scale(1.08);
}

/* Subtle edge gradient for depth only — does NOT obscure category color */
.category-card__visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 55%, rgba(0,0,0,0.15) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Pattern fallback when no image */
.category-card__visual--pattern {
    background-size: cover;
    background-position: center;
    opacity: 0.85;
}

/* Color band — bottom ~30% */
.category-card__band {
    flex: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-md);
    color: var(--color-text-inverse);
    position: relative;
    z-index: 2;
}

.category-card__label {
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: none;
    font-size: clamp(16px, 2.5vw, 22px);
    line-height: var(--leading-heading);
    letter-spacing: -0.015em;
    font-synthesis:none;
}

.category-card__icon {
    width: var(--control-icon-cat);
    height: var(--control-icon-cat);
    flex-shrink: 0;
    color: var(--color-text-inverse);
    opacity: 0.9;
}

.category-card__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Paired icon (fork + knife) */
.category-card__icon--paired {
    display: flex;
    gap: 2px;
}

.category-card__icon--paired svg {
    width: 13px;
    height: var(--control-icon-cat);
}
