/* style.css - Custom luxury styles and design system token overrides */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:wght@300;400;500;600;700;800&family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Alex+Brush&display=swap');

:root {
  --color-primary: #8E3A7C;
  --color-secondary: #111111;
  --color-background: #FDF6F8;
  --color-accent: #FFB6D5;
  --color-accent-gold: #D4AF37;
  --color-text: #333333;
  --color-success: #2E7D32;
}

body {
  font-family: 'Poppins', sans-serif;
  background-color: var(--color-background);
  color: var(--color-text);
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: 'Playfair Display', serif;
}

button, .btn, .font-button {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: var(--color-background);
}
::-webkit-scrollbar-thumb {
  background: var(--color-primary);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: #6e2d60;
}

/* Custom Luxury Gradients */
.bg-luxury-gradient {
  background: linear-gradient(135deg, #8E3A7C 0%, #FFB6D5 100%);
}

.bg-deep-plum-gradient {
  background: linear-gradient(135deg, #8E3A7C 0%, #5D2457 100%);
}

.bg-gold-gradient {
  background: linear-gradient(135deg, #D4AF37 0%, #111111 100%);
}

.bg-glassmorphism {
  background: rgba(253, 246, 248, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(142, 58, 124, 0.08);
}

.bg-glass-dark {
  background: rgba(17, 17, 17, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Elegant Text Styling */
.text-luxury-stroke {
  -webkit-text-stroke: 1px rgba(142, 58, 124, 0.3);
  color: transparent;
}

/* Micro-Animations & Custom Transitions */
.luxury-transition {
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.hover-lift {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -15px rgba(142, 58, 124, 0.2), 0 2px 10px rgba(0, 0, 0, 0.03);
}

/* Image zoom effect on hover */
.img-zoom-container {
  overflow: hidden;
  border-radius: 16px;
}
.img-zoom-container img {
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.img-zoom-container:hover img {
  transform: scale(1.08);
}

/* Premium Badge styling */
.badge-premium {
  background: var(--color-accent);
  color: var(--color-primary);
  border: 1px solid rgba(142, 58, 124, 0.2);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Custom styles for AOS delay offset */
[data-aos] {
  pointer-events: none;
}
.aos-animate, [data-aos].aos-animate {
  pointer-events: auto;
}

/* Custom slider/loader spinner */
.luxury-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(142, 58, 124, 0.1);
  border-radius: 50%;
  border-top-color: var(--color-primary);
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
