/* Custom styles — loaded after Tailwind for overrides */

/* Smooth scroll offset for fixed navbar */
html {
  scroll-padding-top: 80px;
}

/* Selection color */
::selection {
  background: rgba(139, 32, 27, 0.15);
  color: #1f2937;
}

/* Subtle gradient text utility */
.text-gradient {
  background: linear-gradient(135deg, #8b201b, #c93830);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Image shimmer loading placeholder */
img {
  background: linear-gradient(110deg, #f5c0bc 0%, #fadddc 50%, #f5c0bc 100%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
img[src] {
  animation: none;
  background: none;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Focus visible for accessibility */
*:focus-visible {
  outline: 2px solid #8b201b;
  outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .service-card,
  .btn-primary,
  .btn-secondary,
  .btn-white,
  a,
  button {
    transition: none !important;
    animation: none !important;
  }
  html { scroll-behavior: auto; }
}

/* Print styles */
@media print {
  .navbar, .mobile-menu, .mobile-overlay, .cta-section { display: none; }
  body { color: #000; background: #fff; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-img-main { min-height: auto; }
}
