:root {
  --primary: #34c759; /* light glossy green */
  --primary-dark: #2bb24c;
  --primary-light: #e9f9ef;
  --success: var(--primary);
  --dark: #222;
}

body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; }

.hero-carousel .carousel-item { height: 72vh; min-height: 520px; }
.hero-carousel .hero-caption { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); }
.hero-slide-1, .hero-slide-2 { background-position: center; background-size: cover; background-repeat: no-repeat; }
.hero-slide-1 { background-image: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)), url('../img/pic1.jpg'); }
.hero-slide-2 { background-image: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)), url('../img/pic2.jpg'); }
.hero-badges .badge { padding: .6rem .8rem; }

.section-pad { padding: 60px 0; }
.section-title { font-weight: 700; }

.pricing-card .price { font-size: 1.1rem; }

.icon-round { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }

/* Interactive features */
.cursor-pointer { cursor: pointer; }
.feature-box { border-radius: .75rem; background: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
.feature-box:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.icon-xl { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 28px; box-shadow: 0 6px 16px rgba(0,0,0,.12); }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(16px); }
.reveal.revealed { opacity: 1; transform: translateY(0); transition: opacity .6s ease, transform .6s ease; }

/* Carousel placeholders (replace with real images later) */
.hero-fallback { height: 420px; background: url('https://images.unsplash.com/photo-1558981359-219d6364c9c8?q=80&w=1600&auto=format&fit=crop') center/cover; }
.hero-fallback-2 { height: 420px; background: url('https://images.unsplash.com/photo-1564668746777-7d3d4c1c2f0e?q=80&w=1600&auto=format&fit=crop') center/cover; }
.hero-fallback-3 { height: 420px; background: url('https://images.unsplash.com/photo-1473116763249-2faaef81ccda?q=80&w=1600&auto=format&fit=crop') center/cover; }

/* Promo Banner */
.promo-banner {
  min-height: 220px;
  background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
}

/* Gallery grid */
.g-thumb { width: 100%; padding-top: 75%; border-radius: .5rem; background-size: cover; background-position: center; box-shadow: 0 4px 16px rgba(0,0,0,.08); background-color: #f8f9fa; }
.g1 { background-image: url('../img/gallery/1.jpeg'); }
.g2 { background-image: url('../img/gallery/2.jpeg'); }
.g3 { background-image: url('../img/gallery/3.jpeg'); }
.g4 { background-image: url('../img/gallery/4.jpeg'); }
.g5 { background-image: url('../img/gallery/5.jpeg'); }
.g6 { background-image: url('../img/gallery/1.jpeg'); }
.g7 { background-image: url('../img/gallery/2.jpeg'); }
.g8 { background-image: url('../img/gallery/3.jpeg'); }

/* Package Cards */
.package-card {
  border: none;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.package-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.package-thumb {
  height: 200px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.package-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 0.8rem;
  font-weight: bold;
  padding: 8px 12px;
  border-radius: 20px;
}

.package-actions {
  margin-top: auto;
  padding-top: 1rem;
}

/* Trust items */
.trust-item i { font-size: 1.2rem; }

/* Floating WhatsApp button */
.wa-float {
  position: fixed; right: 18px; bottom: 18px; width: 56px; height: 56px;
  background: #25D366; color: #fff; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; font-size: 28px; z-index: 1030;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.wa-float:hover { color: #fff; text-decoration: none; box-shadow: 0 10px 28px rgba(0,0,0,.3); }
.wa-float.show { opacity: 1; visibility: visible; transform: translateY(0); }

/* Back-to-top floating button */
.to-top {
  position: fixed; right: 18px; bottom: 86px; width: 48px; height: 48px;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background-image: linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);
  color: #fff; border: 0; outline: none; cursor: pointer; z-index: 1030;
  box-shadow: 0 8px 24px rgba(52,199,89,.35);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.to-top:hover { filter: brightness(1.03); box-shadow: 0 12px 26px rgba(52,199,89,.5); }

/* Mobile responsive adjustments for floating buttons */
@media (max-width: 768px) {
  .wa-float { right: 12px; bottom: 12px; width: 52px; height: 52px; font-size: 26px; }
  .to-top { right: 12px; bottom: 76px; width: 44px; height: 44px; }
}

/* Small helpers */
.small { font-size: 87%; }

/* Fine-tune navbar toggler on iOS dark backgrounds */
.navbar-light .navbar-toggler { border-color: rgba(0,0,0,.1); }

@media (max-width: 575.98px) {
  .hero-carousel .carousel-item { height: 62vh; }
}

/* THEME: Light glossy green overrides */
.navbar-light .navbar-brand { color: var(--primary); }
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: var(--primary); }

.btn-primary,
.btn-success { 
  background-image: linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);
  border-color: var(--primary-dark);
  color: #fff;
  box-shadow: 0 6px 16px rgba(52, 199, 89, 0.35);
}
.btn-primary:hover, .btn-success:hover { 
  filter: brightness(1.03);
  box-shadow: 0 10px 22px rgba(52, 199, 89, 0.45);
}

.btn-outline-success { 
  color: var(--primary);
  border-color: var(--primary);
}
.btn-outline-success:hover {
  background-image: linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);
  border-color: var(--primary-dark);
  color: #fff;
}

