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

:root {
  --color-charcoal-950: #080808;
  --color-charcoal-900: #111111;
  --color-charcoal-800: #1a1a1a;
  --color-charcoal-700: #262626;
  --color-stone-50: #FAF8F5;
  --color-stone-100: #F4F1EA;
  --color-stone-200: #EAE5D9;
  --color-stone-300: #D8D1C2;
  --color-stone-400: #A8A193;
  --color-bronze-400: #D4AF37;
  --color-bronze-500: #C5A880;
  --color-bronze-600: #A8875D;
}

/* Base Styles */
html {
  scroll-behavior: auto !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #1a1a1a;
  background-color: #FAF8F5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  overflow-x: clip;
}

/* Typography Classes */
.font-serif {
  font-family: 'Cormorant Garamond', Georgia, serif;
}

.font-sans {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Lenis Smooth Scroll Recommended CSS */
html.lenis, html.lenis body {
  height: auto;
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #111111;
}

::-webkit-scrollbar-thumb {
  background: #333333;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #C5A880;
}

/* Selection Color */
::selection {
  background-color: #C5A880;
  color: #080808;
}

/* Architectural Utilities */
.editorial-border {
  border-color: rgba(255, 255, 255, 0.08);
}

.editorial-border-light {
  border-color: rgba(0, 0, 0, 0.08);
}

.bg-charcoal-950 {
  background-color: #080808;
}

.bg-charcoal-900 {
  background-color: #111111;
}

.bg-charcoal-850 {
  background-color: #151515;
}

.bg-charcoal-800 {
  background-color: #1c1c1c;
}

.bg-stone-warm {
  background-color: #F7F5F0;
}

.text-bronze {
  color: #C5A880;
}

.border-bronze {
  border-color: #C5A880;
}

.bg-bronze {
  background-color: #C5A880;
}

/* Subtle architectural grid background */
.bg-grid-subtle {
  background-size: 60px 60px;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
}

.bg-grid-light {
  background-size: 60px 60px;
  background-image: 
    linear-gradient(to right, rgba(0, 0, 0, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
}

/* Glassmorphism Header */
.glass-header {
  background: rgba(13, 13, 13, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

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

.glass-card-light {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

/* Image Zoom on Card Hover */
.image-zoom-container {
  overflow: hidden;
}

.image-zoom-container img {
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.image-zoom-container:hover img {
  transform: scale(1.05);
}

/* Clip Path Image Reveal */
.clip-reveal {
  clip-path: inset(0% 0% 0% 0%);
  transition: clip-path 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Custom Range Slider */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background: #2a2a2a;
  height: 4px;
  border-radius: 2px;
  outline: none;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #C5A880;
  cursor: pointer;
  border: 2px solid #111111;
  box-shadow: 0 0 10px rgba(197, 168, 128, 0.4);
  transition: transform 0.15s ease;
}

input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

/* Drop Cap for Editorial Insights */
.drop-cap::first-letter {
  font-family: 'Cormorant Garamond', serif;
  float: left;
  font-size: 4.5rem;
  line-height: 0.8;
  padding-top: 4px;
  padding-right: 12px;
  padding-bottom: 2px;
  color: #C5A880;
}

/* Interactive Location Accordion / Hover Card */
.location-item {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.location-item.active {
  border-color: #C5A880;
  background-color: rgba(197, 168, 128, 0.05);
}

/* Toast Notification */
.toast-notification {
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.toast-notification.show {
  transform: translateY(0);
  opacity: 1;
}

/* Media query for reduced motion */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
