@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap");

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif;
}

.glassWhite {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
}

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

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.admin-input {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: #fff;
  padding: 0.8rem 1rem;
  color: #0f172a;
  outline: none;
}

.admin-input:focus {
  border-color: rgba(225, 29, 46, 0.7);
  box-shadow: 0 0 0 3px rgba(225, 29, 46, 0.14);
}

.loading-bar {
  animation: loadingSlide 1s ease-in-out infinite;
  transform-origin: left;
}

@keyframes loadingSlide {
  0% {
    transform: translateX(-100%) scaleX(0.35);
  }
  50% {
    transform: translateX(10%) scaleX(0.9);
  }
  100% {
    transform: translateX(120%) scaleX(0.35);
  }
}

/* Premium card hover effects and micro-animations */
.premium-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
}

.premium-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
  border-color: rgba(225, 29, 46, 0.25);
}

.btn-premium {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-premium:hover {
  transform: scale(1.02);
  opacity: 0.95;
}

.btn-premium:active {
  transform: scale(0.98);
}

/* Smooth page load animation */
@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.97) translateY(8px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.animate-fade-in-scale {
  animation: fadeInScale 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
