/* ==========================================================================
   NexTour — package details redesign
   1) Package Features List (Include / Exclude, two columns)
   2) Enquiry card (sidebar) with the "Send Enquiry" form
   ========================================================================== */

/* ---- 0. Top gallery grid — keep the main image the same height as the
   right-hand column (big image + two small images) so nothing breaks. ---- */
@media (min-width: 992px) {
   .tp-tour-details-gallery-wrap .tp-tour-gallery-thumb img {
      width: 100%;
      object-fit: cover;
      display: block;
   }
   .tp-tour-details-gallery-wrap .gallery-col-1 img { height: 485px; }
   .tp-tour-details-gallery-wrap .gallery-col-2 img,
   .tp-tour-details-gallery-wrap .gallery-col-3 img,
   .tp-tour-details-gallery-wrap .gallery-col-4 img { height: 230px; }
}

/* ---- 0b. Trip Info — compact so all items fit in two rows (4 per row) ---- */
@media (min-width: 1200px) {
   .tp-tour-details-content .tp-tour-details-info ul {
      grid-template-columns: repeat(4, 1fr) !important;
      gap: 26px 16px !important;
   }
}
.tp-tour-details-info-icon {
   width: 44px;
   height: 44px;
   margin-right: 12px;
}
.tp-tour-details-info-icon svg { width: 20px; height: auto; }
.tp-tour-details-info-content span { font-size: 13px; line-height: 1.3; }
.tp-tour-details-info-content h3 { font-size: 15px; line-height: 1.3; }

/* ---- 1. Package Features List ---- */
.nx-features-title {
   font-size: 20px;
   font-weight: 700;
   color: var(--tp-common-black, #10151c);
}
.nx-feature-list { margin: 0; padding: 0; list-style: none; }
.nx-feature-list li {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   margin-bottom: 18px;
   font-size: 16px;
   line-height: 1.5;
   color: #3c4653;
}
.nx-feature-list li:last-child { margin-bottom: 0; }
.nx-feature-ic { flex: 0 0 auto; line-height: 0; margin-top: 2px; }

/* ---- 2. Enquiry card ---- */
.nx-enquiry-card {
   background: var(--tp-common-white, #fff);
   border: 1px solid #e9edf3;
   border-radius: 16px;
   padding: 22px;
   box-shadow: 0 18px 40px rgba(16, 24, 40, .08);
}
.nx-enquiry-toprow {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
   margin-bottom: 12px;
}
.nx-enquiry-sale {
   background: #FFC83A;
   color: #4a3500;
   font-weight: 700;
   font-size: 11px;
   letter-spacing: .3px;
   padding: 6px 10px;
   border-radius: 6px;
   text-transform: uppercase;
}
.nx-enquiry-rating {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   color: #22a06b;
   font-size: 14px;
   font-weight: 600;
   margin-left: auto;
}
.nx-enquiry-rating b { color: #22a06b; font-weight: 700; }
.nx-enquiry-rating-count { color: #8a94a3; font-weight: 500; }
.nx-enquiry-pkg {
   font-size: 16px;
   font-weight: 600;
   line-height: 1.35;
   margin: 0 0 8px;
   color: #10151c;
}
.nx-enquiry-price-row { display: flex; align-items: baseline; gap: 8px; }
.nx-enquiry-price { font-size: 24px; font-weight: 800; color: var(--tp-theme-1, #1781FE); }
.nx-enquiry-per { color: #8a94a3; font-size: 13px; }
.nx-enquiry-price-row2 {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-top: 4px;
   padding-bottom: 16px;
   margin-bottom: 16px;
   border-bottom: 1px solid #eef1f5;
   min-height: 12px;
}
.nx-enquiry-oldprice { color: #98a2b3; text-decoration: line-through; font-size: 15px; }
.nx-enquiry-save {
   background: #e7f6ee;
   color: #1a9e5f;
   font-weight: 700;
   font-size: 12px;
   padding: 4px 9px;
   border-radius: 5px;
}

/* form fields */
.nx-enquiry-form .nx-field { margin-bottom: 12px; }
.nx-enquiry-form input,
.nx-enquiry-form select,
.nx-enquiry-form textarea {
   width: 100%;
   height: 48px;
   border: 1px solid #e2e7ef;
   border-radius: 10px;
   padding: 0 14px;
   font-size: 15px;
   color: #10151c;
   background: #fff;
   outline: none;
   transition: border-color .2s ease;
   font-family: inherit;
}
.nx-enquiry-form textarea { height: auto; padding: 12px 14px; resize: vertical; min-height: 90px; }
.nx-enquiry-form input::placeholder,
.nx-enquiry-form textarea::placeholder { color: #98a2b3; }
.nx-enquiry-form input:focus,
.nx-enquiry-form select:focus,
.nx-enquiry-form textarea:focus { border-color: var(--tp-theme-1, #1781FE); }
.nx-enquiry-form .nx-phone { display: flex; gap: 8px; }
.nx-enquiry-form .nx-cc { flex: 0 0 90px; width: 90px; padding: 0 8px; }
.nx-enquiry-form .nx-field-2 { display: flex; gap: 10px; margin-bottom: 12px; }
.nx-enquiry-form .nx-field-2 .nx-field { flex: 1; margin-bottom: 0; }
.nx-enquiry-btn {
   width: 100%;
   height: 52px;
   border: 0;
   border-radius: 10px;
   background: var(--tp-theme-1, #1781FE);
   color: #fff;
   font-weight: 700;
   font-size: 16px;
   cursor: pointer;
   margin-top: 4px;
   transition: background .2s ease;
}
.nx-enquiry-btn:hover { background: #1069e0; }
.nx-enquiry-btn:disabled { opacity: .7; cursor: default; }

@media (max-width: 575px) {
   .nx-enquiry-form .nx-field-2 { flex-direction: column; gap: 0; }
   .nx-enquiry-form .nx-field-2 .nx-field { margin-bottom: 12px; }
}


/* Package-details loading state */
.nx-pd-loader{display:none;min-height:60vh;align-items:center;justify-content:center}
body.nx-pd-loading .nx-pd-loader{display:flex}
body.nx-pd-loading .tp-tour-details-area{display:none}
body.nx-pd-loading .tp-breadcrumb-title{visibility:hidden}
.nx-pd-spin{width:56px;height:56px;border:4px solid #e5e7eb;border-top-color:#1781FE;border-radius:50%;animation:nx-pd-spin .8s linear infinite}
.nx-pd-loader .nx-pd-err{color:#64748b;font-size:16px;text-align:center;max-width:420px}
@keyframes nx-pd-spin{to{transform:rotate(360deg)}}
