/* Shared catalog media placeholder (categories + products) */
.product-image-fallback,
.category-card-media--placeholder,
.cat-card__media--empty,
.product-image-placeholder {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(ellipse 70% 55% at 50% 0%, rgba(255, 255, 255, 0.95) 0%, transparent 60%),
        linear-gradient(160deg, #f7f9fc 0%, #e8eef7 48%, #dde7f4 100%);
    border-bottom: 1px solid rgba(11, 61, 145, 0.08);
    color: #0b3d91;
}

.product-image-fallback__pattern,
.category-card-media__pattern,
.cat-card__media-pattern,
.catalog-ph__pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.55;
    background-image:
        linear-gradient(rgba(11, 61, 145, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(11, 61, 145, 0.045) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: radial-gradient(ellipse 75% 70% at 50% 45%, #000 20%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 75% 70% at 50% 45%, #000 20%, transparent 75%);
}

.product-image-fallback__link {
    position: relative;
    z-index: 1;
    color: #0b3d91;
}

.product-icon-placeholder,
.category-card-media__icon,
.cat-card__media-icon,
.catalog-ph__icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(11, 61, 145, 0.12);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 10px 24px rgba(15, 23, 42, 0.06);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}

.product-icon-placeholder i,
.category-card-media__icon i,
.cat-card__media-icon i,
.catalog-ph__icon i,
.product-image-fallback i,
.category-card-media--placeholder > i,
.cat-card__media--empty > i {
    font-size: 1.65rem;
    color: #0b3d91;
    opacity: 0.9;
    line-height: 1;
}

/* Bare icon fallback (no icon box yet) — still keep size in check */
.category-card-media--placeholder > i,
.cat-card__media--empty > i {
    font-size: 1.65rem !important;
    opacity: 0.9;
}

.product-card-modern:hover .product-icon-placeholder,
.category-card-modern:hover .category-card-media__icon,
.category-card-modern:hover .catalog-ph__icon,
.cat-card:hover .cat-card__media-icon,
.cat-card:hover .catalog-ph__icon {
    transform: translateY(-3px);
    border-color: rgba(11, 61, 145, 0.22);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 14px 28px rgba(11, 61, 145, 0.12);
}

.product-image-placeholder {
    min-height: 280px;
    height: 400px;
    border-radius: 0.75rem;
    border-bottom: 0;
}

.product-image-placeholder .catalog-ph__icon {
    width: 5.25rem;
    height: 5.25rem;
    border-radius: 1.25rem;
}

.product-image-placeholder .catalog-ph__icon i {
    font-size: 2rem;
}

@media (max-width: 767.98px) {
    .product-image-placeholder {
        height: 260px;
        min-height: 220px;
    }
}

@media (max-width: 575.98px) {
    .product-image-placeholder {
        height: 220px;
    }

    .product-icon-placeholder,
    .category-card-media__icon,
    .cat-card__media-icon,
    .catalog-ph__icon {
        width: 4rem;
        height: 4rem;
    }
}