.badge-success, .bg-success { background-color: var(--primary) !important; }

.feature-box { border: 1px solid rgba(52,199,89,.15); }
.feature-box:hover { border-color: rgba(52,199,89,.35); }

.icon-xl.bg-success { background: linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%); }
.icon-round.bg-success { background: linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%); }

/* Links accent */
a { color: #0b8f3f; }
a:hover { color: #066e30; }

/* Subtle section accent */
.section-pad { background-image: linear-gradient(180deg, rgba(233,249,239,0) 0%, rgba(233,249,239,.5) 100%); background-attachment: scroll; }

/* ISLAND HOPPING: Blue Ocean Theme */
#island .package-card { border-color: rgba(0,102,204,.15); }
#island .package-card:hover { border-color: rgba(0,102,204,.35); }
#island .package-badge { background: linear-gradient(180deg, #0066cc 0%, #0052a3 100%); }
#island .btn-success { 
  background-image: linear-gradient(180deg, #0066cc 0%, #0052a3 100%);
  border-color: #0052a3;
  box-shadow: 0 6px 16px rgba(0,102,204,0.35);
}
#island .btn-success:hover { 
  box-shadow: 0 10px 22px rgba(0,102,204,0.45);
}
#island .btn-outline-success { 
  color: #0066cc;
  border-color: #0066cc;
}
#island .btn-outline-success:hover {
  background-image: linear-gradient(180deg, #0066cc 0%, #0052a3 100%);
  border-color: #0052a3;
  color: #fff;
}

#island .section-title { color: #0066cc; }
#island .btn-primary { 
  background-image: linear-gradient(180deg, #0066cc 0%, #0052a3 100%);
  border-color: #0052a3;
  box-shadow: 0 6px 16px rgba(0,102,204,0.35);
}
#island .btn-primary:hover { 
  box-shadow: 0 10px 22px rgba(0,102,204,0.45);
}

/* Make package cards same height and align buttons */
.package-card { display: flex; flex-direction: column; }
.package-card .card-body { flex: 1; display: flex; flex-direction: column; }
.package-card .package-actions { margin-top: auto; }

/* Navbar language toggle button */
#langToggleNav {
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  transition: all 0.25s ease;
  display: inline-block !important;
}

#langToggleNav:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(52,199,89,.3);
}

/* Mobile responsive adjustments for navbar language button */
@media (max-width: 768px) {
  #langToggleNav {
    font-size: 11px;
    padding: 5px 10px;
    margin-right: 10px !important;
  }
  
  .navbar-brand {
    font-size: 1.1rem;
  }
}


