/* #########################################################
   PAGE: Inner pages (packages, package details, blogs, FAQ, gallery, team, testimonials)  —  html.pg-inner
   ######################################################### */
/* =========================================================
   Travel Point – Inner pages (Packages + Package Details)
   Loaded after common.css; reuses its tokens, header, nav, buttons and footer.
   ========================================================= */
:root:where(.pg-inner){
  --teal-ink: #0b4442;
  --green: #1e8e3e;
  --red: #e0282e;
  --card-shadow: 0 6px 24px rgba(18, 48, 46, .08);
}
:where(.pg-inner) body.no-scroll{ overflow: hidden; }

:where(.pg-inner) .btn--line{ background: #fff; color: #142424; border-color: #8fb3b0; border-radius: 8px; font-weight: 600; }
:where(.pg-inner) .btn--line:hover{ border-color: var(--teal-700); background: #f3f8f7; }
:where(.pg-inner) .btn--line-teal{ border-color: var(--teal-700); color: var(--teal-700); }
:where(.pg-inner) .btn--line-teal:hover{ background: var(--teal-700); color: #fff; }

/* Breadcrumb */
:where(.pg-inner) .crumbs{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: clamp(13px, 1.02vw, 16.4px); color: #b4782a; font-weight: 500; }
:where(.pg-inner) .crumbs i{ font-size: .7em; color: #8a5c22; }
:where(.pg-inner) .crumbs a:hover{ color: var(--teal-700); }

/* Section heading */
:where(.pg-inner) .shead{ text-align: center; margin-bottom: clamp(20px, 2.2vw, 40px); }
:where(.pg-inner) .shead__eyebrow{ display: inline-flex; align-items: center; gap: 8px; font-size: clamp(10px, .8vw, 13px); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #e0a325; }
:where(.pg-inner) .shead__eyebrow i{ display: inline-flex; gap: 4px; }
:where(.pg-inner) .shead__eyebrow i::before, :where(.pg-inner) .shead__eyebrow i::after{ content: ""; width: 7px; height: 7px; border: 1.5px solid currentColor; border-radius: 50%; }
:where(.pg-inner) .shead__eyebrow--light{ color: #e7b85a; letter-spacing: .3em; font-weight: 500; }
:where(.pg-inner) .shead .section-title{ margin-top: 4px; }
:where(.pg-inner) .shead__orn{ display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 6px; color: #e0a325; }
:where(.pg-inner) .shead__orn::before, :where(.pg-inner) .shead__orn::after{ content: ""; width: clamp(40px, 4vw, 70px); height: 2px; background: currentColor; border-radius: 2px; }
:where(.pg-inner) .shead__orn i{ display: flex; gap: 4px; }
:where(.pg-inner) .shead__orn i::before, :where(.pg-inner) .shead__orn i::after{ content: ""; width: 7px; height: 7px; border: 1.5px solid currentColor; border-radius: 50%; }

/* =========================================================
   PACKAGES – HERO
   ========================================================= */
:where(.pg-inner) .phero{ position: relative; background: #fbf7ef; padding-top: clamp(30px, 4.6vw, 84px); }
:where(.pg-inner) .phero::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: clamp(40px, 4.6vw, 80px); background: #fff; z-index: 0; }
:where(.pg-inner) .phero__pattern{
  position: absolute; inset: 0 55% 0 0; background-image: var(--pattern); background-size: 120px; opacity: .14; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 30%, transparent 100%); mask-image: linear-gradient(90deg, #000 0%, #000 30%, transparent 100%);
}
:where(.pg-inner) .phero__media{ position: absolute; top: 0; right: 0; bottom: clamp(40px, 4.6vw, 80px); width: 66%; overflow: hidden; z-index: 1; }
:where(.pg-inner) .phero__media img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; filter: saturate(1.08); }
:where(.pg-inner) .phero__media::after{
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, #fbf7ef 0%, rgba(251, 247, 239, .9) 12%, rgba(251, 247, 239, .35) 30%, rgba(251, 247, 239, 0) 46%);
}
:where(.pg-inner) .phero__content{ position: relative; z-index: 2; padding-bottom: clamp(26px, 2.6vw, 48px); }
:where(.pg-inner) .phero__title{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(31.1px, 3.49vw, 57.5px); line-height: 1.02; margin: clamp(8px, 1vw, 18px) 0 clamp(10px, 1.2vw, 22px); letter-spacing: -.01em; }
:where(.pg-inner) .phero__title small{ display: block; font-size: .74em; }
:where(.pg-inner) .phero__text{ font-size: clamp(14px, 1.17vw, 17.5px); line-height: 1.55; color: #222; max-width: 36em; }
:where(.pg-inner) .divider{ display: flex; align-items: center; width: clamp(54px, 5.6vw, 100px); height: 2px; background: #e0a325; margin-top: clamp(14px, 1.5vw, 26px); }
:where(.pg-inner) .divider i{ width: 8px; height: 8px; border-radius: 50%; border: 2px solid #e0a325; background: #fbf7ef; margin-left: 32%; }

/* Category tabs */
:where(.pg-inner) .cat-tabs{
  position: relative; z-index: 3; display: grid; grid-template-columns: repeat(7, 1fr);
  background: #fff; border-radius: 16px; box-shadow: 0 10px 34px rgba(18, 48, 46, .12);
  padding: clamp(6px, .7vw, 12px);
}
:where(.pg-inner) .cat-tab{
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(6px, .6vw, 10px);
  border: 0; background: transparent; cursor: pointer; font-family: var(--sans);
  padding: clamp(10px, 1vw, 18px) 6px; border-radius: 10px; color: #1b1f1f; transition: background .25s, color .25s;
}
:where(.pg-inner) .cat-tab + .cat-tab::before{ content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: var(--line); }
:where(.pg-inner) .cat-tab i{ font-size: clamp(22px, 2.1vw, 36px); color: var(--teal-700); transition: color .25s, transform .25s; }
:where(.pg-inner) .cat-tab span{ font-size: clamp(11.5px, 1.02vw, 16.2px); font-weight: 500; }
:where(.pg-inner) .cat-tab:hover i{ transform: translateY(-2px); }
:where(.pg-inner) .cat-tab.is-active{ background: var(--teal-700); color: #fff; box-shadow: 0 8px 18px rgba(8, 64, 63, .25); }
:where(.pg-inner) .cat-tab.is-active i{ color: #fff; }
:where(.pg-inner) .cat-tab.is-active::before, :where(.pg-inner) .cat-tab.is-active + .cat-tab::before{ display: none; }

/* =========================================================
   PACKAGES – CARDS
   ========================================================= */
:where(.pg-inner) .plist{ padding: clamp(26px, 2.4vw, 46px) 0 clamp(30px, 3vw, 56px); background: #fff; }

/* =========================================================
   WHY CHOOSE US
   ========================================================= */
:where(.pg-inner) .why{ position: relative; background: #fbf7f0; padding: clamp(20px, 2vw, 36px) 0 clamp(26px, 2.6vw, 48px); overflow: hidden; }
:where(.pg-inner) .why::before, :where(.pg-inner) .why::after{ content: ""; position: absolute; top: 0; bottom: 0; width: 30%; background-image: var(--pattern); background-size: 120px; opacity: .12; pointer-events: none; }
:where(.pg-inner) .why::before{ left: 0; -webkit-mask-image: linear-gradient(90deg, #000, transparent); mask-image: linear-gradient(90deg, #000, transparent); }
:where(.pg-inner) .why::after{ right: 0; -webkit-mask-image: linear-gradient(-90deg, #000, transparent); mask-image: linear-gradient(-90deg, #000, transparent); }
:where(.pg-inner) .why .shead{ margin-bottom: clamp(10px, 1vw, 18px); }
:where(.pg-inner) .why .section-title{ font-size: clamp(22px, 2.03vw, 35.4px); }
:where(.pg-inner) .why__grid{ position: relative; z-index: 1; display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
:where(.pg-inner) .why__item{
  aspect-ratio: 1.15; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(8px, .8vw, 14px);
  background: #fff; border-radius: 48% 52% 50% 50% / 52% 48% 52% 48%; box-shadow: 0 6px 26px rgba(180, 150, 100, .1);
  text-align: center; padding: 10px; transition: transform .3s;
}
:where(.pg-inner) .why__item:nth-child(even){ border-radius: 52% 48% 46% 54% / 48% 54% 46% 52%; }
:where(.pg-inner) .why__item:hover{ transform: translateY(-5px); }
:where(.pg-inner) .why__item > i, :where(.pg-inner) .why__svg{ font-size: clamp(28px, 2.4vw, 40px); color: var(--teal-800); height: clamp(32px, 2.6vw, 44px); display: flex; align-items: center; }
:where(.pg-inner) .why__svg{ width: auto; }
:where(.pg-inner) .why__item p{ font-size: clamp(12.5px, 1.15vw, 17.8px); color: #1d2525; line-height: 1.35; font-weight: 500; }

/* =========================================================
   EXPERT CTA
   ========================================================= */
:where(.pg-inner) .xcta{ position: relative; overflow: hidden; background: #0b3f3e; color: #fff; isolation: isolate; }
:where(.pg-inner) .xcta::before{
  content: ""; position: absolute; inset: 0 0 0 55%; z-index: -1; background-image: var(--pattern); background-size: 90px; opacity: .1;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 50%); mask-image: linear-gradient(90deg, transparent, #000 50%);
}
:where(.pg-inner) .xcta__art{ position: absolute; left: 0; top: 0; bottom: 0; width: 34%; z-index: -1; }
:where(.pg-inner) .xcta__art img{ width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%; }
:where(.pg-inner) .xcta__art::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 63, 62, 0) 40%, #0b3f3e 100%); }
:where(.pg-inner) .xcta__inner{ display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: clamp(130px, 15.4vw, 300px); padding-left: 31.5%; padding-block: clamp(20px, 2.4vw, 44px); }
:where(.pg-inner) .xcta__content h2{ font-family: var(--serif); font-weight: 700; font-size: clamp(22px, 2.11vw, 36.9px); line-height: 1.22; margin-bottom: clamp(10px, 1vw, 18px); }
:where(.pg-inner) .xcta__content p{ font-size: clamp(13px, 1.10vw, 16.5px); line-height: 1.6; color: #e5efee; max-width: 36em; }
:where(.pg-inner) .xcta__btn{ border-radius: 999px; padding: clamp(14px, 1.4vw, 24px) clamp(22px, 2.4vw, 44px); font-size: clamp(14px, 1.07vw, 16px); gap: 12px; margin-right: clamp(0px, 1vw, 20px); }
/* The band floats as a rounded card with white space around it, so it never merges into the dark footer */
:where(.pg-inner) .xcta{
  margin: clamp(28px, 3vw, 56px) var(--gutter) clamp(36px, 3.6vw, 64px);
  border-radius: clamp(18px, 1.6vw, 28px); box-shadow: 0 22px 50px rgba(8, 64, 63, .22);
}
:where(.pg-inner) .xcta::after{ content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; border: 1px solid rgba(238, 193, 105, .35); pointer-events: none; }
@media (max-width: 767px) {
  :where(.pg-inner) .xcta{ margin: 28px 16px 32px; border-radius: 20px; }
  :where(.pg-inner) .xcta .xcta__inner{ padding-inline: 18px; }
}

/* =========================================================
   PACKAGE DETAILS
   ========================================================= */
:where(.pg-inner) .pd{ position: relative; background: #fff; padding-top: clamp(16px, 1.5vw, 28px); padding-bottom: clamp(30px, 3vw, 60px); }
:where(.pg-inner) .pd__hero{ position: absolute; left: 0; right: 0; top: 0; height: clamp(300px, 20.5vw, 440px); background: #fbf6ee; overflow: hidden; }
:where(.pg-inner) .pd__hero::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 30%; background: linear-gradient(0deg, #fff, rgba(255, 255, 255, 0)); z-index: 2; }
:where(.pg-inner) .pd__hero-pattern{ position: absolute; inset: 0 50% 0 0; background-image: var(--pattern); background-size: 110px; opacity: .14; -webkit-mask-image: linear-gradient(90deg, #000 10%, transparent); mask-image: linear-gradient(90deg, #000 10%, transparent); }
:where(.pg-inner) .pd__hero-media{ position: absolute; top: 0; right: 0; bottom: 0; width: 58%; }
:where(.pg-inner) .pd__hero-media img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
:where(.pg-inner) .pd__hero-media::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #fbf6ee 0%, rgba(251, 246, 238, .75) 14%, rgba(251, 246, 238, 0) 42%); }

:where(.pg-inner) .pd__grid{ position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) 35.5%; padding-right: clamp(16px, 2vw, 40px); gap: clamp(16px, 2.1vw, 40px); align-items: start; }
:where(.pg-inner) .pd__main{ min-width: 0; }
:where(.pg-inner) .pd__side{ display: grid; gap: clamp(10px, 1vw, 18px); margin-top: clamp(110px, 13.4vw, 280px); }

:where(.pg-inner) .pd__title{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(25.4px, 2.7vw, 42px); line-height: 1.1; margin: clamp(8px, .9vw, 16px) 0 clamp(4px, .6vw, 10px); letter-spacing: -.01em; }
:where(.pg-inner) .pd__lead{ font-size: clamp(14px, 1.1vw, 16px); color: #233; line-height: 1.5; max-width: 36em; }
:where(.pg-inner) .pd__feats{ display: flex; flex-wrap: wrap; margin: clamp(12px, 1.5vw, 26px) 0 clamp(14px, 1.6vw, 28px); }
:where(.pg-inner) .pd__feats li{ display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0 clamp(10px, 1.1vw, 22px); border-left: 1px solid #e6dfd2; text-align: center; }
:where(.pg-inner) .pd__feats li:first-child{ padding-left: 0; border-left: 0; }
:where(.pg-inner) .pd__feats i{ font-size: clamp(20px, 1.7vw, 26px); color: var(--teal-700); }
:where(.pg-inner) .pd__feats span{ font-size: clamp(11.5px, .9vw, 14px); color: #1d2525; white-space: nowrap; }

:where(.pg-inner) .pd-card{ background: #fff; border-radius: 14px; box-shadow: 0 8px 30px rgba(18, 48, 46, .09); border: 1px solid #f0ede7; }

/* Gallery */
:where(.pg-inner) .pd-gallery{ padding: clamp(8px, .9vw, 16px); }
:where(.pg-inner) .pd-gallery__main{ position: relative; aspect-ratio: 2.23; border-radius: 10px; overflow: hidden; cursor: zoom-in; }
:where(.pg-inner) .pd-gallery__main img{ width: 100%; height: 100%; object-fit: cover; }
:where(.pg-inner) .pd-gallery__tag{
  position: absolute; top: clamp(8px, 1vw, 18px); left: clamp(8px, 1vw, 18px); display: inline-flex; align-items: center; gap: 10px;
  background: rgba(8, 64, 63, .95); color: #fff; padding: clamp(6px, .7vw, 12px) clamp(12px, 1.3vw, 22px); border-radius: 8px;
  font-family: var(--serif); font-weight: 600; font-size: clamp(13px, 1.00vw, 15px); box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
}
:where(.pg-inner) .pd-gallery__tag i{ color: #f2b93b; font-size: 1.3em; }
:where(.pg-inner) .pd-gallery__nav{
  position: absolute; top: 50%; transform: translateY(-50%); width: clamp(32px, 3vw, 50px); height: clamp(32px, 3vw, 50px); border-radius: 50%;
  border: 0; background: #fff; color: #111; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .2); font-size: clamp(12px, 1vw, 16px); transition: transform .25s;
}
:where(.pg-inner) .pd-gallery__nav:hover{ transform: translateY(-50%) scale(1.08); }
:where(.pg-inner) .pd-gallery__nav--prev{ left: clamp(10px, 1.2vw, 20px); }
:where(.pg-inner) .pd-gallery__nav--next{ right: clamp(10px, 1.2vw, 20px); }
:where(.pg-inner) .pd-gallery__thumbs{ display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(6px, .8vw, 14px); margin-top: clamp(6px, .8vw, 14px); }
:where(.pg-inner) .pd-thumb{ position: relative; aspect-ratio: 1.37; border-radius: 8px; overflow: hidden; border: 2px solid transparent; padding: 0; cursor: pointer; background: #eee; }
:where(.pg-inner) .pd-thumb img{ width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
:where(.pg-inner) .pd-thumb:hover img{ transform: scale(1.06); }
:where(.pg-inner) .pd-thumb.is-active{ border-color: #4f8fd6; }
:where(.pg-inner) .pd-thumb--more span{
  position: absolute; inset: 0; display: grid; place-items: center; text-align: center; background: rgba(20, 22, 22, .62);
  color: #fff; font-weight: 600; font-size: clamp(12px, 1.10vw, 16.9px); line-height: 1.3;
}

/* Section tabs */
:where(.pg-inner) .pd-tabs{ display: flex; align-items: stretch; margin-top: clamp(10px, 1.2vw, 20px); border-radius: 8px; overflow-x: auto; scrollbar-width: none; }
:where(.pg-inner) .pd-tabs::-webkit-scrollbar{ display: none; }
:where(.pg-inner) .pd-tabs a{
  flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: clamp(10px, 1vw, 16px) clamp(8px, .8vw, 14px); font-size: clamp(11px, .88vw, 14.5px); color: #1d2525; border-radius: 6px; white-space: nowrap; position: relative;
}
:where(.pg-inner) .pd-tabs a + a::before{ content: ""; position: absolute; left: 0; top: 28%; bottom: 28%; width: 1px; background: var(--line); }
:where(.pg-inner) .pd-tabs a i{ font-size: 1.15em; color: var(--teal-700); }
:where(.pg-inner) .pd-tabs a:hover{ color: var(--teal-700); }
:where(.pg-inner) .pd-tabs a.is-active{ background: var(--teal-700); color: #fff; font-weight: 600; padding-inline: clamp(14px, 1.6vw, 28px); }
:where(.pg-inner) .pd-tabs a.is-active i{ color: #fff; }
:where(.pg-inner) .pd-tabs a.is-active::before, :where(.pg-inner) .pd-tabs a.is-active + a::before{ display: none; }

/* Sections */
:where(.pg-inner) .pd-sec{ padding-top: clamp(18px, 1.9vw, 34px); scroll-margin-top: 90px; }
:where(.pg-inner) .pd-h2{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(21px, 1.7vw, 27px); line-height: 1.2; }
:where(.pg-inner) .pd-h3{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(16px, 1.2vw, 18.7px); line-height: 1.2; margin-bottom: clamp(8px, .9vw, 16px); }
:where(.pg-inner) .pd-sec__head{ display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: clamp(8px, 1vw, 18px); }
:where(.pg-inner) .pd-sec__actions{ display: flex; gap: clamp(10px, 1.4vw, 24px); flex-wrap: wrap; }
:where(.pg-inner) .pd-sec__actions .btn, :where(.pg-inner) .pd-sec__head > .btn{ padding: clamp(9px, .9vw, 14px) clamp(14px, 1.4vw, 24px); font-size: clamp(12px, 1vw, 16px); }

/* Departure dates & fares (Umrah packages) */
:where(.pg-inner) .dep{ background: #fff; border-radius: 14px; border: 1px solid #f0ede7; box-shadow: 0 8px 30px rgba(18, 48, 46, .07); overflow-x: auto; }
:where(.pg-inner) .dep__table{ width: 100%; border-collapse: collapse; font-size: clamp(13px, .95vw, 14.5px); color: #222d2d; }
:where(.pg-inner) .dep__table th{ background: var(--teal-700); color: #fff; font-weight: 600; font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; text-align: left; padding: 12px 14px; white-space: nowrap; }
:where(.pg-inner) .dep__table td{ padding: 12px 14px; border-top: 1px solid #f0ede7; vertical-align: middle; }
:where(.pg-inner) .dep__table tbody tr:nth-child(even){ background: #fcfaf6; }
:where(.pg-inner) .dep__table tr.is-best{ background: #fff8e8; }
:where(.pg-inner) .dep__table td strong{ color: var(--heading); font-weight: 600; white-space: nowrap; }
:where(.pg-inner) .dep__table td small{ display: block; font-size: 11.5px; color: var(--muted); margin-top: 2px; }
:where(.pg-inner) .dep__table td[data-label="Airline"], :where(.pg-inner) .dep__table td[data-label="Flight Timing"], :where(.pg-inner) .dep__table td[data-label="Days"], :where(.pg-inner) .dep__table td small{ white-space: nowrap; }
:where(.pg-inner) .dep__price{ font-weight: 700; color: #111; white-space: nowrap; font-variant-numeric: lining-nums; }
:where(.pg-inner) .dep__price em{ display: block; width: max-content; margin-top: 3px; padding: 2px 8px; border-radius: 999px; background: #1e8e3e; color: #fff; font-style: normal; font-size: 10.5px; font-weight: 600; letter-spacing: .04em; }
:where(.pg-inner) .dep__act{ text-align: right; }
:where(.pg-inner) .dep__book{ padding: 8px 16px; font-size: 13px; border-radius: 8px; white-space: nowrap; }
:where(.pg-inner) .dep .sr-only{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:where(.pg-inner) .dep__empty{ padding: 22px; color: var(--muted); }
:where(.pg-inner) .dep__empty i{ color: var(--gold-2); margin-right: 6px; }
:where(.pg-inner) .dep__empty a{ color: var(--heading); font-weight: 600; text-decoration: underline; }
:where(.pg-inner) .dep__note{ display: flex; gap: 10px; margin-top: 12px; font-size: clamp(12.5px, .92vw, 14.5px); color: #4e5a5a; background: #fbf5e8; border-radius: 10px; padding: 11px 15px; }
:where(.pg-inner) .dep__note i{ color: var(--gold-2); margin-top: 3px; }
@media (max-width: 1280px) {
  /* Narrow main column: tighter cells so every column fits */
  :where(.pg-inner) .dep__table th, :where(.pg-inner) .dep__table td{ padding-inline: 10px; }
}
@media (max-width: 860px) {
  /* Phones / tablets: one card per departure */
  :where(.pg-inner) .dep{ background: transparent; border: 0; box-shadow: none; overflow: visible; }
  :where(.pg-inner) .dep__table, :where(.pg-inner) .dep__table tbody, :where(.pg-inner) .dep__table tr, :where(.pg-inner) .dep__table td{ display: block; }
  :where(.pg-inner) .dep__table thead{ display: none; }
  :where(.pg-inner) .dep__table tbody{ display: grid; gap: 10px; }
  :where(.pg-inner) .dep__table tr{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; padding: 14px; background: #fff !important; border: 1px solid #f0ede7; border-radius: 16px; box-shadow: 0 6px 22px rgba(18, 48, 46, .07); }
  :where(.pg-inner) .dep__table tr.is-best{ border-color: #f1d9a6; background: #fffaf0 !important; }
  :where(.pg-inner) .dep__table td{ padding: 0; border: 0; }
  :where(.pg-inner) .dep__table td[data-label]::before{ content: attr(data-label); display: block; font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
  :where(.pg-inner) .dep__act{ grid-column: 1 / -1; text-align: left; }
  :where(.pg-inner) .dep__book{ width: 100%; padding: 11px 16px; font-size: 14px; }
}
:where(.pg-inner) .pdf-ic{ color: #e0282e; font-size: 1.25em !important; }
:where(.pg-inner) .pd-overview__text{ font-size: clamp(13.5px, 1.05vw, 15.5px); line-height: 1.6; color: #2a3131; margin: 6px 0 clamp(12px, 1.4vw, 24px); }
:where(.pg-inner) .pd-facts{ display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: 16px; background: #fdf6ea; border-radius: 10px; padding: clamp(14px, 1.5vw, 26px) clamp(14px, 1.6vw, 28px); }
:where(.pg-inner) .pd-fact{ display: flex; align-items: center; gap: clamp(10px, 1.1vw, 18px); }
:where(.pg-inner) .pd-fact i{ font-size: clamp(22px, 2vw, 32px); color: #f0a81c; }
:where(.pg-inner) .pd-fact span{ display: block; font-size: clamp(12px, .9vw, 14px); color: #1d2525; }
:where(.pg-inner) .pd-fact strong{ display: block; font-size: clamp(13px, 1.05vw, 16px); font-weight: 600; color: #111; }

/* Itinerary accordion */
:where(.pg-inner) .itin{ display: grid; gap: clamp(5px, .5vw, 9px); }
:where(.pg-inner) .itin__item{ border: 1px solid #edf0f0; border-radius: 8px; background: #fff; box-shadow: 0 2px 10px rgba(18, 48, 46, .04); overflow: hidden; }
:where(.pg-inner) .itin__head{
  width: 100%; display: grid; grid-template-columns: auto minmax(0, 33%) minmax(0, 1fr) auto; align-items: center; gap: clamp(10px, 1.2vw, 20px);
  padding: clamp(8px, .9vw, 14px) clamp(12px, 1.6vw, 26px) clamp(8px, .9vw, 14px) clamp(12px, 1.4vw, 22px);
  border: 0; background: transparent; text-align: left; cursor: pointer; font-family: var(--sans);
}
:where(.pg-inner) .itin__item.is-open .itin__head{ background: #f4f7f7; }
:where(.pg-inner) .itin__num{ width: clamp(22px, 2vw, 34px); height: clamp(22px, 2vw, 34px); border-radius: 50%; background: var(--teal-700); color: #fff; display: grid; place-items: center; font-size: clamp(10px, .85vw, 14px); font-weight: 600; }
:where(.pg-inner) .itin__title{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(14px, 1.15vw, 17.5px); }
:where(.pg-inner) .itin__title b{ margin-left: .6em; }
:where(.pg-inner) .itin__sum{ font-size: clamp(12px, .95vw, 14.5px); color: #3a4444; }
:where(.pg-inner) .itin__chev{ font-size: clamp(11px, .9vw, 15px); color: #111; transition: transform .3s; }
:where(.pg-inner) .itin__item.is-open .itin__sum{ visibility: hidden; }
:where(.pg-inner) .itin__item.is-open .itin__chev{ transform: rotate(180deg); }
:where(.pg-inner) .itin__panel{ display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
:where(.pg-inner) .itin__item.is-open .itin__panel{ grid-template-rows: 1fr; }
:where(.pg-inner) .itin__body{ min-height: 0; overflow: hidden; display: grid; grid-template-columns: 28% minmax(0, 1fr) auto; gap: clamp(14px, 1.7vw, 30px); align-items: center; padding: 0 clamp(12px, 1.4vw, 24px); }
:where(.pg-inner) .itin__item.is-open .itin__body{ padding-block: clamp(10px, 1.1vw, 18px); }
:where(.pg-inner) .itin__body img{ width: 100%; aspect-ratio: 1.62; object-fit: cover; border-radius: 8px; }
:where(.pg-inner) .itin__pts{ display: grid; gap: clamp(3px, .45vw, 8px); }
:where(.pg-inner) .itin__pts li{ position: relative; padding-left: 20px; font-size: clamp(12px, .95vw, 14.5px); color: #3a4444; }
:where(.pg-inner) .itin__pts li::before{ content: ""; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: #f0a81c; }
:where(.pg-inner) .itin__meta{ display: grid; gap: clamp(8px, .9vw, 14px); background: #f5f7f8; border-radius: 10px; padding: clamp(10px, 1.1vw, 18px) clamp(14px, 1.5vw, 24px); min-width: clamp(130px, 11vw, 200px); }
:where(.pg-inner) .itin__meta li{ display: flex; align-items: center; gap: 14px; }
:where(.pg-inner) .itin__meta i{ font-size: clamp(17px, 1.4vw, 22px); color: var(--teal-700); width: 1.2em; text-align: center; }
:where(.pg-inner) .itin__meta strong{ display: block; font-size: clamp(12px, .95vw, 14.5px); font-weight: 600; color: #111; line-height: 1.2; }
:where(.pg-inner) .itin__meta span{ display: block; font-size: clamp(11px, .85vw, 13px); color: #3a4444; }

/* Hotels */
:where(.pg-inner) .hotels{ display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(12px, 1.6vw, 28px); }
:where(.pg-inner) .hotel{ display: flex; gap: clamp(12px, 1.4vw, 24px); background: #fff; border-radius: 10px; padding: clamp(8px, .9vw, 16px); box-shadow: var(--card-shadow); border: 1px solid #f0ede7; }
:where(.pg-inner) .hotel > img{ width: 40%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; flex: none; }
:where(.pg-inner) .hotel h3{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(14.5px, 1.20vw, 18.7px); }
:where(.pg-inner) .hotel__stars{ color: #f5a623; font-size: clamp(11px, 1vw, 16px); letter-spacing: 2px; margin: 2px 0 6px; }
:where(.pg-inner) .hotel__cat{ font-size: clamp(12.5px, 1.10vw, 16.9px); color: #222; line-height: 1.35; margin-bottom: clamp(8px, 1vw, 16px); }
:where(.pg-inner) .hotel__feats{ display: grid; gap: clamp(2px, .3vw, 5px); }
:where(.pg-inner) .hotel__feats li{ display: flex; align-items: center; gap: 10px; font-size: clamp(11px, .9vw, 14.5px); color: #3a4444; }
:where(.pg-inner) .hotel__feats li::before{ content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--green); font-size: 1.1em; }

/* ---------- Sidebar ---------- */
:where(.pg-inner) .enq{ padding: clamp(6px, .7vw, 12px); scroll-margin-top: 90px; }
:where(.pg-inner) .enq__inner{ position: relative; background: linear-gradient(180deg, #fff3d6 0%, #fff9ec 60%, #fffdf7 100%); border-radius: 10px; padding: clamp(14px, 1.5vw, 26px) clamp(14px, 1.5vw, 26px) clamp(14px, 1.4vw, 24px); }
:where(.pg-inner) .enq__orn{ position: absolute; top: clamp(10px, 1vw, 18px); right: clamp(10px, 1.2vw, 22px); width: clamp(40px, 4vw, 70px); color: #e4b860; opacity: .55; }
:where(.pg-inner) .enq__title{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(16.5px, 1.2vw, 18.7px); line-height: 1.15; padding-right: clamp(30px, 3vw, 56px); }
:where(.pg-inner) .enq__sub{ font-size: clamp(12px, .9vw, 14.5px); color: #222; line-height: 1.5; margin: 6px 0 clamp(10px, 1.1vw, 18px); padding-right: 30px; }
:where(.pg-inner) .enq__form{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 1.1vw, 18px) clamp(10px, .9vw, 16px); }
:where(.pg-inner) .fld{ display: grid; gap: 6px; min-width: 0; }
:where(.pg-inner) .fld--full, :where(.pg-inner) .enq__submit, :where(.pg-inner) .enq__alt, :where(.pg-inner) .enq__msg{ grid-column: 1 / -1; }
:where(.pg-inner) .fld > span:first-child{ font-size: clamp(11.5px, .95vw, 15px); font-weight: 500; color: #111; }
:where(.pg-inner) .fld b{ color: var(--red); }
:where(.pg-inner) .fld input, :where(.pg-inner) .fld select, :where(.pg-inner) .fld textarea{
  width: 100%; font: inherit; font-size: clamp(12px, .95vw, 15px); color: #111; background: #fff;
  border: 1px solid #dfe4e4; border-radius: 6px; padding: 0 clamp(10px, .9vw, 14px); height: clamp(38px, 3.2vw, 52px); outline: none; transition: border-color .2s, box-shadow .2s;
}
:where(.pg-inner) .fld textarea{ height: auto; min-height: clamp(70px, 5.6vw, 96px); padding-block: 10px; resize: vertical; }
:where(.pg-inner) .fld select{ appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23222' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center; padding-right: 34px; cursor: pointer; }
:where(.pg-inner) .fld input::placeholder, :where(.pg-inner) .fld textarea::placeholder{ color: #8a9393; }
:where(.pg-inner) .fld input:focus, :where(.pg-inner) .fld select:focus, :where(.pg-inner) .fld textarea:focus{ border-color: #d3a24a; box-shadow: 0 0 0 3px rgba(211, 162, 74, .18); }
:where(.pg-inner) .fld__phone{ display: flex; border: 1px solid #dfe4e4; border-radius: 6px; background: #fff; overflow: hidden; }
:where(.pg-inner) .fld__phone em{ font-style: normal; display: grid; place-items: center; padding: 0 clamp(8px, .8vw, 14px); border-right: 1px solid #dfe4e4; font-size: clamp(12px, .95vw, 15px); color: #111; }
:where(.pg-inner) .fld__phone input{ border: 0; border-radius: 0; }
:where(.pg-inner) .fld__phone:focus-within{ border-color: #d3a24a; box-shadow: 0 0 0 3px rgba(211, 162, 74, .18); }
:where(.pg-inner) .fld__phone:focus-within input{ box-shadow: none; }
:where(.pg-inner) .fld__icon{ position: relative; }
:where(.pg-inner) .fld__icon i{ position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--teal-700); pointer-events: none; }
:where(.pg-inner) .fld__icon input[type="date"] + i{ display: none; }
:where(.pg-inner) .fld.is-invalid input, :where(.pg-inner) .fld.is-invalid .fld__phone{ border-color: var(--red); }
:where(.pg-inner) .enq__msg{ font-size: 13px; margin: -4px 0; min-height: 0; }
:where(.pg-inner) .enq__msg:empty{ display: none; }
:where(.pg-inner) .enq__msg.is-error{ color: var(--red); }
:where(.pg-inner) .enq__msg.is-ok{ color: var(--green); }
:where(.pg-inner) .enq__submit{ width: 100%; padding: clamp(12px, 1.15vw, 18px); font-size: clamp(13.5px, 1.10vw, 16.4px); border-radius: 8px; }
:where(.pg-inner) .enq__alt{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, .9vw, 16px); margin-top: clamp(2px, .4vw, 8px); }
:where(.pg-inner) .enq__alt .btn{ padding: clamp(11px, 1.1vw, 17px) 10px; font-size: clamp(12.5px, 1.05vw, 16.2px); border-color: #8fb3b0; }
:where(.pg-inner) .wa-ic{ color: #25d366; font-size: 1.45em !important; }
:where(.pg-inner) .call-ic{ color: var(--teal-700); font-size: 1.25em !important; }

:where(.pg-inner) .help{ padding: clamp(6px, .7vw, 12px); }
:where(.pg-inner) .help__inner{ position: relative; overflow: hidden; background: linear-gradient(135deg, #e9f1fa 0%, #f4f8fc 60%, #eef4fb 100%); border-radius: 10px; padding: clamp(14px, 1.4vw, 24px) 40% clamp(14px, 1.4vw, 24px) clamp(14px, 1.5vw, 26px); min-height: clamp(150px, 12vw, 230px); }
:where(.pg-inner) .help__head{ display: flex; align-items: flex-start; gap: 12px; }
:where(.pg-inner) .help__head i{ font-size: clamp(22px, 1.9vw, 30px); color: var(--teal-700); margin-top: 2px; }
:where(.pg-inner) .help__head h3{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(16.5px, 1.2vw, 18.7px); line-height: 1.1; }
:where(.pg-inner) .help__head small{ display: block; font-size: .8em; margin-top: 4px; }
:where(.pg-inner) .help p{ font-size: clamp(12px, 1.00vw, 15px); color: #222; line-height: 1.5; margin: clamp(8px, 1vw, 16px) 0 clamp(10px, 1.1vw, 18px); }
:where(.pg-inner) .help__btn{ display: inline-flex; align-items: center; justify-content: center; min-width: 85%; background: var(--teal-700); color: #fff; font-weight: 700; font-size: clamp(13px, 1.07vw, 16px); padding: clamp(8px, .85vw, 14px) 20px; border-radius: 8px; box-shadow: 0 8px 18px rgba(8, 64, 63, .25); white-space: nowrap; }
:where(.pg-inner) .help__btn:hover{ background: var(--teal-900); }
:where(.pg-inner) .help__img{ position: absolute; right: 0; bottom: 0; height: 100%; width: auto; max-width: 40%; object-fit: cover; object-position: 50% 0; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 20%); mask-image: linear-gradient(90deg, transparent 0%, #000 20%); }

:where(.pg-inner) .side-box{ padding: clamp(14px, 1.4vw, 24px); }
:where(.pg-inner) .hl-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(6px, .6vw, 10px); }
:where(.pg-inner) .hl{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; border: 1px solid #e6eaea; border-radius: 8px; padding: clamp(10px, 1vw, 18px) 6px; transition: transform .25s, box-shadow .25s; }
:where(.pg-inner) .hl:hover{ transform: translateY(-3px); box-shadow: 0 8px 18px rgba(18, 48, 46, .08); }
:where(.pg-inner) .hl i{ font-size: clamp(20px, 2vw, 32px); }
:where(.pg-inner) .hl span{ font-size: clamp(11px, .85vw, 13.5px); color: #1d2525; }
:where(.pg-inner) .hl--teal i{ color: var(--teal-700); }
:where(.pg-inner) .hl--gold i{ color: #f0a81c; }
:where(.pg-inner) .hl--green i{ color: #1e9e3e; }

:where(.pg-inner) .inc, :where(.pg-inner) .exc{ padding: clamp(14px, 1.4vw, 24px) clamp(14px, 1.6vw, 28px); scroll-margin-top: 90px; box-shadow: none; }
:where(.pg-inner) .inc{ background: #eaf6ec; border-color: #d6ecda; }
:where(.pg-inner) .exc{ background: #fde8e9; border-color: #f7d3d5; }
:where(.pg-inner) .inc .pd-h3{ color: #17642c; }
:where(.pg-inner) .exc .pd-h3{ color: #e0282e; }
:where(.pg-inner) .ilist{ display: grid; gap: clamp(3px, .35vw, 6px); }
:where(.pg-inner) .ilist li{ display: flex; align-items: flex-start; gap: 12px; font-size: clamp(12.5px, .95vw, 14.5px); color: #3a4444; line-height: 1.4; }
:where(.pg-inner) .ilist i{ color: #1e8a3a; font-size: 1.15em; margin-top: .12em; }
:where(.pg-inner) .ilist--x i{ color: #e0282e; }

:where(.pg-inner) .policy{ padding: clamp(8px, .9vw, 14px) clamp(14px, 1.6vw, 28px) clamp(6px, .6vw, 10px); }
:where(.pg-inner) .policy button{ width: 100%; display: flex; align-items: center; gap: 14px; border: 0; background: transparent; cursor: pointer; text-align: left; font-family: var(--sans); color: #222; }
:where(.pg-inner) .policy button span{ flex: 1; }
:where(.pg-inner) .policy button > i:last-child{ font-size: .8em; color: #111; transition: transform .25s; }
:where(.pg-inner) .policy button:hover > i:last-child{ transform: translateX(3px); }
:where(.pg-inner) .policy__head{ padding: 4px 0 6px; border-bottom: 1px solid #edf0f0 !important; }
:where(.pg-inner) .policy__head > i:first-child{ width: clamp(22px, 1.9vw, 32px); height: clamp(22px, 1.9vw, 32px); display: grid; place-items: center; background: var(--teal-700); color: #fff; border-radius: 5px; font-size: clamp(11px, .95vw, 16px); }
:where(.pg-inner) .policy__head span{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: clamp(16px, 1.2vw, 18.7px); }
:where(.pg-inner) .policy__list li + li button{ border-top: 1px solid #edf0f0; }
:where(.pg-inner) .policy__list button{ padding: clamp(5px, .55vw, 9px) 0; font-size: clamp(12.5px, .95vw, 14.5px); color: #3a4444; }
:where(.pg-inner) .policy__list button > i:first-child{ color: #f0a81c; font-size: .9em; width: 22px; text-align: center; }
:where(.pg-inner) .policy__list button:hover span{ color: var(--gold-2); }

:where(.pg-inner) .pd-missing{ text-align: center; padding: 80px 0 40px; display: grid; justify-items: center; gap: 18px; position: relative; z-index: 3; }

/* Modal */
:where(.pg-inner) .modal{ position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 20px; }
:where(.pg-inner) .modal[hidden], :where(.pg-inner) .lightbox[hidden]{ display: none; }
:where(.pg-inner) .modal__backdrop{ position: absolute; inset: 0; background: rgba(1, 30, 30, .6); }
:where(.pg-inner) .modal__box{ position: relative; background: #fff; border-radius: 14px; width: min(560px, 100%); max-height: 85vh; overflow: auto; padding: 30px 30px 26px; box-shadow: 0 30px 60px rgba(0, 0, 0, .3); animation: pop .25s ease; }
:where(.pg-inner) .modal__box h3{ font-family: var(--serif); font-weight: 700; color: var(--heading); font-size: 26px; margin-bottom: 16px; padding-right: 30px; }
:where(.pg-inner) .modal__box ul{ display: grid; gap: 10px; }
:where(.pg-inner) .modal__box li{ position: relative; padding-left: 22px; font-size: 15px; color: #2a3131; line-height: 1.55; }
:where(.pg-inner) .modal__box li::before{ content: ""; position: absolute; left: 4px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: #f0a81c; }
:where(.pg-inner) .modal__close{ position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: #f1f4f4; cursor: pointer; font-size: 16px; }
:where(.pg-inner) .modal__close:hover{ background: var(--teal-700); color: #fff; }

/* Lightbox */
:where(.pg-inner) .lightbox{ position: fixed; inset: 0; z-index: 210; background: rgba(5, 15, 15, .92); display: flex; align-items: center; justify-content: center; padding: 60px 70px; }
:where(.pg-inner) .lightbox img{ max-width: 100%; max-height: 100%; border-radius: 10px; box-shadow: 0 20px 50px rgba(0, 0, 0, .5); }
:where(.pg-inner) .lightbox__close, :where(.pg-inner) .lightbox__nav{ position: absolute; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; width: 48px; height: 48px; cursor: pointer; font-size: 18px; }
:where(.pg-inner) .lightbox__close:hover, :where(.pg-inner) .lightbox__nav:hover{ background: rgba(255, 255, 255, .3); }
:where(.pg-inner) .lightbox__close{ top: 16px; right: 16px; }
:where(.pg-inner) .lightbox__nav--prev{ left: 14px; }
:where(.pg-inner) .lightbox__nav--next{ right: 14px; }
:where(.pg-inner) .lightbox__count{ position: absolute; bottom: 18px; left: 0; right: 0; text-align: center; color: #dfe9e8; font-size: 14px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1280px) {
  :where(.pg-inner) .cat-tab span{ font-size: 12px; }
  :where(.pg-inner) .pd__feats li{ padding-inline: 10px; }
}

@media (max-width: 1100px) {
  :where(.pg-inner) .phero__media{ width: 72%; }
  :where(.pg-inner) .cat-tabs{ grid-template-columns: repeat(4, 1fr); row-gap: 6px; }
  :where(.pg-inner) .cat-tab:nth-child(5)::before{ display: none; }
  :where(.pg-inner) .why__grid{ grid-template-columns: repeat(3, 1fr); gap: 12px; }
  :where(.pg-inner) .xcta__inner{ padding-left: 30%; flex-direction: column; align-items: flex-start; }

  :where(.pg-inner) .pd__grid{ grid-template-columns: 1fr; padding-right: var(--gutter); }
  :where(.pg-inner) .pd__side{ margin-top: clamp(20px, 3vw, 30px); grid-template-columns: 1fr 1fr; align-items: start; }
  :where(.pg-inner) .enq{ grid-column: 1 / -1; }
  :where(.pg-inner) .pd__hero-media{ width: 70%; }
}

@media (max-width: 860px) {
  :where(.pg-inner) .phero{ padding-top: 0; }
  :where(.pg-inner) .phero::after{ display: none; }
  :where(.pg-inner) .phero__media{ position: relative; width: 100%; height: 52vw; bottom: auto; }
  :where(.pg-inner) .phero__media::after{ background: linear-gradient(0deg, #fbf7ef 0%, rgba(251, 247, 239, 0) 40%); }
  :where(.pg-inner) .phero__content{ padding-top: 6px; }
  :where(.pg-inner) .phero .cat-tabs{ margin-bottom: 0; }
  :where(.pg-inner) .phero > .container:last-child{ padding-bottom: 24px; }

  :where(.pg-inner) .pd__hero{ height: 300px; }
  :where(.pg-inner) .pd__hero-media{ width: 100%; opacity: .35; }
  :where(.pg-inner) .pd__feats{ row-gap: 14px; }
  :where(.pg-inner) .pd-facts{ grid-template-columns: 1fr 1fr; }
  :where(.pg-inner) .itin__head{ grid-template-columns: auto minmax(0, 1fr) auto; }
  :where(.pg-inner) .itin__sum{ grid-column: 2 / 3; grid-row: 2; }
  :where(.pg-inner) .itin__item.is-open .itin__sum{ display: none; }
  :where(.pg-inner) .itin__chev{ grid-column: 3; grid-row: 1; }
  :where(.pg-inner) .itin__body{ grid-template-columns: 1fr; }
  :where(.pg-inner) .itin__body img{ max-width: 360px; }
  :where(.pg-inner) .itin__meta{ grid-template-columns: repeat(3, auto); justify-content: start; gap: 18px; }
  :where(.pg-inner) .hotels{ grid-template-columns: 1fr; }
  :where(.pg-inner) .pd__side{ grid-template-columns: 1fr; }

  :where(.pg-inner) .xcta__art{ width: 100%; opacity: .35; }
  :where(.pg-inner) .xcta__inner{ padding-left: var(--gutter); align-items: center; text-align: center; }
}

@media (max-width: 640px) {
  :where(.pg-inner) .cat-tabs{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); border-radius: 0; padding-inline: var(--gutter); }
  :where(.pg-inner) .cat-tabs::-webkit-scrollbar{ display: none; }
  :where(.pg-inner) .cat-tab{ flex: 0 0 auto; min-width: 112px; scroll-snap-align: start; }
  :where(.pg-inner) .cat-tab span{ white-space: nowrap; }
  :where(.pg-inner) .pd__feats{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 6px; }
  :where(.pg-inner) .pd__feats li{ padding: 0; border: 0; }
  :where(.pg-inner) .pd__feats span{ white-space: normal; }
  :where(.pg-inner) .why__grid{ grid-template-columns: repeat(2, 1fr); }

  :where(.pg-inner) .pd-gallery__thumbs{ gap: 5px; }
  :where(.pg-inner) .pd-thumb{ border-radius: 6px; }
  :where(.pg-inner) .pd-thumb--more span{ font-size: 10.5px; }
  :where(.pg-inner) .pd-facts{ grid-template-columns: 1fr; }
  :where(.pg-inner) .enq__form, :where(.pg-inner) .enq__alt{ grid-template-columns: 1fr; }
  :where(.pg-inner) .itin__meta{ grid-template-columns: 1fr; }
  :where(.pg-inner) .hotel{ flex-direction: column; }
  :where(.pg-inner) .hotel > img{ width: 100%; aspect-ratio: 1.6; }
  :where(.pg-inner) .help__inner{ padding-right: 34%; }
  :where(.pg-inner) .lightbox{ padding: 60px 10px; }
  :where(.pg-inner) .lightbox__nav{ top: auto; bottom: 10px; }
}

/* Print – used by "Download PDF Itinerary" */
@media print {
  :where(.pg-inner) .topbar, :where(.pg-inner) .header, :where(.pg-inner) .navbar, :where(.pg-inner) .pd__hero, :where(.pg-inner) .pd__side, :where(.pg-inner) .pd-gallery, :where(.pg-inner) #hotels, :where(.pg-inner) .xcta, :where(.pg-inner) .footer, :where(.pg-inner) .pd-sec__actions, :where(.pg-inner) .modal, :where(.pg-inner) .lightbox{ display: none !important; }
  :where(.pg-inner) .pd__grid{ display: block; }
  :where(.pg-inner) .itin__panel{ grid-template-rows: 1fr !important; }
  :where(.pg-inner) .itin__item{ break-inside: avoid; box-shadow: none; }
  :where(.pg-inner) .itin__sum{ visibility: visible !important; }
}

/* =========================================================
   PHONE LAYOUT (< 768px)
   ========================================================= */
@media (max-width: 767px) {
  :where(.pg-inner) .phero__title{ font-size: 32px; }
  :where(.pg-inner) .phero__text{ font-size: 14px; }

  /* Category tabs: swipeable pill chips */
  :where(.pg-inner) .cat-tabs{ gap: 8px; padding-block: 4px 10px; background: transparent; box-shadow: none; scroll-padding-inline: var(--gutter); }
  :where(.pg-inner) .cat-tab{ flex-direction: row; min-width: 0; gap: 8px; padding: 9px 15px; border-radius: 999px; background: #fff; border: 1px solid #e6e0d3; }
  :where(.pg-inner) .cat-tab + .cat-tab::before{ display: none; }
  :where(.pg-inner) .cat-tab i{ font-size: 15px; }
  :where(.pg-inner) .cat-tab span{ font-size: 13px; }
  :where(.pg-inner) .cat-tab.is-active{ border-color: var(--teal-700); }


  /* Why choose us: 3 x 2 compact tiles */
  :where(.pg-inner) .why__grid{ grid-template-columns: repeat(3, 1fr); gap: 8px; }
  :where(.pg-inner) .why__item{ aspect-ratio: 1; padding: 6px; gap: 6px; border-radius: 22px !important; }
  :where(.pg-inner) .why__item > i, :where(.pg-inner) .why__svg{ font-size: 24px; height: 28px; }
  :where(.pg-inner) .why__item p{ font-size: 11px; }

  /* Package details */
  :where(.pg-inner) .pd__title{ font-size: 28px; }
  :where(.pg-inner) .pd-facts{ grid-template-columns: 1fr 1fr; gap: 14px 10px; }
  :where(.pg-inner) .pd-fact{ gap: 10px; }
  :where(.pg-inner) .pd-fact i{ font-size: 22px; }
  :where(.pg-inner) .pd-tabs{ margin-inline: -8px; }
  :where(.pg-inner) .hotel > img{ aspect-ratio: 2; }
  :where(.pg-inner) .modal{ padding: 12px; }
  :where(.pg-inner) .modal__box{ padding: 26px 20px 24px; }
}
