/* ============================================================
   SHARED PRODUCT CARD (Catalog pages)
   ============================================================ */

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
    margin-bottom: 32px;
}

.catalog-card {
    position: relative;
    border: 2px solid var(--card-border, #e5e7eb);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s;
    background: white;
    cursor: pointer;
}

.catalog-card:hover {
    border-color: var(--primary) !important;
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.catalog-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

/* Subtle dot pattern overlay */
.catalog-no-image::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.15) 1px, transparent 1px);
    background-size: 20px 20px;
}

.catalog-no-image-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,0.9);
    text-align: center;
    padding: 0 20px;
}

.catalog-no-image-inner i {
    font-size: 2.5rem;
    opacity: 0.8;
}

.catalog-no-image-inner span {
    font-size: 1rem;
    font-weight: 700;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3);
    line-height: 1.3;
}

/* No-image placeholder background */
.catalog-no-image {
    height: 280px; /* same as .catalog-image-wrapper */
    background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
}

.catalog-no-image .catalog-no-image-inner {
    color: #9ca3af;
}

.catalog-no-image .catalog-no-image-inner i {
    font-size: 2.5rem;
    opacity: 0.6;
}

/* Responsive */
@media (max-width: 480px) {
    .catalog-no-image {
        height: 200px;
    }
}

/* Catalog Card - Image with overlay */
.catalog-card .catalog-image-wrapper {
    position: relative;
    height: 280px;
    overflow: hidden;
}

.catalog-card .product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.catalog-card:hover .product-image {
    transform: scale(1.05);
}

/* Title overlay pe imagine */
.catalog-title-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.2) 70%, transparent 100%);
    padding: 48px 20px 20px;
    color: white;
}

.catalog-overlay-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 8px 0;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    line-height: 1.2;
}

.catalog-overlay-season {
    font-size: 0.875rem;
    opacity: 0.95;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* ============================================================
   CATALOG HEADER - Fluid typography
   ============================================================ */
.catalog-header-title {
    font-size: clamp(1.8rem, 5vw, 4.5rem);
}

.catalog-header-description,
.catalog-header-description p {
    font-size: clamp(1rem, 2.5vw, 1.5rem);
}

/* Catalog period */
.catalog-period {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color: white;
    padding: 12px 16px;
    margin: -20px -20px 16px -20px;
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.85rem;
}

.catalog-period.upcoming {
    background: linear-gradient(135deg, #f59e0b 0%, #ec4899 100%);
}

.catalog-period.archived {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
}

.catalog-period.permanent {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
}

.period-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
}

.period-label {
    font-size: 0.7rem;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.period-date {
    font-weight: 700;
    font-size: 0.9rem;
}

/* Ascunde product-category și product-title din content (sunt pe imagine) */
.catalog-card .product-category,
.catalog-card .product-title {
    display: none;
}

/* Ajustări pentru description */
.catalog-card .product-description {
    margin-top: 0;
    min-height: 40px;
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: 2px solid var(--primary);
    color: var(--primary);
    font-size: 1.2rem;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
}