* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --accent: #b45309;
  --text-dark: #111827;
  --text-light: #4b5563;
}

body {
  font-family: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
}

/* Hero animations */
@keyframes heroFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes heroText {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-hero-fade {
  animation: heroFade 0.8s ease-out forwards;
}

.animate-hero-text {
  animation: heroText 1s ease-out forwards;
}

/* Section reveal animations */
@keyframes sectionReveal {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

section {
  animation: sectionReveal 0.8s ease-out forwards;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Button transitions */
button, a[class*="bg-"], input[type="submit"] {
  transition: all 0.3s ease;
}

/* Link underlines */
a {
  position: relative;
}

a:not([class*="bg-"]):not([class*="px-"]) {
  text-decoration: none;
}

/* Image transitions */
img {
  transition: transform 0.3s ease;
}

/* Form focus states */
input, select, textarea {
  transition: all 0.3s ease;
}

input:focus, select:focus, textarea:focus {
  transition: all 0.3s ease;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

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

::-webkit-scrollbar-thumb {
  background: #d97706;
  border-radius: 4px;
}

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

/* Responsive adjustments */
@media (max-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
  
  h2 {
    font-size: 2rem;
  }
}

/* Marquee effect for testimonials or special offers */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

.marquee {
  overflow: hidden;
  white-space: nowrap;
}

.marquee-content {
  display: inline-block;
  padding-right: 50px;
  animation: marquee 20s linear infinite;
}

/* Hover glow effect */
.glow-on-hover {
  transition: all 0.3s ease;
}

.glow-on-hover:hover {
  box-shadow: 0 0 20px rgba(180, 83, 9, 0.3);
}

/* Grain overlay texture */
@keyframes grain {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100px 100px;
  }
}

.grain-overlay {
  position: relative;
}

.grain-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('data:image/svg+xml?utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" result="noise" seed="1"/></filter><rect width="100" height="100" fill="rgba(0,0,0,0.03)" filter="url(%23noise)"/></svg>');
  pointer-events: none;
  animation: grain 8s steps(10) infinite;
}

/* Mobile menu slide animation */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#mobileMenu:not(.hidden) {
  animation: slideDown 0.3s ease-out;
}

/* Card hover effect */
.card-hover {
  transition: all 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Underline animation for nav items */
.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #b45309;
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

/* Gradient text */
.gradient-text {
  background: linear-gradient(135deg, #b45309 0%, #d97706 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Flex center utility */
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Visibility ensure */
body, main, section, footer, nav {
  visibility: visible;
  opacity: 1;
}

