/* ═══════════════════════════════════════════════════════════════
   WOOFYE — LUXURY LAYER
   Cuddly, warm, lovable. Like a stuffed animal you never let go of.
   Born from love. Built for yours. 🧸🐾
   ═══════════════════════════════════════════════════════════════ */

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

/* ── Soft Plush Palette Override ── */
:root {
  --plush-cream: #FFF9F0;
  --plush-sage: #7C9885;
  --plush-sage-soft: rgba(124, 152, 133, 0.08);
  --plush-sage-glow: rgba(124, 152, 133, 0.15);
  --plush-warm: #E8D5B7;
  --plush-blush: #F2E0D0;
  --plush-gold: #C4A265;
  --plush-shadow: 0 8px 32px rgba(124, 152, 133, 0.12), 0 2px 8px rgba(0,0,0,0.04);
  --plush-shadow-hover: 0 16px 48px rgba(124, 152, 133, 0.18), 0 4px 16px rgba(0,0,0,0.06);
  --plush-radius: 20px;
  --plush-radius-lg: 28px;
}

/* ── Cuddly Background ── */
body {
  background: 
    radial-gradient(ellipse at 20% 0%, rgba(124, 152, 133, 0.06) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 100%, rgba(232, 213, 183, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(242, 224, 208, 0.05) 0%, transparent 70%),
    var(--plush-cream) !important;
}

/* ── Soft Floating Paw Prints (decorative) ── */
body::before {
  content: '🐾';
  position: fixed;
  top: 15%;
  right: 5%;
  font-size: 4rem;
  opacity: 0.04;
  transform: rotate(15deg);
  pointer-events: none;
  z-index: 0;
  animation: float-paw 8s ease-in-out infinite;
}
body::after {
  content: '🧸';
  position: fixed;
  bottom: 10%;
  left: 3%;
  font-size: 3.5rem;
  opacity: 0.04;
  transform: rotate(-10deg);
  pointer-events: none;
  z-index: 0;
  animation: float-paw 10s ease-in-out infinite reverse;
}

@keyframes float-paw {
  0%, 100% { transform: translateY(0) rotate(15deg); }
  50% { transform: translateY(-15px) rotate(20deg); }
}

/* ── Nav Upgrade ── */
nav {
  background: rgba(255, 249, 240, 0.92) !important;
  backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(124, 152, 133, 0.12) !important;
}
.nav-logo {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.5rem !important;
  letter-spacing: -0.02em !important;
}
.nav-cta {
  background: linear-gradient(135deg, #7C9885 0%, #5A7A66 100%) !important;
  border-radius: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 4px 16px rgba(124, 152, 133, 0.3) !important;
  transition: all 0.3s ease !important;
}
.nav-cta:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(124, 152, 133, 0.4) !important;
}

/* ── Hero Section — Massive, Warm, Cuddly ── */
.hero h1, section:first-of-type h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(3.5rem, 8vw, 7rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
}
.hero h1 .green, section:first-of-type h1 .green,
.hero h1 span, section:first-of-type h1 span {
  background: linear-gradient(135deg, #7C9885, #5A7A66) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-style: italic !important;
}
.hero-sub {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.35rem !important;
  color: #6B6B6B !important;
  letter-spacing: 0.01em !important;
}

/* ── Cards — Plush & Rounded ── */
.app-card, .stat-card, .feature-card, .benefit-card,
[class*="card"] {
  border-radius: var(--plush-radius) !important;
  border: 1px solid rgba(124, 152, 133, 0.1) !important;
  background: rgba(255, 253, 247, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: var(--plush-shadow) !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden;
}
.app-card:hover, .stat-card:hover, .feature-card:hover, .benefit-card:hover,
[class*="card"]:hover {
  transform: translateY(-6px) scale(1.02) !important;
  box-shadow: var(--plush-shadow-hover) !important;
  border-color: rgba(124, 152, 133, 0.2) !important;
}

/* ── Stat Numbers — Bold & Warm ── */
.stat-number {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 3.5rem !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #7C9885, #C4A265) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ── Buttons — Rounded & Plush ── */
.hero-cta, .cta-primary, [class*="primary-btn"],
a[href*="app.html"] {
  background: linear-gradient(135deg, #7C9885 0%, #5A7A66 100%) !important;
  border-radius: 16px !important;
  padding: 16px 36px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 6px 20px rgba(124, 152, 133, 0.3) !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative;
  overflow: hidden;
}
.hero-cta:hover, .cta-primary:hover, [class*="primary-btn"]:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 32px rgba(124, 152, 133, 0.4) !important;
}
.hero-cta::after, .cta-primary::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.6s ease;
}
.hero-cta:hover::after, .cta-primary:hover::after {
  left: 100%;
}

/* ── Section Headers — Editorial ── */
section h2, .section-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
}

/* ── Promise / Origin Section — The Heart ── */
.promise {
  background: 
    radial-gradient(ellipse at 30% 50%, rgba(124, 152, 133, 0.06) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 30%, rgba(232, 213, 183, 0.08) 0%, transparent 50%),
    var(--plush-cream) !important;
}
.promise-quote, blockquote {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.3rem !important;
  color: #7C9885 !important;
  border-left: 3px solid #7C9885 !important;
  padding: 20px 28px !important;
  background: rgba(124, 152, 133, 0.04) !important;
  border-radius: 0 16px 16px 0 !important;
}

/* ── Chat Preview — Soft & Inviting ── */
.chat-preview, .demo-chat, [class*="chat"] {
  border-radius: var(--plush-radius-lg) !important;
  border: 1px solid rgba(124, 152, 133, 0.12) !important;
  box-shadow: 0 12px 40px rgba(124, 152, 133, 0.1) !important;
}

/* ── App Grid Items — Huggable ── */
.app-item, .catalog-item {
  border-radius: 18px !important;
  padding: 20px !important;
  transition: all 0.3s ease !important;
}
.app-item:hover, .catalog-item:hover {
  background: rgba(124, 152, 133, 0.06) !important;
  transform: translateY(-4px) !important;
}

/* ── Footer — Warm Closing ── */
footer {
  background: linear-gradient(180deg, var(--plush-cream) 0%, #F0EBE2 100%) !important;
  border-top: 1px solid rgba(124, 152, 133, 0.1) !important;
}
.footer-love {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  color: #7C9885 !important;
}

/* ── Scroll Animations — Gentle ── */
@keyframes gentle-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ── Paw Decorations — Softer ── */
.paw-decoration {
  opacity: 0.06 !important;
  font-size: 3rem !important;
  animation: float-paw 12s ease-in-out infinite !important;
}

/* ── Input Fields — Rounded & Cozy ── */
input, textarea, .nav-search {
  border-radius: 16px !important;
  border: 1px solid rgba(124, 152, 133, 0.15) !important;
  background: rgba(255, 253, 247, 0.8) !important;
  transition: all 0.3s ease !important;
}
input:focus, textarea:focus, .nav-search:focus {
  border-color: #7C9885 !important;
  box-shadow: 0 0 0 4px rgba(124, 152, 133, 0.1) !important;
  outline: none !important;
}

/* ── Labels & Tags — Soft Badges ── */
.label, [class*="badge"], [class*="tag"] {
  border-radius: 12px !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  background: rgba(124, 152, 133, 0.08) !important;
  color: #7C9885 !important;
  padding: 6px 14px !important;
}

/* ── Smooth Scroll Indicator ── */
.scroll-indicator {
  animation: gentle-bounce 2.5s ease-in-out infinite !important;
}

/* ── Selection Color ── */
::selection {
  background: rgba(124, 152, 133, 0.2);
  color: inherit;
}

/* ── Mobile Polish ── */
@media (max-width: 768px) {
  .hero h1, section:first-of-type h1 {
    font-size: clamp(2.5rem, 10vw, 4.5rem) !important;
  }
  body::before, body::after {
    display: none;
  }
}
