/* Outfitly Global Styles — Pinterest-Aesthetic & Light Curation */

*, *::before, *::after { box-sizing: border-box; }

:root {
  --font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  --font-sans: var(--font-system);
  --font-heading: var(--font-system);
  --bg-main: #fafafa;
  --bg-card: #ffffff;
  --text-primary: #18181b;
  --text-secondary: #52525b;
  --text-muted: #71717a;
  --border-subtle: rgba(0, 0, 0, 0.06);
  --border-card: #f1f1f4;
  --radius-card: 22px;
  --radius-pill: 9999px;
  --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.03);
  --shadow-hover: 0 14px 30px -6px rgba(0, 0, 0, 0.08), 0 4px 10px -2px rgba(0, 0, 0, 0.02);

  /* Frosted Glass (Glassmorphism) Tokens */
  --glass-bg: rgba(255, 255, 255, 0.78);
  --glass-bg-subtle: rgba(255, 255, 255, 0.6);
  --glass-bg-hover: rgba(255, 255, 255, 0.92);
  --glass-border: rgba(255, 255, 255, 0.65);
  --glass-border-subtle: rgba(0, 0, 0, 0.05);
  --glass-blur: blur(24px) saturate(180%);
  --glass-blur-sm: blur(12px) saturate(160%);
  --glass-shadow: 0 20px 48px -10px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04), inset 0 1px 1px rgba(255, 255, 255, 0.9);
}

/* Glassmorphism Utility Classes */
.glass-panel {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  border-radius: var(--radius-card);
}

.glass-pill {
  background: var(--glass-bg-subtle);
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-pill);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-pill:hover {
  background: var(--glass-bg-hover);
  border-color: rgba(255, 255, 255, 0.9);
  transform: translateY(-1px);
}

body {
  margin: 0;
  font-family: var(--font-system);
  background: var(--bg-main);
  color: var(--text-primary);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
}

a { color: inherit; }

::selection {
  background: #18181b;
  color: #ffffff;
}

/* Elegant minimalist scrollbar */
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e4e4e7; border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: #d4d4d8; }

/* Loading shimmer for masonry */
@keyframes shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: 200px 0; }
}

.masonry-item.loading {
  background: linear-gradient(90deg, #f4f4f5 25%, #e4e4e7 50%, #f4f4f5 75%);
  background-size: 400px 100%;
  animation: shimmer 1.5s infinite;
  min-height: 300px;
  border-radius: var(--radius-card);
}