/* Production-ready Responsive Preloader */
.bilim-preloader {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  min-height: 100svh;
  z-index: 99999;
  background-color: #FAF8F5; /* Matches site --color-bg */

  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: opacity .55s ease, visibility .55s ease;
}

.bilim-preloader::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("../preload_img.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  opacity: 0;
  transform: scale(1.025);
  filter: saturate(0.8) contrast(0.92);
  animation: preloaderImageReveal 1.35s ease-out forwards, preloaderBgFloat 7s ease-in-out infinite alternate;
  z-index: 0;
}

.bilim-preloader::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,0.94), rgba(255,255,255,0.58) 28%, rgba(255,255,255,0.2) 55%, rgba(255,255,255,0.08) 100%),
    linear-gradient(180deg, rgba(250,248,245,0.92) 0%, rgba(250,248,245,0.52) 46%, rgba(250,248,245,0.16) 100%);
  pointer-events: none;
  z-index: 0;
  animation: preloaderWhiteVeil 1.45s ease-out forwards;
}

@keyframes preloaderImageReveal {
  0% {
    opacity: 0.08;
    transform: scale(1.06);
    filter: saturate(0.45) contrast(0.82) brightness(1.35);
  }
  55% {
    opacity: 0.54;
    filter: saturate(0.72) contrast(0.9) brightness(1.16);
  }
  100% {
    opacity: 0.86;
    transform: scale(1.025);
    filter: saturate(0.95) contrast(0.98) brightness(1.02);
  }
}

@keyframes preloaderWhiteVeil {
  0% { opacity: 1; }
  58% { opacity: 0.74; }
  100% { opacity: 0.36; }
}

@keyframes preloaderBgFloat {
  from { background-position: center top; }
  to { background-position: center 2%; }
}

.bilim-preloader--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.bilim-preloader__overlay {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.bilim-preloader__content {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translateY(clamp(90px, 21vh, 210px));
  padding-inline: 20px;
  filter: drop-shadow(0 12px 30px rgba(7, 26, 47, 0.10));
}

.bilim-preloader__brand {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(3.2rem, 7.2vw, 6.6rem);
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: clamp(4px, 0.9vw, 14px);
  margin-bottom: clamp(0.7rem, 1.4vw, 1.1rem);
  text-shadow: 0 5px 18px rgba(255,255,255,0.55), 0 12px 32px rgba(7,26,47,0.10);
}

.bilim-preloader__brand-main {
  color: #071A2F;
}

.bilim-preloader__brand-gold {
  color: #D4AF37;
}

.bilim-preloader__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(0.82rem, 1.6vw, 1.25rem);
  font-weight: 800;
  letter-spacing: clamp(6px, 1.1vw, 14px);
  color: #071A2F;
  margin-bottom: clamp(2rem, 4vw, 3.3rem);
  text-transform: uppercase;
}

.bilim-preloader__loader {
  position: relative;
  width: clamp(54px, 7vw, 84px);
  height: clamp(54px, 7vw, 84px);
  display: grid;
  place-items: center;
  margin: 0 auto;
}

.bilim-preloader__spinner,
.bilim-preloader__pulse {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.bilim-preloader__spinner {
  border: clamp(3px, 0.45vw, 5px) solid rgba(7, 26, 47, 0.12);
  border-top-color: #D4AF37;
  border-right-color: rgba(212, 175, 55, 0.62);
  box-shadow: 0 0 0 8px rgba(255,255,255,0.36), 0 10px 28px rgba(212,175,55,0.18);
  animation: preloaderSpin 0.9s cubic-bezier(.55,.08,.18,.98) infinite;
}

.bilim-preloader__pulse {
  inset: 9px;
  border: 1px solid rgba(212, 175, 55, 0.55);
  animation: preloaderPulse 1.7s ease-in-out infinite;
}

.bilim-preloader__loader::after {
  content: '';
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #D4AF37;
  box-shadow: 0 0 18px rgba(212,175,55,0.72);
}

.bilim-preloader__loading {
  margin-top: clamp(1rem, 2vw, 1.5rem);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: clamp(0.78rem, 1.2vw, 0.96rem);
  font-weight: 700;
  letter-spacing: 0.28em;
  color: rgba(7, 26, 47, 0.68);
  text-transform: uppercase;
  animation: preloaderText 1.4s ease-in-out infinite;
}

@keyframes preloaderSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes preloaderPulse {
  0%, 100% { opacity: 0.4; transform: scale(0.72); }
  50% { opacity: 1; transform: scale(1); }
}

@keyframes preloaderText {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 1; }
}
/* Media Queries for Responsive Backgrounds */
@media (max-width: 360px) {
  .bilim-preloader::before {
    background-image: url("../preload_320.webp");
    background-position: center top;
  }
  .bilim-preloader__content { transform: translateY(13vh); }
}

@media (min-width: 361px) and (max-width: 430px) {
  .bilim-preloader::before {
    background-image: url("../preload_375.webp");
    background-position: center top;
  }
  .bilim-preloader__content { transform: translateY(13vh); }
}

@media (min-width: 431px) and (max-width: 900px) {
  .bilim-preloader::before {
    background-image: url("../tablet-768.webp");
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  .bilim-preloader::before {
    background-image: url("../laptop-1024.webp");
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .bilim-preloader::before {
    background-image: url("../desktop-1376.webp");
  }
}

@media (min-width: 1600px) {
  .bilim-preloader::before {
    background-image: url("../ultrawide-1920.webp");
  }
}

@media (prefers-reduced-motion: reduce) {
  .bilim-preloader { transition: opacity 0.2s; }
  .bilim-preloader::before,
  .bilim-preloader::after,
  .bilim-preloader__spinner,
  .bilim-preloader__pulse,
  .bilim-preloader__loading {
    animation: none;
  }
  .bilim-preloader::before { opacity: 0.82; filter: none; }
  .bilim-preloader::after { opacity: 0.36; }
}


/* Dark Mode Support for Preloader */
html[data-theme="dark"] .bilim-preloader {
  background-color: #0B141C;
}
html[data-theme="dark"] .bilim-preloader__brand-main {
  color: #FFFFFF;
}
html[data-theme="dark"] .bilim-preloader__subtitle {
  color: #94A3B8;
}
html[data-theme="dark"] .bilim-preloader__spinner {
  border-color: rgba(255, 255, 255, 0.1);
  border-top-color: #D4AF37;
}
html[data-theme="dark"] .bilim-preloader__loading {
  color: rgba(234, 240, 248, 0.72);
}

/* Keep quick navigations invisible; JavaScript reveals this only after a delay. */
.bilim-preloader {
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.bilim-preloader.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
