*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:#f4f7fb;
overflow-x:hidden;
}

/* HEADER */

header{
width:100%;
position:fixed;
top:0;
left:0;
z-index:1000;
padding:18px 8%;
background:rgba(0,0,0,0.5);
backdrop-filter:blur(10px);
display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
display:flex;
align-items:center;
gap:15px;
}

.logo img{
width:70px;
animation:rotateLogo 10s linear infinite;
}

.logo h1{
color:#fff;
font-size:34px;
font-weight:700;
}

.logo span{
color:#ff9800;
}

nav ul{
display:flex;
list-style:none;
gap:30px;
}

nav ul li a{
color:#fff;
text-decoration:none;
font-size:17px;
transition:0.3s;
}

nav ul li a:hover{
color:#ff9800;
}

/* ========================
   HERO — SLIDESHOW VERSION
   ======================== */

.hero{
width:100%;
height:100vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:20px;
position:relative;
overflow:hidden;
}

/* Dark overlay on top of slides */
.hero::before{
content:'';
position:absolute;
inset:0;
background:rgba(0,0,0,0.60);
z-index:1;
pointer-events:none;
}

/* Each background slide */
.hero-slide{
position:absolute;
inset:0;
background-size:cover;
background-position:center;
opacity:0;
transition:opacity 1.5s ease-in-out;
z-index:0;
}

.hero-slide.active{
opacity:1;
}

/* Content sits above overlay */
.hero-content{
position:relative;
z-index:2;
}

/* Dot indicators */
.hero-dots{
position:absolute;
bottom:30px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:10px;
z-index:3;
}

.hero-dot{
width:10px;
height:10px;
border-radius:50%;
background:rgba(255,255,255,0.45);
cursor:pointer;
transition:background 0.4s, transform 0.3s;
border:none;
outline:none;
}

.hero-dot.active{
background:#ff9800;
transform:scale(1.3);
}

/* ====================== */

.hero-content img{
width:220px;
margin-bottom:20px;
animation:floatLogo 4s ease-in-out infinite;
}

.hero-content h2{
color:#fff;
font-size:70px;
margin-bottom:20px;
}

.hero-content h2 span{
color:#ff9800;
}

.hero-content p{
color:#fff;
font-size:22px;
margin-bottom:35px;
}

.hero-btn{
display:inline-block;
padding:15px 40px;
background:#ff9800;
color:#fff;
text-decoration:none;
border-radius:40px;
font-size:18px;
transition:0.4s;
}

.hero-btn:hover{
background:#fff;
color:#000;
}

/* ABOUT */

.about{
padding:100px 8%;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:50px;
align-items:center;
background:#fff;
}

.about img{
width:100%;
border-radius:25px;
box-shadow:0 15px 35px rgba(0,0,0,0.15);
}

.about-text h2{
font-size:45px;
margin-bottom:20px;
color:#0b1f3a;
}

.about-text p{
color:#555;
line-height:1.8;
font-size:17px;
}

/* DESTINATIONS */

.destinations{
padding:100px 8%;
}

.section-title{
text-align:center;
font-size:45px;
margin-bottom:60px;
color:#0b1f3a;
}

.card-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:35px;
}

.card{
background:#fff;
border-radius:25px;
overflow:hidden;
box-shadow:0 15px 35px rgba(0,0,0,0.1);
transition:0.5s ease;
position:relative;
animation:fadeUp 1s ease;
}

.card::before{
content:'';
position:absolute;
width:100%;
height:100%;
background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);
top:0;
left:0;
opacity:0;
transition:0.5s;
}

.card:hover::before{
opacity:1;
}

.card:hover{
transform:translateY(-15px) scale(1.03);
box-shadow:0 20px 45px rgba(0,0,0,0.25);
}

.card img{
width:100%;
height:250px;
object-fit:cover;
transition:0.6s;
}

.card:hover img{
transform:scale(1.1);
}

.card-content{
padding:30px;
position:relative;
z-index:2;
}

.card-content h3{
font-size:28px;
color:#0b1f3a;
margin-bottom:15px;
}

.card-content p{
color:#666;
line-height:1.7;
margin-bottom:18px;
}

.card-content a{
display:inline-block;
padding:12px 28px;
background:#ff9800;
color:#fff;
text-decoration:none;
border-radius:35px;
transition:0.4s;
}

.card-content a:hover{
background:#0b1f3a;
transform:translateY(-4px);
}

/* SERVICES */

.services{
background:#0b1f3a;
padding:100px 8%;
}

.services .section-title{
color:#222;
}

.service-boxes{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-bottom: 20px;
}

.service{
background:#fff;
padding:40px 25px;
border-radius:25px;
text-align:center;
transition:0.4s;
}

.service:hover{
transform:translateY(-10px);
}

