* {
    font-family: 'Tajawal', sans-serif;
}

.logo {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.logo.loaded {
  opacity: 1;
}

.star-rating input[type="radio"] {
    display: none;
}

.star-rating label:hover,
.star-rating label:hover ~ label {
    color: #facc15 !important; /* yellow-400 */
}

.feedback-star:hover,
.feedback-star:hover ~ label {
    color: #facc15 !important; /* yellow-400 */
}

/* ==== Navigation styles are inlined in base.html to prevent FOUC ==== */

.rating-category {
    padding: 1rem;
    border: 1px solid #e2e8f0; /* slate-200 */
    border-radius: 0.5rem;
    background: #f8fafc; /* slate-50 */
    transition: background-color 0.2s ease;
}

.rating-category:hover {
    background: #f1f5f9; /* slate-100 */
}

/* Star rating styles for culture ratings */
.rating-category .star-rating label {
    transition: color 0.2s ease;
}

.rating-category .star-rating label:hover {
    color: #facc15; /* yellow-400 */
}

/* Loading spinner */
.spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Form validation styles */
.invalid {
    border-color: #dc2626 !important; /* red-600 */
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
}

.valid {
    border-color: #16a34a !important; /* green-600 */
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.1) !important;
}

/* Smooth transitions */
input, select, textarea, button {
    transition: all 0.2s ease;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9; /* slate-100 */
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1; /* slate-300 */
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8; /* slate-400 */
}

.region-btn.active {
    background-color: #14b8a6; /* teal-500 */
    color: white;
}

@media (prefers-color-scheme: dark) {
    .rating-category {
        border-color: #374151; /* slate-700 */
        background: #1f2937; /* slate-800 */
    }

    .rating-category:hover {
        background: #374151; /* slate-700 */
    }

    ::-webkit-scrollbar-track {
        background: #1f2937; /* slate-800 */
    }

    ::-webkit-scrollbar-thumb {
        background: #4b5563; /* slate-600 */
    }

    ::-webkit-scrollbar-thumb:hover {
        background: #6b7280; /* slate-500 */
    }

    .region-btn {
        background-color: #374151; /* slate-700 */
        color: #d1d5db; /* slate-300 */
    }

    .region-btn.active {
        background-color: #14b8a6; /* teal-500 */
        color: white;
    }
}
