/* 
 * Placeholder Styling for YFC Zimbabwe Website
 * These styles ensure placeholder images look consistent and professional
 */

/* Base placeholder styling */
.image-placeholder,
.placeholder {
    position: relative;
    background-color: #e0e0e0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.image-placeholder:hover,
.placeholder:hover {
    background-color: #d5d5d5;
}

/* Placeholder wrapper */
.placeholder-wrapper {
    position: relative;
    overflow: hidden;
    max-width: 100%;
}

/* Placeholder label - Hidden in production */
.placeholder-label {
    display: none; /* Hide by default */
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 8px 12px;
    font-size: 12px;
    text-align: center;
    font-family: 'Poppins', Arial, sans-serif;
    z-index: 5;
}

/* Only show placeholder labels in debug mode */
.debug-mode .placeholder-label {
    display: block;
}

/* Icons inside labels */
.placeholder-label i {
    margin-right: 5px;
}

/* Type-specific styling */
.hero-placeholder,
[data-placeholder-type="hero"] {
    background-color: #2d3748;
    min-height: 300px;
}

.gallery-placeholder,
[data-placeholder-type="gallery"] {
    background-color: #33c1dc;
    min-height: 200px;
}

.team-placeholder,
[data-placeholder-type="team"] {
    background-color: #00a8c7;
    min-height: 150px;
    min-width: 150px;
    border-radius: 50%;
}

.board-placeholder,
[data-placeholder-type="board"] {
    background-color: #0097b3;
    min-height: 150px;
    min-width: 150px;
    border-radius: 12px;
}

.volunteer-placeholder,
[data-placeholder-type="volunteer"] {
    background-color: #f6ad55;
    min-height: 220px;
}

/* Default icon styles */
.placeholder-icon {
    font-size: 48px;
    color: rgba(255, 255, 255, 0.3);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-placeholder,
    [data-placeholder-type="hero"] {
        min-height: 200px;
    }
    
    .placeholder-icon {
        font-size: 36px;
    }
    
    .placeholder-label {
        padding: 6px 10px;
        font-size: 10px;
    }
}

/* Animation for placeholders */
@keyframes pulse {
    0% { opacity: 0.6; }
    50% { opacity: 1; }
    100% { opacity: 0.6; }
}

.image-placeholder.animate,
.placeholder.animate {
    animation: pulse 1.5s infinite;
}

/* Special styling for National Director placeholder */
.director-image .placeholder-container {
    border-radius: 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

/* Team and board member placeholders */
.team-member .placeholder-container,
.board-member .placeholder-container {
    margin: 0 auto;
}

/* Volunteer placeholders */
.volunteer-image .image-placeholder,
.volunteer-image .placeholder {
    width: 100%;
    height: 220px;
}

/* Specific styling for different placeholder types */
.team-member-image.image-placeholder {
    border-radius: 8px;
    aspect-ratio: 1/1; /* Square ratio for team members */
}

.board-member-image.image-placeholder {
    border-radius: 50%; /* Circle for board members */
    aspect-ratio: 1/1; /* Square ratio for perfect circles */
}

.gallery-image.image-placeholder {
    border-radius: 8px;
    aspect-ratio: 16/9; /* Landscape ratio for gallery */
}

.hero-image.image-placeholder {
    min-height: 300px;
    width: 100%;
}

/* Maintain aspect ratio for different placeholder types */
.image-placeholder[data-placeholder-type="team"] {
    aspect-ratio: 1/1;
}

.image-placeholder[data-placeholder-type="board"] {
    aspect-ratio: 1/1;
}

.image-placeholder[data-placeholder-type="gallery"] {
    aspect-ratio: 16/9;
}

.image-placeholder[data-placeholder-type="hero"] {
    aspect-ratio: 21/9;
}

/* Add guidance text for content editors - only visible in debug mode */
.image-placeholder::after {
    display: none; /* Hide by default */
    content: attr(alt);
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 12px;
    padding: 5px;
    background-color: rgba(0, 0, 0, 0.5);
}

/* Only show after content in debug mode */
.debug-mode .image-placeholder::after {
    display: block;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .image-placeholder::after {
        font-size: 10px;
        padding: 3px;
    }
}

/* Ensuring placeholder maintains size constraints */
img.image-placeholder {
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

/* Styles for processed placeholders */
.processed-placeholder {
    border: 1px solid rgba(0, 0, 0, 0.1);
} 