/* Antigravity Glassmorphism & Premium Gold Styles */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Syne:wght@400..800&display=swap');

body.theme-antigravity {
  background-color: #050D1C;
  color: #FFFFFF;
}

/* Custom Scrollbar */
.theme-antigravity ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.theme-antigravity ::-webkit-scrollbar-track {
  background: #050D1C;
}
.theme-antigravity ::-webkit-scrollbar-thumb {
  background: #1e293b;
  border-radius: 9999px;
}
.theme-antigravity ::-webkit-scrollbar-thumb:hover {
  background: #334155;
}

/* Glassmorphism and Glow utilities */
.glass-panel {
  background: rgba(10, 23, 48, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(108, 59, 255, 0.18);
}

.glass-panel-hover {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.glass-panel-hover:hover {
  border-color: rgba(0, 191, 255, 0.4);
  box-shadow: 0 0 25px -5px rgba(0, 191, 255, 0.15), 0 0 15px -3px rgba(108, 59, 255, 0.15);
  transform: translateY(-2px);
}

.glass-card-interactive {
  background: linear-gradient(135deg, rgba(10, 23, 48, 0.85) 0%, rgba(5, 13, 28, 0.9) 100%);
  border: 1px solid rgba(34, 211, 238, 0.15);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-card-interactive:hover {
  border-color: rgba(0, 191, 255, 0.45);
  box-shadow: 0 8px 30px rgba(0, 191, 255, 0.12);
  transform: translateY(-2px);
}

.glow-blue {
  box-shadow: 0 0 24px -2px rgba(0, 191, 255, 0.35);
}
.glow-purple {
  box-shadow: 0 0 24px -2px rgba(108, 59, 255, 0.35);
}
.glow-gold {
  box-shadow: 0 0 24px -2px rgba(217, 164, 65, 0.35);
}

/* Gradient Text */
.text-gradient-primary {
  background: linear-gradient(135deg, #00BFFF 0%, #6C3BFF 50%, #A855F7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.text-gradient-gold {
  background: linear-gradient(135deg, #FFF2B2 0%, #FFD66B 25%, #D9A441 50%, #B38027 75%, #ECC766 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.bg-gradient-cta {
  background: linear-gradient(135deg, #00BFFF 0%, #6C3BFF 100%);
  color: #fff;
  transition: all 0.3s ease;
  border: none;
}
.bg-gradient-cta:hover {
  background: linear-gradient(135deg, #22D3EE 0%, #7C3AED 100%);
  box-shadow: 0 0 24px -2px rgba(0, 191, 255, 0.45);
}

/* Premium Animated Gold Typography */
@keyframes goldShimmer {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes goldGlowPulse {
  0%, 100% { filter: drop-shadow(0 0 10px rgba(255, 214, 107, 0.3)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8)); }
  50% { filter: drop-shadow(0 0 20px rgba(255, 214, 107, 0.6)) drop-shadow(0 2px 6px rgba(217, 164, 65, 0.4)); }
}

.gold-brand-animated {
  background: linear-gradient(90deg, #B38027 0%, #D9A441 15%, #FFD66B 30%, #FFF4CC 45%, #FFE58F 55%, #FFD66B 70%, #D9A441 85%, #B38027 100%);
  background-size: 250% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: #FFD66B; 
  animation: goldShimmer 4s ease-in-out infinite, goldGlowPulse 4s ease-in-out infinite;
  display: inline-block;
  will-change: background-position, filter;
  letter-spacing: 0.05em;
}

/* Background Atmosphere */
.travel-grid-pattern {
  background-size: 40px 40px;
  background-image: 
    linear-gradient(to right, rgba(108, 59, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(108, 59, 255, 0.05) 1px, transparent 1px);
}
.cinematic-vignette {
  box-shadow: inset 0 0 140px rgba(5, 13, 28, 0.95);
}

/* Transitions */
.smooth-transition {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Refined Premium Preloader Styles */
#preloader {
    position: fixed;
    inset: 0;
    background-color: #03050a; /* Deepest space black */
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), filter 1.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 1.2s;
}

#preloader.loaded {
    opacity: 0;
    visibility: hidden;
    filter: blur(10px);
}

.premium-logo-wrapper {
    position: relative;
    animation: elegantReveal 2.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.premium-text {
    margin-top: 30px;
    font-family: 'Cinzel', serif;
    color: #FDE38C;
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.6em;
    opacity: 0;
    animation: textFadeIn 2s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s forwards;
    text-shadow: 0 0 15px rgba(253, 227, 140, 0.3);
}

.premium-progress-container {
    margin-top: 40px;
    width: 140px;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
    opacity: 0;
    animation: textFadeIn 1s ease 1s forwards;
}

.premium-progress-bar {
    height: 100%;
    background: #FDE38C;
    width: 0%;
    box-shadow: 0 0 8px rgba(253, 227, 140, 0.6);
    /* pure CSS hardware accelerated progress */
    animation: fillProgress 2s cubic-bezier(0.4, 0, 0.2, 1) 0.5s forwards;
}

@keyframes elegantReveal {
    0% { transform: scale(0.95); opacity: 0; filter: blur(8px); }
    100% { transform: scale(1); opacity: 1; filter: blur(0); }
}
@keyframes textFadeIn {
    0% { opacity: 0; transform: translateY(5px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes fillProgress {
    0% { width: 0%; }
    40% { width: 60%; }
    100% { width: 100%; }
}

#webgl-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.custom-dark-input { background-color: rgba(6, 9, 19, 0.5) !important; }
.custom-dark-input:focus { background-color: rgba(6, 9, 19, 0.8) !important; }
