@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Playfair+Display:ital,wght@0,900;1,900&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  --safe-area-inset-top: env(safe-area-inset-top, 0px);
  --safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);
}

body {
  background-color: #020617;
  color: #ffffff;
  -webkit-tap-highlight-color: transparent;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Inter', sans-serif;
}

#root {
  min-height: 100vh;
}

::-webkit-scrollbar {
  display: none;
}

input, button, select {
  outline: none !important;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Brighter Muted Text Global Override */
.text-slate-500 { color: #94a3b8 !important; }
.text-slate-600 { color: #64748b !important; }
.text-slate-400 { color: #cbd5e1 !important; }

::placeholder {
  color: #475569 !important;
  opacity: 0.8 !important;
}

/* Prestige Royale Animations */
@keyframes luxury-shine {
  0% { transform: translateX(-150%) skewX(-25deg); }
  50% { transform: translateX(150%) skewX(-25deg); }
  100% { transform: translateX(150%) skewX(-25deg); }
}

.luxury-shine-effect {
  position: relative;
  overflow: hidden;
}

.luxury-shine-effect::after {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;
  background: linear-gradient(
    to right,
    transparent,
    rgba(255, 255, 255, 0) 40%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0) 60%,
    transparent
  );
  animation: luxury-shine 6s infinite ease-in-out;
  pointer-events: none;
  z-index: 40;
}

.font-serif-luxury {
  font-family: 'Playfair Display', serif;
}

.gold-leaf-border {
  background: linear-gradient(135deg, #BF953F, #FCF6BA, #B38728, #FBF5B7, #AA771C);
  padding: 2px;
}

.silver-leaf-border {
  background: linear-gradient(135deg, #757575, #e0e0e0, #9e9e9e, #f5f5f5, #757575);
  padding: 2px;
}

.bronze-leaf-border {
  background: linear-gradient(135deg, #804A00, #ED8E00, #A65E00, #FFB75E, #804A00);
  padding: 2px;
}

.cyan-leaf-border {
  background: linear-gradient(135deg, #0891b2, #22d3ee, #0e7490, #67e8f9, #0891b2);
  padding: 2px;
}

@keyframes breathing {
  0%, 70%, 100% { transform: scale(1); }
  85% { transform: scale(1.1); }
}

@keyframes flip {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

.animate-breathing {
  animation: breathing 3s ease-in-out infinite;
}

.animate-flip {
  animation: flip 4s ease-in-out infinite;
}

@keyframes pulse-zoom {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.25); }
}

.animate-pulse-zoom {
  animation: pulse-zoom 2s ease-in-out infinite;
}
