/* ==========================================================================
   Beyond Journey - the website's own small additions (2026-11-11)
   --------------------------------------------------------------------------
   What the website content fixes add to pages that already have their own
   stylesheets: the tax line beside a package price, the not-found page, a
   destination with nothing on sale, a destination's guide and FAQ, the home
   page's "Planned with you" tile, the blog, and two [hidden] fixes. Linked by
   _HolidayLayout and by the pages that write their own head (the home page,
   the listings, the package page). The site's colours: navy #17233e, orange
   #f5761a, Poppins.
   ========================================================================== */

/* --- What is added to a price, beside it: GST, and TCS abroad (B6) --- */
.bjw-tax,
.bjl-price__tax {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
  color: #6b7280;
  white-space: normal;
}
.bjd-railnote {
  margin: 8px 0 0;
  font-size: 11.5px;
  line-height: 1.45;
  color: #6b7280;
}
.bj-budget-card__count {
  display: block;
  margin-top: 1px;
  font-size: 11.5px;
  font-weight: 500;
  color: #6b7280;
}

/* --- [hidden] that a display rule would otherwise beat --- */
.bjl-sortdd__opt[hidden],
.bjl-sort[hidden],
.bjl-facetgroup[hidden],
.hp-reviews[hidden] { display: none; }

/* --- The experiences hub's offers band, with its one card --- */
.bjta-offers__grid.bjta-offers__grid--one { grid-template-columns: 1fr; }

/* --- Buttons for the pages here --- */
.bjw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 20px;
  border: 1px solid #f5761a;
  border-radius: 999px;
  background: #f5761a;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.bjw-btn:hover,
