/* Fallback Media Styles */

.media-frame {
    background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
    border: 2px dashed #cccccc;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999999;
    font-family: var(--font-accent);
    position: relative;
    overflow: hidden;
}

.media-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-md);
    text-align: center;
    z-index: 2;
}

.media-icon {
    font-size: 3rem;
}

.media-text {
    font-size: var(--text-base);
    font-weight: 600;
    color: #666666;
}

.media-specs {
    font-size: var(--text-sm);
    color: #999999;
}

/* Specific media types */
.media-hero {
    aspect-ratio: 2 / 1;
    width: 100%;
}

.media-doctor {
    aspect-ratio: 1 / 1;
    width: 300px;
    height: 300px;
    border-radius: var(--border-radius-full);
}

.media-service {
    aspect-ratio: 1 / 1;
    width: 64px;
    height: 64px;
    border-radius: var(--border-radius-md);
    background: linear-gradient(135deg, var(--primary-ocean) 0%, var(--accent-sage) 100%);
    border: none;
}

.media-gallery {
    aspect-ratio: 4 / 3;
    width: 100%;
}

/* Media animation (subtle pulse) */
@keyframes media-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.8;
    }
}

.media-frame {
    animation: media-pulse 3s ease-in-out infinite;
}

/* Remove animation if reduced motion preferred */
@media (prefers-reduced-motion: reduce) {
    .media-frame {
        animation: none;
    }
}