/* ==========================================================================
   Oriental Doula - Custom Theme Stylesheet
   Palette: Warm Plum, Blossom Rose, Cashmere Linen, Herbal Sage & Champagne Gold
   ========================================================================== */

:root {
  --primary: #6b264b;
  --primary-dark: #4e1935;
  --primary-light: #8e3b67;
  --primary-soft: #fbf0f5;
  --rose-accent: #d87d97;
  --rose-light: #faebee;
  --sage-accent: #5e8271;
  --sage-light: #eef5f1;
  --gold-accent: #c49758;
  --gold-light: #faf4eb;
  --text-main: #2b2126;
  --text-muted: #6e5e67;
  --bg-cream: #faf7f4;
  --bg-card: #ffffff;
  --border-soft: #ebdcd5;
}

/* Smooth Scrolling & Typography Defaults */
html {
  scroll-behavior: smooth;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--text-main);
  background-color: var(--bg-cream);
}

.font-serif-luxury {
  font-family: 'Playfair Display', 'Noto Serif SC', Georgia, serif;
}

.font-sans-modern {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Subtle floral & organic background patterns */
.bg-subtle-pattern {
  background-color: #fcf9f6;
  background-image: radial-gradient(#e4cfc4 0.75px, transparent 0.75px), radial-gradient(#e4cfc4 0.75px, #fcf9f6 0.75px);
  background-size: 30px 30px;
  background-position: 0 0, 15px 15px;
}

.bg-plum-gradient {
  background: linear-gradient(135deg, #632244 0%, #46142f 100%);
}

.bg-hero-soft {
  background: linear-gradient(180deg, #fdf8f6 0%, #faedf2 50%, #fdf8f6 100%);
}

.bg-soft-gradient {
  background: linear-gradient(135deg, #fff5fa 0%, #faf3ee 50%, #f5f8f5 100%);
}

/* Glassmorphic Navbar */
.glass-nav {
  background: rgba(254, 251, 249, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(235, 220, 213, 0.6);
}

/* Custom Soft Box Shadows */
.shadow-soft {
  box-shadow: 0 10px 30px -5px rgba(107, 38, 75, 0.07), 0 4px 12px -2px rgba(0, 0, 0, 0.04);
}

.shadow-hover {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.shadow-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -10px rgba(107, 38, 75, 0.12), 0 8px 20px -4px rgba(0, 0, 0, 0.06);
}

/* Accent Badge Styles (Sleek Slightly Rounded Corners) */
.badge-plum {
  background-color: #faedf3;
  color: #6b264b;
  border: 1px solid rgba(107, 38, 75, 0.15);
  border-radius: 0.5rem;
}

.badge-sage {
  background-color: #eef5f1;
  color: #3b6150;
  border: 1px solid rgba(59, 97, 80, 0.2);
  border-radius: 0.5rem;
}

.badge-gold {
  background-color: #fbf5ea;
  color: #966b2d;
  border: 1px solid rgba(150, 107, 45, 0.2);
  border-radius: 0.5rem;
}

/* Buttons - Modern Square with subtle rounded corners (rounded-lg: 8px) */
.btn-primary-luxury {
  background-color: #6b264b;
  color: #ffffff;
  border-radius: 0.5rem;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(107, 38, 75, 0.22);
}

.btn-primary-luxury:hover {
  background-color: #4e1935;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(107, 38, 75, 0.32);
}

.btn-secondary-luxury {
  background-color: #ffffff;
  color: #6b264b;
  border: 1.5px solid #d4a3b7;
  border-radius: 0.5rem;
  transition: all 0.25s ease;
}

.btn-secondary-luxury:hover {
  background-color: #faedf3;
  border-color: #6b264b;
}

/* Accordion Animations */
.faq-answer {
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

/* Active Navigation Link */
.nav-link {
  position: relative;
  transition: color 0.2s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #6b264b;
  transition: all 0.25s ease;
  transform: translateX(-50%);
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* Image framing */
.image-curved-frame {
  border-radius: 0.5rem;
  box-shadow: 0 15px 35px -5px rgba(80, 20, 50, 0.12);
}

/* Pulse animation for CTA button */
@keyframes softPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(107, 38, 75, 0.4);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(107, 38, 75, 0);
  }
}

.animate-soft-pulse {
  animation: softPulse 2.5s infinite;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #fbf8f5;
}
::-webkit-scrollbar-thumb {
  background: #d8b7c5;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #6b264b;
}

/* Language fade transition */
.lang-fade {
  transition: opacity 0.2s ease-in-out;
}
