/* Bloom Fitness Studio - Custom Styles */

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

:root {
  --color-primary: #7b5455;
  --color-on-primary: #ffffff;
  --color-primary-container: #f4c2c2;
  --color-on-primary-container: #734e4e;
  --color-primary-fixed: #ffdad9;
  --color-primary-fixed-dim: #ecbaba;
  
  --color-secondary: #5c5d6e;
  --color-on-secondary: #ffffff;
  --color-secondary-container: #e1e1f5;
  --color-on-secondary-container: #626374;
  
  --color-tertiary: #4c6452;
  --color-on-tertiary: #ffffff;
  --color-tertiary-container: #bad5bf;
  --color-on-tertiary-container: #455d4b;
  --color-tertiary-fixed: #cee9d3;
  --color-tertiary-fixed-dim: #b3cdb7;

  --color-background: #fff9ed;
  --color-on-background: #1e1c13;

  --color-surface: #fff9ed;
  --color-on-surface: #1e1c13;
  --color-surface-variant: #e8e2d4;
  --color-on-surface-variant: #504444;
  --color-surface-dim: #e0d9cc;
  --color-surface-bright: #fff9ed;
  --color-surface-container-lowest: #ffffff;
  --color-surface-container-low: #faf3e5;
  --color-surface-container: #f4eddf;
  --color-surface-container-high: #eee8da;
  --color-surface-container-highest: #e8e2d4;

  --color-outline: #827473;
  --color-outline-variant: #d4c2c2;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-background);
  color: var(--color-on-surface);
  font-family: "Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, sans-serif;
  overflow-x: hidden;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideDown {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes slideUp {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes scaleUp {
  from { transform: scale(0.95); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.animate-fade-in {
  animation: fadeIn 0.4s ease-out forwards;
}

.animate-slide-down {
  animation: slideDown 0.4s ease-out forwards;
}

.animate-slide-up {
  animation: slideUp 0.5s ease-out forwards;
}

.animate-scale-up {
  animation: scaleUp 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* Shadow & Blur classes */
.soft-shadow {
  box-shadow: 0 10px 40px -10px rgba(123, 84, 85, 0.15);
}

.soft-shadow-lg {
  box-shadow: 0 20px 50px -12px rgba(123, 84, 85, 0.25);
}

.glass-card {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.45);
}

/* Hide scrollbar utility */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Lucide icon customization */
i[data-lucide] {
  display: inline-block;
  stroke-width: 2;
  vertical-align: middle;
}

/* Selection highlight styling */
::selection {
  background-color: rgba(123, 84, 85, 0.2);
  color: #7b5455;
}
