/* ==========================================================================
   Package Details — page-scoped visual layer
   Extends the site's existing trail palette (teal #1CA8CB / alpine navy
   #113D48 / trail-marker orange #f37002) — no new colors introduced.
   Everything here is scoped under body.pkg-details-page so it never
   touches shared theme classes on other pages.
   ========================================================================== */

.pkg-details-page {
   --mist: #F3FAFB;
   --mist-2: #EAF6F8;
   --hairline: #DCEAEC;
   --trail-orange: #f37002;
}

/* ---------- Section titles (Overview / Itinerary / Inclusion & Exclusion /
   Other Informations / FAQ) ---------- */

.pkg-details-page .pkg-section-title {
   position: relative;
   font-family: var(--title-font);
   color: var(--title-color);
   font-weight: 700;
   padding-left: 18px;
   margin-bottom: 20px !important;
}

.pkg-details-page .pkg-section-title::before {
   content: "";
   position: absolute;
   left: 0;
   top: 3px;
   bottom: 3px;
   width: 4px;
   border-radius: 3px;
   background: var(--theme-color);
}

.pkg-details-page .pkg-section-title-sub {
   font-weight: 400;
   color: var(--body-color);
   font-size: 0.75em;
}

.pkg-details-page .pkg-section-title-sub::before {
   content: "\2014";
   margin: 0 8px;
   color: var(--hairline);
}

/* ---------- Hero gallery ---------- */

.pkg-details-page .packg_sld {
   border-radius: 16px;
   overflow: hidden;
   box-shadow: 0 10px 30px rgba(17, 61, 72, 0.14);
}

.pkg-details-page .packg_sld .tour-slider-img img {
   border-radius: 0;
}

/* ---------- Trip-facts strip ---------- */

.pkg-details-page .gdw-package-specification {
   background: linear-gradient(180deg, var(--mist) 0%, #ffffff 100%);
   border: 1px solid var(--hairline);
   border-radius: 16px;
   padding: 22px 24px !important;
   box-shadow: 0 6px 20px rgba(17, 61, 72, 0.06);
}

.pkg-details-page .gdw-package-specification > h2.box-title {
   font-size: 22px;
   margin-bottom: 12px;
}

.pkg-details-page .gdw-package-specification hr {
   border-top: 1px solid var(--hairline);
   opacity: 1;
   margin: 14px 0;
}

.pkg-details-page .gdw-package-specification .col-md-2 {
   padding-top: 8px;
   padding-bottom: 8px;
}

.pkg-details-page .gdw-package-specification .d-flex.align-items-center.gap-2 > i {
   background: var(--theme-color) !important;
   color: #fff !important;
   width: 42px;
   height: 42px;
   min-width: 42px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 16px !important;
}

.pkg-details-page .gdw-package-specification span.font-weight-bold {
   font-size: 12px;
   text-transform: none;
   letter-spacing: 0.2px;
   color: var(--body-color);
   font-weight: 600 !important;
}

.pkg-details-page .gdw-package-specification .text-sm {
   font-size: 15px;
   font-weight: 700;
   color: var(--title-color);
}

/* ---------- Booking sidebar ---------- */

.pkg-details-page .sidebar-area .widget {
   border: 1px solid var(--hairline);
   border-radius: 16px;
   overflow: hidden;
   box-shadow: 0 10px 26px rgba(17, 61, 72, 0.08);
}

.pkg-details-page .sidebar-area .widget .recent-post-wrap {
   background: linear-gradient(135deg, var(--title-color) 0%, #0c2f38 100%);
   padding: 24px;
}

.pkg-details-page .sidebar-area .widget .gdw-price-text {
   color: #fff;
   font-family: var(--title-font);
   font-weight: 700;
   font-size: 30px;
   padding-bottom: 14px;
   border-bottom: 1px dashed rgba(255, 255, 255, 0.25);
}

.pkg-details-page .sidebar-area .widget .gdw-price-text #basicPrice[style*="line-through"] {
   opacity: 0.55;
   font-size: 0.6em;
   display: inline-block;
   margin-bottom: 2px;
}

.pkg-details-page .sidebar-area .widget .gdw-price-text #DiscountBasicPrice,
.pkg-details-page .sidebar-area .widget .gdw-price-text #mob_DiscountBasicPrice {
   color: var(--trail-orange);
}

