/* Custom Native App Feel Styles */

/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* Marquee Animation */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

.animate-marquee {
  animation: marquee 15s linear infinite;
  display: inline-flex;
}

/* Pull to refresh feeling on mobile */
html {
    overscroll-behavior-y: contain;
}

/* Safe area padding for mobile bottom bar */
.pb-safe {
    padding-bottom: env(safe-area-inset-bottom);
}

/* Smooth zoom for hero background */
@keyframes subtle-zoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.1); }
}

.hero-bg-anim {
  animation: subtle-zoom 10s ease-in-out infinite alternate;
}

/* Card Hover Effects */
.hover-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Glassmorphism utilities */
.glass {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.glass-dark {
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

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

/* Custom Swiper pagination dots */
.swiper-pagination-bullet {
    background: #cbd5e1 !important;
    opacity: 1 !important;
}
.swiper-pagination-bullet-active {
    background: #006B3F !important;
    width: 24px !important;
    border-radius: 4px !important;
    transition: all 0.3s !important;
}

/* Pulsing Slow for PPDB */
@keyframes pulse-slow {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7); }
  50% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(245, 158, 11, 0); }
}

.animate-pulse-slow {
  animation: pulse-slow 2s infinite;
}

/* 3D Tilt container and floating elements */
.perspective-container {
    perspective: 1000px;
}

.tilt-card {
    transition: transform 0.1s ease;
    transform-style: preserve-3d;
}

@keyframes float {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(5deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

.float-anim {
    animation: float 3s ease-in-out infinite;
}

/* Skeleton Loading for News */
.skeleton {
    background: #e2e8f0;
    background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
    border-radius: 0.5rem;
}

@keyframes loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}