/* ========================================
   Catalog page styles — PromBarrier
   ======================================== */

/* --- Catalog Header --- */

.catalog-header {
    background-color: var(--lighter-grey);
    padding: 1rem 0 2.5rem;
}

.catalog-header h1 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    margin-bottom: 0.75rem;
    color: var(--dark-blue);
}

.catalog-header p {
    font-size: 1rem;
    color: var(--dark-grey);
    max-width: 700px;
    line-height: 1.6;
}

/* --- Filter Tabs --- */

.catalog-filters {
    padding: 1.5rem 0;
}

.filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.filter-tab {
    font-family: 'Google Sans', sans-serif;
    font-weight: 500;
    font-size: 0.85rem;
    padding: 0.5rem 1.25rem;
    border: 1px solid var(--light-grey);
    border-radius: 8px;
    background: var(--white);
    color: var(--dark-grey);
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.filter-tab:hover {
    border-color: var(--grey);
    color: var(--black);
}

.filter-tab.active {
    background: var(--dark-blue);
    color: var(--white);
    border-color: var(--dark-blue);


}

/* --- Products Grid --- */

.catalog-grid {
    padding: 0 0 3rem;
}

/* --- Catalog Card --- */

.catalog-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border: 2px solid var(--light-grey);
    border-radius: 10px;
    overflow: hidden;
    background: var(--white);
    transition: border-color 0.25s;
    height: 100%;
}

.catalog-card:hover {
    border-color: var(--grey);
}

.catalog-card__image {
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    min-height: 200px;
}

.catalog-card__image img {
    max-width: 100%;

    object-fit: contain;
}

.catalog-card__body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    background: var(--lighter-grey);
    flex: 1;
}

.catalog-card__title {
    font-family: 'Google Sans 17pt', 'Google Sans', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--black);
    margin-bottom: 0.5rem;
}

.catalog-card__desc {
    font-size: 0.85rem;
    color: var(--dark-grey);
    margin-bottom: 1rem;
    line-height: 1.5;
    flex: 1;
}

.catalog-card__specs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.spec-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2rem 0.6rem;
    background: rgba(var(--lighter-grey-rgb), 0.8);
    border: 1px solid var(--grey);
    border-radius: 6px;
    color: var(--dark-grey);
}

.catalog-card__link {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--dark-blue);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: auto;
    transition: gap 0.2s;
}

.catalog-card:hover .catalog-card__link {
    gap: 0.7rem;
}

.catalog-card__link i {
    font-size: 0.85rem;
}

/* --- Empty State --- */

.catalog-empty {
    text-align: center;
    padding: 4rem 1rem;
    color: var(--dark-grey);
}

.catalog-empty i {
    font-size: 3rem;
    display: block;
    margin-bottom: 1rem;
    color: var(--grey);
}

.catalog-empty p {
    font-size: 1rem;
    margin-bottom: 1.5rem;
}

/* --- Catalog CTA --- */

.catalog-cta {
    padding: 2rem 0;
    margin-bottom: 2rem;
}

.catalog-cta__inner {
    background-color: var(--dark-blue);
    border-radius: 10px;
    padding: 2.5rem;
    color: var(--white);
}

.catalog-cta__inner h2 {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    margin-bottom: 0.75rem;
}

.catalog-cta__inner p {
    font-size: 0.95rem;
    opacity: 0.75;
    margin-bottom: 0;
    line-height: 1.6;
}

.catalog-cta__inner .btn {
    font-weight: 600;
    padding: 0.85rem 2rem;
}
.catalogPrivacy {
    font-size: 1rem;
    color: var(--white);
}
/* Upload box inside dark CTA */
.upload-box--dark {
    border-color: rgba(var(--white-rgb), 0.25);
    background: rgba(var(--white-rgb), 0.05);
    padding: 1.25rem;
}

.upload-box--dark:hover {
    background: rgba(var(--white-rgb), 0.08);
}

.upload-box--dark .upload-box__icon {
    color: var(--yellow);
}

.upload-box--dark .upload-box__text {
    color: var(--white);
}

.upload-box--dark .upload-box__text-sm {
    color: rgba(var(--white-rgb), 0.6);
}

/* --- Responsive --- */

@media (max-width: 991.98px) {
    .catalog-cta__inner .row {
        row-gap: 1.5rem;
    }

    .catalog-cta__inner .align-items-lg-end {
        align-items: flex-start !important;
    }
}

@media (max-width: 767.98px) {
    .catalog-card__image {
        min-height: 160px;
        padding: 1rem;
    }

    .catalog-card__image img {
        max-height: 140px;
    }

    .catalog-card__body {
        padding: 1rem;
    }

    .catalog-cta__inner {
        padding: 1.5rem;
    }
}

/* --- Animation for filter --- */

.catalog-item {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.catalog-item.filter-hidden {
    display: none !important;
}
