body {
            font-family: 'Inter', sans-serif;
            background-color: #0f172a;
            color: #f8fafc;
        }

        .serif {
            font-family: 'Playfair Display', serif;
        }

        /* Scrollbar styling */
        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: #1e293b;
        }

        ::-webkit-scrollbar-thumb {
            background: #475569;
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #d4af37;
        }

        /* Custom Story Card Styling */
        .story-card {
            background-color: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.05);
            transition: all 0.3s ease;
        }

        .story-card:hover {
            transform: translateY(-5px);
            border-color: #f59e0b;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
        }

        /* Value Card Styling */
        .value-card {
            background: linear-gradient(145deg, #1e293b, #0f172a);
            border: 1px solid rgba(255, 255, 255, 0.02);
            transition: all 0.3s ease;
        }

        .value-card:hover {
            border-color: rgba(245, 158, 11, 0.3);
        }

        /* Simple fade-in animation for reveal-section */
        .reveal-section {
            opacity: 0;
            animation: fadeIn 1s ease-out forwards;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(20px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Glass effect panel */
        .glass-panel {
            background: rgba(30, 41, 59, 0.4);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid rgba(212, 175, 55, 0.15);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
        }

        /* Image preview grid styling */
#imagePreviewGrid {
    background: rgba(255, 255, 255, 0.03);
    border: 1px dashed rgba(255, 255, 255, 0.12);
    border-radius: 0.75rem;
    min-height: 70px;
    transition: border-color 0.3s ease;
}

#imagePreviewGrid:has(img) {
    border-color: rgba(212, 175, 55, 0.3);
    border-style: solid;
}

#imagePreviewGrid .group {
    transition: transform 0.2s ease;
}

#imagePreviewGrid .group:hover {
    transform: scale(1.02);
}

/* Upload button hover state */
#cloudinaryUploadBtn {
    transition: all 0.3s ease;
}

#cloudinaryUploadBtn:hover {
    background: rgba(212, 175, 55, 0.25);
    border-color: rgba(212, 175, 55, 0.6);
    transform: translateY(-1px);
}

/* Modal scroll styling */
#submitModal .max-h-\[90vh\] {
    scrollbar-width: thin;
    scrollbar-color: #475569 transparent;
}

#submitModal .max-h-\[90vh\]::-webkit-scrollbar {
    width: 4px;
}

#submitModal .max-h-\[90vh\]::-webkit-scrollbar-track {
    background: transparent;
}

#submitModal .max-h-\[90vh\]::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 4px;
}

#submitModal .max-h-\[90vh\]::-webkit-scrollbar-thumb:hover {
    background: #d4af37;
}

/* Toast for upload status */
#uploadStatus {
    transition: all 0.3s ease;
    padding: 2px 8px;
    border-radius: 4px;
}

/* ===== CLOUDINARY WIDGET OVERRIDES (optional) ===== */
.cloudinary-upload-widget {
    --cloudinary-palette-window: #0f172a !important;
    --cloudinary-palette-window-border: #d4af37 !important;
    --cloudinary-palette-tab-icon: #d4af37 !important;
    --cloudinary-palette-menu-icons: #d4af37 !important;
    --cloudinary-palette-text-dark: #ffffff !important;
    --cloudinary-palette-text-light: #94a3b8 !important;
    --cloudinary-palette-link: #d4af37 !important;
    --cloudinary-palette-action: #d4af37 !important;
    --cloudinary-palette-inactive-tab-icon: #475569 !important;
    --cloudinary-palette-error: #ef4444 !important;
    --cloudinary-palette-in-progress: #d4af37 !important;
    --cloudinary-palette-complete: #22c55e !important;
    --cloudinary-palette-source-bg: #1e293b !important;
}

/* Fix for Cloudinary widget z-index */
.cloudinary-upload-widget-iframe {
    z-index: 9999 !important;
}

/* Responsive tweaks */
@media (max-width: 640px) {
    #imagePreviewGrid {
        grid-template-columns: repeat(2, 1fr);
        min-height: 60px;
    }

    #cloudinaryUploadBtn {
        font-size: 0.8rem;
        padding: 0.4rem 1rem;
    }
}

@media (max-width: 400px) {
    #imagePreviewGrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }
}

/* ===== PREVIEW GRID â€“ safe sizing ===== */
#imagePreviewGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    max-height: 200px;
    overflow-y: auto;
    padding: 0.5rem;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px dashed rgba(255, 255, 255, 0.12);
    min-height: 70px;
}

#imagePreviewGrid .aspect-square {
    aspect-ratio: 1 / 1;
}

#imagePreviewGrid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
}

/* Make remove button more visible */
#imagePreviewGrid .group .absolute {
    z-index: 5;
}

/* Mobile: 2 columns */
@media (max-width: 480px) {
    #imagePreviewGrid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Fix for Cloudinary widget iframe â€“ it's already high z-index, we just close it */

/* Eye icon inside password fields */
#loginModal .relative button,
#signupModal .relative button {
    background: transparent;
    border: none;
    padding: 0 8px;
    font-size: 1.1rem;
    cursor: pointer;
    z-index: 5;
}

#loginModal .relative button:hover,
#signupModal .relative button:hover {
    color: #d4af37; /* gold on hover */
}