@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

:root {
  --primary: #0f172a;
  /* Navy */
  --secondary: #64748b;
  /* Slate */
  --accent: #eab308;
  /* Gold/Yellow */
  --bg-sand: #f8fafc;
  /* Light Slate/White */
}

body {
  font-family: 'Inter', sans-serif;
  background-color: var(--bg-sand);
  color: var(--primary);
  scroll-behavior: smooth;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Lora', serif;
}

.glass-nav {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(15, 23, 42, 0.05);
  z-index: 50;
}

/* Ensure header backgrounds stay behind navigation */
header.relative {
  z-index: 0;
}

header.relative>.absolute {
  z-index: 1;
}

header.relative>.relative {
  z-index: 10;
}

.hero-gradient {
  background: linear-gradient(to bottom, rgba(15, 23, 42, 0.3), rgba(15, 23, 42, 0.1));
}

.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: fadeIn 0.8s ease-out forwards;
}

.delay-100 {
  animation-delay: 0.1s;
}

.delay-200 {
  animation-delay: 0.2s;
}

.delay-300 {
  animation-delay: 0.3s;
}

.booking-form-input {
  transition: all 0.3s ease;
}

.booking-form-input:focus {
  transform: scale(1.01);
}

/* Global Emboss Effect for Logo */
img[src="images/logo.png"] {
  filter: drop-shadow(2px 3px 4px rgba(0, 0, 0, 0.6)) 
          drop-shadow(-1px -1px 1px rgba(255, 255, 255, 0.3));
}

/* Social Media Icons */
.social-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.05);
  color: white;
  margin-right: 0.75rem;
  transition: all 0.3s ease;
  font-size: 1.1rem; /* Reduced size */
}

.social-icon-link:hover {
  background-color: var(--accent);
  color: var(--primary);
  transform: translateY(-3px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Contact Page Form Element Icons */
[class*="bg-primary/5"] {
  transition: all 0.3s ease;
}

[class*="bg-primary/5"]:hover {
  background-color: var(--accent);
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}