:root {
  --fisions-brown: #8c645a;
  --fisions-rose: #c19d89;
  --fisions-sand: #b9a791;
  --fisions-peach: #e3c7b7;
  --fisions-cream: #f2efe2;
  --fisions-dark: #3a2520;
  --fisions-white: #ffffff;

  --grad-1: linear-gradient(135deg, #75564e, #af8f7c);
  --grad-2: linear-gradient(135deg, #af8f7c, #a69982);
  --grad-3: linear-gradient(135deg, #a69982, #d6baa7);
  --grad-4: linear-gradient(135deg, #d6baa7, #ecebd4);
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--fisions-cream);
  color: var(--fisions-dark);
}

.skip-link {
  position: absolute;
  left: 1rem;
  top: -3rem;
  z-index: 100;
  background-color: var(--fisions-brown);
  color: var(--fisions-white);
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  transition: top 0.2s ease;
}

.skip-link:focus {
  top: 1rem;
}

/* Scroll-triggered entrance animations */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes whatsapp-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

.whatsapp-pulse {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  animation: whatsapp-pulse 2.4s infinite;
}

.whatsapp-float svg {
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .animate-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .whatsapp-pulse {
    animation: none;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
