/* RESET */
*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins;}
body{background:#f7f7f7;color:#111;}

/* NAV */
.navbar{
position:fixed;top:0;width:100%;
background:rgba(255,255,255,0.8);
backdrop-filter:blur(10px);
z-index:1000;
}
.nav-inner{
width:90%;margin:auto;
display:flex;justify-content:space-between;
padding:10px 0;
}
.logo{font-family:Playfair Display;font-size:20px;font-weight:700;}
.nav-links{display:flex;gap:20px;}
.nav-links a{text-decoration:none;color:#111;font-size:14px;}

/* MAIN LAYOUT */
.main{
width:90%;
max-width:1100px;
margin:40px auto 30px;
display:flex;
gap:25px;
align-items:flex-start;
}

/* LEFT CONTENT */
.content{
flex:2;
}

/* RIGHT GALLERY */
.gallery{
flex:1;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:8px;
position:sticky;
top:90px;
}

.gallery img{
width:100%;
height:90px;
object-fit:cover;
border-radius:8px;
cursor:pointer;
transition:0.3s;
}

.gallery img:hover{
transform:scale(1.05);
}

/* PRICE */
.price-box{
background:#fff;
padding:15px;
border-radius:12px;
margin-bottom:20px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
text-align:center;
}

.price-box h2{
font-size:28px;
font-family:'Playfair Display', serif;
font-weight:700;
letter-spacing:0.5px;
margin-bottom:6px;
}
.price{font-size:22px;color:#d4af37;margin:5px 0;}

.book-btn{
padding:8px 18px;
border:none;
border-radius:8px;
background:#25D366;
color:#fff;
cursor:pointer;
font-size:13px;
}

/* ITINERARY */
.section-title{
   font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* TIMELINE CONTAINER */
.timeline{
  position: relative;
  background: #fff;
  padding: 20px 18px 12px 18px;
  border-radius: 14px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.06);
  margin-bottom: 20px;
}

/* single continuous line */

.timeline::before{
  content: "";
  position: absolute;
  left: 15px;   /* center axis */
  top: 22px;
  bottom: 20px;
  width: 2px;
  background: #d4af37;
}

/* each day */
.day{
  position: relative;
  padding-left: 25px;  /* more clean spacing */
  margin-bottom: 18px;
}

.day ul{
  margin-top: 5px;
  padding-left: 16px;
}

.day ul li{
  font-size: 13px;
  color: #555;
  margin-bottom: 3px;
  line-height: 1.5;
}
/* dots */
.day::before{
  content: "";
  position: absolute;
  left: -2px;
  top: 6px;
  width: 8px;
  height: 8px;
  background: #fff;
  border: 2px solid #d4af37;
  border-radius: 50%;
  transform: translateX(-50%);  /* 🔥 MAGIC FIX */
  z-index: 2;
}

/* stop line for last item 
.day:last-child::before{
  bottom: 50%;
}

*/

/* text */
.day h3{
   font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.3px;
  margin-bottom: 4px;
    color: #111;
}

.day h3 span{
  color: #d4af37;
}

.day p{
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  color: #555;
  line-height: 1.5;
}

/* Meals */
.meal-day{
  margin-bottom: 12px;
}

.meal-day h4{
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  color: #222;
}

.meal-day ul{
  list-style: none;
  padding-left: 0;
}

.meal-day ul li{
  font-size: 13px;
  color: #555;
  margin-bottom: 3px;
  line-height: 1.5;
}

/* gold dash */
.meal-day ul li::before{
  content: "– ";
  color: #d4af37;
}


/*terms*/
.terms-block{
  margin-bottom: 14px;
}

.terms-block h4{
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #222;
}

.terms-block ul{
  list-style: none;
  padding-left: 0;
}

.terms-block ul li{
  font-size: 13px;
  color: #555;
  margin-bottom: 4px;
  line-height: 1.5;
}

/* gold dash */
.terms-block ul li::before{
  content: "– ";
  color: #d4af37;
}


/* POPUP GALLERY */
.popup{
position:fixed;
top:0;left:0;
width:100%;height:100%;
background:rgba(0,0,0,0.9);
display:none;
align-items:center;
justify-content:center;
flex-direction:column;
z-index:2000;
}

.popup img{
max-width:90%;
max-height:70%;
border-radius:10px;
}

.popup .controls{
margin-top:15px;
color:#fff;
font-size:20px;
cursor:pointer;
display:flex;
gap:20px;
}

/* FOOTER */
.footer{
text-align:center;
padding:20px;
font-size:13px;
color:#777;
}

.info-section{
margin-top:20px;
}

.accordion{
background:#fff;
border-radius:10px;
margin-bottom:8px;
box-shadow:0 4px 12px rgba(0,0,0,0.06);
overflow:hidden;
}

.accordion-header{
padding:12px;
font-size:14px;
font-weight:600;
cursor:pointer;
display:flex;
justify-content:space-between;
}

.accordion-header::after{
content:"+";
font-size:18px;
}

.accordion.active .accordion-header::after{
content:"−";
}

.accordion-body{
max-height:0;
overflow:hidden;
padding:0 12px;
font-size:13px;
color:#444;
transition:0.3s;
}


.accordion.active .accordion-body{
  max-height: 1000px; /* increase */
  padding: 10px 12px;
}


.hero{
margin-top:70px;   /* reduced from 90 */
margin-bottom:10px; /* reduced from 20 */
text-align:center;
}

.hero h1{
font-family:'Playfair Display', serif;
font-size:32px;   /* slightly tighter */
font-weight:700;
letter-spacing:0.3px;
margin-bottom:2px; /* reduced gap */
}

.hero p{
font-size:13px;
color:#777;
margin-bottom:0;
}

/* optional luxury underline */
.hero h1::after{
content:"";
display:block;
width:50px;
height:3px;
background:#d4af37;
margin:8px auto 0;
border-radius:2px;
}

#popup-caption{
color:#fff;
margin-top:10px;
font-size:14px;
letter-spacing:0.3px;
}

.gallery-wrapper{
flex:1;
position:sticky;
top:90px;
}

.gallery-title{
font-family:'Playfair Display', serif;
font-size:16px;
margin-bottom:8px;
color:#b8962e;
text-align:left;
letter-spacing:0.3px;
}

/* optional underline (premium touch) */
.gallery-title::after{
content:"";
display:block;
width:30px;
height:2px;
background:#d4af37;
margin-top:4px;
border-radius:2px;
}