/* SpyMag - Custom Styles */

/* Smooth scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0f1119;
}
::-webkit-scrollbar-thumb {
    background: #1e293b;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* Selection color */
::selection {
    background: rgba(59, 130, 246, 0.3);
    color: white;
}

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

/* Number input arrows */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}

/* Details/Summary */
details summary::-webkit-details-marker {
    display: none;
}
details summary {
    list-style: none;
}

/* Animate product cards on scroll */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Pulse animation for badges */
@keyframes pulse-slow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.animate-pulse-slow {
    animation: pulse-slow 3s ease-in-out infinite;
}

/* Focus styles */
input:focus, select:focus, textarea:focus, button:focus-visible {
    outline: none;
}

/* Transition defaults */
a, button {
    transition-property: color, background-color, border-color, opacity, transform, box-shadow;
    transition-duration: 200ms;
    transition-timing-function: ease;
}

/* Has checked radio styles - fallback */
@supports not (selector(:has(*))) {
    label:focus-within {
        border-color: rgba(59, 130, 246, 0.5);
        background-color: rgba(59, 130, 246, 0.05);
    }
}
