:root {
  --color-background: #0B0B0B;
  --color-card: #161616;
  --color-primary: #D4AF37;
  --color-primary-hover: #b8962b;
  --color-secondary: #2C2C2C;
  --color-text-main: #FBFBFB;
  --color-text-muted: #9CA3AF;
  --font-sans: "Inter", sans-serif;
}

body {
  background-color: var(--color-background);
  color: var(--color-text-main);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

::selection {
  background-color: var(--color-primary);
  color: #000;
}

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--color-background);
}
::-webkit-scrollbar-thumb {
  background: var(--color-secondary);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary);
}

/* Glass & Utilities */
.glass-panel {
  background-color: rgba(22, 22, 22, 0.6); /* --color-card 60% */
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Typography & Colors Utilities for seamless Tailwind mapping */
.text-primary { color: var(--color-primary) !important; }
.text-textMain { color: var(--color-text-main) !important; }
.text-textMuted { color: var(--color-text-muted) !important; }
.bg-primary { background-color: var(--color-primary) !important; }
.bg-card { background-color: var(--color-card) !important; }
.bg-secondary { background-color: var(--color-secondary) !important; }
.bg-background { background-color: var(--color-background) !important; }
.border-primary { border-color: var(--color-primary) !important; }

.hover\:bg-primaryHover:hover { background-color: var(--color-primary-hover) !important; }
.hover\:text-primary:hover { color: var(--color-primary) !important; }

/* Custom Overrides for Bootstrap to match Tailwind rounded edges & constraints */
.rounded-2xl { border-radius: 1rem !important; }
.rounded-3xl { border-radius: 1.5rem !important; }
.rounded-full { border-radius: 9999px !important; }

.max-w-[1600px] { max-w: 1600px !important; }

/* Grayscale and animations */
.grayscale-img { filter: grayscale(20%); }
.grayscale-50 { filter: grayscale(50%); }

.hero-gradient {
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.6), rgba(11,11,11,0.9));
}

.transition-all { transition: all 0.3s ease; }
.duration-700 { transition-duration: 700ms; }
.duration-500 { transition-duration: 500ms; }

.group:hover .group-hover\:scale-105 {
  transform: scale(1.05);
}

input:focus, select:focus {
  outline: none !important;
  box-shadow: 0 0 0 1px var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

/* Animations */
@keyframes fadeInZoom {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.animate-in { animation: fadeInZoom 0.3s ease-out forwards; }

/* Service card hover */
.hover-border-primary { transition: border-color 0.3s ease; }
.hover-border-primary:hover { border-color: var(--color-primary) !important; }

/* Location section iframe hover */
#location .position-relative:hover iframe {
  filter: grayscale(0%) brightness(0.8) !important;
}
#location .position-relative:hover > .position-absolute:nth-child(2) {
  background: rgba(0,0,0,0.2) !important;
}

/* Z-index utilities */
.z-index-2 { z-index: 2; position: relative; }

/* Cursor pointer for interactive cards */
.cursor-pointer { cursor: pointer; }

/* Tracking/letter-spacing */
.tracking-widest { letter-spacing: 0.2em; }

/* About section image hover */
#about .col-lg-6:last-child .position-relative:hover .position-absolute:first-child {
  transform: scale(1.05);
  transition: transform 0.7s ease;
}

/* Max-width utility */
.max-w-xl { max-width: 600px; }

/* Responsive mobile nav toggler */
@media (max-width: 767.98px) {
  .hero-gradient {
    background: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent 30%, rgba(11,11,11,0.95));
  }
}

/* Google Fonts import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
