/* ==========================================================================
   Toni&Guy Essensuals - Villivakkam, Chennai
   Luxury Aesthetic Stylesheet (Apple-grade micro-interactions)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;1,500;1,600&family=Cinzel:wght@500;600;700;800&display=swap');

:root {
  --bg-primary: #0a0a0c;
  --bg-secondary: #121217;
  --bg-card: rgba(22, 22, 28, 0.7);
  --bg-card-hover: rgba(30, 30, 38, 0.85);
  
  --gold-primary: #D4AF37;
  --gold-light: #F3E5AB;
  --gold-dark: #AA820A;
  --gold-gradient: linear-gradient(135deg, #ECC86E 0%, #D4AF37 50%, #A67C1E 100%);
  --gold-subtle: rgba(212, 175, 55, 0.12);
  --gold-border: rgba(212, 175, 55, 0.28);
  
  --text-main: #F3F4F6;
  --text-muted: #9CA3AF;
  --text-dim: #6B7280;
  
  --whatsapp-green: #25D366;
  --whatsapp-gradient: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
}

html {
  scroll-behavior: smooth;
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: var(--bg-primary);
  color: var(--text-main);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #0a0a0c;
}
::-webkit-scrollbar-thumb {
  background: #272730;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--gold-dark);
}

/* Typography Utility Classes */
.font-editorial {
  font-family: 'Playfair Display', serif;
}

.font-brand {
  font-family: 'Cinzel', serif;
}

/* Gold Gradient Text */
.text-gold-gradient {
  background: linear-gradient(135deg, #FFF0CA 0%, #D4AF37 50%, #B8860B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gold-shimmer {
  background: linear-gradient(90deg, #D4AF37 0%, #FFF5D6 50%, #D4AF37 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shine 4s linear infinite;
}

@keyframes shine {
  to {
    background-position: 200% center;
  }
}

/* Glassmorphism Containers */
.glass-panel {
  background: rgba(18, 18, 23, 0.7);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-panel-gold {
  background: rgba(22, 20, 16, 0.75);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--gold-border);
}

.glass-card {
  background: var(--bg-card);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.07);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-card:hover {
  background: var(--bg-card-hover);
  border-color: rgba(212, 175, 55, 0.35);
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.6), 0 0 20px -2px rgba(212, 175, 55, 0.15);
}

/* Luxury Gold Button */
.btn-gold {
  background: var(--gold-gradient);
  color: #0c0a05;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 9999px;
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 8px 24px -4px rgba(212, 175, 55, 0.35);
}

.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px -2px rgba(212, 175, 55, 0.5);
  filter: brightness(1.08);
}

.btn-gold:active {
  transform: translateY(0);
}

/* WhatsApp Conversion Button */
.btn-whatsapp {
  background: var(--whatsapp-gradient);
  color: #ffffff;
  font-weight: 700;
  border-radius: 9999px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 8px 24px -4px rgba(37, 211, 102, 0.38);
}

.btn-whatsapp:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px -2px rgba(37, 211, 102, 0.55);
  filter: brightness(1.06);
}

/* Subtle Shimmer Ray on Hover */
.shimmer-btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    60deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: rotate(25deg);
  transition: all 0.75s ease-out;
}

.shimmer-btn:hover::after {
  left: 120%;
}

/* Glowing Pulsing Dot */
.pulse-dot {
  position: relative;
}
.pulse-dot::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: inherit;
  transform: translate(-50%, -50%);
  animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse-ring {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.8);
    opacity: 0;
  }
}

/* Mobile Sticky Bar - Bulletproof Fixed Positioning across iOS Safari and Android */
.mobile-sticky-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  z-index: 99999 !important;
  transform: translate3d(0, 0, 0) !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  will-change: transform, bottom;
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0.5rem)) !important;
}

/* Ensure global horizontal scroll prevention without breaking sticky/fixed context */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
  width: 100%;
}

/* Image Hover Zoom effect */
.service-img-wrapper {
  overflow: hidden;
  border-radius: 0.75rem;
}
.service-img-wrapper img {
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.glass-card:hover .service-img-wrapper img {
  transform: scale(1.07);
}

/* Service Tab Active Pill */
.service-tab.active {
  background: var(--gold-gradient);
  color: #0b0a06;
  font-weight: 700;
  border-color: transparent;
  box-shadow: 0 4px 18px rgba(212, 175, 55, 0.3);
}

/* Fade In Animations */
.animate-fade-in-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.animate-fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Subtle background luxury glow spots */
.ambient-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  z-index: 0;
}

/* Marquee infinite scroll */
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 25s linear infinite;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.marquee-container:hover .marquee-track {
  animation-play-state: paused;
}
