/* LPPM Universitas Al-Ghifari — Custom Styles (2026 Edition) */

/* Hero slider */
.hero-slider {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}
.hero-slider > .slide {
    scroll-snap-align: start;
    flex-shrink: 0;
    width: 100%;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Fix DaisyUI details dropdown */
details.dropdown:not([open]) > summary ~ ul {
    display: none;
}

/* Hide scrollbar */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* Page fade-in */
main {
    animation: fadeIn 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Card hover lift */
.card-hover {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.card-hover:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -12px rgba(0,0,0,0.12);
}

/* Stat counter tabular nums */
.stat-number {
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
}

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

/* Focus styles */
:focus-visible {
    outline: 2px solid oklch(var(--p));
    outline-offset: 2px;
}

/* Selection */
::selection {
    background: oklch(var(--p) / 0.2);
}
