:root {
  /* Theme overrides for style.css variables */
  --primary: #fc2b78;
  --primary-light: #fc2b78cc;
  --primary-dark: #fc2b78;
  --secondary: #64748b;
  --accent: #f59e0b;
  --success: #10b981;
  --dark: #fc2b78;
  --bg-soft: #f8fafc;
  --bg-primary-soft: #eef2ff;
  --bg-secondary-soft: #f1f5f9;
  --radius: 14px;
  --shadow: 0 4px 12px rgba(0,0,0,.08);
  --shadow-primary: 0 8px 30px #fc2b7840;

  /* Theme-specific variables */
  --theme-primary: #fc2b78;
  --theme-secondary: #64748b;
  --theme-accent: #f59e0b;
  --theme-success: #10b981;
  --theme-dark: #fc2b78;
  --theme-soft-bg: #f8fafc;
  --theme-primary-soft-bg: #eef2ff;
  --theme-secondary-soft-bg: #f1f5f9;
  --theme-gradient-start: #fc2b78;
  --theme-gradient-end: #bd0045;
  --theme-heading-weight: 800;
  --theme-body-line-height: 1.6;
  --theme-border-radius: 14px;
  --theme-card-shadow: 0 4px 12px rgba(0,0,0,.08);
  --theme-card-bg: #ffffff;
  --theme-button-radius: 50px;
  --theme-max-width: 1320px;
  --theme-section-padding: 80px;
}

body { line-height: var(--theme-body-line-height); }
h1,h2,h3,h4,h5,h6 { font-weight: var(--theme-heading-weight); }
.text-gradient { background: linear-gradient(135deg, #fc2b78, #bd0045) !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; }
.btn-primary, .btn-primary:hover { background: linear-gradient(135deg, #fc2b78, #bd0045) !important; border-color: #fc2b78 !important; }
section { padding: var(--theme-section-padding) 0; }
.glass-card, .service-card, .testimonial-card, .blog-card { border-radius: var(--theme-border-radius); box-shadow: var(--theme-card-shadow); }
.btn { border-radius: var(--theme-button-radius); }
.container { max-width: var(--theme-max-width); }
.theme-glass { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); background: rgba(255,255,255,.7); border: 1px solid rgba(255,255,255,.2); }
.theme-grain::before { content:''; position:fixed; top:0; left:0; width:100%; height:100%; opacity:.03; pointer-events:none; z-index:9999; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"); }
.emoji-float { animation: emojiFloat 2s ease-in-out infinite; }
@keyframes emojiFloat { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-12px) rotate(5deg)} }
