.img-placeholder {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    background: linear-gradient(135deg, var(--gray-100), var(--gray-200));
    border: 2px dashed var(--gray-300); border-radius: var(--radius);
    color: var(--gray-500); font-size: 0.75rem; width: 100%; overflow: hidden;
}
.img-placeholder-icon { font-size: 2rem; opacity: 0.5; }
.img-placeholder-name { font-weight: 600; }
.img-placeholder-size { opacity: 0.6; }
.solution-card-img, .service-card-img, .program-thumb, .selfcare-card-img {
    width: 100%; border-radius: var(--radius) var(--radius) 0 0; object-fit: cover;
}
.hero-visual-img { width: 100%; max-width: 560px; border-radius: 20px; }
.feature-icon-img { width: 56px; height: 56px; border-radius: 12px; }
.expert-avatar-img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.expert-avatar-img-lg { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }
.chat-bot-avatar { width: 36px; height: 36px; border-radius: 50%; }
.auth-side-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); }
.cta-section-bg { background-size: cover; background-position: center; }
.challenge-banner-img { width: 100%; border-radius: var(--radius); object-fit: cover; max-height: 200px; }
.trophy-img { width: 80px; height: 80px; }
.about-hero-bg { width: 100%; max-height: 300px; object-fit: cover; border-radius: var(--radius); }
.welcome-img { width: 100%; max-width: 280px; }
.empty-state-img { width: 200px; opacity: 0.8; margin: 0 auto 1rem; display: block; }
.vision-img { width: 100%; max-width: 360px; border-radius: var(--radius); margin: 2rem auto; display: block; }
@media (max-width: 768px) {
    .hero-visual-img { max-width: 320px; margin: 0 auto; }
    .auth-side { display: none; }
    .feature-icon-img { width: 44px; height: 44px; }
}