.bjw-btn:focus-visible { background: #dd6612; border-color: #dd6612; color: #fff; text-decoration: none; }
.bjw-btn--quiet { background: #fff; color: #17233e; border-color: #d6dbe6; }
.bjw-btn--quiet:hover,
.bjw-btn--quiet:focus-visible { background: #fff; color: #f5761a; border-color: #f5761a; }
.bjw-linkbtn {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: #f5761a;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

/* --- The not-found page --- */
.bjw-404 { padding: 56px 0 72px; background: #f7f8fb; }
.bjw-404__card {
  max-width: 640px;
  margin: 0 auto;
  padding: 40px 32px;
  border: 1px solid #e6e9f0;
  border-radius: 18px;
  background: #fff;
  text-align: center;
  box-shadow: 0 14px 34px rgba(23, 35, 62, .07);
}
.bjw-404__code {
  display: block;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  color: #f5761a;
}
.bjw-404__card h1 { margin: 14px 0 10px; font-size: 26px; line-height: 1.25; color: #17233e; }
.bjw-404__card p { margin: 0; font-size: 15px; line-height: 1.6; color: #5a6377; }
.bjw-404__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 24px 0 20px;
  padding: 0;
  list-style: none;
}
.bjw-404__help { font-size: 13.5px; }
.bjw-404__help a { color: #f5761a; font-weight: 600; }

/* --- A destination with nothing on sale --- */
.bjw-empty p { max-width: 520px; margin: 6px auto 0; color: #5a6377; }
.bjw-empty__acts { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; }

/* --- A destination's guide and FAQ (Site:Destinations:ShowGuide) --- */
.bjw-guide {
  margin: 30px 0 10px;
  padding: 24px 26px;
  border: 1px solid #e6e9f0;
  border-radius: 16px;
  background: #fff;
}
.bjw-guide h2 { margin: 0 0 12px; font-size: 20px; line-height: 1.3; color: #17233e; }
.bjw-pre { margin: 0 0 12px; white-space: pre-line; font-size: 14px; line-height: 1.7; color: #4a5468; }
.bjw-guide__faqh { margin: 20px 0 10px; font-size: 16px; color: #17233e; }
.bjw-faq { display: grid; gap: 8px; }
.bjw-faq__item { border: 1px solid #e6e9f0; border-radius: 12px; background: #fff; }
.bjw-faq__item summary {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #17233e;
  cursor: pointer;
}
.bjw-faq__item[open] summary { color: #f5761a; }
.bjw-faq__item p { margin: 0; padding: 0 16px 14px; font-size: 14px; line-height: 1.65; color: #4a5468; }

/* --- The home page's tile for a place with nothing on sale today --- */
.bjw-dest-planned {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.bjw-dest-planned__note {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, .85);
}

/* --- The blog (Site:Blog:Enabled) --- */
.bjw-blog { padding: 44px 0 64px; background: #f7f8fb; }
.bjw-blog__head { max-width: 720px; margin: 0 0 26px; }
.bjw-blog__kicker { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #f5761a; }
.bjw-blog__head h1 { margin: 6px 0 8px; font-size: 30px; line-height: 1.2; color: #17233e; }
.bjw-blog__head p { margin: 0; font-size: 15px; line-height: 1.6; color: #5a6377; }
.bjw-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.bjw-blog__none { padding: 28px; border: 1px dashed #d6dbe6; border-radius: 14px; background: #fff; text-align: center; color: #5a6377; }
.bjw-postcard {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e6e9f0;
  border-radius: 16px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: box-shadow .2s ease, transform .2s ease;
}
.bjw-postcard:hover { box-shadow: 0 14px 30px rgba(23, 35, 62, .1); transform: translateY(-2px); color: inherit; text-decoration: none; }
.bjw-postcard__media { aspect-ratio: 16 / 9; background: #e9edf4; }
.bjw-postcard__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bjw-postcard__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.bjw-postcard__meta { font-size: 12px; font-weight: 500; color: #8a93a6; }
.bjw-postcard h2,
.bjw-postcard h3 { margin: 0; font-size: 17px; line-height: 1.35; color: #17233e; }
.bjw-postcard p { margin: 0; font-size: 13.5px; line-height: 1.6; color: #5a6377; }
.bjw-postcard__go { margin-top: auto; font-size: 13px; font-weight: 600; color: #f5761a; }

.bjw-post { padding: 36px 0 64px; background: #fff; }
.bjw-post__wrap { max-width: 760px; margin: 0 auto; }
.bjw-post__crumbs { margin: 0 0 14px; font-size: 13px; color: #8a93a6; }
.bjw-post__crumbs a { color: #5a6377; text-decoration: none; }
.bjw-post__crumbs a:hover { color: #f5761a; }
.bjw-post h1 { margin: 0 0 10px; font-size: 32px; line-height: 1.2; color: #17233e; }
.bjw-post__meta { margin: 0 0 20px; font-size: 13px; color: #8a93a6; }
.bjw-post__photo { margin: 0 0 24px; overflow: hidden; border-radius: 16px; background: #e9edf4; }
.bjw-post__photo img { display: block; width: 100%; height: auto; }
.bjw-post__body p { margin: 0 0 16px; white-space: pre-line; font-size: 16px; line-height: 1.8; color: #333d52; }
.bjw-post__body ul { margin: 0 0 16px; padding-left: 20px; }
.bjw-post__body li { margin: 0 0 6px; font-size: 16px; line-height: 1.7; color: #333d52; }
.bjw-post__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 32px 0 0;
  padding: 20px 22px;
  border-radius: 16px;
  background: #17233e;
  color: #fff;
}
.bjw-post__cta p { margin: 0; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .88); }
.bjw-post__more { margin-top: 44px; }
.bjw-post__more h2 { margin: 0 0 16px; font-size: 20px; color: #17233e; }

@media (max-width: 991px) {
  .bjw-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .bjw-404__card { padding: 30px 20px; }
  .bjw-404__code { font-size: 52px; }
  .bjw-404__card h1 { font-size: 22px; }
  .bjw-guide { padding: 18px 16px; }
  .bjw-blog__grid { grid-template-columns: 1fr; }
  .bjw-blog__head h1 { font-size: 24px; }
  .bjw-post h1 { font-size: 25px; }
  .bjw-post__body p, .bjw-post__body li { font-size: 15px; }
}

/* The hub's one remaining offers card: its words on the left, its button on the right, on a laptop */
@media (min-width: 768px) {
  .bjta-offers__grid--one .bjta-offer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 32px;
    align-items: center;
  }
  .bjta-offers__grid--one .bjta-offer > :not(.bjta-offer__btn) { grid-column: 1; justify-self: start; }
  .bjta-offers__grid--one .bjta-offer__btn { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin-top: 0; }
}
