@import "tailwindcss";

@theme {
  --color-gold-start: #d4af37;
  --color-gold-end: #aa7c11;
}

@layer base {
  html {
    scroll-behavior: smooth;
  }
  body {
    font-family: 'Heebo', sans-serif;
    @apply bg-slate-50 text-slate-800;
  }
}

@keyframes bounce-slow {
  0%, 100% { transform: translateY(-5%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
  50% { transform: translateY(0); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
}
.animate-bounce-slow {
  animation: bounce-slow 3s infinite;
}

@layer components {
  .gold-grad {
    background: linear-gradient(135deg, var(--color-gold-start) 0%, var(--color-gold-end) 100%);
  }
  .gold-text {
    color: var(--color-gold-end);
  }
  .shimmer-gold {
    background: linear-gradient(
      to right,
      #aa7c11 20%,
      #d4af37 40%,
      #d4af37 60%,
      #aa7c11 80%
    );
    background-size: 200% auto;
    color: #000;
    background-clip: text;
    text-fill-color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shine 4s linear infinite;
  }
  @keyframes shine {
    to {
      background-position: 200% center;
    }
  }
  
  .pulse-slide-up {
    animation: pulseSlideUp 0.7s ease-out forwards;
  }

  @keyframes pulseSlideUp {
    0% { transform: translateY(20px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
  }

  .reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
  }
  .reveal.active {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hover effects for cards */
.property-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.property-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}


/* Accessibility Classes */
.acc-grayscale { filter: grayscale(100%) !important; }
.acc-contrast { background: #000 !important; color: #ff0 !important; }
.acc-contrast * { background: #000 !important; color: #ff0 !important; border-color: #ff0 !important; }
.acc-readable { font-family: Arial, sans-serif !important; font-weight: bold !important; }
.acc-links a { text-decoration: underline !important; font-weight: 900 !important; color: #0000EE !important; background: #FFFF00 !important; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: fadeIn 0.3s ease-out forwards; }

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #d4af37; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #aa7c11; }
