








/* --- GLOBAL & WRAPPER --- */
.trip-details-wrapper { 
    padding-top: 20px; 
    font-family: 'Inter', 'Segoe UI', sans-serif; 
    color: #333;
    line-height: 1.6;
}
.trip-container { max-width: 1200px; margin: 0 auto; padding: 0 5%; }
.navy-brand { color: #0B2F56; font-weight: 800; }

/* BRAND COLOR DEFINITION - RIVER TURQUOISE */
.river-brand { 
    color: #17a2b8; 
    font-weight: 700; 
    text-transform: uppercase; 
}

/* --- HERO GALLERY --- */
.trip-hero { padding: 40px 0; }
.trip-intro h1 { font-size: 3rem; font-weight: 800; margin-bottom: 15px; line-height: 1.1; }
.trip-quick-info { display: flex; gap: 20px; color: #666; font-size: 0.95rem; }
.trip-quick-info i { color: #17a2b8; margin-right: 5px; } /* Updated to Turquoise */

.trip-gallery { display: grid; grid-template-columns: 2fr 1fr; gap: 15px; margin-top: 35px; }
.main-img img { width: 100%; height: 450px; object-fit: cover; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.side-imgs { display: flex; flex-direction: column; gap: 15px; }
.side-imgs img { width: 100%; height: 217px; object-fit: cover; border-radius: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }

/* --- STICKY SUB-NAV --- */
.trip-sub-nav {
    position: sticky;
    top: 0; 
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #eee;
    z-index: 999;
    padding: 5px 0;
}
.sub-nav-list { display: flex; gap: 40px; list-style: none; padding: 0; margin: 0; }
.sub-nav-list a {
    text-decoration: none;
    color: #666;
    font-weight: 600;
    padding: 15px 0;
    display: inline-block;
    position: relative;
    transition: 0.3s;
}
.sub-nav-list a.active, .sub-nav-list a:hover { color: #17a2b8; } /* Updated to Turquoise */
.sub-nav-list a.active::after {
    content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background: #17a2b8; border-radius: 10px; /* Updated to Turquoise */
}

/* --- GRID LAYOUT --- */
.trip-grid { display: grid; grid-template-columns: 1fr 380px; gap: 60px; padding-top: 50px; align-items: start; }

/* --- CONTENT BLOCKS --- */
.trip-block { 
    margin-bottom: 80px; 
    scroll-margin-top: 150px; 
}
.trip-block h2 { font-size: 2.2rem; margin-bottom: 30px; color: #1a1a1a; font-weight: 800; }

.highlight-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-top: 25px; }
.h-item { background: #f0fbfc; padding: 15px; border-radius: 12px; font-weight: 600; display: flex; align-items: center; gap: 10px; } /* Light Turquoise background */
.h-item i { color: #17a2b8; font-size: 1.2rem; } /* Updated to Turquoise */

/* --- THE TIMELINE (TURQUOISE THEME) --- */
.timeline { border-left: 2px solid #eef2f6; padding-left: 40px; margin-left: 15px; position: relative; }
.timeline-day { position: relative; margin-bottom: 60px; }
.day-badge {
    position: absolute; 
    left: -72px; 
    background: #17a2b8; /* Updated to Turquoise */
    color: #fff; 
    padding: 6px 14px; 
    border-radius: 8px; 
    font-size: 0.8rem; 
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 4px 10px rgba(23, 162, 184, 0.3); /* Updated Shadow */
}
.timeline-day h3 { font-size: 1.5rem; margin-bottom: 20px; color: #1a1a1a; }
.point-list { list-style: none; padding: 0; }
.point-list li { margin-bottom: 15px; font-size: 1.05rem; display: flex; align-items: flex-start; }
.point-list li span { font-weight: 800; color: #17a2b8; min-width: 90px; display: inline-block; } /* Updated to Turquoise */

/* --- INCLUSIONS --- */
.inc-exc-flex { background: #fcfdfe; border: 1px solid #edf2f7; border-radius: 20px; padding: 30px; }
.inc h4 { margin-bottom: 20px; font-size: 1.2rem; }
.inc ul { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.inc li { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.inc i { color: #2ecc71; }
.exc i { color: #e74c3c; margin-right: 8px; }
.exc { margin-top: 25px; border-top: 1px dashed #ddd; padding-top: 20px; }
.exc h4 { margin-bottom: 15px; }

/* --- REVIEWS (VOICES) --- */
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 30px; }
.review-card { background: #fff; border: 1px solid #eee; padding: 25px; border-radius: 20px; transition: 0.3s; }
.review-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.review-user-info { display: flex; gap: 15px; align-items: center; margin-bottom: 15px; }
.user-img img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; border: 2px solid #17a2b8; } /* Updated border */
.user-details h4 { margin: 0; font-size: 1rem; }
.trip-tag { font-size: 0.7rem; font-weight: 700; color: #17a2b8; text-transform: uppercase; } /* Updated to Turquoise */

/* --- STICKY SIDEBAR CARD --- */
.trip-right-col { position: sticky; top: 140px; }
.sticky-card {
    background: #fff; border: 1px solid #eee; border-radius: 25px; padding: 35px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}
.price-header p { text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px; color: #17a2b8; margin-bottom: 5px; font-weight: 700; } /* Updated to Turquoise */
.price-val { display: flex; align-items: center; gap: 15px; margin-bottom: 5px; }
.old { text-decoration: line-through; color: #aaa; font-size: 1.3rem; }
.new { font-size: 2.8rem; font-weight: 900; color: #0B2F56; }

.sharing-details { margin: 25px 0; background: #f0fbfc; border-radius: 15px; padding: 20px; } /* Updated background */
.s-row { display: flex; justify-content: space-between; margin-bottom: 10px; font-weight: 500; }
.s-row strong { color: #0B2F56; }

.btn-book {
    width: 100%; padding: 18px; background: #0B2F56; color: #fff; border: none;
    border-radius: 15px; font-weight: 700; font-size: 1.1rem; cursor: pointer; transition: 0.3s;
}
.btn-book:hover { background: #17a2b8; transform: scale(1.02); } /* Hovers to Turquoise */

.btn-pdf {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; margin-top: 15px; padding: 14px; border: 2px solid #0B2F56;
    color: #0B2F56; text-decoration: none; border-radius: 15px; font-weight: 700; transition: 0.3s;
}
.btn-pdf:hover { background: #0B2F56; color: #fff; }

.wa-box { text-align: center; margin-top: 30px; border-top: 1px dashed #eee; padding-top: 25px; }
.wa-link { display: flex; align-items: center; justify-content: center; gap: 10px; color: #25D366; text-decoration: none; font-weight: 700; font-size: 1.1rem; }
.wa-link img { width: 25px; }

/* --- MOBILE RESPONSIVE (Maintaining your fixes) --- */
@media (max-width: 992px) {
    .trip-grid { grid-template-columns: 1fr; }
    .trip-right-col { position: relative; top: 0; }
    .trip-gallery { grid-template-columns: 1fr; }
    .review-grid { grid-template-columns: 1fr; }
    .inc ul { grid-template-columns: 1fr; }
    .sub-nav-list { gap: 20px; overflow-x: auto; padding-bottom: 10px; }
    .trip-intro h1 { font-size: 2.2rem; }
}

@media (max-width: 768px) {
    html, body { overflow-x: hidden; width: 100%; position: relative; }
    .trip-container { padding: 0 15px; width: 100%; overflow: hidden; }
    .trip-sub-nav { position: sticky; top: 0; }
    .sub-nav-list { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 5px !important; padding: 10px 0 !important; text-align: center; }
    .sub-nav-list a { font-size: 0.75rem !important; padding: 10px 0 !important; white-space: nowrap; font-weight: 700; }
    .sub-nav-list a.active::after { background: #17a2b8; }
    .trip-intro h1 { font-size: clamp(1.5rem, 6vw, 2rem) !important; line-height: 1.2; }
    .main-img img { height: 250px; }
    .side-imgs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .side-imgs img { height: 120px; }
    .timeline { border-left: 2px solid #eef2f6; margin-left: 10px; padding-left: 25px; }
    .day-badge { position: relative !important; left: -37px !important; margin-bottom: 10px; background: #17a2b8; }
    .trip-right-col { position: static !important; margin-top: 50px; width: 100%; }
    .highlight-grid, .inc ul, .review-grid { grid-template-columns: 1fr !important; }
}