/* Extra styles on top of Tailwind */

html { scroll-behavior: smooth; }

.card {
  @apply bg-white rounded-2xl border border-maldive-100 shadow-sm hover:shadow-soft transition;
}

.btn-primary {
  background: linear-gradient(90deg,#06a8dc,#0586b6);
  color: #fff;
  padding: .65rem 1.1rem;
  border-radius: .75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  box-shadow: 0 10px 30px -10px rgba(6,168,220,.45);
  transition: filter .15s ease, transform .15s ease;
}
.btn-primary:hover { filter: brightness(1.08); transform: translateY(-1px); }

.btn-outline {
  background: #fff;
  color: #0a6b92;
  border: 1px solid #a9ebff;
  padding: .55rem 1rem;
  border-radius: .75rem;
  font-weight: 500;
}
.btn-outline:hover { background: #ecfbff; }

.input {
  width: 100%;
  padding: .65rem .9rem;
  border-radius: .75rem;
  border: 1px solid #d0f3ff;
  background: #fff;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.input:focus {
  border-color: #2cc4f5;
  box-shadow: 0 0 0 4px rgba(44,196,245,.18);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .15rem .6rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 500;
}

/* ============ Hero slider + full-bleed video (YouTube cover-fit) ============ */
.hero-slider { isolation: isolate; }

.hero-slider-dot {
  transition: width .25s ease, background-color .25s ease, opacity .25s ease;
}
.hero-slider-dot[data-active="true"] {
  width: 2rem;
  background-color: #0586b6 !important;
  opacity: 1;
}
.hero-slider-dot:not([data-active="true"]) {
  opacity: .65;
}

/* Scale iframe up to hide YouTube UI & keep "object-fit: cover" feel */
.hero-full__iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 140%;
  height: 140%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
  filter: saturate(1.12) contrast(1.03);
}

/* Palm sway */
@keyframes palmSway {
  0%,100% { transform: rotate(-2deg); }
  50%     { transform: rotate( 3deg); }
}
.hero-palm { transform-origin: 40px 110px; animation: palmSway 5s ease-in-out infinite; }

/* Floating clouds drifting across */
@keyframes cloudDrift {
  0%   { transform: translateX(-20%); opacity: 0; }
  10%  { opacity: .85; }
  90%  { opacity: .85; }
  100% { transform: translateX(520%); opacity: 0; }
}
.hero-cloud       { font-size: 26px; line-height: 1; animation: cloudDrift 22s linear infinite; }
.hero-cloud--a    { left: 0;  animation-delay: 0s; }
.hero-cloud--b    { left: 0;  animation-delay: 11s; font-size: 20px; }

/* Gently bobbing seagull */
@keyframes birdFly {
  0%   { transform: translate(0,0) scaleX(1); opacity: 0; }
  10%  { opacity: .8; }
  50%  { transform: translate(50%, -12px) scaleX(1); }
  90%  { opacity: .8; }
  100% { transform: translate(110%, 4px) scaleX(1); opacity: 0; }
}
.hero-bird       { top: 24%; left: 0; font-size: 18px; animation: birdFly 14s ease-in-out infinite; }

/* Subtle zoom/pan "ken-burns" on the whole hero media for extra liveliness */
@keyframes kenBurns {
  0%   { transform: translate(-50%, -50%) scale(1.00); }
  50%  { transform: translate(-50%, -50%) scale(1.06); }
  100% { transform: translate(-50%, -50%) scale(1.00); }
}
.hero-full__iframe { animation: kenBurns 18s ease-in-out infinite; }

/* Respect user's reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .hero-palm, .hero-cloud, .hero-bird, .hero-full__iframe { animation: none !important; }
}
