/* Oved Technologies — custom theme, fonts, and animations.
   Tailwind utility classes are provided by the Play CDN (configured in index.html).
   This file holds the design tokens, base styles, custom helpers and keyframes. */

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

:root {
  --font-sans: "Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-serif: "Cormorant Garamond", "Playfair Display", "Georgia", serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;

  --color-brand-primary: #1C1D1C;
  --color-brand-accent: #C5A880;
  --color-brand-warm-bg: #F5F2EB;
  --color-brand-dark-bg: #121312;
  --color-brand-subtle: #FAF8F5;
  --color-brand-divider: #E4DEC1;
}

html { scroll-behavior: smooth; }

body {
  background-color: #FAF9F6;
  color: #1C1D1C;
  font-family: var(--font-sans);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

/* Minimal scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(197, 168, 128, 0.25); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: rgba(197, 168, 128, 0.45); }

.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
.scrollbar-hide::-webkit-scrollbar { display: none; }

/* Fine borders */
.damai-border { border-color: rgba(197, 168, 128, 0.35); }

/* Animated underline hover */
.damai-hover-effect { position: relative; overflow: hidden; }
.damai-hover-effect::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #C5A880;
  transform-origin: bottom right;
  transition: transform 0.4s ease-out;
}
.damai-hover-effect:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Keyframes (animate-fadeIn, animate-spin-slow handled via Tailwind config) */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.animate-fadeIn { animation: fadeIn 0.6s ease-out both; }

@keyframes oved-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.oved-rise { animation: oved-rise 0.6s ease-out both; }

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

/* selection */
::selection { background: #C5A880; color: #1C1D1C; }

/* Range input accent fallback */
input[type="range"] { accent-color: #C5A880; }

/* Smooth view fade used when switching client/admin */
.view-fade { animation: fadeIn 0.5s ease-out both; }

/* Map drag cursor */
.map-canvas { cursor: grab; }
.map-canvas:active { cursor: grabbing; }
