@import url('https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@400;600&family=Tajawal:wght@400;500;700&display=swap');

#entry-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: radial-gradient(circle at center, #F5F0E6 0%, #E8DDC5 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity 0.8s ease, transform 0.8s ease;
  overflow: hidden;
  direction: rtl;
}

html.entry-loader-skipped #entry-loader {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#entry-loader.fade-out {
  opacity: 0;
  transform: scale(1.02);
  pointer-events: none;
}

/* Subtle palm leaf silhouettes on the edges */
#entry-loader::before,
#entry-loader::after {
  content: "";
  position: absolute;
  width: 40vw;
  height: 60vh;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' opacity='0.03'%3E%3Cpath d='M10 90 Q 40 10 90 20 Q 50 40 10 90' fill='%230F5132'/%3E%3C/svg%3E") no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}

#entry-loader::before {
  top: -10%;
  right: -10%;
  transform: rotate(-30deg);
}

#entry-loader::after {
  bottom: -10%;
  left: -10%;
  transform: rotate(150deg);
}

.loader-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  animation: smoothFadeIn 1s ease forwards;
}

.entry-logo-container {
  width: clamp(280px, 65vw, 480px);
  max-width: min(86vw, 480px);
  aspect-ratio: 1 / 1;
  display: block;
  margin: 0 auto;
}

.entry-logo-container canvas {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  pointer-events: none;
}

.loader-text-container {
  text-align: center;
  opacity: 0;
  transform: translateY(10px);
  animation: smoothSlideUp 1.2s ease 0.4s forwards;
}

.loader-text-container h1,
.loader-text-container .loader-heading {
  font-family: 'Tajawal', system-ui, -apple-system, sans-serif;
  color: #0F5132;
  font-size: clamp(16px, 4vw, 22px);
  font-weight: 500;
  margin: 0;
  letter-spacing: 0.5px;
}

.golden-line {
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d8b76a, transparent);
  margin: 16px auto 0;
  opacity: 0.8;
  animation: expandLine 1.5s ease 0.8s forwards;
}

/* Animations */
@keyframes smoothFadeIn {
  0% { opacity: 0; transform: scale(0.96); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes smoothSlideUp {
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes expandLine {
  0% { width: 0; }
  100% { width: 60%; }
}

/* Disable body scroll when loader is active */
body.loader-active {
  overflow: hidden !important;
  touch-action: none !important;
}
