/* ================= GOOGLE FONT ================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* ================= ROOT COLORS ================= */

:root{

  --primary:#2ecc71;
  --primary-dark:#1f9d55;

  --white:#ffffff;

  --dark:#07130c;
  --dark-light:#102218;

  --glass:rgba(255,255,255,.08);

  --border:rgba(255,255,255,.08);

}

/* ================= GLOBAL ================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  scroll-behavior:smooth;
}

body{

  font-family:'Poppins',sans-serif;

  background:linear-gradient(
    to bottom,
    #07130c,
    #0d1f14,
    #12261a
  );

  color:var(--white);

  overflow-x:hidden;
}

img{
  width:100%;
  display:block;
}

a{
  text-decoration:none;
}

.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}

.section{
  padding:100px 0;
}

.section-title{
  text-align:center;
  margin-bottom:60px;
}

.section-title h2{
  font-size:42px;
  color:#eafff2;
}

/* ================= NAVBAR ================= */

.header{

  position:fixed;

  width:100%;

  top:0;

  z-index:1000;

  background:rgba(7,19,12,.6);

  backdrop-filter:blur(14px);

  border-bottom:1px solid rgba(255,255,255,.05);
}

.navbar{

  height:90px;

  display:flex;

  justify-content:space-between;

  align-items:center;
}

/* ================= LOGO ================= */

.logo{

  display:flex;

  align-items:center;

  gap:12px;

  font-size:30px;

  font-weight:700;

  color:#d8ffe8;
}

.logo img{

  width:78px;

  height:78px;

  object-fit:contain;

  filter:
    drop-shadow(0 0 12px rgba(46,204,113,.4));

  transition:.4s ease;
}

.logo:hover img{
  transform:scale(1.06) rotate(-3deg);
}

/* ================= NAV LINKS ================= */

.nav-links{

  display:flex;

  list-style:none;

  gap:30px;
}

.nav-links a{

  color:#ecfff4;

  font-weight:500;

  transition:.3s ease;
}

.nav-links a:hover,
.active{

  color:var(--primary);
}

/* ================= HERO ================= */

.hero{

  height:100vh;

  background:url('images/hero.jpg') center/cover no-repeat;

  position:relative;

  display:flex;

  align-items:center;
}

.hero-overlay{

  position:absolute;

  inset:0;

  background:linear-gradient(
    to right,
    rgba(0,0,0,.78),
    rgba(0,0,0,.35)
  );
}

.hero-content{

  position:relative;

  z-index:10;
}

.hero-content h1{

  font-size:78px;

  margin-bottom:24px;

  line-height:1.1;
}

.hero-content p{

  max-width:650px;

  line-height:1.9;

  margin-bottom:35px;

  color:#d9f8e5;
}

/* ================= BUTTONS ================= */

.hero-buttons{
  display:flex;
  gap:20px;
}

.btn{

  padding:16px 34px;

  border:none;

  border-radius:60px;

  cursor:pointer;

  font-weight:600;

  transition:.4s ease;
}

.primary-btn{

  background:linear-gradient(
    135deg,
    #2ecc71,
    #1f9d55
  );

  color:white;

  box-shadow:
    0 10px 30px rgba(46,204,113,.25);
}

.primary-btn:hover{

  transform:translateY(-6px);

  box-shadow:
    0 15px 40px rgba(46,204,113,.35);
}

.secondary-btn{

  border:1px solid rgba(255,255,255,.2);

  background:rgba(255,255,255,.06);

  color:white;
}

.secondary-btn:hover{

  transform:translateY(-6px);

  background:rgba(255,255,255,.12);
}

/* ================= GLASS CARD ================= */

.glass-card{

  background:rgba(255,255,255,.06);

  backdrop-filter:blur(12px);

  border:1px solid rgba(255,255,255,.08);

  border-radius:24px;

  padding:30px;

  box-shadow:
    0 10px 40px rgba(0,0,0,.2);
}

/* ================= GRID ================= */

.feature-grid,
.testimonial-grid,
.trips-grid{

  display:grid;

  grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

  gap:30px;
}

/* ================= FEATURE CARD ================= */

.feature-card{

  background:linear-gradient(
    145deg,
    rgba(46,204,113,.08),
    rgba(255,255,255,.03)
  );

  border:1px solid rgba(255,255,255,.06);

  padding:30px;

  border-radius:24px;

  transition:.4s ease;
}

.feature-card:hover{

  transform:translateY(-10px);

  border-color:rgba(46,204,113,.35);

  box-shadow:
    0 15px 40px rgba(46,204,113,.15);
}

