/*
Theme Name: Limondo Child
Theme URI: https://limondo.store
Description: Ultra-premium streetwear theme for Limondo — editorial, bold, luminous.
Author: Limondo
Template: storefront
Version: 2.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&family=DM+Mono:wght@300;400;500&display=swap');

:root {
  /* Core palette — lifted from pitch black to deep charcoal */
  --black:   #0a0a0a;
  --white:   #f5f0eb;       /* warm off-white — easier on eyes */
  --cream:   #ede8e0;
  --gray-1:  #1c1c1c;       /* was #111 — now distinguishable */
  --gray-2:  #2a2a2a;       /* was #1a1a */
  --gray-3:  #3f3f3f;       /* was #333 */
  --gray-4:  #6b6b6b;       /* was #555 — more contrast */
  --gray-5:  #9a9a9a;       /* was #888 */
  --gray-6:  #c0bbb4;       /* was #aaa — warmer */
  --accent:  #d4a853;       /* warm gold accent for highlights */
  --accent-dim: #9a7635;

  --font-display: 'Playfair Display', serif;
  --font-mono: 'DM Mono', monospace;
  --transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* RESET & BASE */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--white);
  font-family: var(--font-mono);
  cursor: none;
  overflow-x: hidden;
}

/* Subtle grain overlay — lighter than before */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  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.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  opacity: 0.015;
  pointer-events: none;
  z-index: 9000;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: none; }

/* CUSTOM CURSOR */
#lim-cursor {
  position: fixed;
  width: 12px;
  height: 12px;
  background: var(--white);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease;
  mix-blend-mode: difference;
}
#lim-cursor.expand { width: 60px; height: 60px; }
#lim-cursor-label {
  position: fixed;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.15em;
  color: var(--black);
  pointer-events: none;
  z-index: 100000;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
  mix-blend-mode: difference;
  text-transform: uppercase;
}
#lim-cursor-label.visible { opacity: 1; }

/* SCROLL REVEAL */
.lim-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s var(--transition);
}
.lim-reveal.visible { opacity: 1; transform: translateY(0); }

/* ANIMATIONS */
@keyframes slideUp {
  to { transform: translateY(0); }
}
@keyframes fadeUp {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  to { opacity: 1; }
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
