/* RiverFront Chalet — Custom Styles
   Complementary to Tailwind CSS
*/

/* Smooth focus styles */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #D4A017;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Selection color */
::selection {
  background: #D4A017;
  color: #0B1D3A;
}

/* Base transitions */
a, button, .card-navy, .card-light, .testimonial-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Image loading placeholder */
img {
  background: linear-gradient(135deg, #0B1D3A 0%, #153562 100%);
  min-height: 100px;
}

/* Custom focus ring for buttons */
.btn-primary:focus-visible,
.btn-secondary:focus-visible {
  outline-offset: 4px;
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Print styles */
@media print {
  .nav-container,
  .mobile-menu,
  .hamburger,
  .geo-shape-1,
  .geo-shape-2,
  .geo-shape-3,
  .section-deco,
  .accent-block,
  .accent-circle,
  .accent-line {
    display: none !important;
  }
  body {
    background: white !important;
    color: black !important;
  }
  .section-dark {
    background: #f0f0f0 !important;
    color: black !important;
  }
}

/* High contrast mode support */
@media (forced-colors: active) {
  .btn-primary {
    border: 2px solid ButtonText;
  }
  .card-navy,
  .card-light {
    border: 1px solid ButtonText;
  }
}

/* Touch device optimizations */
@media (hover: none) {
  .card-navy:hover,
  .card-light:hover {
    transform: none;
    box-shadow: none;
  }
  .gallery-item:hover img {
    transform: none;
  }
}
