/* Base Settings */
html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    /* Prevent horizontal scroll from animations */
}

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

::-webkit-scrollbar-track {
    background: #120224;
}

::-webkit-scrollbar-thumb {
    background: #D4AF37;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #F4D03F;
}

/* Selection */
::selection {
    background: #D4AF37;
    color: #120224;
}

/* Typography Utilities */
.text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

/* Diagonal Clips */
.clip-diagonal-top {
    clip-path: polygon(0 0, 100% 50px, 100% 100%, 0 100%);
}

.clip-diagonal-bottom {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50px), 0 100%);
}

/* Animations */
@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

@keyframes pulse-slow {

    0%,
    100% {
        opacity: 0.5;
        transform: scale(1.05);
    }

    50% {
        opacity: 0.3;
        transform: scale(1.0);
    }
}

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

/* Alpine Transitions */
[x-cloak] {
    display: none !important;
}

/* Preloader Fade Out */
.fade-out {
    opacity: 0;
    pointer-events: none;
}

/* Card Hover Effects*/
.group:hover .line-clamp-3 {
    -webkit-line-clamp: unset;
    line-clamp: unset;
}