/*
Theme Name: Box & Atlas
Theme URI: https://boxatlas.com
Author: Ntando Ivan Mahonde
Description: Headless-ready Real Estate Engine - Midnight Luxe Aesthetic.
Version: 1.0.0
Text Domain: boxatlas
*/

:root {
  --color-obsidian: #0D0D12;
  --color-champagne: #C9A84C;
  --color-ivory: #FAF8F5;
  --color-slate: #2A2A35;

  --font-sans: 'Inter', sans-serif;
  --font-heading: 'Inter', sans-serif;
  --font-drama: 'Playfair Display', serif;
  --font-mono: 'JetBrains Mono', monospace;
}

body {
  background-color: var(--color-ivory);
  color: var(--color-slate);
  font-family: var(--font-sans);
  overflow-x: hidden;
}

/* Magnetic Button Base */
.btn-magnetic {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.btn-magnetic:hover {
  transform: scale(1.03) translateY(-1px);
}
.btn-magnetic::before {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 100%; height: 100%;
  background: rgba(255,255,255,0.1);
  transition: left 0.3s ease;
}
.btn-magnetic:hover::before {
  left: 0;
}

/* Animations */
@keyframes scan {
  0% { transform: translateY(0); }
  50% { transform: translateY(100px); }
  100% { transform: translateY(0); }
}
.animate-scan { animation: scan 4s ease-in-out infinite; }

@keyframes pulse-path {
  0% { stroke-dasharray: 200 200; stroke-dashoffset: 200; }
  50% { stroke-dashoffset: 0; }
  100% { stroke-dasharray: 200 200; stroke-dashoffset: -200; }
}
.animate-pulse-path { animation: pulse-path 3s linear infinite; }

@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.animate-spin-slow { animation: spin-slow 20s linear infinite; }