



* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:root{
  --background: 210 100% 98%;
  --foreground: 210 20% 15%;
  --card: 0 0% 100%;
  --primary: 210 85% 45%;
  --secondary: 155 70% 45%;
  --accent: 25 95% 55%;
  --muted: 210 40% 96%;
  --border: 210 20% 90%;
  --gradient-hero: linear-gradient(135deg, hsl(210 85% 45%) 0%, hsl(210 85% 60%) 50%, hsl(25 95% 55%) 100%);
  --gradient-sunset: linear-gradient(180deg, hsl(25 95% 55%) 0%, hsl(15 90% 50%) 100%);
  --gradient-ocean: linear-gradient(180deg, hsl(210 85% 60%) 0%, hsl(210 85% 35%) 100%);
  --gradient-tropical: linear-gradient(135deg, hsl(155 70% 45%) 0%, hsl(180 60% 40%) 100%);
  --shadow-soft: 0 4px 20px rgba(13, 100, 255, 0.06);
  --shadow-glow: 0 0 30px rgba(13, 100, 255, 0.08); 
}

/* Helper color names for tailwind-like utilities used in HTML */
.bg-gradient-hero{background:var(--gradient-hero)}
.bg-gradient-sunset{background:var(--gradient-sunset)}
.bg-gradient-ocean{background:var(--gradient-ocean)}
.bg-gradient-tropical{background:var(--gradient-tropical)}
.text-gradient-hero{background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.text-gradient-sunset{background:var(--gradient-sunset);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.text-gradient-tropical{background:var(--gradient-tropical);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.shadow-soft{box-shadow:var(--shadow-soft)}
.shadow-glow{box-shadow:var(--shadow-glow)}
.hover-lift{transition:all .25s cubic-bezier(.4,0,.2,1)}
.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-glow)}
.transition-smooth{transition:all .25s cubic-bezier(.4,0,.2,1)}
.border-border{border-color:rgba(0,0,0,0.06)}

/* Icon utilities */
.icon{display:inline-block;vertical-align:middle}
.icon-stroke{stroke:currentColor;fill:none}
.icon-circle svg{width:28px;height:28px}
.icon-circle{display:inline-flex;align-items:center;justify-content:center}
.fill-accent{fill:hsl(var(--accent))}
.text-accent{color:hsl(var(--accent))}
.text-primary{color:hsl(var(--primary))}


.text-white{color:#fff}

/* small fixes for inlined social icons
  Limit to footer so it doesn't override Tailwind sizes globally */
.site-footer svg[viewBox]{width:1em;height:1em}

/* Footer styles matching the lovable design */
.site-footer{background:#1f272d;color:#dfe6ea}
.site-footer .container{max-width:1100px;margin:0 auto;padding:48px 24px}
.site-footer h4{color:#fff}
.site-footer a{color:rgba(255,255,255,0.75);text-decoration:none}
.site-footer a:hover{color:#fff}
.footer-top-gradient{height:160px;background:linear-gradient(90deg, rgba(33,150,243,0.9), rgba(255,152,0,0.9));margin-top:-80px}
.footer-columns{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:24px}
.footer-legal{border-top:1px solid rgba(255,255,255,0.06);padding-top:18px;margin-top:24px;color:rgba(255,255,255,0.6);font-size:14px}

/* Header tweaks */
.sticky{backdrop-filter: blur(6px)}

/* Header scrolled state */
.header-scrolled{box-shadow:0 6px 20px rgba(16,24,40,0.08);background:rgba(255,255,255,0.9)}
.nav-link.text-accent{color:hsl(var(--accent)) !important}
.nav-link.font-semibold{font-weight:600}


/* Basic resets and body styles */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html {
  height: calc(var(--vh, 1vh) * 100);
  overflow-x: hidden;
  touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: calc(var(--vh, 1vh) * 100);
  overflow-x: hidden;
  position: relative;
  width: 100%;
  font-family: Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  line-height: 1.4;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  touch-action: manipulation;
}

/* small utilities used in the static page */
.text-foreground{color:hsl(var(--foreground))}
.text-muted-foreground{color:rgba(0,0,0,0.55)}
.bg-card{background:hsla(0,0%,100%,.95)}
.bg-muted{background:hsl(var(--muted))}
.bg-background{background:hsl(var(--background))}
.border-accent{border-color:hsl(var(--accent))}
.accent{color:hsl(var(--accent))}
.darkblue{background:rgba(10,25,80,0.08)}

/* small responsive tweaks for image object-fit when using the CDN */
img{display:block;max-width:100%;height:auto}

/* nav link active underline helper */
.nav-link.border-b-2{border-bottom-width:2px}
.border-accent{border-color:hsl(var(--accent))}

/* form inputs */
input,textarea{font-family:inherit}

/* small animation */
.animate-pulse{animation:pulse 1.8s infinite}
@keyframes pulse{0%{opacity:1}50%{opacity:.6}100%{opacity:1}}

/* Modal helpers */
#booking-modal{display:none}
/* overlay uses data-modal-overlay attribute in the markup */
#booking-modal [data-modal-overlay]{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,0.45)}
#booking-modal .relative{z-index:60}
#booking-modal[aria-hidden="false"]{display:flex}
#booking-modal .hidden{display:none !important}


