/* Custom overrides and enhancements beyond Tailwind */
:root {
  --terracotta-600: #c23b18;
  --sand-50: #fdfbf7;
  --charcoal-900: #111827;
}

/* Smooth focus styles */
*:focus-visible {
  outline: 2px solid #c23b18;
  outline-offset: 2px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #faf5eb;
}
::-webkit-scrollbar-thumb {
  background: #d4ad72;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #c08f52;
}

/* Selection color */
::selection {
  background: #f9d9cc;
  color: #3a1009;
}

/* Mobile menu transitions */
.mobile-menu {
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu.open {
  transform: translateX(0);
}

/* Mobile link hover */
.mobile-link {
  display: block;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(228, 199, 154, 0.3);
}
.mobile-link:last-child {
  border-bottom: none;
}

/* Hero image parallax-like effect on scroll */
.hero-image {
  transition: transform 0.1s linear;
}

/* Button press effect */
button, a {
  -webkit-tap-highlight-color: transparent;
}
button:active, a:active {
  transform: scale(0.97);
}

/* Form select arrow */
select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%239d713e' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}

/* Print styles */
@media print {
  header, footer, #contact-form, #mobile-menu, #menu-overlay {
    display: none !important;
  }
  body {
    color: #000;
    background: #fff;
  }
  a {
    color: #000;
  }
}
