/**
 * FZ Group — placeholder gambar kosong / gagal dimuat (image_error.avif)
 */

img.fz-img--fallback {
    object-fit: contain !important;
    object-position: center;
    width: 100%;
    height: 100%;
    max-width: 50vh;
    max-height: 100%;
    padding: clamp(0.65rem, 2.5vw, 1.35rem);
    box-sizing: border-box;
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.92) 0%, rgba(233, 239, 255, 0.95) 55%, rgba(244, 247, 255, 0.98) 100%),
        repeating-linear-gradient(-45deg,
            transparent,
            transparent 10px,
            rgba(75, 139, 249, 0.04) 10px,
            rgba(75, 139, 249, 0.04) 20px);
    border: 1px dashed color-mix(in srgb, #4b8bf9 38%, #b8c9e8);
    border-radius: 12px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 6px 20px rgba(15, 23, 42, 0.06);
}

img.fz-img--fallback.fz-img--fallback-broken {
    opacity: 0.55;
    filter: grayscale(0.15);
}

.home-media-cover:has(> img.fz-img--fallback),
.thumbnail:has(> img.fz-img--fallback),
.fz-adv-print__card-media:has(> img.fz-img--fallback),
.fz-int-service__portfolio-image:has(> img.fz-img--fallback) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    background: linear-gradient(165deg, #f6f8ff 0%, #eef2fc 100%);
    border-radius: inherit;
}

.fz-page-hero img.fz-img--fallback,
.fz-adv-service__hero img.fz-img--fallback {
    max-height: min(42vh, 320px);
    margin-inline: auto;
    border-color: color-mix(in srgb, #fff 25%, #4b8bf9);
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.12) 0%, rgba(75, 139, 249, 0.08) 100%),
        repeating-linear-gradient(-45deg,
            transparent,
            transparent 12px,
            rgba(255, 255, 255, 0.03) 12px,
            rgba(255, 255, 255, 0.03) 24px);
}

.fz-brand-logo img.fz-img--fallback,
.header-area .logo img.fz-img--fallback {
    padding: 0.35rem;
    border-radius: 8px;
    min-height: 0;
}