/* ================= TRIP CARD ================= */

.trip-card{

  overflow:hidden;

  border-radius:24px;

  background:rgba(255,255,255,.05);

  border:1px solid rgba(255,255,255,.06);

  transition:.4s ease;
}

.trip-card:hover{

  transform:translateY(-10px);

  box-shadow:
    0 20px 50px rgba(46,204,113,.18);
}

.trip-card img{

  width:100%;

  height:260px;

  object-fit:cover;
}

.trip-content{
  padding:24px;
}

.trip-content h3{

  margin-bottom:10px;

  font-size:26px;
}

.trip-content p{

  margin-bottom:10px;

  color:#daf7e7;
}

.trip-content h4{

  margin:16px 0;

  color:#2ecc71;

  font-size:22px;
}

.trip-content ul{

  margin:20px 0;

  padding-left:20px;
}

.trip-content li{
  margin-bottom:8px;
}

/* ================= TESTIMONIALS ================= */

.testimonial-card p{

  line-height:1.8;

  color:#e2fff0;

  margin-bottom:18px;
}

/* ================= FORM ================= */

.booking-form{
  display:grid;
  gap:20px;
}

.booking-form input,
.booking-form textarea{

  padding:16px;

  border:none;

  border-radius:14px;

  background:rgba(255,255,255,.07);

  color:white;

  border:1px solid rgba(255,255,255,.08);

  font-family:'Poppins',sans-serif;
}

.booking-form input:focus,
.booking-form textarea:focus{

  outline:none;

  border-color:#2ecc71;
}

/* ================= FOOTER ================= */

.footer{

  background:#050d08;

  padding:70px 0;

  border-top:1px solid rgba(255,255,255,.05);
}

.footer-content{

  display:grid;

  grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

  gap:30px;
}

.footer h3,
.footer h4{

  margin-bottom:18px;

  color:#dffff0;
}

.footer p{

  color:#c9f5db;

  line-height:1.8;
}

/* ================= WHATSAPP ================= */

.whatsapp-btn{

  position:fixed;

  bottom:30px;

  right:30px;

  width:62px;

  height:62px;

  background:#2ecc71;

  display:flex;

  align-items:center;

  justify-content:center;

  border-radius:50%;

  font-size:30px;

  color:white;

  box-shadow:
    0 10px 30px rgba(46,204,113,.35);

  z-index:1000;
}

/* ================= TOP BUTTON ================= */

.top-btn{

  position:fixed;

  bottom:110px;

  right:30px;

  width:50px;

  height:50px;

  border:none;

  border-radius:50%;

  background:#1f9d55;

  color:white;

  cursor:pointer;

  display:none;
}

/* ================= LOADER ================= */

.loader-wrapper{

  position:fixed;

  inset:0;

  background:#020b13;

  display:flex;

  justify-content:center;

  align-items:center;

  z-index:9999;

  transition:opacity .8s ease;
}

.loader-content{
  text-align:center;
}

.loader-content h1{

  font-size:34px;

  color:#2ecc71;

  margin-top:20px;
}

.loader-content p{

  margin-top:8px;

  opacity:.75;
}

.mountains{

  display:flex;

  gap:10px;

  justify-content:center;

  margin-bottom:20px;
}

.mountains span{

  width:45px;

  height:45px;

  background:linear-gradient(
    180deg,
    #2ecc71,
    #1f9d55
  );

  clip-path:polygon(
    50% 0%,
    100% 100%,
    0% 100%
  );

  animation:bounce 1.5s infinite;
}

.mountains span:nth-child(2){
  animation-delay:.2s;
}

.mountains span:nth-child(3){
  animation-delay:.4s;
}

@keyframes bounce{

  50%{
    transform:translateY(-8px);
  }
}

/* ================= HAMBURGER ================= */

.hamburger{

  display:none;

  font-size:32px;

  cursor:pointer;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

  .hero-content h1{
    font-size:48px;
  }

  .hero-content p{
    font-size:15px;
  }

  .hero-buttons{
    flex-direction:column;
  }

  .nav-links{

    position:absolute;

    top:90px;

    right:-100%;

    flex-direction:column;

    background:#07130c;

    width:260px;

    padding:30px;

    transition:.4s ease;
  }

  .nav-links.active-menu{
    right:0;
  }

  .hamburger{
    display:block;
  }

  .logo{
    font-size:22px;
  }

  .logo img{

    width:52px;

    height:52px;
  }

  .section-title h2{
    font-size:32px;
  }

}