.pkg-details-page .optn_pkg h5 {
   color: rgba(255, 255, 255, 0.85) !important;
   font-size: 13px;
   margin-top: 16px;
   margin-bottom: 10px;
}

.pkg-details-page .optn_pkg .optns {
   border-color: rgba(255, 255, 255, 0.4);
   background-color: transparent;
   color: #fff;
}

.pkg-details-page .optn_pkg .optns.slctd,
.pkg-details-page .optn_pkg .optns:hover {
   background-color: var(--theme-color);
   border-color: var(--theme-color);
   color: #fff;
}

.pkg-details-page .gdw-facilitis-container {
   margin-top: 18px !important;
}

.pkg-details-page .gdw-facilitis-container .list-group {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.pkg-details-page .gdw-list-group-item {
   background: transparent !important;
   color: rgba(255, 255, 255, 0.92);
   font-size: 13.5px !important;
   display: flex;
   align-items: center;
}

.pkg-details-page .gdw-icon-color {
   color: var(--theme-color) !important;
   background: rgba(28, 168, 203, 0.18);
   width: 22px;
   height: 22px;
   min-width: 22px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 11px !important;
}

.pkg-details-page .sidebar-area .widget .gdw-btn {
   background: var(--theme-color) !important;
   border-radius: 8px !important;
   padding: 12px 10px;
}

.pkg-details-page .sidebar-area .widget .gdw-margin-top {
   background: transparent !important;
   color: #fff !important;
   border: 1px solid rgba(255, 255, 255, 0.4) !important;
   border-radius: 8px !important;
   padding: 12px 10px;
   font-size: 14px;
   font-weight: bold;
}

.pkg-details-page .sidebar-area .widget .gdw-margin-top:hover {
   border-color: var(--theme-color) !important;
   color: var(--theme-color) !important;
}

/* Availability calendar widget wrapper */

.pkg-details-page .widget-calender-gdw {
   margin-top: 20px;
}

.pkg-details-page .availability-calendar {
   max-width: 100%;
   border: 1px solid var(--hairline);
}

.pkg-details-page .availability-header {
   background: linear-gradient(90deg, var(--title-color), var(--theme-color));
}

.pkg-details-page .availability-footer a {
   color: var(--theme-color);
}

/* ---------- Itinerary accordion ---------- */

.pkg-details-page .gdw-itenary-container .accordion-card {
   border-radius: 10px;
   border-color: var(--hairline);
}

.pkg-details-page .gdw-itenary-container .accordion-card.active {
   border-color: var(--theme-color);
}

.pkg-details-page .gdw-accordion-button {
   display: flex;
   align-items: center;
   gap: 12px;
}

.pkg-details-page .gdw-badge {
   background-color: var(--title-color);
   font-family: var(--title-font);
   letter-spacing: 0.3px;
   padding: 4px 12px;
   border-radius: 6px;
   font-size: 11px;
}

.pkg-details-page .accordion-card.active .gdw-badge {
   background-color: var(--theme-color);
}

.pkg-details-page .accordion-body.style2 img {
   border-radius: 10px;
}

/* ---------- Inclusion/Exclusion + Other Info + FAQ blocks ---------- */

.pkg-details-page .detail-content-block.it-des {
   background: var(--mist);
   border: 1px solid var(--hairline);
   border-radius: 12px;
   padding: 20px 24px;
}

.pkg-details-page .detail-content-block.it-des img {
   border-radius: 10px;
}

/* ---------- Related packages section ---------- */

.pkg-details-page #service-sec .sec-title {
   margin-bottom: 8px;
}

/* ---------- Mobile sticky booking bar ---------- */

.pkg-details-page .bkng_btn_mob {
   box-shadow: 0 -8px 24px rgba(17, 61, 72, 0.14);
   border-top: 1px solid var(--hairline);
}

.pkg-details-page .bkng_btn_mob_prc h2 {
   color: var(--body-color);
}

.pkg-details-page .bkng_btn_mob_prc span {
   color: var(--title-color);
   font-weight: 700;
}

@media (max-width: 767px) {
   .pkg-details-page .gdw-package-specification .col-md-2.col-6 {
      border-bottom: 1px dashed var(--hairline);
   }

   .pkg-details-page .gdw-package-specification .col-md-2.col-6:nth-last-child(-n+2) {
      border-bottom: none;
   }
}
