/* preloader.css */
body.preloader-active {
  overflow: hidden;
}

.preloader-container {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
}

.preloader-panel {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #000;
  z-index: 1;
  transition: transform 0.9s cubic-bezier(0.77, 0, 0.175, 1);
}

.preloader-panel.panel-left { left: 0; }
.preloader-panel.panel-right { right: 0; }

.preloader-container.loaded .panel-left { transform: translateX(-100%); }
.preloader-container.loaded .panel-right { transform: translateX(100%); }
.preloader-container.loaded { pointer-events: none; }
.preloader-container.loaded .preloader-content { opacity: 0; transition: opacity 0.3s ease; }
.preloader-container.hidden { display: none; }

.preloader-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.preloader-logo {
  width: 150px;
  height: auto;
  animation: preloaderShimmer 1.8s infinite, preloaderScale 1.5s forwards;
  filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.4));
  margin-bottom: 12px;
}

@media (max-width: 480px) {
  .preloader-logo {
    width: 130px;
  }
}

.preloader-text {
  font-family: 'Cinzel', 'Georgia', serif;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.4em;
  color: #D4AF37;
  text-align: center;
  animation: fadeInUp 0.6s ease forwards;
}

.preloader-sub {
  font-family: 'Cinzel', 'Georgia', serif;
  font-size: 0.48rem;
  font-weight: 400;
  letter-spacing: 0.25em;
  color: rgba(212, 175, 55, 0.65);
  text-align: center;
  margin-top: 4px;
  margin-bottom: 22px;
  animation: fadeInUp 0.7s ease 0.1s both;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes preloaderScale {
  0% { transform: scale(0.85); opacity: 0.6; }
  100% { transform: scale(1.05); opacity: 1; }
}

@keyframes preloaderShimmer {
  0%, 100% { opacity: 0.7; filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.3)); }
  50% { opacity: 1; filter: drop-shadow(0 0 25px rgba(212, 175, 55, 0.8)); }
}

.preloader-bar-container {
  width: 160px;
  height: 2px;
  background-color: rgba(212, 175, 55, 0.15);
  overflow: hidden;
  border-radius: 2px;
}

.preloader-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #9A7D2A, #D4AF37, #F0D060, #D4AF37);
  background-size: 200% 100%;
  animation: preloaderProgress 2.8s cubic-bezier(0.4, 0, 0.6, 1) forwards,
             preloaderShine 1.2s linear infinite;
  border-radius: 2px;
}

@keyframes preloaderProgress {
  0%   { width: 0%; }
  30%  { width: 35%; }
  60%  { width: 65%; }
  85%  { width: 88%; }
  100% { width: 100%; }
}

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