@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600&display=swap');

body{
margin:0;
padding:0;
font-family:'Fredoka', sans-serif;
background:#fffaf5;
color:#333;
}

/* NAVBAR */

.navbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:25px 60px;
background:#fff4dc;
position:sticky;
top:0;
z-index:1000;
}

.logo{
font-size:36px;
color:#1597a5;
font-weight:600;
}

.nav-links{
display:flex;
gap:25px;
}

.nav-links a{
text-decoration:none;
color:#1597a5;
font-size:18px;
}

/* HERO */

.hero{
display:flex;
justify-content:space-between;
align-items:center;
padding:100px 8%;
gap:60px;
flex-wrap:wrap;
}

.hero-text{
flex:1;
}

.hero-text h1{
font-size:72px;
color:#1597a5;
margin-bottom:20px;
}

.hero-text p{
font-size:22px;
line-height:1.7;
margin-bottom:35px;
}

.hero-btn{
text-decoration:none;
background:#ff8f6b;
color:white;
padding:18px 34px;
border-radius:50px;
display:inline-block;
}

.hero-image{
flex:1;
display:flex;
justify-content:center;
}

.hero-image img{
width:100%;
max-width:500px;

border-radius:40% 60% 55% 45%;

box-shadow:0 10px 25px rgba(0,0,0,0.12);
}

/* OPTIONS */

.boarding-options{
padding:100px 8%;
text-align:center;
}

.boarding-options h2{
font-size:58px;
color:#1597a5;
margin-bottom:60px;
}

.options-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.option-card{
background:white;
border-radius:35px;
padding:25px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.option-card img{
width:100%;
height:260px;
object-fit:cover;
border-radius:30px;
}

.option-card h3{
color:#1597a5;
font-size:32px;
}

.option-card span{
color:#ff8f6b;
font-weight:bold;
}

/* WHAT TO BRING */

.bring-section{
display:flex;
justify-content:space-between;
align-items:center;
gap:60px;
padding:100px 8%;
background:#fff4dc;
flex-wrap:wrap;
}

.bring-card{
flex:1;
background:#1597a5;
color:white;
padding:50px;
border-radius:35px;
}

.bring-card h2{
font-size:52px;
}

.bring-card ul{
line-height:2;
font-size:20px;
}

.bring-image{
flex:1;
display:flex;
justify-content:center;
}

.bring-image img{
width:100%;
max-width:450px;

border-radius:35% 65% 60% 40%;
}

/* FORM */

.booking-section{
padding:100px 8%;
text-align:center;
}

.booking-section h2{
font-size:58px;
color:#1597a5;
margin-bottom:50px;
}

.booking-form{
max-width:700px;
margin:auto;

display:flex;
flex-direction:column;
gap:20px;
}

.booking-form input,
.booking-form select,
.booking-form textarea{
padding:20px;
border-radius:18px;
border:none;
background:white;
box-shadow:0 3px 10px rgba(0,0,0,0.08);
font-size:16px;
}

.booking-form textarea{
min-height:180px;
}

.booking-form button{
background:#1597a5;
color:white;
border:none;
padding:20px;
border-radius:50px;
font-size:18px;
cursor:pointer;
}

/* FOOTER */

.footer{
background:#1597a5;
color:white;
text-align:center;
padding:70px 20px;
margin-top:80px;
}

/* MOBILE */

@media(max-width:900px){


.hero{
flex-direction:column;
text-align:center;
}

.bring-section{
flex-direction:column;
}

.hero-text h1{
font-size:50px;
}

.boarding-options h2,
.booking-section h2,
.bring-card h2{
font-size:42px;
}

.navbar{
flex-direction:column;
gap:20px;
.navbar{
flex-direction:column;

gap:15px;

padding:20px;
}

.nav-links{
display:flex;

flex-wrap:wrap;

justify-content:center;

gap:15px;
}

.nav-links a{
font-size:16px;
}

/* HERO IMAGES */

.hero-image img,
.about-image img,
.bring-image img,
.intro-image img{
max-width:280px;
}

/* GALLERY IMAGES */

.gallery-grid img{
height:220px;
}

/* SERVICE IMAGES */

.service-card img,
.option-card img{
height:200px;
}

/* HERO TEXT */

.hero-text h1,
.contact-hero h1{
font-size:42px;
}

.hero-text p{
font-size:18px;
}

}


}
.social-links{
display:flex;
justify-content:center;
gap:20px;
margin-top:25px;
}

.social-links a{
text-decoration:none;
background:white;
color:#1597a5;
padding:14px 28px;
border-radius:40px;
font-weight:600;
transition:0.3s;
}

.social-links a:hover{
background:#ffd166;
}
.checkbox-option{
display:flex;

align-items:center;

gap:12px;

margin-top:20px;

font-size:18px;
}

.estimate-box{
margin-top:30px;

background:white;

padding:25px;

border-radius:30px;

font-size:28px;

font-weight:600;

text-align:center;

color:#1597a5;

box-shadow:0 5px 15px rgba(0,0,0,0.08);
}