.service img{
width:80px;
margin-bottom:20px;
}

.service h3{
margin-bottom:15px;
color:#0b1f3a;
}

.service p{
color:#666;
line-height:1.6;
}

/* CONTACT */

.contact{
padding:100px 8%;
background:#fff;
}

.contact-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:40px;
}

.contact-box{
background:#f5f5f5;
padding:40px;
border-radius:25px;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:15px;
margin-bottom:18px;
border:none;
border-radius:12px;
outline:none;
}

.contact-form button{
padding:15px 35px;
border:none;
border-radius:35px;
background:#ff9800;
color:#fff;
font-size:17px;
cursor:pointer;
}

/* FOOTER */

footer{
background:#081426;
color:#fff;
text-align:center;
padding:25px;
}

/* WHATSAPP */

.whatsapp{
position:fixed;
right:20px;
bottom:20px;
z-index:999;
}

.whatsapp a{
display:flex;
align-items:center;
gap:12px;
background:#25d366;
color:#fff;
text-decoration:none;
padding:14px 22px;
border-radius:50px;
font-size:18px;
font-weight:600;
}


/* BOOKING SECTION */

.booking-section{
padding:100px 8%;
background:#eef4ff;
border-radius: 25px;
}

.booking-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
gap:40px;
margin-top:50px;
}

.booking-form{
background:#fff;
padding:40px;
border-radius:25px;
box-shadow:0 15px 35px rgba(0,0,0,0.1);
}

.booking-form h3{
font-size:32px;
margin-bottom:25px;
color:#0b1f3a;
}

.booking-form input,
.booking-form select,
.booking-form textarea{
width:100%;
padding:15px;
margin-bottom:20px;
border:none;
background:#f3f5f9;
border-radius:12px;
font-size:16px;
outline:none;
}

.booking-form button{
width:100%;
padding:16px;
border:none;
border-radius:40px;
background:#ff9800;
color:#fff;
font-size:18px;
cursor:pointer;
transition:0.4s;
}

.booking-form button:hover{
background:#0b1f3a;
}

.package-details{
background:#fff;
padding:40px;
border-radius:25px;
box-shadow:0 15px 35px rgba(0,0,0,0.1);
}

.package-details h3{
font-size:32px;
margin-bottom:25px;
color:#0b1f3a;
}

.package-box{
margin-bottom:25px;
padding:20px;
border-radius:18px;
background:#f5f5f5;
transition:0.4s;
}

.package-box:hover{
transform:translateY(-8px);
background:#ff9800;
color:#fff;
}

.package-box h4{
font-size:24px;
margin-bottom:10px;
}

.package-box p{
line-height:1.7;
}
.booking-form>.form{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 80px;
}

.booking-form>.form>.form_photo>img{
    width: 100%;
    border-radius: 24px;
    transition: all .3s ease-in;
}

.booking-form>.form>.form_photo>img:hover{
    transform: translateY(-20px);
}


/* GALLERY */

.gallery{
padding:100px 8%;
background:#fff;
}

.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:25px;
margin-top:50px;
}

.gallery-item{
position:relative;
overflow:hidden;
border-radius:25px;
box-shadow:0 15px 35px rgba(0,0,0,0.15);
}

.gallery-item img{
width:100%;
height:280px;
object-fit:cover;
transition:0.6s;
}

.gallery-item:hover img{
transform:scale(1.1);
}

.gallery-content{
position:absolute;
bottom:0;
left:0;
width:100%;
padding:20px;
background:linear-gradient(to top,rgba(0,0,0,0.8),transparent);
color:#fff;
}

.gallery-content h3{
font-size:28px;
margin-bottom:10px;
}

.gallery-content p{
font-size:15px;
}

/* MOBILE */

@media(max-width:768px){

.booking-form,
.package-details{
padding:25px;
}

.booking-form h3,
.package-details h3{
font-size:26px;
}

}


/* ANIMATIONS */

@keyframes floatLogo{
0%{transform:translateY(0);}
50%{transform:translateY(-15px);}
100%{transform:translateY(0);}
}

@keyframes rotateLogo{
0%{transform:rotate(0deg);}
100%{transform:rotate(360deg);}
}

@keyframes fadeUp{
0%{
opacity:0;
transform:translateY(60px);
}
100%{
opacity:1;
transform:translateY(0);
}
}
   

/* MOBILE */

@media(max-width:768px){

header{
flex-direction:column;
gap:15px;
}

nav ul{
flex-wrap:wrap;
justify-content:center;
}

.hero-content h2{
font-size:45px;
}

.hero-content p{
font-size:17px;
}

.logo h1{
font-size:26px;
}

.hero-content img{
width:160px;
}

.section-title{
font-size:34px;
}

}