/* Custom Peejee.tv styles */
.bg-peejee-blue {
    background-color: #3B82F6 !important;
}

.text-peejee-blue {
    color: #3B82F6 !important;
}

.border-peejee-blue {
    border-color: #3B82F6 !important;
}

.ring-peejee-blue {
    --tw-ring-color: #3B82F6;
}

.focus\:ring-peejee-blue:focus {
    --tw-ring-color: #3B82F6;
}

.hover\:bg-blue-600:hover {
    background-color: #2563eb !important;
}

.bg-peejee-dark {
    background-color: #1E293B !important;
}

.text-peejee-dark {
    color: #1E293B !important;
}

/* Loading animation */
.loader {
    border-top-color: #3B82F6;
    animation: spin 1.5s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Line clamp utility */
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* Aspect ratio utilities */
.aspect-w-16 {
    position: relative;
    padding-bottom: calc(9 / 16 * 100%);
}

.aspect-h-9 > * {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}