/* ================================================================================= */
.trip-wrapper{background: var(--bg-soft);}
/* TITLE */
.trip-header {margin-bottom: 1rem;}
.trip-title {font-size: 2.2rem;font-weight: 700;color: var(--dark);line-height: 1.3;margin-bottom: 8px;}
.trip-rating {display: flex;align-items: center;gap: 10px;}
.trip-rating .stars {color: #fbbf24;font-size: 0.9rem;}
.trip-rating .review-count {font-size: 0.95rem;font-weight: 600;color: var(--muted);}

/* ===== TRIP GALLERY ===== */
.trip-gallery {max-width: 900px;margin: auto;}
.trip-gallery img {width: 100%;border-radius: var(--radius-lg);object-fit: cover;}
.gallery-main {position: relative;overflow: hidden;border-radius: var(--radius-lg);}
.gallery-main img {height: 420px;transition: transform 0.4s ease-in-out, opacity 0.3s ease;}
.gallery-main:hover img {transform: scale(1.02);}
.gallery-thumbs {display: grid;grid-template-columns: repeat(4, 1fr);gap: 12px;margin-top: 1rem;}
.gallery-thumbs img {height: 90px;cursor: pointer;border-radius: var(--radius-lg);opacity: 0.6;transition: all 0.3s ease;border: 1px solid transparent;}
.gallery-thumbs img:hover {opacity: 1;}
.gallery-thumbs img.active {opacity: 1;border-color: var(--primary);}
/* Responsive */
@media (max-width: 576px) {.trip-title{font-size: 1.7rem;} .gallery-main img {height: 280px;}.gallery-thumbs img{height: 60px;width: 100%;}}

/* ===== TRIP META ===== */
.trip-meta {display: grid;grid-template-columns: repeat(4, 1fr);gap: 18px;background: var(--light);padding: 1rem;border-radius: var(--radius-lg);}
.meta-item {display: flex;align-items: center;gap: 10px;padding: 0.7rem;border-radius: var(--radius-lg);background: transparent;transition: all 0.3s ease;cursor: pointer;}
.meta-icon {width: 46px;height: 46px;display: grid;place-items: center;border-radius: 50%;background: var(--border);}
.meta-icon i {font-size: 20px;color: var(--primary);}
.meta-text small {display: block;font-size: 12px;color: var(--muted);}
.meta-text strong {font-size: 14px;color: var(--dark);}
/* Responsive */
@media (max-width: 768px) {.trip-meta {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 480px) {.trip-meta {grid-template-columns: 1fr;}}

/* ===== TOUR sub-titles ===== */
.trip-sub-title-top{margin: 2.5rem 0;}
@media (max-width: 768px) {.trip-sub-title-top{margin: 1.5rem 0;}}
/* Section Title */
.trip-sub-title {display: flex;align-items: center;gap: 10px;font-size: 1.5rem;font-weight: 700;color: var(--dark);margin-bottom: 14px;}
.trip-text {font-size: 15.5px;line-height: 1.75;color: var(--text);margin-bottom: 20px;text-align: justify;}
/* Highlights List */
.trip-highlights {list-style: none;padding: 0 .5rem;display: grid;grid-template-columns: repeat(2, 1fr);gap: 14px 20px;}
.trip-highlights li {display: flex;align-items: flex-start;gap: 10px;font-size: 15px;color: var(--text);}
.trip-highlights i {color: var(--primary);font-size: 16px;}
/* Responsive */
@media (max-width: 768px) {.trip-highlights {grid-template-columns: 1fr;}.trip-sub-title-top {padding: 1rem;}}

/* ---------------ITINERARY---------------- */
.itinerary-image-style {background: transparent}
.itinerary-card {background: transparent;border-radius: var(--radius-sm);padding: 1rem 0;margin-bottom: 1rem;}.itinerary-img {width: 100%;height: 220px;object-fit: cover;border-radius: var(--radius-sm);}
.day-badge {display: inline-block;background: var(--primary);color: var(--light);font-size: 12px;font-weight: 700;padding: 6px 12px;border-radius: 30px;margin-bottom: 10px;}
.itinerary-text-wrapper {max-height: 80px;overflow: hidden;transition: max-height 0.45s ease;}
.itinerary-text-wrapper.expanded {max-height: 600px;}
.itinerary-card h4 {font-size: 18px;font-weight: 700;margin-bottom: 10px;color: var(--dark);}
.itinerary-text {font-size: 15px;line-height: 1.7;color: var(--text);margin-bottom: 0;text-align: justify;}
.read-more-btn {background: none;border: none;color: var(--primary);font-weight: 600;padding: 0;margin-top: 6px;cursor: pointer;}
.itinerary-meta {display: flex;gap: 20px;flex-wrap: wrap;margin-top: 14px;font-size: 14px;color: var(--text);}

/* ===== COST DETAILS ===== */
.trip-cost-details {display: grid;grid-template-columns: repeat(2, 1fr);gap: 1rem;margin-top: 1rem;padding:0 0.5rem;}
.cost-card h5 {display: flex;align-items: center;gap: 10px;font-size: 18px;font-weight: 700;margin-bottom: 1rem;color: var(--dark);}
.cost-card ul {list-style: none;padding: 0;margin: 0;}
.cost-card ul li {position: relative;padding-left: 26px;font-size: 15px;line-height: 1.6;margin-bottom: 12px;color: var(--muted);}
.cost-card.include ul li::before {content: "\f26a";font-family: "Bootstrap-icons";position: absolute;left: 0;color: var(--secondary);}
.cost-card.exclude ul li::before {content: "\f623";font-family: "Bootstrap-icons";position: absolute;left: 0;color: #dc3545;}
@media (max-width: 768px) {.trip-cost-details {grid-template-columns: 1fr;}}

/* ===== FAQ SPACING FIX ===== */
.accordion-flush .accordion-item {margin-bottom: 10px; border-radius: var(--radius-sm);overflow: hidden;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.06);}
.accordion-button {padding: 1rem;font-size: 15px;font-weight: 600;}
.accordion-body {padding: 18px 22px 22px;line-height: 1.7;color: var(--muted);}
.accordion-flush .accordion-item:last-child {margin-bottom: 0;}
.accordion-button:not(.collapsed) {background: var(--bg-soft);color: var(--primary);}
.accordion-button::after {transition: transform 0.3s ease;}
.accordion-button:not(.collapsed)::after {transform: rotate(180deg);}

/* ================ REVIEWS =================== */
.reviews-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 1rem;}
.btn-review {background: var(--primary);color: var(--light);border: none;padding: 10px 18px;border-radius: var(--radius-sm);font-size: 14px;font-weight: 600;cursor: pointer;transition: 0.3s;}
.btn-review:hover {background: var(--secondary);}
/* Reviews Layout */
.review-card {background: var(--light);padding: 1.2rem;border-radius: var(--radius-sm);height: 100%;}
.review-header {display: flex;align-items: center;gap: 0.8rem;}
.review-avatar {width: 55px;height: 55px;border-radius: 50%;object-fit: cover;}
.review-name {margin: 0;font-size: 1.05rem;font-weight: 600;}
.review-location {font-size: 0.85rem;color: var(--text-muted);}
.review-rating {color: #fbbf24;font-size: 1.1rem;}
.review-text {font-size: 0.95rem;color: var(--muted);line-height: 1.6;}
.review-action {font-size: 0.95rem;}
.review-nav-link {color: var(--primary);text-decoration: none;font-weight: 500;cursor: pointer;transition: color 0.2s ease;}
.review-nav-link:hover {color: var(--secondary);text-decoration: underline;}
.review-nav-link.disabled {color: var(--muted);pointer-events: none;text-decoration: none;}

/* ===== POPUP ===== */
.review-popup {position: fixed;inset: 0;background: rgba(0,0,0,0.55);display: none;align-items: center;justify-content: center;z-index: 9991;}
.review-popup.show {display: flex;}
.review-popup-content {background: var(--light);width: 100%;max-width: 420px;padding: 28px;border-radius: var(--radius-lg);position: relative;animation: scaleIn 0.3s ease;}
@keyframes scaleIn {from { transform: scale(0.9); opacity: 0; }to { transform: scale(1); opacity: 1; }}
.close-popup {position: absolute;right: 16px;top: 14px;background: none;border: none;font-size: 26px;cursor: pointer;}
.review-form label {font-size: 13px;font-weight: 600;margin-top: 12px;display: block;}
.review-form input,.review-form textarea {width: 100%;margin-top: 6px;padding: 10px 14px;border-radius: var(--radius-sm);border: 1px solid var(--border);font-size: 14px;}
.rating-input {display: flex;gap: 6px;font-size: 22px;color: var(--text);cursor: pointer;margin-top: 6px;}
.rating-input span.active {color: #f4c150;}
@media (max-width: 576px) {.reviews-header {flex-direction: column;align-items: flex-start;gap: 12px;}}

/* ======================== RIGHT-SIDEBAR ========================== */
.trip-sidebar{position: sticky;top: 3rem;}
/* PRICE CARD */
.price-card{background: var(--secondary);color: var(--light);padding: 28px;border-radius: var(--radius-lg);box-shadow: 0 1px 3px rgba(0,0,0,0.25);position: relative;}
.price-badge{position: absolute;top: -12px;right: 20px;background: var(--primary);color: var(--light);font-size: 12px;font-weight: 700;padding: 6px 12px;border-radius: 50px;letter-spacing: 0.5px;}
.price-title{font-size: 15px;opacity: 0.9;margin-bottom: 5px;color: var(--bg-dark);}
.price-amount{font-size: 36px;font-weight: 800;margin-bottom: 18px;}
.price-amount .currency{font-size: 20px;vertical-align: top;}
.price-table{width: 100%;border-collapse: collapse;margin-bottom: 20px;}
.price-table tr{border-bottom: 1px dashed rgba(255,255,255,0.25);}
.price-table td{padding: 10px 0;font-size: 14px;}
.price-table td:last-child{text-align: right;font-weight: 600;}
/* BUTTONS */
.price-actions{display: grid;grid-template-columns: 1fr 1fr;gap: 12px;}
.btn-book,.btn-outline{padding: 12px;border-radius: var(--radius-lg);font-weight: 600;font-size: 14px;cursor: pointer;transition: all 0.3s ease;border: none;}
.btn-book{background: var(--primary);color: var(--light);border: 1px solid var(--primary);}
.btn-book:hover{background: transparent;border: 1px solid rgba(255,255,255,0.35);}
.btn-outline{background:transparent;color: var(--light);border: 1px solid rgba(255,255,255,0.35);}
.btn-outline:hover{background: var(--primary);border-color: var(--primary);}
/* -----------Ask a Questions-pop-up -------------*/
.ask-modal{position: fixed;inset: 0;display: none;z-index: 9992;}
.ask-modal-overlay{position: absolute;inset: 0;background: rgba(0,0,0,0.55);backdrop-filter: blur(3px);}
.ask-modal-box{position: relative;max-width: 420px;background: var(--light);margin: auto;top: 50%;transform: translateY(-50%) scale(0.95);padding: 28px;border-radius: var(--radius-lg);box-shadow: 0 10px 20px rgba(0,0,0,0.25);animation: modalIn 0.35s ease forwards;}
@keyframes modalIn{to{transform: translateY(-50%) scale(1);}}
.ask-close{position: absolute;right: 16px;top: 16px;background: none;border: none;font-size: 24px;cursor: pointer;}
.ask-modal-box h3{margin-bottom: 4px;}
.ask-modal-box p{font-size: 14px;color: var(--muted);margin-bottom: 16px;}
.ask-form input,.ask-form textarea{width: 100%;padding: 12px 14px;margin-bottom: 12px;border-radius: var(--radius-sm);border: 1px solid var(--border);font-size: 14px;}
.ask-form input:focus,.ask-form textarea:focus{outline: none;border-color: var(--primary);}

/* -----Inquery------ */
.inquiry-card {background: var(--light);border-radius: var(--radius-lg);box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);}
.inquiry-header h4 {font-weight: 700;}
.form-control {border-radius: var(--radius-sm);padding: 10px 12px;}
.btn-primary-trip {border-radius: var(--radius-lg);padding: 12px;font-weight: 600;text-align: center;}
