@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

/* Base Styles */
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

section {
  scroll-margin-top: 90px;
}

body {
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Animation Utilities */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.reveal-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: all 0.8s ease-out;
}

.reveal-left.active {
  opacity: 1;
  transform: translateX(0);
}

.reveal-right {
  opacity: 0;
  transform: translateX(50px);
  transition: all 0.8s ease-out;
}

.reveal-right.active {
  opacity: 1;
  transform: translateX(0);
}

/* Staggered delays */
.delay-100 {
  transition-delay: 100ms;
}
.delay-200 {
  transition-delay: 200ms;
}
.delay-300 {
  transition-delay: 300ms;
}

/* Header Transitions */
header {
  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    color 0.3s ease;
}

header.header-transparent .nav-link {
  color: #ffffff;
}

header.header-transparent .icon-color {
  color: #ffffff;
}

/* Logo Filter for Transparent Header (Make it White) */
header.header-transparent .logo-img {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}

/* Header Scrolled State */
header.header-scrolled {
  background-color: #ffffff;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  color: #1f2937;
}

header.header-scrolled .nav-link {
  color: #1f2937;
}

header.header-scrolled .nav-link:hover {
  color: #0284c7; /* sky-600 */
}

header.header-scrolled .icon-color {
  color: #4070a5;
}

/* Logo Filter Reset for Scrolled Header (Original Color) */
header.header-scrolled .logo-img {
  filter: none;
  transition: filter 0.3s ease;
}

/* Header WhatsApp Button Transitions */
.header-whatsapp-btn {
  font-weight: 600; /* font-semibold equivalent */
}

/* WhatsApp Button - Transparent Header (White bg, Green text) */
header.header-transparent .header-whatsapp-btn {
  background-color: #ffffff;
  color: #25d366;
}
header.header-transparent .header-whatsapp-btn:hover {
  background-color: #f0fdf4; /* Light green tint on hover */
}

/* WhatsApp Button - Scrolled Header (Green bg, White text) */
header.header-scrolled .header-whatsapp-btn {
  background-color: #25d366;
  color: #ffffff;
}
header.header-scrolled .header-whatsapp-btn:hover {
  background-color: #128c7e;
}

/* Mobile Menu Transitions */
.mobile-menu-backdrop {
  transition: opacity 0.3s ease;
}

.mobile-menu-drawer {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Map Iframe */
.map-iframe {
  border: 0;
}

/* Floating WhatsApp Pulse Animation */
@keyframes pulse-green {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
  }
  70% {
    box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

.floating-whatsapp {
  animation: pulse-green 2s infinite;
}

/* Cookie Banner */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #1f2937; /* gray-900 */
  color: white;
  padding: 1rem;
  z-index: 60;
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1);
}

.cookie-banner.show {
  transform: translateY(0);
}
